我是靠谱客的博主 心灵美鲜花,这篇文章主要介绍tcp拥塞控制_TCP 协议:拥塞控制,现在分享给大家,希望可以做个参考。

b38445909504b35e9395f7e43c7dabc6.png

1、慢启动

拥塞窗口 cwnd(congestion window):

通告窗口 rwnd:tcp报文中的window字段表示的窗口,即接收方的接收窗口

发送窗口 swnd:未引入拥塞窗口时,发送窗口约等于通告窗口,引入后 swnd=min(cwnd, rwnd),即两者中较小值

拥塞窗口大小变化:每收到一个ack,拥塞窗口变化为之前一倍,呈指数级增长;

慢启动初始窗口IW(initial window):初始大小最大可为10个MSS

9e38a3cd48f31eb42c040c2287466e39.png

2、拥塞避免

慢启动阈值 ssthresh(slow start threshold):达到ssthresh后,以线性方式增加cwnd

00b523b457f55ab17af52c7d2cd3f802.png

拥塞控制:如下图,当拥塞窗口增大到64个MSS时,未达到初始ssthresh大小,但已出现丢包情况,将新的慢启动阈值修改为64MSS的一半,32MSS,再重新以4个MSS作为初始拥塞窗口大小,进入慢启动过程,当窗口达到32MSS时,进入拥塞避免(线性);再重复之前过程。

543e60b1279e5751c8759c0fdd096cec.png

3、快速重传

当丢包情况不严重时,可进行快速重传和快速恢复方式;不一定会进入慢启动状态

失序数据段原因:
1)若报文丢失,将会产生连续的失序ACK段
2)若网络路径与设备导致数据段失序,将会产生少量的失序ACK段
3)若报文重复,将会产生少量的失序ACK段

快速重传工作场景:1)

接收方工作方式:
1)当接收到一个失序数据段时,立刻发送它所期待的缺口ACK序列号
2)当接收到填充失序缺口的数据段时,立刻发送它所期待的下一个ACK序列号

发送方工作方式:
1)当接收到3个重复的失序ACK段(4个相同的失序ACK段)时,不再等待重传定时器的触发,立刻基于快速重传机制重发报文段

4、快速恢复

启动快速重传且正常未失序ACK段到达前,启动快速恢复:

1)将ssthresh设置为当前拥塞窗口cwnd的一半,再将cwnd设置为ssthresh+3MSS

2)每收到一个重复ACK,cwnd增加一个MSS

3)当新数据ACK到达后,设置cwnd为ssthresh

白帽青年:TCP 协议:拥塞控制算法——BBR​zhuanlan.zhihu.com
66b4df8127380ef9c4545979b18c509a.png

最后

以上就是心灵美鲜花最近收集整理的关于tcp拥塞控制_TCP 协议:拥塞控制的全部内容,更多相关tcp拥塞控制_TCP内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部