TCP协议技术之拥塞控制算法

描述

拥塞控制是在网络层和传输层进行的功能。在网络层,拥塞控制可以通过路由算法来控制数据包在网络中的传输,以降低网络拥塞的发生。而在传输层,拥塞控制主要是通过TCP协议的拥塞控制算法来实现的,例如TCP Reno、TCP Vegas等算法。这些算法可以根据网络的拥塞情况调整发送速率,以避免网络拥塞的发生并提高网络性能。总之,拥塞控制在网络和传输层都有相应的机制来实现。

拥塞控制

1)窗口大小

MaxWindow = min (cwnd, AdvertisedWindow) 拥塞窗口cwnd (Congestion Windows):拥塞控制算法决定,可以同时发出的最大字节数以防止造成网络拥塞 通知窗口 (AdvertisedWindow):接收方决定,可以同时发出的最大字节数以防止超出接收方的接收能力。

2)拥塞控制算法

①慢启动 把初始拥塞窗口 cwnd 设置为不超过2至4个SMSS(最大报文段长度),在每收到一个对新的报文段的确认后,把cwnd增加1个 SMSS 的数值数(每经过一个传输轮次,cwnd就加倍) 设置一个慢开始门限ssthresh 当cwnd 《 ssthresh时,使用慢开始算法 当cwnd ≥ ssthresh时,使用拥塞避免算法。

网络层

②拥塞避免(加法增大):每经过一个往返时间RTT把发送方的cwnd加1,使得cwnd慢性增加 ③快重传(乘法减小):收到3个重复ACK立即触发重传 ④快恢复(在快重传之后)

ssthresh减小为当前cwnd的一半:ssthresh = cwnd / 2新拥塞窗口 cwnd = 新的 ssthresh执行拥塞避免 (AIMD),使cwnd缓慢线性增大。

拥塞控制和流量控制的区别和联系

拥塞控制和流量控制是网络中的两个重要概念,它们都涉及到网络传输的管理,但在功能和目的上存在一些区别和联系。

区别:

1. 功能:拥塞控制旨在控制网络中的拥塞情况,以确保网络的稳定性和性能。它关注的是网络的整体状况,通过调整发送速率和流量量来避免网络拥塞。而流量控制则是用于控制在发送端和接收端之间的数据流量,以匹配接收方的处理能力,防止数据丢失和拥塞。

2. 范围:拥塞控制通常是在网络层和传输层进行的,处理整个网络的拥塞情况。而流量控制通常在传输层进行,主要关注点是发送和接收端之间的数据流量管理。

联系:

1. 共同目的:无论是拥塞控制还是流量控制,其目的都是实现有效的数据传输。它们都致力于提供良好的网络性能、防止数据丢失和拥塞,以及调整发送速率以适应网络状况的变化。

2. 影响因素:拥塞控制和流量控制都受到网络状况和带宽限制的影响。拥塞控制是根据网络的拥塞情况来调整发送速率,而流量控制是基于接收方的处理能力来控制发送端的数据流量。

总体而言,拥塞控制和流量控制是两个相互关联的概念,但在功能和范围上有所区别。通过实施这两种机制,可以保证数据在网络中的高效传输和整体网络的性能稳定。

审核编辑:黄飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分