欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > 传输控制协议(TCP)

传输控制协议(TCP)

2025/6/17 22:38:14 来源:https://blog.csdn.net/Yangerlei/article/details/144143748  浏览:    关键词:传输控制协议(TCP)

传输控制协议是Internet一个重要的传输层协议。TCP提供面向连接、可靠、有序、字节流传输服务。

1、TCP报文段结构

注:TCP默认采用累积确认机制。

2、三次握手、四次挥手

(1)当客户向服务器发送完最后一个数据段后,发送一个FIN段(FIN=1,seq=u),请求断开客户到服务器的连接,其状态由ESTABLISHED进入FIN_WAIT_1,在这一状态下,只能接收服务器发送过来的数据,而不再发送数据。 

(2)服务器收到客户的FIN段后,向客户发送一个ACK段(ACK=1,seq=V,ack_seq=u+1),服务器状态由ESTABLISHED进入CLOSE_WAIT,在这一状态下,服务器仍然可以发送数据,但不再接收数据。

(3)当客户收到ACK段后,其状态由FIN _WAIT_1进入FIN_WAIT_2,仍然可以接收来自服务器的数据,此时的TCP连接已经关闭了客户向服务器方向的数据传输。 

(4)当服务器向客户发送完最后一个数据段后,服务器向客户发送FIN段(FIN=1,ACK=1,seq=w,ack_seq=u+1),服务器状态则由CLOSE_WAIT进入LAST_ACK,此时服务器也不再发送数据。 

(5)当客户收到服务器发送的FIN段后,向服务器发送ACK段(ACK=1,seq=u+1,ack_seq=w+1),其状态由 FIN_WAIT_2进入TIME_WAIT,等待2MSL时间,然后进入CLOSED状态,最终关闭连接。 

(6)服务器在收到最后一次ACK段后,状态由LAST_ACK进入CLOSED,最终关闭连接。

3、TCP拥塞控制

在慢启动阶段,每收到1个确认段,拥塞窗口增加1个MSS。通常RTT相对较大,在1个RTT时间之内可以将窗口允许的所有报文段全部发送出去,并且当忽略报文段传输时延时,在慢启动阶段,每经过1个RTT,拥塞窗口增长1倍。在拥塞避免阶段,将拥塞窗口内的所有报文段全部发送,且全部得到确认后,拥塞窗口才增加1个MSS。

注:慢启动阶段(收到一个ACK,拥塞窗口增加1MSS(假设同一个RTT内连续发送的分组都能发送完,且忽略不同分组ACK时延)):拥塞窗口初始值为1MSS,

经过1个RTT,拥塞窗口变为2MSS(1MSS+1MSS)

经过2个RTT,拥塞窗口变为4MSS(2MSS+2MSS)

经过3个RTT,拥塞窗口变为8MSS(4MSS+4MSS)

例1:

例2:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词