《王道》 计算机网络--运输层

《王道》 计算机网络--运输层

1 UDP


2 TCP




3 TCP连接的建立和终止

认识TCP标志位:

   




TCP连接建立(三次握手)


    第一次握手:客户端A向服务器B发送连接请求报文段,首部中的同步位SYN=1,确认ACK=0,并会随机生成一个初始序号seq=x。服务器B由SYN=1可知客户端A想要建立连接;

    第二次握手:服务器B收到连接请求报文段后,如同意建立连接,则向客户端A发送确认报文段,首部中的同步位SYN=1,确认ACK=1,确认号是ack=x+1,同时也会随机生成一个初始序号seq=y

    第三次握手:客户端A收到B的确认后,还要向B发送确认报文段,首部中的确认ACK=1,确认号是ack=y+1,而自己的序号seq=x+1,A和B建立连接。

TCP连接释放(四次挥手)


    第一次挥手:数据传输结束后,客户端A向服务器B发送连接释放报文段,并停止再发送数据,首部的终止控制位FIN=1,其序号seq=u,它等于前面已经传送过的数据的最后一个字节的序号加1;

    第二次挥手:B收到连接释放报文段后即发出确认ACK=1,确认号是ack=u+1,而这个报文段自己的序号是seq=v,等于B前面已传送过的数据的最后一个字节的序号加1。这时的TCP连接处于半关闭状态,即A已经没有数据要发送,但B若发送数据,A仍要接收。A收到来自B的确认后就进入终止等待状态,等待B发出的连接释放报文段;

    第三次挥手:B数据传送完毕,向A发送连接释放报文段,首部终止FIN=1,确认号ack=u+1,而自己的序号为seq=w(在半关闭状态B可能又发送了一些数据);

    第四次挥手:A收到B的连接释放报文段后,向B发出确认报文段,首部ACK=1,确认号ack=w+1,而自己的序号是seq=u+1,然后A进入时间等待状态,B收到A的确认后,断开自己的连接。当A等待2MLS(2倍报文最大生存时间)后,没有收到B的重传请求后,他就知道B已收到了确认,所以A此时才关闭自己的连接。



猜你喜欢

转载自blog.csdn.net/qq_27022241/article/details/80277117