求,面对各式各样的应用要求,网络的负载能力和对数据流量的处理能力面对着严峻挑战。
关于拥塞机制的研究可追溯到上世纪 80 年代。1984 年,Nagle 指出了原 TCP/IP
协议在拥塞控制方面的缺陷,并说明了其产生拥塞崩溃的原因。1986 年,Jacobson 又
观测到了 LBL和UCB 的通信链路上出现的拥塞崩溃现象,其通信过程中陡然出现吞
吐量急剧下降的情况,不久整个网络就陷入一片忙碌的状态。其后各种问题随之被发
现,如国家之间跨国访问通信速度不佳,网页的浏览速度迟缓甚至出现打不开的情况。
这些问题严重阻碍了网络的进一步发展,学者由此展开了对拥塞控制问题的研究。
网络拥塞之所以出现,是因为通信时传输的分组数超出网络管理器的处理能力,
导致分组丢失率增大,端到端时延增加,吞吐量下降,链路利用率低等性能不佳的问
题。因为互联网大多采用 TCP/IP 通信协议,该协议缺乏接纳控制机制,也就是说当
网络资源不足时,它不会为了保证现有用户的通信质量而去限制新入用户的数量,只
会降低所有用户的服务质量来满足所有用户,于是用户尽量去占用网络资源以重传丢
失的分组,同时网络降低服务质量增大分组丢弃率,在这样的恶性循环下网络拥塞自
然不可避免。因此拥塞的主要原因是网络资源受限,无法满足大量用户的需求,既然
网络资源难以得到有效改善,那么解决拥塞的另一办法就是提出积极的拥塞控制策略
来避免拥塞的出现,或者当发生拥塞时工作状态也能得到及时的恢复,使网络负载、
吞吐量、端到端的时延等文持在合理的范围内。
1.2 拥塞机制的研究现状
1.2.1 国内外研究现状
根据两种算法实现位置可将拥塞控制算法分为源算法和链路算法。源算法是在端
主机和网络边缘设备中执行,而TCP 协议是网络中广泛使用的传输协议,因此该算法
中最广泛使用的是 TCP 协议的基于窗口的拥塞控制算法,它的拥塞控制算法是通过调整发送方的数据发送速率来调节网络的流量,这是基于 Jacobson提出的端到端拥塞窗
口控制算法TCP Reno 而得到的,其中的几个核心算法包括慢启动(slow start)、快速
恢复(fast retransmit)、快速重传(fast recovery)和拥塞避免 [3]
。后来又发展了其他几种
TCP 拥塞控制算法,如 New Reno,Sack,Vegas,Compound TCP 等。无可否认 TCP
基于窗口的端到端的拥塞控制策略在一定程度上提高了网络的稳定性和鲁棒性,但随
着网络规模的迅速壮大以及各式各样的新应用,仅仅依靠源节点的 TCP 流量控制很难
满足信息的可靠传输,因此学者们的研究热点很快转移到关于中间节点的拥塞控制。
该控制需要在路由器端加入队列管理和调度算法,链路算法的执行就是使网络设备
(路由器和交换机)在运行时实时检测网络状态,一旦发现网络拥塞就立即发送拥塞
信息,从而实现了实时控制[2]
。
传统的被动队列管理(PQM)和主动队列管理(AQM)均属于队列管理算法。
其中在早期使用的队尾丢弃属于被动队列管理(PQM),它的原理是预先给队列设置
一个最大值(该值以数据包为单位),然后开始不断地接收数据包进入队列,当队列
开始溢出时随后到达的数据包将会被丢弃,当发送方 TCP 检测到数据包丢弃就通知源
端降低数据发送速率,由此队列长度会再次下降,此时新到的数据包才能被接收进入
队列。由于该算法是在满队列时才会丢包,很容易导致全局同步、数据流死锁、链路
- 上一篇:一类时变系统的状态估计及应用方法研究
- 下一篇:移动焊接机器人的滑模控制
-
-
-
-
-
-
-
大众媒体对公共政策制定的影响
酸性水汽提装置总汽提塔设计+CAD图纸
乳业同业并购式全产业链...
电站锅炉暖风器设计任务书
河岸冲刷和泥沙淤积的监测国内外研究现状
中考体育项目与体育教学合理结合的研究
杂拟谷盗体内共生菌沃尔...
十二层带中心支撑钢结构...
当代大学生慈善意识研究+文献综述
java+mysql车辆管理系统的设计+源代码