TCP协议的特点(需要解决的问题)
1、TCP如何实现可靠传输
2、TCP如何实现流量控制
3、TCP如何避免网络拥塞
TCP报文段首部格式
在这里插入图片描述TCP传输连接有三个阶段
- 三次握手建立连接
- 传输数据
- 四次挥手断开连接
TCP三次握手建立连接
在这里插入图片描述TCP建立连接的各种状态
在这里插入图片描述在windows命令行窗口中通过命令
netstat -n
查看TCP建立连接的状态:在这里插入图片描述
TCP四次挥手断开连接
在这里插入图片描述MSL是Maximum Segment Lifetime英文的缩写,中文可以译为报文最大生存时间,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。
2MSL即两倍的MSL,TCP的TIME_WAIT状态也称为2MSL等待状态,当TCP的一端发起主动关闭,在发出最后一个ACK包后,即第3次握手完成后发送了第四次握手的ACK包后就进入了TIME_WAIT状态,必须在此状态上停留两倍的MSL时间,等待2MSL时间主要目的是怕最后一个ACK包对方没收到,那么对方在超时后将重发第三次握手的FIN包,主动关闭端接到重发的FIN包后可以再发一个ACK应答包。在TIME_WAIT状态时两端的端口不能使用,要等到2MSL时间结束才可继续使用。当连接处于2MSL等待阶段时任何迟到的报文段都将被丢弃。不过在实际应用中可以通过设置SO_REUSEADDR选项达到不必等待2MSL时间结束再使用此端口。
参考文档
什么是2MSL
网友评论