董 绘 ,王晓喃
(1.苏州大学 计算机科学与技术学院,江苏 苏州 215000;2.常熟理工学院 计算机科学与工程学院,江苏 常熟 215500)
路由协议是网络的关键和核心问题之一[1].路由器是互联网的重要组成部分,它通过路由协议实现路径的配置[2],根据数据包附带的信息来判断网络条件,以确定数据的传输路径.数据的传输路径分为单路径与多路径,与此对应的路由协议是单路径路由协议和多路径路由协议.
一般来说,单路径路由协议在链路断裂的情况下需要进行路由修复,因此会造成传输时延长,丢包率高等一些问题[3].采用多路径路由协议传输数据会克服上述问题,达到理想的预期效果.因此,本文采用NS-2对单路径路由协议与多路径路由协议进行了性能分析.
路由协议划分为两类:静态路由协议和动态路由协议.由于静态路由协议不能及时适应网络状态的变化,所以互联网的路由协议主要是动态路由协议.动态路由协议分为距离向量路由协议和链路状态路由协议[4].本次实验是对距离向量路由协议的仿真.
距离向量路由协议DVRP(Distance Vector Routing Protocol)是为小型网络环境设计的.在大型网络环境下,这类协议在学习路由及保持路由将产生较大的流量,占用过多的带宽.距离向量路由协议的特征是:即使拓扑结构不发生变化,也会定时将路由更新发布出去.每台路由器的路由协议维护本地计时器,当计时器为0时,就发送路由更新.这些更新包括全部或者部分路由表[5].这样,路由器就能从其他路由器获取网络设备列表,以便进行路由选择.距离向量路由协议使用跳数作为度量值来计算到达目的地的路径长度.路由器的邻居为同一链路上并配置相同路由协议的路由器[6].
DVMRP(Distance Vector Multicast Routing Protocol)是一种互联网路由协议.DVMRP为互联网的主机组提供了一种面向无连接信息组播的有效机制[7].DVMRP协议采用“扩散和剪枝”技术来广播数据.对于每一个数据源节点,DVMRP刚开始总是将要传送的数据通过网络进行扩散.路由器将上游路由器剪枝信息进行传输.当有新的节点需要接收数据时,原先已经被剪掉的分支仍然可以通过嫁接而重新回到分布树.
图1 网络仿真拓扑图
在NS-2环境下,用于分析DVRP和DVMRP两个协议性能的网络拓扑结构如图1所示.
图1中,网络拓扑结构包含4个路由器和2个主机,数据流采用CBR形式.拓扑结构中所有节点通过双向链路连接,所有链路的队列管理机制都采用DropTail方式,链路的参数如表1所示.
在上述环境下,我们对DVRP和DVMRP的传输时延、吞吐量和丢包率进行了分析和比较.
网络的传输时延(delay)是指数据从网络的源端传送到目的端所需的时间[8].图2为DVRP和DVMRP的传输时延曲线.可以看出,采用多路径路由协议时的传输时延明显低于单路径路由协议下的传输时延且多路径路由协议下的时延曲线波动较小.原因是DVMRP采用一种逆向转发的机制构造一棵以Router1为根的传播路径树(如图1所示),并且该协议还维护一个父子节点的关系数据,发送节点根据此数据确定最佳传输路径,节约了寻路时间,从而呈现出图1所示的时延曲线.相比之下,DV算法是基于邻居节点的路由信息计算自己的最佳路由,所以当邻居节点的链路状态发生改变时需要一定的延迟进行路由修复,从而增加了传输时延.
表1 链路参数表
图2 传输时延对比
网络的吞吐量(throughput)是指在不丢包的情况下单位时间内节点接收的数据量[8].图3为DVRP和DVMRP吞吐量的比较曲线.可以看出,从0.1 s到1.0 s之间DVRP的吞吐量曲线呈水平,这是因为CBR从0.1 s开始启动,在这期间的链路状态没有发生任何变化,路由器router1可以进行正常的数据传输.从1.0 s开始,有链路断开,导致吞吐量大幅度下降.DVMRP吞吐量的曲线从0.6 s开始呈指数型增长,这是因为从0.6 s到1.6 s增加了两个接收节点n3和n4,DVMRP发现n3和n4是邻居路由器,因此路由表中添加了两条路径信息:n0-n1-n3-n5和n0-n1-n4-n5,因此链路的吞吐量快速增加.从1.9 s开始,DVMRP采用“剪枝”技术删除之前增加的接收节点,导致吞吐量的增长速度减慢,到4.3 s时,增加的接收节点全部被删除,吞吐量开始逐渐减小.
丢包率(packet loss rate)定义了传输期间网络丢失数据包的数量,这里是指丢失的数据包占传输的数据总量的比例[8].图4为DVRP和DVMRP丢包率的比较曲线.从图4中可以看出,DVRP的丢包率远高于DVMRP的丢包率,且DVMRP的丢包率几乎为零.原因是当有链路断开时,DVRP要进行路由修复,而在路由修复过程中会持续发生丢包现象.由于DVMRP记录了路径树上的路由信息,当链路发生变化时,它会选择记录中的其他路径传输数据,所以有效降低了丢包率.
图3 吞吐量对比
图4 丢包率对比
本文在相同的网络条件下对多路径路由协议和单路径路由协议的性能进行了比较分析,分析结果表明多路径路由协议的性能优于单路径路由协议.但是,多路径路由协议建立和维护多条路由路径的代价高于单路径路由协议,所以要根据具体的应用情况确定使用何种路由协议.
[1]FarazShamim,ZaheerAziz.IP路由协议疑难解析[M].卢泽新,白建军,朱培栋,等,译.北京:人民邮电出版社,2008.
[2]James Macfarlane.Network Routing Basics[M].吉林:吉林长白山出版社,2007:07.
[3]王元亮,贾力.计算机网络通信与数据传输[M].昆明:云南科学技术出版社,2002.
[4]谢希仁.计算机网络[M].北京:电子工业出版社,2008.
[5]Kenneth D Reed.协议分析[M].孙坦,译.北京:电子工业出版社,2004.
[6]齐小刚,刘立芳,刘三阳.基于距离向量深度的多约束路径选择算法[J].电子学报,2009,37(1):175-179.
[7]方路平,刘世华,陈盼,等.NS-2网络模拟基础与应用[M].北京:国防工业出版社,2008.
[8]黄化吉,冯穗力.NS网络模拟和协议仿真[M].北京:人民邮电出版社,2010.