17 - 02 - 02 计算机网络(23)(TCP的拥塞控制)

本文详细介绍了TCP协议如何通过监测数据包丢失来判断网络拥塞,并通过调整拥塞窗口大小来控制发送速率,以缓解拥塞现象。文章还解释了接收窗口与拥塞窗口的区别及其在流量控制中的作用。

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

TCP的拥塞控制

当网络中数据过多时,就会出现拥塞, 很多数据被丢弃->需要重传->更多的数据涌入->恶性循环。

  与可靠传输一样,拥塞控制也是计算机网络所必要解决的问题。

拥塞控制的前提是发现拥塞,拥塞发生在交换机与路由器等网络设备中,

但是网络设备无法把发生拥塞的信息通知TCP实体,这是因为TCP实体仅仅存在于计算机中,

网络设备中没有TCP实体,虽然2001年的协议对TCP/IP协议做了改进,使得路由器能够把发生堵塞的信息通知给TCP实体,

但这仅仅是一个选项而且默认不开启(尼玛坑爹啊)。

TCP必须自己独立的去发现拥塞。


拥塞发生时数据会被丢弃,这就是TCP判断拥塞是否发生的依据。

数据被丢弃就没有ACK,所以:当一个报文段需要超时重传时,TCP就认为网络发生了拥塞。

(现在通信线路质量极好,报文段因为发生差错被重传的概率极小)所以这个方法是靠谱的。

拥塞发生后的对策很简单,就是降低发送速率,为此TCP设置了一个拥塞窗口, 拥塞窗口的含义与TCP首部中 的接收窗口是一样的。

即:已发送未确认的数据量不能超过拥塞窗口大小,这样,就有了TCP接收 和 拥塞 两个窗口。

其中较小的窗口起作用,即:已发送未确认的数据量不能超过这两个里面更小的那一个。接收方使用接收窗口控制发送方的发送速率,

发送方则是使用拥塞窗口控制自己的发送速率。

当拥塞发生时,TCP就减少拥塞窗口,从而降低发送速率,之后拥塞窗口逐渐增大,直到拥塞再次发生。这时拥塞窗口再次变小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值