1984年Nagle首次指出了复杂TCP/IP网络中存在的拥塞问题,特别是在路由器连接宽带差异较大的网络中,容易发生“拥塞崩溃”(Congestion Collapse)现象。拥塞发生的主要原因在于网络能够提供的资源不足以满足用户的需求,这些资源包括缓存空间、链路带宽容量和中间节点的处理能力。由于互联网设计机制导致其缺乏“接纳控制”能力,因此的网络资源不足时只能靠降低服务质量来继续为用户服务,也就是“尽力而为(Best Effort)”的服务。
从20世纪80年代开始,许多学者进行了更深入、细致的研究,不断完善和改进TCP拥塞控制存在的缺陷。但随着互联网规模和互联网应用的快速增长,仅仅依靠TCP拥塞控制不足以确保QoS。此外,对于Internet这样复杂的异构系统,网络层必须参与资源的控制和分配,在路由器中采用队列调度算法和缓存管理技术,即IP拥塞控制策略[2]。拥塞控制与流量控制技术针对网络中的拥塞和数据冲突而成为网络控制中的核心技术。由于Internet数据本质上是突发的,因此允许传输突发的数据非常必要,而在路由器队列的重要作用就是吸收突发数据包。较大的队列能吸收更多的突发数据,提高吞吐量,但TCP机制往往会保持较高的队列占用,从而增加了数据包的排队延迟。
随着应用需求的日益增长和技术的不断发展,研究人员发现如果完全依赖TCP拥塞控制很难满足应用需求,于是对主动队列管理(AQM)的研究越来越被重视。AQM机制作为端到端拥塞控制TCP协议的补充,对提高网络拥塞控制系统的性能有重要作用。1998年IEFT建议在路由器采用AQM机制后,AQM成为计算机网络领域的热点之一。AQM机制的主要思想是在路由器的缓冲区没有溢出之前,根据网络的拥塞情况,以一定的概率丢弃报文[18]。文献综述
1.2 研究现状
1.3 本文的研究内容和结构
本课题在学习拥塞控制和主动队列管理算法工作机理的基础上,编程实现几种新的主动队列管理算法,本文介绍了经典的RED,ARED和PI算法工作机理,并利用网络仿真软件NS2,对其改进算法Event-PI、RE-ARED、CARED进行仿真研究。
全文的研究工作包括以下几方面内容:
第一章为绪论,简单介绍了论文研究的背景、研究现状和研究的目的和意义。
第二章介绍了本文仿真所使用的网络平台NS2(Network Simulator-2)。着重介绍了NS的原理及进行仿真的步骤。网络仿真工具的学习是进行网络研究的必要条件,为研究提供了实验和分析的便利。
第三章介绍主动队列管理中的PI算法以及事件驱动的Event-PI算法。本章基于NS仿真实现了Event-PI算法,验证了Event-PI算法很好的结合了事件驱动和控制理论的优点。当流量发生突变时,Event-PI比PI的响应性更好。
第四章主要对RED、ARED进行了分析和介绍,并实现了几种RED的改进算法,分别是RE-ARED和CARED。运用仿真工具分析这四种算法,比较观察各个算法在面对突增和突降负载时的性能差异。
第五章对全文研究内容作了总结。
2 仿真平台NS2介绍
NS2,即Network Simulator Version 2,是面向对象的、离散事件驱动的网络环境模拟器,主要用于解决网络研究方面的问题。目前,已经有50多个国家的600多个研究机构正在使用它。NS构建库用C++和Otcl两种面向对象的语言编写。一方面C++是高效的编译执行语言,使用C++实现功能的模拟,可使模拟过程的执行获得较好的性能;另一方面,Otcl是解释执行的,用Otcl进行模拟配置,可以在不必重新编译的情况下随意修改模拟参数和模拟过程,提高模拟的效率[1]。 主动队列管理算法的实现与仿真研究(2):http://www.youerw.com/zidonghua/lunwen_71681.html