1. 引言
随着网络的快速发展和越来越广泛而多样化的应用,网络结构和规模越来越复杂化。而合适的路由选择和设计不仅可以优化网络效能,还可以在一定程度上提高网络的安全性和可靠性。一般来说,路由协议可分为静态路由协议和动态路由协议。静态路由必须由专人手工将所有的网络位置输入到路由器的路由选择表中,一旦网络连接发生变化,必须对其进行手动更改以更新路由选择表;而运行动态路由协议的路由器可以不断更新各自对所有网络的感知,并将相关的信息加入到路由选择表中,当网络连接发生变化时,动态路由协议将根据各自的算法将这个变化自动通告给所有的路由器,自动完成路由选择表的更新。
本文依据某部实体网络拓扑,利用OPNET [1] 搭建仿真环境,对动态路由协议中的RIP [2] 、OSPF [3] 和EIGRP [4] 三种协议的性能进行仿真对比分析。
2. 动态路由协议
动态路由协议就是路由器根据协议查找网络并更新路由选择表。一般来说,使用动态路由要比使用静态或默认路由容易,但会占用更多的路由器CPU处理时间和网络带宽。常用的动态路由协议有路由信息协议(Routing Information Protocol, RIP)、开放最短路径优先(Open Shortest Path First, OSPF)和增强内部网关路由协议(Enhanced Interior Gateway Routing Protocol, EIGRP)。
2.1. RIP
RIP是内部网关协议IGP中最先得到广泛使用的协议[1] 。RIP是一种分布式的基于距离向量的路由选择协议,它在传输层使用UDP:520端口更新路由信息,是因特网的标准协议。RIP最大的优点是实现简单,开销小,并且是唯一的所有路由设备都支持的动态路由选择协议[2] 。
RIP是一种纯粹的距离矢量路由选择协议,采用Bellman-Ford算法,每隔30秒就将自己的路由选择表从所有激活的接口上送出。RIP只将跳计数作为判断到达远程网络最佳路径的依据,并且在默认情况下允许的最大跳计数为15,也就是说16跳被认为不可达。在小型网络应用中,RIP可以很好的运行,但对于配备有慢速WAN链接的大型网络或安装有大量路由器的网络,它的运行效率就很低了。
RIP目前已经发展至三个版本,分别是Version 1 (RIPv1),Version 2 (RIPv2)和RIP next generation (RIPng)。
RIPv1采用广播的方式进行路由更新,且只使用有类的路由选择,即网络中的所有设备都必须使用相同的子网掩码,这是因为在其发送的更新数据中不携带子网掩码信息。RIPv2采用组播的方式进行路由更新(224.0.0.9),相对于RIPv1采用的广播方式,组播方式进一步降低了网络开销。并且,RIPv2还提供了前缀路由选择信息,并可以在路由更新中传输子网掩码信息,这样就支持了无类的路由选择,其适用性相对RIPv1得到大大增强[3] 。RIPng使用在IPv6的网络环境中,本文暂不作论述。
本文仿真中采用RIPv2。
2.2. OSPF
OSPF由IETF在上世纪80年代末期开发,OSPF是SPF类路由协议中的开放式版本,所有最短路径树(SPF)路由协议都基于数学算法——Dijkstra算法。OSPF也是一个内部网关协议,是基于链路状态的路由协议,支持VLSM、支持快速收敛、协议本身占用的带宽小、使用组播地址(224.0.0.5和224.0.0.6)完成路由更新、用成本(Cost)作为度量值。
OSPF [5] 就是典型的链路状态路由协议,OSPF通过相邻路由器接口的状态来建立一个链路状态数据库,然后对该数据库根据一种SPF的算法计算出最佳路径,最后将最佳路径放入到路由表中。这就是说,基于链路状态的路由协议,不是只公告自己的路由表,而是经历了一个复杂的演算过程后才得到的路由表。另外,链路状态路由协议在理论上是不受连接数目限制的,而且收敛速度很快。所以,OSPF协议非常适合用在一个较大的网络环境中。
相对于采用距离矢量算法的RIP协议,OSPF协议具有更多的优点。OSPF与RIP的特点比较如表1所示。
2.3. EIGRP
EIGRP是IGRP (Interior Gateway Routing Protocol,内部网关路由协议)的高级版本,是思科公司的私有路由协议。协议中也使用了自治系统的概念来描述相邻路由器的集合,处于自治系统中的路由器使用相同的路由选择协议并共享相同的路由选择信息。EIGRP的路由更新中包含了子网掩码,在设计网络时可以使用VLSM及人工汇总。
EIGRP结合了链路状态和距离矢量两种协议的特性,因此也被称为混合型路由选择协议。EIGRP不会像OSPF那样发送链路状态数据包,相反,它所发送的是传统的距离矢量更新,在此更新中包含有网络信息以及从发出通告的路由器达到这些网络的开销。此外,EIGRP也拥有链路状态的特性,它会在启动时同步相邻路由器上的路由表,并在每拓扑结构发生改变时发送特定的更新数据。EIGRP默认跳计数为100,最大为255,但它不会像RIP那样使用跳计数作为度量。对EIGRP来说,跳计数只是用来限定EIGRP路由更新数据包在被抛弃之前可以经过的路由器个数。所以,EIGRP非常适用特大型网络的应用。
EIGRP拥有许多强大的功能,主要包括:
1) 通过协议相关模块支持IPv4和IPv6以及一些应用不太广泛的其他被路由协议;
2) 与RIPv2和OSPF一样是无类路由协议;
3) 支持VLSM/CIDR;
4) 支持汇总和不连续网络;
5) 高效的邻居发现;
6) 基于可靠传输协议(RTP)的通信;
7) 基于弥散更新算法(DUAL)的最佳路径选择,收敛速度更快。
3. 仿真与分析
3.1. 仿真环境的设计
本文采用OPNET设计搭建了包括四个子网的仿真环境,分别为A区、B区、C区和D区,各子网路由器通过OC1方式交叉互联,如图1所示。
A区子网为服务器以及网管局域网,路由器下接一台核心交换机,核心交换机下接各类型应用服务器(IP电话、FTP、Email以及HTTP)以及包括10台计算机用户终端的LAN A,如图2(a)所示;B区和C区均为小型局域网,各自路由器均下接4台接入交换机,各接入交换机下接10台计算机用户终端,分别如图2(b)、图2(c)所示;D区为中型局域网,路由器下接一台核心交换机,核心交换机下接8台接入交换机,各接入交换机下接20台计算机用户终端,如图2(d)所示;各区子网内部均为1000 Base-T方式连接。

