文章目录建立和释放TCP连接(第三次握手和第四次挥手) TCP序列号确认号三个高亮位置ACKSYNFIN第一次握手第二次握手第三次握手第四次挥手第三次挥手第四次挥手
TCP/IP协议定义在称为IP数据报的互联网上传输的数据包
TCP连接的建立和释放(3次握手和4次挥手) TCP
以序列号TCP发送的数据流的每个字节都有一个序列号,序列号字段表示消息段发送的数据的第一个字节的序列号
确认号码通信的任意一个,在接收到对方的信息后,发送对应的确认信息,表示确认接收。 确认消息包含确认号,其值是对方希望接收下一个消息段的序列号值(表示确认号有效)标识一个确认报文的方式:6个标志位
如果三个重点标志比特ACK ACK标志比特为1,则确认号有效;如果当前报文是一个确认报文,并且ACK=0,则确认号无效
如果将SYN同步位SYN设置为1,则这是连接请求或连接接受报文
如果FIN为释放一个连接,FIN=1,则表示此消息段的源数据已发送,并请求释放传输连接
所有三次握手TCP的连接和建立都采用客户端-服务器方式,主动启动连接建立的APP应用进程为客户(Client),被动等待连接建立的APP应用进程为http://www.Sina.com
在TCP/IP中,通过3次握手建立一个连接
第一个握手客户端(客户端)向服务器)发送连接请求。 此时,在SYN=1的同时发送序列号Seq=x。
第二次握手时,服务器收到客户端的消息后,发送ACK=1和对应的确认消息,然后发送确认号码ACKnum (希望接收对方下一段数据的第一个字节的号码),ACKnum=x 1
第三次握手时,客户端必须从服务器接收响应消息,并回复确认消息。 ACK=1,ACKnum=Y 1表示收到了SYN手机标记
挥手四次
客户端想要关闭连接时,需要挥手4次解除连接
首先挥手向客户端发送FIN标记位置为1的软件包,然后携带自己的序列号Seq=x
第二次在服务器端确认客户端的FIN数据包,发送表示接受了来自客户端的关闭连接的请求的确认数据包。 (此时未准备好关闭连接)、ACK=1、ACKnum=x 1;
当服务器端准备好第三次挥手关闭连接时,向客户端发送终止连接请求,将FIN设置为1,同时发送自己的序列号seq=y
第四次向客户端挥手,从服务器端接收关闭请求,发送ACK=1、ACKnum=y 1的确认数据包。 服务器端收到确认数据包后,关闭连接并进入关闭状态,服务器端关闭后,客户端将不再响应。 客户端在等待一段时间后,会自行关闭并进入关闭状态,此时TCP连接完成