4 仿真实验17
4.1 拓扑网络18
4.2 队列长度18
4.3 丢包率20
4.4 队列延时20
4.5 吞吐量21
4.6 性能分析22
结论 24
致谢 25
参考文献 26
1 绪论
目前,互联网已经成为人们日常生活中必不可分的一部分,从单纯的计算到现今多种多样的服务,Internet在迅速发展的同时也面临着严峻的考验。用户对,对网络质量要求(Quality of Service)越来越高[1]以及不同类型的服务都给网络的发展提出了更高的要求。
Internet的根本属性之一就是“拥塞”。拥塞现象是指网络中的报文过多而超过网络本身的负荷的现象。网络拥塞问题日趋严重,其会造成网络的吞吐量降低,加剧网络的不稳定性,使得网络的延时增大,究其根本原因即用户的需求超过了网络所能承载的负荷。
从上可见,当负载超过网络本身所能承受的负荷的时,网络的吞吐量会急剧的下降,同时,延时也会随着负载的增加而增大,增大速率也越来越快。
在面对用户对网络性能越来越高的要求,网络拥塞控制愈发为人们所重视。控制算法主要包含两个方面。其一:尽量使网络不发生拥塞控的拥塞避免算法;其二,解决已经发生拥塞的拥塞控制算法。传统的TCP缺乏拥塞控制的能力,其是在接收端利用TCP包头将接受能力通知发送端,这样的过程中忽略的具体网络的实际传输能力,从而缺乏解决网络中出现的拥塞现象的能力。
1.1 拥塞产生的原因
网络拥塞产生的根本原因在于用户对于网络的要求超过了网络本身所能承受的负载,从而发生拥塞问题[2]。具体来讲有以下几个原因:
(1) 存储空间不足。在多个分组传输时,等待服务的分组序列进去缓存,当缓存空间耗尽时,路由器会丢弃分组,增大缓存而使缓存过大时,超时的分组需要重传,同样会是端到端的延时增大。
(2) 带宽容量的不足。在任何信道中都要求信源发送的速率不超过信道容量,当速率超过信道容量时,网络在低速链路处会形成带宽瓶颈。
(3) 网络中链路和相应的处理器的对于数据的处理速度不一样也会产生拥塞问题。
要避免拥塞的产生需要综合考虑以上三点,拥塞问题由系统的各个部分相互作用产生,所以依靠静态的策略不能够解决网络拥塞问题,只有依靠动态的方法。
1.2 拥塞控制算法
网络拥塞控制算法从不同的角度来讲有着不同的分类方法,可以分为显式拥塞控制和隐式拥塞,可以分为源算法和链路算法。另外,最为关键的,也是本论文的出发点,即从经典控制理论的角度。
拥塞控制算法基于经典控制理论的基础可以分为:开环控制和闭环控制[3]。开环控制是一种预防式的控制方式,需要精确的模型来避免拥塞的出现,因此在多变复杂的网络环境中开环控制方式并不能很好的解决拥塞问题。闭环控制主要是通过对于网络内部情况的检测,将信息反馈给数据流发送的源端来达到拥塞控制的目的,其缺点是反馈延时会极大的影响算法的性能。闭环这种动态的控制模式能够有效的适应网络多变复杂的情况,因此目前能够被广泛的采用[4]。
1.3 拥塞控制控制研究历史和现状
如今快速发展的Internet与TCP密不可分,目前大部分的数据流使用的是TCP,传统的TCP协议中缺乏拥塞控制,因此诸多研究人员在TCP基础上不断的改进[5]。
1986年,Nagle首次提出了TCP/IP网络中存在拥塞问题[6]。1988年,Jaconbson等人提出了Tahoe,在原来的基础上加入慢启动、拥塞避免和快速重传机制来控制数据流,并且为之后Reno的提出作了铺垫。Reno是目前网络上广泛使用的TCP算法,其基本思想是快速回复取代了慢启动,在仅有一个分组丢失是TCP性能得到了提高,不过在面对多个分组时,性能依旧有问题。Fall和Floy在Reno的基础上提出了New Reno。New Reno由于本身的控制机制,提高了多个分组丢失时的性能。Lawrences S提出了Vegas算法,基于时间来控制窗口大小,然而由于这种算法在带宽竞争能力上不足,会导致网络资源分配的严重不公平,因此没有能够大面积的使用。TCP算法还有另外的一些形式。1996年,Mathis等人提出了SACK算法,采用选择性确认,减少不必要的重传,对数据包进行有选择性地确认和重传,提高TCP发生严重拥塞时候网络所表现出来的性能。
- 上一篇:AT89C51芯片手机键盘设计+源程序
- 下一篇:基于FPGA的高精度脉冲信号发生器设计+PCB电路图
-
-
-
-
-
-
-
酸性水汽提装置总汽提塔设计+CAD图纸
河岸冲刷和泥沙淤积的监测国内外研究现状
大众媒体对公共政策制定的影响
乳业同业并购式全产业链...
杂拟谷盗体内共生菌沃尔...
当代大学生慈善意识研究+文献综述
java+mysql车辆管理系统的设计+源代码
十二层带中心支撑钢结构...
电站锅炉暖风器设计任务书
中考体育项目与体育教学合理结合的研究