Table 1. Comparison between RIP and OSPF
表1. OSPF与RIP的比较
3.2. 仿真场景设置
本文仿真中,各交换机均采用三层VLAN方式互联。在最初的仿真场景中设置启用RIP协议,并以此为基础,复制出两个场景,分别启用OSPF和EIGPR协议。设置运行路由协议后的网络如图3所示。仿真时间设置为10分钟。
3.3. 仿真结果分析
为更为全面的对比三种动态路由协议的性能,本文选取路由收敛时间、A区核心交换机CPU利用率、网络队列时延以及协议发送流量四个参数进行统计对比分析。
1) 路由收敛时间
路由收敛时间直接反映协议性能。三种路由的收敛时间对比如图4所示:从图中可以看出,采用

(a) (b)
(c) (d)
Figure 2. LANs’ topology: (a) LAN A; (b) LAN B; (c) LAN C; (d) LAN D
图2. 各局域网拓扑:(a) 局域网A;(b) 局域网B;(c) 局域网C;(d) 局域网D


(a) 场景1 (RIP) (b) 场景2 (OSPF) (c)场景3 (EIGRP)
Figure 3. Setting of simulation routing
图3. 仿真路由设置
EIGRP的网络收敛时间在3.8 ms左右,RIP完成收敛小于8 s,而OSPF收敛最慢,用了近70 s才完成收敛。OSPF由于其初次收敛需要计算各路由器链接链路开销,所以其初次收敛速度较慢;但一旦完成首次收敛,各路由将经过路由器存储在本地的数据库中,当发生网络更新的时候将不需要被动的询问邻居路由器,所以OSPF在以后的收敛时间会大幅压缩。总的来说,EIGRP在收敛时间上拥有教大的优势。
2) A区核心交换机CPU利用率
A区核心交换机为全网服务器的数据提供交换服务,其CPU利用率也是反映路由性能的重要指标。各仿真场景中A区核心交换机CPU利用率对比如图5所示:从图中可以看到,采用RIP协议的网络中,核心交换机CPU利用率最大,而采用OSPF的网络中,核心交换机CPU利用率最小。这是由于OSPF用于发现和维护邻居关系的是定期发送的是不含路由信息的HELLO报文,非常短小,并且使用组播方式(而非广播)发送报文,大大降低了网络设备CPU的利用率。
3) 网络队列时延
从图6中可以看到,采用RIP协议的网络队列时延最大,而采用EIGRP的网络队列时延最小。可见,在队列时延上,EIGRP也存在较大的性能优势。这是由于OSPF和EIGRP均是链路状态协议,而RIP是距离矢量协议,而路由状态协议较之距离矢量协议在路由算法拥有较大优势,所以可以大幅降低网络队列时延。

