草庐IT

TCP协议详解—TCP各个报头属性的作用

文章目录一.TCP是什么二.TCP协议格式1.报头属性解释TCP首部长度/如何解包分用三.确认应答机制-tcp如何保证可靠性1.确认应答机制2.序号/确认序号-如何保证报文按序到达3.为什么要两个序号四.16位窗口大小-调整发送策略五.6个标志位一.TCP是什么  首先我们需要知道TCP是什么,TCP全称是传输控制协议(TransmissionControlProtocol),它是一种面向连接的、可靠的、基于字节流的传输层通信协议。  网络传输,无非就是要做两件事情,一是做决策,二是做执行,在网络传输中,传输层主要做的是决策,下面的层做执行。所以TCP的任务就是做决策,决定怎么样去发数据,怎么

关于路由器和DNS解析的一些新理解

其实我本人对于交换机和路由器这些网络硬件是比较感兴趣的,也在一点一点的学习相关知识,每次解决一个问题,就让我对一些事情有新的思考。。今天前台同事,的机器突然上不了网,,和领导一起去看了一波,首先ping了一下网关,,然后发现,可以ping通的,然后ping了下baidu,就不通了,,,我好奇了半天。怎么回事,,,然后瞟了一眼ip,突然发现怎么是192.168.1.144.。。。不对啊,之前在总的锐捷路由器上设置的都是192.168.10.X网段的,然后顺藤摸瓜发现,发现上层还有个路由器,原来这个路由器给做了路由,,,想进后台看看,发现忘记了密码,,,,然后就想那一定是这个路由器配置有问题,,,

TCP协议的长连接和短连接详解

一、前言TCP在真正开始进行数据传输之前,Server和Client之间必须建立一个连接。当数据传输完成后,双方不再需要这个连接时,就可以释放这个连接。TCP连接的建立是通过三次握手,而连接的释放是通过四次挥手。所以说,每个TCP连接的建立和释放都是需要消耗资源和时间成本的。二、TCP短连接模拟一种TCP短连接的情况:client向server发起连接请求server收到连接请求,双方建立TCP连接client向server发送消息server回应client消息一次读写完成,此时双方任何一方都可以发起关闭连接请求,即close操作。在步骤5中,一般都是client先发起close操作。从上面

C++ Qt TCP的心跳检测机制,断线重连技术,应用层代码重新实现

目录前言:一、Qt直接启动本身的KeepAlive二、在应用层自己实现一个心跳检测 三、自定义心跳代码实现:完整客户端服务端工程下载:共用的结构体相关头文件:    客户端部分核心代码:    服务端部分核心代码:运行结果展示:前两篇关于qttcp相关的,可以通过以下传送门查看:QtTCP相关的一些整理:客户端常见操作socket通信network-CSDN博客QtTCP相关的一些整理:服务端常见操作socket通信network-CSDN博客前言:    TCP本身是有一个保活状态的keep-alive机制,默认是关闭的,需要单独启动就可以;默认保活时间是2小时,不过这个机制是在协议层,也就

c# - 从 TCP 服务器向客户端发送多条消息(C sharp 到 Android)

我正在开发一个应用程序,其中csharp服务器与android客户端通信。服务器需要向AndroidtcpClient发送多条消息。至于发送消息,我必须关闭服务器上的tcpClient对象。否则不发送。一旦tcpClient关闭,我如何再次与我的客户通信,我如何跟踪和发送多条消息,一旦我关闭tcpClient,或者有任何其他发送方式而不关闭它。如果问题还不清楚,请在下方评论它发送一条消息很容易,但我需要不时发送更多消息这是服务器的代码fragment//inathreadvoidreceivingMessages(objectparam){try{varparamArray=(obje

搭建DNS服务器实现域名解析

实验环境:DNS服务端:DNS1IP:192.168.10.63DNS客户端:DNS2IP:192.168.10.64DNS服务概述:DNS(DomainNameSystem)域名系统,在TCP/IP网络中有着非常重要的作用,能够提供域名和IP地址的解析服务。DNS是一个分布式数据库,命名系统采用层次的逻辑结构,如同一个倒置的树,这个逻辑的树形结构称为域名空间,由于DNS划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。注意:DNS域名空间中,输的最大深度不超过127层,树中每个节点最长可以存储63个字符。1、域和域名DNS树的每个节点代表一个域,通过这些节点,对整个域名空间进行

DNS域名解析服务(正向、反向解析、主从域名服务器)

DNS域名解析服务(正向、反向解析、主从域名服务器)一、DNS概述1、DNS的定义2、DNS使用端口3、DNS域名长度限制4、DNS域名解析方式二、DNS的域名结构1、域名结构2、域名的分布式结构三、DNS服务器类型四、DNS域名解析服务器步骤1、安装bind软件包2、配置正向解析(1)、先查看需要修改的配置文件所在路径(2)、修改主配置文件(3)、修改区域配置文件,添加正向区域配置(4)、配置正向区域数据文件(5)、在客户端的域名解析配置文件中添加DNS服务器地址(6)、测试DNS解析3、配置反向解析4、配置主、从域名服务器(1)配置主服务器正向、反向解析(2)配置从服务器正向、反向解析一、

Wireshark抓包分析TCP协议:三次握手和四次挥手

面试中我们经常会被问到TCP协议的三次握手和四次挥手的过程,为什么总喜欢问这个问题呢?其实我们平时使用的很多协议都是应用层协议,比如HTTP协议,https协议,DNS协议,FTP协议等;而应用层协议都是要基于传输层的两个协议之上的,也就是TCP协议和UDP协议。我们在使用应用层协议遇到一些问题需要去分析定位的时候,会需要涉及到底层协议的连接问题上。所以,作为测试掌握这两个底层协议的工作原理是非常有必要的!UDP协议作为一个不可靠的传输层协议,工作过程相对比较简单!所以我们就重点来大家讲一下TCP协议。02Wireshark抓包分析TCP协议为了更好的学习和理解TCP协议的连接和断开连接的过程

VS 2019 MFC Socket 通讯例程客户端Connect连接一对多同步通信TCP/IP通信客户端[二]

 技术要点:SOCKETsocket(intaf,inttype,intprotocol);intconnect(SOCKETs,conststructsockaddrFAR*name,intnamelen);BOOLAfxSocketInit(WSADATA*lpwsaData=NULL);VisualC++ if(!AfxSocketInit()){AfxMessageBox(_T("FailedtoInitializeSockets"),MB_OK|MB_ICONSTOP);returnFALSE;}注意事项:         Socket通信客户端的初始化可以分为两种方法,一种是通过上

常识----LAN,WLAN,VLAN,VPN,TCP,UDP,UPnP

LAN(LocalAreaNetwork):局域网是一个局限在较小地理范围内的计算机网络,如办公室、学校或家庭。WLAN(WirelessLocalAreaNetwork):无线局域网是一种使用无线通信技术连接设备的局域网,因此可以在范围内无线连接到网络。VLAN(VirtualLocalAreaNetwork):虚拟局域网是一种逻辑上将不同物理位置的网络设备组合在一起的技术。VLAN可以提供更高的网络安全性和灵活性。VPN(VirtualPrivateNetwork):虚拟私有网络是一种通过使用加密和安全隧道技术在公共网络上创建私有连接的网络。VPN用于保护数据传输的安全性和隐私性。TCP(