3.4.4 平均丢包率 21
结 论 22
致 谢 23
参考文献 24
1 绪论
1.1 引言
随着计算机网络的发展,互联网上的用户和应用都在急剧增加,通信业务量的增长使得主干网络变得越来越拥塞。由于Internet中大部分数据流使用的是TCP/IP协议,TCP/IP的拥塞控制机制是确保Internet稳定性和鲁棒性的关键,这种机制为Internet得到广泛应用提供了重要保证。现有的TCP协议下的拥塞控制机制必须在源端检侧到拥塞时才能降低发送速率,这时是以丢包作为拥塞指示的,然而在源端检测到拥塞到降低发送速率之间花去了大量的时间,在这段时间内源端仍然按照链路所不能承受的速率发送数据,便导致了更大的丢包率,使得网络更加拥塞。
拥塞是由于网络中有限的资源使得“需求”大于“供给”。这些有限的资源由多个用户共享使用,由于缺少“中央控制”,网络无法对用户使用资源的数量进行控制;缺少“接纳控制”,网络无法对用户的数量进行限制。目前,Internet上用户和应用的数量都在迅速增长,如果不使用某种机制对资源的使用进行协调,将会导致网络拥塞的产生。尽管拥塞的产生是由于资源的短缺,但增加资源并不能使得拥塞避免,有时甚至会使得拥塞加重。这是由于Internet中资源和流量分布的不均衡性,由此导致的拥塞不能通过增加资源的方法来解决。
同时由于各种新型业务的出现,人们对网络的服务质量(QoS)提出了更高的要求,高效的QoS支持显得越来越重要。而传统的Internet网络是基于简单的“尽力而为”(Bedt一Effort)服务模型,拥塞会增加分组传输时间,导致吞吐量降低、延时抖动、分组丢弃,不能保证服务质量。因此,如何针对这些新应用进行拥塞控制,保证网络的稳定性和公平性是近年来研究的热点问题。
1.2拥塞策略的研究与发展
1.2.1 RED算法
1.2.2 REM算法
1.3 仿真软件NS-2的简单介绍
NS2是指 Network Simulator version 2,NS(Network Simulator) 是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块几乎涉及到了网络技术的所有方面。所以,NS成了目前学术界广泛使用的一种网络模拟软件。此外,NS也可作为一种辅助教学的工具,已被广泛应用在了网络技术的教学方面。因此,目前在学术界和教育界,有大量的人正在使用或试图使用NS。论文网
NS2(Network Simulator, version 2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器。由UC Berkeley开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有:网络传输协议,比如TCP和UDP;业务源流量产生器,比如FTP, Telnet, Web CBR和VBR;路由队列管理机制,比如Droptail , RED和CBQ;路由算法,比如Dijkstra等。NS2也为进行局域网的仿真而实现了多播以及一些MAC 子层协议。
NS2使用C++和Otcl作为开发语言。NS可以说是Otcl的脚本解释器,它包含仿真事件调度器、网络组件对象库以及网络构建模型库等。事件调度器计算仿真时间,并且激活事件队列中的当前事件,执行一些相关的事件,网络组件通过传递分组来相互通信,但这并不耗费仿真时间。所有需要花费仿真时间来处理分组的网络组件都必须要使用事件调度器。它先为这个分组发出一个事件,然后等待这个事件被调度回来之后,才能做下一步的处理工作。事件调度器的另一个用处就是计时。NS是用Otcl和C++编写的。由于效率的原因,NS将数据通道和控制通道的实现相分离。为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用C++写出并编译的,这些对象通过映射对Otcl解释器可见。