Figure 5. CPU utilization of core switches in A
图5. A区核心交换机CPU利用率
4) 协议发送流量
从协议发送流量对比上看,OSPF发送的流量最多,而RIP发送的流量最少,EIGRP除了仿真刚开始时会突发大量流量,随后即立即减少,如图7所示。这是由于OSPF和EIGRP作为链路状态协议,在网络收敛前要需要全网洪泛链路状态请求报文,所以在仿真初期会有大量的协议发送流量;当整个网络完成收敛后,发送流量将大大减少。
4. 结语
本文通过OPNET搭建仿真环境,对动态路由协议中最常用的RIP、OSPF和EIGRP进行了仿真,对其性能进行了对比分析。对比仿真结果可以看到,EIGRP在路由收敛时间已经网络队列时延上均具有较大性能优势,而且随着网络规模的增大以及复杂,其优势也会越来越明显。但由于EIGRP为思科设备私有协议,而随着“斯诺登”事件的影响,国内越来越多的用户开始采用华为、华三等厂商设备替代原思科设备,使得该协议的进一步推广受到考验。RIP受其算法限制,在一般大型网络中较少采用,但其配置简单,比较适合小型网络。OSPF协议由于其对各类规模网络均有不错的支持,且被几乎所有网络设备
提供商所采用,所以其应用范围最广。
总的来说,网络路由协议的选择和设计要根据网络的实际情况具体问题具体分析,而在实际大型的网络中,静态和动态路由协议通常会被同时采用,以确保网络综合效能的最大化。
参考文献(References)
[1] Sethi, A.S., et al., 著, 王玲芳, 母景琴, 等, 译 (2014) 计算机网络仿真OPNET实用指南. 机械工业出版社, 北京.
[2] 李琨, 俞忠原, 薛小平 (2002) RIP协议分析与仿真研究. 计算机工程, 3, 85-86, 147.
[3] 赵天福, 周丹平 (2008) 基于OSPF协议的网络拓扑发现技术的实现. 江南大学学报(自然科学版), 2, 151-156.
[4] 格拉齐亚尼(Graziani, R.)著, 思科系统公司, 译 (2009) 思科网络技术学院教程CCNA Exploration: 路由协议和概念. 人民邮电出版社, 北京.
[5] 倪勇, 史怀洲, 朱培栋 (2009) 基于OSPF链路状态数据库构建网络拓扑. 计算机技术与发展, 3, 1-4.