资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
-范文最新推荐-1 / 18主动队列管理算法 BLUE 的仿真研究摘要本文全面的介绍了 NS 的基础知识和一些操作的技术,对 NS 的工作方式做了较深入的剖析,讲述了基于 NS 的网络仿真技术,对网络拥塞控制的历史及现状作了一定的介绍,其中重点介绍了其中的主动队列管理方式,并主要分析了 BLUE 主动队列算法,介绍了 BLUE 的起源、算法、及实现。中详细讲述了如何对 NS 进行扩展,如何添加 BLUE 这种新的协议算法,并在 NS 平台上对 BLUE 算法进行了一定的研究,对 BLUE 和 RED 的主要性能,如丢包率、吞吐量、延时抖动等,做了相关的分析研究,对 BLUE 算法和RED 算法做了一定的评估。10100关键词 NS 平台网络仿真拥塞控制 BLUE 算法RED 算法毕业设计说明书(论文)外文摘要TitleSimulation and Study of The BLUE Active Queue Management AlgorithmsAbstractIn this paper, it gives a comprehensive introduction to the basics and some operating techniques of the NS, and analyzes the working methods of NS deeply, then gives an account of the network-based simulation technology. Also, there is an introduction to the history and current situation of networks Congestion Control, which focuses on active queue management, especially the BLUE algorithms. It presents the origin, algorithms, and implementation of BLUE and describes how to expand NS in detail, including how to add the new protocol algorithm of BLUE. Then it does some study of the BLUE algorithms on the NS platform .At last, it analyzes the main performance of the BLUE and RED, such as packet loss rate, throughput, delay to evaluate the BLUE and RED algorithms.KeywordsNS platformSimulationCongestion Control -范文最新推荐-3 / 18网络产生拥塞的根本原因在于用户提供给网络的负载大于网络资源容量和处理能力,表现为数据报延时增大、丢弃概率增大、上层应用系统性能下降。拥塞产生的直接原因有以下三点:(1)空间不足。几个输入数据流共同需要同一个输入端口,在这个端口就会建立排队,如果没有足够的存储空间,数据报就会丢弃,对突发数据流更是如此。增加存储空间在一定程度上可以缓解这一矛盾,但如果路由器有无限存储空间量,拥塞只可能变得更坏,而不是更好,因为网络里的数据报经过长时间排队后才通过路由器完成转发,会浪费网络资源,加重网络拥塞。(2)带宽不足。低速链路对高速数据流的输入也会产生拥塞。根据香农信息理论,任何信道带宽最大值即为信道容量 C=Blog2 (1S/N) (N 为信道白噪声的平均功率,S 为信源的平均功率, B 为信道带宽),所有信源发送的速率 R 必须小于或等于信道容量 C。如果RC,在理论上无差错传输就是不可能的,所以在网络低速链路处就会形成带宽瓶颈,当其满足不了通过它的所有资源带宽要求时,网络就会发生拥塞。(3)处理器能力弱、速度慢。如果路由器的 CPU 在执行排队缓存、更新路由表等功能时,处理速度跟不上高速链路,也会产生拥塞。同样,低速链路对高速CPU 也会产生拥塞3。所以我们要试着找到解决网络拥塞的办法,而拥塞避免机制的首要任务是检测早期的拥塞。这是因为,路由器能够有效地监控队列的长度,因此其也能有效地检测早期的拥塞。拥塞避免机制的另一个任务是选择哪个流发出拥塞通知。因为路由器能够全面地审视各个流对产生拥塞的影响,因此其也能够有效地决定将拥塞信息通知哪个源端,使其降低数据发送速度。由于网络数据本质上是突发的,因此允许传输突发的数据报非常必要,而路由器中队列的重要作用就是吸收突发的数据报。较大的队列能够吸收更多的突发数据,提高吞吐量,但 TCP 机制往往会保持较高的队列占用,从而增加了数据报的排队延迟。因此需要路由器对队列进行管理,维持较小的队列长度。因为维持较小的队列长度除了降低排队延迟,提高吞吐量外,-范文最新推荐-5 / 18还能保持较大的队列空间来吸收突发数据报。拥塞控制机制就是要维持网络处于低延迟高吞吐量的状态4。总的来说,拥塞控制的方式有如下几种:缓冲区预分配法、分组丢弃法、定额控制法。而到具体而言则方法很多,也是经历了长足的发展。传统拥塞控制技术:TCP 流量控制。在 Internet 设计的初期,对于拥塞的控制是通过传输控制协议中端到端基于滑窗的流量控制完成的。尽管这种控制算法是有很多不足的,但是在很长一段时间内,接收端驱动的 TCP 流量控制是唯一可行的拥塞控制方法。TCP 流量控制已被作为标准在 Internet 广泛使用,但人们认为它们依旧不够完善,需要新的策略与算法来完善研究与应用中发现的新问题。于是产生了 TCP 流量控制技术的扩展:端到端流量控制。端到端拥塞控制机制在响应分组丢失时,不像 TCP 流量控制那样,将拥塞窗口(或传输速率) 减半,而是采用较为缓慢的速率调节算法。但随着应用需求的日益丰富和技术的不断发展,研究者开始认识到要想完全依赖实现在终端系统上的策略与算法是很难满足诸如 QoS 这样复杂的应用需求的。于是,人们开始将部分研究注意力转向网络中的路由器等中间节点设备,于是产生了中间节点上的增强机制。如调度算法和队列算法(IP 网络中的拥塞控制) 。接下来随着 AQM 成为 Internet 拥塞控制研究领域的一个技术热点,围绕着 AQM 的研究就逐渐丰富起来。相继产生了不少有影响力的算法,如 PI 控制、SRED、BLUE、REM、FRED、Self configuration RED、Balanceed - RED 、GKVQ 和 AVQ 策略6。1.4 主动队列管理算法研究现状1.5 论文的组织结构本文对主动队列管理算法 BLUE 进行了仿真研究,-范文最新推荐-7 / 18详细阐述了对 NS2 网络模拟器的功能扩展,并对RED 算法和新添加的 BLUE 算法进行了数据对比分析。文章结构如所述:第一章为绪论,对课题的研究背景及意义做了简要介绍,提出拥塞控制的必要性和迫切性,说明了拥塞控制的种类,并对主动管理算法的研究现状、需要解决的问题等进行了阐述。 NS2(Network Simulator, version 2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器。由UC Berkeley 开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。目前 NS2 可以用于仿真各种不同的 IP 网,已经实现的一些仿真有:网络传输协议,比如 TCP 和 UDP;业务源流量产生器,比如 FTP, Telnet, Web CBR 和 VBR;路由队列管理机制,比如 Droptail, RED 和 CBQ;路由算法,比如Dijkstra 等。NS2 也为进行局域网的仿真而实现了多播以及一些 MAC 子层协议11。NS2 使用 C+和 Otcl 作为开发语言。NS 可以说是Otcl 的脚本解释器,它包含仿真事件调度器、网络组件对象库以及网络构建模型库等。事件调度器是计算仿真时间,并且激活事件队列中的当前事件,执行一些相关的事件,网络组件通过传递分组来相互通信,但这并不耗费仿真时间。所有需要花费仿真时间来处理分组的网络组件都必须要使用事件调度器。它先为这个分组发出一个事件,然后等待这个事件被调度回来之后,才能做下一步的处理工作。事件调度器的另一个用处就是计时。NS 是用 Otcl 和 C+编写的。由于效率的原因,NS 将数据通道和控制通道的实现相分离。为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用 C+写出并编译的,这些对象通过映射对 Otcl 解释器可见。当仿真完成以后,NS 将会产生一个或多个基于文本的跟踪文件。只要在 Tcl 脚本中加入一些简单的语句,这些文件中就会包含详细的跟踪信息。这些数据可以用于下一步的分析处理,也可以使用 NAM 将整个仿真过程展示出来12。-范文最新推荐-9 / 182.2NS 安装相关NS 的安装比较复杂,对于初学者来说有一定的困难,因此也在此作一下简单介绍。这次 NS2 安装的平台是在 Ubuntu 11.04 上,而安装Ubuntu 11.04 的平台是基于 Windows 的虚拟机软件VMware Workstation 8.0.0 版本。首先肯定是安装VMware,并在它的基础上安装 Ubuntu 11.04,这里不再详细阐述。直接从安装 NS2 开始。 (5)编写其他的辅助过程,设定模拟结束时间,至此 OTcl 脚本编写完成。(6)用 NS 解释执行刚才编写的 OTcl 脚本。(7)对 Trace 文件进行分析,得出有用的数据。(8)调整配置拓扑结构和业务量模型,重新进行上述模拟过程14。NS2 采用两级体系结构,为了提高代码的执行效率,NS2 将数据操作与控制部分的实现相分离,事件调度器和大部分基本的网络组件对象后台使用 C+实现和编译,称为编译层,主要功能是实现对数据包的处理;NS2 的前端是一个 OTcl 解释器,称为解释层,主要功能是对模拟环境的配置、建立。从用户角度看,NS2 是一个具有仿真事件驱动、网络构件对象库和网络配置模块库的 OTcl 脚本解释器。 NS2 中编译类对象通过 OTcl 连接建立了与之对应的解释类对象,这样用户间能够方便地对 C
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号