2022年网络拥塞控制的分析与研究 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年网络拥塞控制的分析与研究 .pdf》由会员分享,可在线阅读,更多相关《2022年网络拥塞控制的分析与研究 .pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、网络拥塞控制的分析与研究1 网络拥塞控制的分析与研究摘要随着互联网本身规模的迅速扩大、互联网用户数的剧增以及网络应用类型的快速增加,网络正经历越来越多的包丢失和其他的性能恶化问题,其中一个比较严重的现象就是网络拥塞。网络拥塞导致的直接后果是整个网络的性能下降:包括分组丢失率增加、端到端延迟增大、网络吞吐量下降、甚至有可能使整个系统发生拥塞崩溃。当网络处于拥塞崩溃状态时,微小的负载增量都将使网络的有效吞吐量急剧下降。造成网络拥塞的原因很多,主要有:存储空间不足、带宽容量不足、处理器处理能力弱、TCP/PI协议拥塞控制机制中的缺陷、用户的恶意攻击造成的网络拥塞以及网络系统的混沌、分叉等现象都会导致
2、网络通讯的崩溃。在目前的 Internet 中,既然网络拥塞是无法避免的,就必须采取积极主动的策略控制和避免拥塞, 把拥塞发生的可能性降到最低,即使在发生拥塞后也能及时地恢复到正常运行状态;同时拥塞控制也必须保证网络效率。因此,网络拥塞控制是网络系统改善性能和提高服务质量的主要手段,网络拥塞控制问题的研究具有重要的理论意义和应用价值。本文主要从网络拥塞的概念解释、造成拥塞的原因、防止拥塞的方法、拥塞控制的常用算法、拥塞控制方面的研究热点以及网络拥塞控制未来的发展等多个方面对网络拥塞控制进行阐述。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
3、 - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 网络拥塞控制的分析与研究2 第一章:绪论一、拥塞现象拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。 这种现象跟公路网中经常所见的交通拥挤一样,当节假日公路网中车辆大量增加时,各种走向的车流相互干扰,使每辆车到达目的地的时间都相对增加(即延迟增加) ,甚至有时在某段公路上车辆因堵塞而无法开动( 即发生局部死锁) 。1.与拥塞相关的名词解释网络的吞吐量与通信
4、子网负荷( 即通信子网中正在传输的分组数) 有着密切的关系。当通信子网负荷比较小时, 网络的吞吐量( 分组数 / 秒) 随网络负荷 ( 每个节点中分组的平均数) 的增加而线性增加。当网络负荷增加到某一值后网络吞吐量反而下降, 则表征网络中出现了拥塞现象。在一个出现拥塞现象的网络中, 到达某个节点的分组将会遇到无缓冲区可用的情况,从而使这些分组不得不由前一节点重传, 或者需要由源节点或源端系统重传。当拥塞比较严重时 , 通信子网中相当多的传输能力和节点缓冲器都用于这种无谓的重传, 从而使通信子网的有效吞吐量下降。 由此引起恶性循环, 使通信子网的局部甚至全部处于死锁状态, 最终导致网络有效吞吐量
5、接近为零。2.造成拥塞的原因分析造成网络拥塞的原因一般来说分为以下2 种: a. 多条流入线路有分组到达,并需要同一输出线路, 此时, 如果路由器没有足够的内存来存放所有这些分组,那么有的分组就会丢失。 b. 路由器的慢带处理器的缘故,以至于难以完成必要的处理工作,如缓冲区排队、更新路由表等。3.防止拥塞的常用方法由于拥塞可以发生在TCP/IP 模型中的传输层、网络层和数据链路层三个层次,所以防止拥塞的方法在不同层次也具有不同的表现形式。a. 在传输层可采用:重传策略、乱序缓存策略、确认策略、流控制策略和确定超时策略。b. 在网络层可采用:子网内部的虚电路与数据报策略、分组排队和服务策略、分组
6、丢弃策略、路由算法和分组生存管理。c. 在数据链路层可采用:重传策略、乱序缓存策略、确认策略和流控制策略。二:拥塞控制的方法常见的拥塞控制方法一般分为以下三种,主要是针对不同的网络环境而有所不同。1.缓冲区预分配法该法用于虚电路分组交换网中。在建立虚电路时,让呼叫请求分组途经的节点为虚电路预先分配一个或多个数据缓冲区。若某个节点缓冲器已被占满, 则呼叫请求分组另择路由,或者返回一个 忙 信号给呼叫者。这样, 通过途经的各节点为每条虚电路开设的永久性缓冲区( 直到虚电路拆除), 就总能有空间来接纳并转送经过的分组。此时的分组交换跟电路交换很相似。当节点收到一个分组并将它转发出去之后, 该节点向发
7、送节点返回一个确认信息。该确认一方面表示接收节点已正确收到分组, 另一方面告诉发送节点, 该节点已空出缓冲区以备接收下一个分组。上面是 停一等 协议下的情况 , 若节点之间的协议允许多个未处理的分组存在 , 则为了完全消除拥塞的可能性, 每个节点要为每条虚电路保留等价于窗口大小数量的缓冲区。这种方法不管有没有通信量, 都有可观的资源( 线路容量或存储空间) 被某个连接占有 , 因此网络资源的有效利用率不高。这种控制方法主要用于要求高带宽和低延迟的场合, 例如传送数字化语音信息的虚电路。2.分组丢弃法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
8、 - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - 网络拥塞控制的分析与研究3 该法不必预先保留缓冲区, 当缓冲区占满时, 将到来的分组丢弃。若通信子网提供的是数据报服务 , 则用分组丢弃法来防止拥塞发生不会引起大的影响。但若通信子网提供的是虚电路服务 , 则必须在某处保存被丢弃分组的备份, 以便拥塞解决后能重新传送。有两种解决被丢弃分组重发的方法, 一种是让发送被丢弃分组的节点超时, 并重新发送分组直至分组被收到;另一种是让发送被丢弃分组的节点在尝试一定次数后放弃发送, 并迫使数据源节点超时而重新开始发送。但是不加分辨地随
9、意丢弃分组也不妥, 因为一个包含确认信息的分组可以释放节点的缓冲区, 若因节点原空余缓冲区来接收含确认信息的分组, 这便使节点缓冲区失去了一次释放的机会。解决这个问题的方法可以为每条输入链路永久地保留一块缓冲区,以用于接纳并检测所有进入的分组, 对于捎带确认信息的分组, 在利用了所捎带的确认释放缓冲区后, 再将该分组丢弃或将该捎带好消息的分组保存在刚空出的缓冲区中。3.定额控制法这种方法在通信子网中设置适当数量的称做 许可证 的特殊信息 , 一部分许可证在通信子网开始工作前预先以某种策略分配给各个源节点, 另一部分则在子网开始工作后在网中四处环游。当源节点要发送来自源端系统的分组时, 它必须首
10、先拥有许可证, 并且每发送一个分组注销一张许可证。目的节点方则每收到一个分组并将其递交给目的端系统后, 便生成一张许可证。这样便可确保子网中分组数不会超过许可证的数量, 从而防止了拥塞的发生。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - 网络拥塞控制的分析与研究4 第二章:拥塞控制的常用算法分析一:TCP拥塞控制典型算法分析目前在 Internet上实际使用的拥塞控制基本上是建立在TCP窗口控制基础之上的,据统计,Inter
11、net上的 95% 的数据流使用的是TCP协议,因此 TCP拥塞控制一直是网络拥塞控制研究的重点。最初由V. Jacobson在 1988 年的论文中提出的TCP的拥塞控制由“慢启动(Slow start)”和“拥塞避免(Congestion avoidance)”组成,后来TCP Reno版本中又针对性的加入了“快速重传(Fast retransmit)” 、 “快速恢复 (Fast Recovery)”算法, 再后来在 TCP NewReno中又对“快速恢复” 算法进行了改进, 近些年又出现了选择性应答(selective acknowledgement,SACK) 算法,还有其他方面的大
12、大小小的改进,成为网络研究的一个热点。1.慢启动最初的 TCP在连接建立成功后会向网络中发送大量的数据包,这样很容易导致网络中路由器缓存空间耗尽,从而发生拥塞。 因此新建立的连接不能够一开始就大量发送数据包,而只能根据网络情况逐步增加每次发送的数据量,以避免上述现象的发生。具体来说, 当新建连接时,cwnd初始化为 1个最大报文段 (MSS)大小, 发送端开始按照拥塞窗口大小发送数据,每当有一个报文段被确认,cwnd 就增加 1 个 MSS大小。这样 cwnd 的值就随着网络往返时间(Round Trip Time,RTT)呈指数级增长,事实上,慢启动的速度一点也不慢,只是它的起点比较低一点而
13、已。我们可以简单计算下:开始 - cwnd = 1 经过 1 个 RTT后 - cwnd = 2*1 = 2 经过 2 个 RTT后 - cwnd = 2*2= 4 经过 3 个 RTT后 - cwnd = 4*2 = 8 如果带宽为W ,那么经过RTT*log2W时间就可以占满带宽。2.拥塞避免从慢启动可以看到,cwnd 可以很快的增长上来,从而最大程度利用网络带宽资源,但是cwnd 不能一直这样无限增长下去,一定需要某个限制。TCP 使用了一个叫慢启动门限(ssthresh)的变量,当cwnd超过该值后,慢启动过程结束,进入拥塞避免阶段。对于大多数 TCP实现来说, ssthresh的值是
14、 65536( 同样以字节计算) 。拥塞避免的主要思想是加法增大,也就是cwnd 的值不再指数级往上升,开始加法增加。此时当窗口中所有的报文段都被确认时, cwnd 的大小加1,cwnd 的值就随着RTT开始线性增加,这样就可以避免增长过快导致网络拥塞,慢慢的增加调整到网络的最佳值。3.快速重传TCP认为网络拥塞的主要依据是它重传了一个报文段。TCP对每一个报文段都有一个定时器,称为重传定时器(RTO),当 RTO超时且还没有得到数据确认,那么TCP就会对该报文段进行重传, 当发生超时时, 那么出现拥塞的可能性就很大,某个报文段可能在网络中某处丢失,并且后续的报文段也没有了消息,在这种情况下,
15、TCP反应比较“强烈” :a. 把 ssthresh降低为 cwnd值的一半。b. 把 cwnd重新设置为1 。c. 重新进入慢启动过程。从整体上来讲, TCP拥塞控制窗口变化的原则是AIMD原则,即加法增大、乘法减小。可以看出 TCP的该原则可以较好地保证流之间的公平性,因为一旦出现丢包,那么立即减半退避,可以给其他新建的流留有足够的空间,从而保证整个的公平性。4.快速恢复名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - 网络
16、拥塞控制的分析与研究5 “快速恢复” 算法是在上述的 “快速重传” 算法后添加的, 当收到 3 个重复 ACK时,TCP最后进入的不是拥塞避免阶段,而是快速恢复阶段。 快速重传和快速恢复算法一般同时使用。快速恢复的思想是“数据包守恒”原则,即同一个时刻在网络中的数据包数量是恒定的,只有当“老”数据包离开了网络后,才能向网络中发送一个“新”的数据包,如果发送方收到一个重复的ACK , 那么根据 TCP的 ACK机制就表明有一个数据包离开了网络,于是 cwnd加 1。如果能够严格按照该原则那么网络中很少会发生拥塞,事实上拥塞控制的目的也就在修正违反该原则的地方。具体来说快速恢复的主要步骤是:a.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年网络拥塞控制的分析与研究 2022 网络 拥塞 控制 分析 研究
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内