tcp的流量控制相关算法

TCP的流量控制通过接收方的窗口大小限制发送方的速率,防止数据过快导致接收方处理不过来。窗口机制类似于滑动窗口,窗口大小由接收方在确认报文中指示。如果窗口减小到0,发送方会启动计时器,定时发送探测报文以获取新的窗口大小,避免长时间阻塞。这种机制确保了网络的稳定传输并减轻了双方缓存的压力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简述tcp的流量控制相关算法

流量控制就是让发送方的发送速度不要太快,要让接收方来得及接收

原理就是通过确认报文中的窗口字段,发送方的发送窗口字段不能超过接收方的窗口大小,这个机制有点类似滑动窗口的机制。

如果窗口开的太大,且发送方发送的速度过快了,使得窗口饱和,未发送的部分长度为 0,这时候接收方的压力也会变大,窗口内全都是已发送未确认的包,也会对缓存造成负担,未确认的部分也会一直放在发送方的缓存里,这个时候就需要通过确认信息来减小窗口大小,或者缩小为 0,让发送方的速率变慢;

如果发送方的发送速度太慢了或者接收方一直处理接收到的包太慢了,也需要减小窗口的大小来降低速率;

有一种特殊情况就是如果窗口减小到了 0,这个时候发送方就不能在发送了,然后接收方的缓存被清空也就是缓存中的包都被处理了,接收方又有了空间,但是这个时候发送方并不知道接收方已经可以再次接收数据了,因为 TCP 仅当它有数据或者确认报文要发送时才会发送报文段给接收方,所以发送方就会被阻塞而不再发送数据了,为了解决这个问题,当收到零窗口通知时,会启动一个计数器,当计数器的时间到期时,发送方就会发送一个字节的数据报文段进行探测,而接收方就会在确认这个报文段的时候给出一个新的非 0 的窗口值,如果还是为 0,则计数器重置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值