仿真结束后,NS2将会产生一个或多个跟踪文件(trace file)。通过在tcl脚本中加入一些简单的语句,这些文件就会包含详细的跟踪信息,运行NAM工具可以将整个仿真过程展示出来。另外,还可以通过工具Gnuplot或Xgraph对仿真数据进行图形绘制处理,得到直观满意的图形结果。论文网
2 仿真实验中基本概念
2.1 拥塞产生的原因
当一个网络中出现大量报文分组的时候,网络的性能就开始下降,情况严重时甚至产生死锁现象,这种情况称为拥塞。拥塞是一种持续过载的网络状态,此时用户对网络资源的需求超过了其固有的容量,这是产生拥塞的根本原因,而端到端之间却存在着直接的原因,主要有:1.存储空间相对不足。主要表现在路由器上,虽然增加存储空间有时可以缓解拥塞的产生,但有时候不但不能缓解拥塞,反而会加剧拥塞。2.带宽容量不足。低速链路对高速数据流的输入也会产生拥塞。3.链路与CPU的处理速度不匹配,造成处理能力弱,速度慢从而引起拥塞。
2.2 拥塞控制原理和方法
TCP作为Internet上使用最广泛的端到端传输协议,它的拥塞控制机制主要基于加法增加乘法减少(AIMD)算法,该算法定义了3个窗口变量:
(1)拥塞窗口(cwnd):它限定了在拥塞控制中源端在一时间段里的最大数据传输量,是来自源端的流量控制。
(2)通告窗口(awnd):接受端与源端建立连接后,接收端通告源端它的最大可接受速率,它是来自接受端的流量控制。
(3)有效窗口(win):即源端发送数据的实际窗口大小,定义为win=min(cwnd,awnd)
AIMD的工作过程可分为两步:1.源端每收到一个来自接受端的ACK确认,拥塞窗口按 cwnd=cwnd+MSS*(MSS/cwnd) (MSS为分组大小)增大,它所表示的实际意义是如果源端发送的分组都在最近的往返时间(RTT)内获得确认,源端就将cwnd加1,即加法增加思想。2.当数据传送发生超时,TCP认为路线上出现拥塞,并开始减小源端的数据发送速率。每发生一次超时,源端就会重新计算拥塞窗口的值,公式如下:
cwnd=cwnd/2
它表示发生一次超时,拥塞窗口将在原来基础上减小一半,即乘法减少思想。
TCP拥塞控制的四个阶段是TCP拥塞控制的核心,也体现了TCP拥塞控制的基本思想,它分为启动阶段,拥塞避免,快速重传和快速恢复阶段。TCP发展到现在已经形成了
TCP Tahoe、TCP Reno、TCP NewReno、SACK、Vegas等不同版本,算法各有利弊。本文下面将对TCP Reno、Vegas算法进行分析和仿真。
2.3 主动队列管理与被动队列管理文献综述
(1)被动式队列管理机制——被动队列管理方法是指在队列满了时被迫丢包。例如DropTail,Random Drop 和 Drop Front。Random Drop是指当队列满时,从队列中随机找一个包丢弃,让新来的包进入队列。Drop Front 是指当队列满时,从队列前端把封包丢弃,以便新包进入队列。
(2)主动式队列管理机制——主动式队列管理机制会在队列满之前就开始把封包丢弃,这样可以对具有拥塞控制的传送端做流量速度管制,以避免满队列状态所带来的较长端到端时延或链路利用率很低的负面效应,例如RED。
2.4 队列管理算法分析
队列管理是对网络传输节点中队列缓冲资源的管理,它通过选择何时丢弃何种业务流来控制队列长度。在分组传输过程中,其流经的网络传输节点通常采用队列缓存 、延迟转发的服务方式以提高输出链路的带宽利用率。缓冲管理机制在分组到达队列前端时依据一定的策略和信息决定是否允许该分组进入缓冲队列