常用路由协议的分析及比较

1 概述

路由分为静态路由和动态路由,其相应的路由表称为静态路由表和动态路由表。静态路由表由网络管理员在系统安装时根据网络的配置情况预先设定,网络结构 发生变化后由网络管理员手工修改路由表。动态路由随网络运行情况的变化而变化,路由器根据路由协议提供的功能自动计算数据传输的最佳路径,由此得到动态路由表。

根据路由算法,动态路由协议可分为距离向量路由协议(Distance Vector Routing Protocol)和链路状态路由协议 Link State Routing Protocol)。距离向量路由协议基于Bellman-Ford算法,主要有RIPIGRPIGRPCisco公司的私有协议);链路状态路由协议基于图论中非常著名的Dijkstra算法,即最短优先路径(Shortest Path FirstSPF)算法,如OSPF。在距离向量路由协议中,路由器将部分或全部的路由表传递给与其相邻的路由器;而在链路状态路由协议中,路由器将链路状态信息传 递给在同一区域内的所有路由器。 根据路由器在自治系统(AS)中的位置,可将路由协议分为内部网关协议 (Interior Gateway ProtocolIGP)和外部网关协议(External Gateway ProtocolEGP,也叫域 间路由协议)。域间路由协议有两种:外部网关协议(EGP)和边界网关协议(BGP)。EGP是为一个简单的树型拓扑结构而设计的,在处理选路循环和设置 选路策略时,具有明显的缺点,目前已被BGP代替。

EIGRPCisco公司的私有协议,是一种混合协议,它既有距离向量路由协议的特点,同时又继承了链路状态路由协议的优点。各种路由协议各有特点,适合不同类型的网络。下面分别加以阐述。

2 静态路由

静态路由表在开始选择路由之前就被网络管理员建立,并且只能由网络管理员更改,所以只适于网络传输状态比较简单的环境。静态路由具有以下特点:

· 静态路由无需进行路由交换,因此节省网络的带宽、CPU的利用率和路由器的内存。

· 静态路由具有更高的安全性。在使用静态路由的网络中,所有要连到网络上的路由器都需在邻接路由器上设置其相应的路由。因此,在某种程度上提高了网络的安全性。

· 有的情况下必须使用静态路由,如DDR、使用NAT技术的网络环境。

静态路由具有以下缺点:

· 管理者必须真正理解网络的拓扑并正确配置路由。

· 网络的扩展性能差。如果要在网络上增加一个网络,管理者必须在所有路由器上加一条路由。

· 配置烦琐,特别是当需要跨越几台路由器通信时,其路由配置更为复杂。

3 动态路由

动态路由协议分为距离向量路由协议和链路状态路由协议,两种协议各有特点,分述如下。

1. 距离向量(DV)协议

距离向量指协议使用跳数或向量来确定从一个设备到另一个设备的距离。不考虑每跳链路的速率。

距离向量路由协议不使用正常的邻居关系,用两种方法获知拓扑的改变和路由的超时:

· 当路由器不能直接从连接的路由器收到路由更新时;

· 当路由器从邻居收到一个更新,通知它网络的某个地方拓扑发生了变化。

在小型网络中(少于100个路由器,或需要更少的路由更新和计算环境),距离向量路由协议运行得相当好。当小型网络扩展到大型网络时,该算法计算新路 由的收敛速度极慢,而且在它计算的过程中,网络处于一种过渡状态,极可能发生循环并造成暂时的拥塞。再者,当网络底层链路技术多种多样,带宽各不相同时, 距离向量算法对此视而不见。

距离向量路由协议的这种特性不仅造成了网络收敛的延时,而且消耗了带宽。随着路由表的增大,需要消耗更多的CPU资源,并消耗了内存。

2. 链路状态(LS)路由协议

链路状态路由协议没有跳数的限制,使用图形理论算法或最短路径优先算法。

链路状态路由协议有更短的收敛时间、支持VLSM可变长子网掩码)和CIDR

链路状态路由协议在直接相连的路由之间维护正常的邻居关系。这允许路由更快收敛。链路状态路由协议在会话期间通过交换Hello包(也叫链路状态信息)创建对等关系,这种关系加速了路由的收敛。

不像距离向量路由协议那样,更新时发送整个路由表。链路状态路由协议只广播更新的或改变的网络拓扑,这使得更新信息更小,节省了带宽和CPU利用率。另外,如果网络不发生变化,更新包只在特定的时间内发出(通常为30min2h)。

3. 链路状态路由协议和距离向量路由协议的比较

1,在信息更新时,链路状态协议只发送更新了的或改变了的网络拓扑(这样信息更少),而距离向量路由协议会发送整个路由表,宽带和CPU利用率上更高。
2,距离向量路由协议不使用正常的邻居关系,收敛速度较慢,链路状态协议使用正确的邻居关系,收敛速度较快(在会话期间通过交换hello包(链路状态信息)创建对等关系,这种关系加速了路由的收敛)。
4 常用动态路由协议的分析

4.1 RIP

RIP(路由信息协议)是路由器生产商之间使用的第一个开放标准,是最广泛的路由协议,在所有IP路由平台上都可以得到。当使用RIP时,一台 Cisco路由器可以与其他厂商的路由器连接。RIP有两个版本:RIPv1RIPv2,它们均基于经典的距离向量路由算法,最大跳数为15跳。

RIPv1是族类路由(Classful Routing)协议,因路由上不包括掩码信息,所以网络上的所有设备必须使用相同的子网掩码,不支持VLSMRIPv2可发送子网掩码信息,是非族类路由(Classless Routing)协议,支持VLSM

RIP使用UDP数据包更新路由信息。路由器每隔30s更新一次路由信息,如果在180s内没有收到相邻路由器的回应,则认为去往该路由器的路由不可用,该路由器不可到达。如果在240s后仍未收到该路由器的应答,则把有关该路由器的路由信息从路由表中删除。

RIP具有以下特点:

· 不同厂商的路由器可以通过RIP互联;

· 配置简单; · 适用于小型网络(小于15跳);

· RIPv1不支持VLSM

· 需消耗广域网带宽;

· 需消耗CPU、内存资源。

RIP的算法简单,但在路径较多时收敛速度慢,广播路由信息时占用的带宽资源较多,它适用于网络拓扑结构相对简单且数据链路故障率极低的小型网络中,在大型网络中,一般不使用RIP

4.2 IGRP

内部网关路由协议(Interior Gateway Routing ProtocolIGRP)是Cisco公司20世纪80年×××发的,是一 种动态的、长跨度(最大可支持255跳)的路由协议,使用度量(向量)来确定到达一个网络的最佳路由,由延时、带宽、可靠性和负载等来计算最优路由,它在 同个自治系统内具有高跨度,适合复杂的网络。Cisco IOS允许路由器管理员对IGRP的网络带宽、延时、可靠性和负载进行权重设置,以影响度量的计 算。

RIP一样,IGRP使用UDP发送路由表项。每个路由器每隔90s更新一次路由信息,如果270s内没有收到某路由器的回应,则认为该路由器不可到达;如果630s内仍未收到应答,则IGRP进程将从路由表中删除该路由。

RIP相比,IGRP的收敛时间更长,但传输路由信息所需的带宽减少,此外,IGRP的分组格式中无空白字节,从而提高了IGRP的报文效率。但IGRPCisco公司专有,仅限于Cisco产品。

4.3 EIGRP

随着网络规模的扩大和用户需求的增长,原来的IGRP已显得力不从心,于是,Cisco公司又开发了增强的IGRP,即EIGRPEIGRP使用与IGRP相同的路由算法,但它集成了链路状态路由协议和距离向量路由协议的长处,同时加入散播更新算法(DUAL)。

EIGRP具有如下特点:

· 快速收敛。快速收敛是因为使用了散播更新算法,通过在路由表中备份路由而实现,也就是到达目的网络的最小开销和次最小开销(也叫适宜后继, feasible successor)路由都被保存在路由表中,当最小开销的路由不可用时,快速切换到次最小开销路由上,从而达到快速收敛的目的。

· 减少了带宽的消耗。EIGRP不像RIPIGRP那样,每隔一段时间就交换一次路由信息,它仅当某个目的网络的路由状态改变或路由的度量发生变 化时,才向邻接的EIGRP路由器发送路由更新,因此,其更新路由所需的带宽比RIPEIGRP小得多——这种方式叫触发式(triggered)。

· 增大网络规模。对于RIP,其网络最大只能是15跳(hop),而EIGRP最大可支持255跳(hop)。

· 减少路由器CPU的利用。路由更新仅被发送到需要知道状态改变的邻接路由器,由于使用了增量更新,EIGRPIGRP使用更少的CPU

· 支持可变长子网掩码。

· IGRPEIGRP可自动移植。IGRP路由可自动重新分发到EIGRP中,EIGRP也可将路由自动重新分发到IGRP中。如果愿意,也可以关掉路由的重分发。

· EIGRP支持三种可路由的协议(IPIPXAppleTalk)。

· 支持非等值路径的负载均衡。

· EIGIPCisco公司开发的专用协议,因此,当Cisco设备和其他厂商的设备互联时,不能使用EIGRP

4.4 OSPF

开放式最短路径优先(Open Shortest Path FirstOSPF)协议是一种为IP网络开发的内部网关路由选择协议,由IETF开 发并推荐使用。OSPF协议由三个子协议组成:Hello协议、交换协议和扩散协议。其中Hello协议负责检查链路是否可用,并完成指定路由器及备份指定路由器;交换协议完成路由器的指定并交换各自的路由数据库信息;扩散协议完成各路由器中路由数据库的同步维护。

OSPF协议具有以下优点:

· OSPF能够在自己的链路状态数据库内表示整个网络,这极大地减少了收敛时间,并且支持大型异构网络的互联,提供了一个异构网络间通过同一种协议交换网络信息的途径,并且不容易出现错误的路由信息。 ·

 OSPF支持通往相同目的的多重路径。

· OSPF使用路由标签区分不同的外部路由。

· OSPF支持路由验证,只有互相通过路由验证的路由器之间才能交换路由信息;并且可以对不同的区域定义不同的验证方式,从而提高了网络的安全性。

· OSPF支持费用相同的多条链路上的负载均衡。

· OSPF是一个非族类路由协议,路由信息不受跳数的限制,减少了因分级路由带来的子网分离问题。

· OSPF支持VLSM和非族类路由查表,有利于网络地址的有效管理。

· OSPF使用AREA对网络进行分层,减少了协议对CPU处理时间和内存的需求。

4.5 BGP

BGP用于连接InternetBGPv4是一种外部的路由协议。可认为是一种高级的距离向量路由协议。

BGP网络中,可以将一个网络分成多个自治系统。自治系统间使用eBGP广播路由,自治系统内使用iBGP在自己的网络内广播路由。

Internet由多个互相连接的商业网络组成。每个企业网络或ISP必须定义一个自治系统号(ASN)。这些自治系统号由IANA Internet Assigned Numbers Authority)分配。共有65535个可用的自治系统号,其中65512~65535为私 用保留。当共享路由信息时,这个号码也允许以层的方式进行维护。

BGP使用可靠的会话管理,TCP中的179端口用于触发UpdateKeepalive信息到它的邻居,以传播和更新BGP路由表。

BGP网络中,自治系统有: 1. Stub AS

只有一个入口和一个出口的网络。

2. 转接ASTransit AS

当数据从一个AS到另一个AS时,必须经过Transit AS

如果企业网络有多个AS,则在企业网络中可设置Transit AS

IGPBGP最大的不同之处在于运行协议的设备之间通过的附加信息的总数不同。IGP使用的路由更新包比BGP使用的路由更新包更小(因此BGP承载更多的路由属性)。BGP可在给定的路由上附上很多属性。

当运行BGP的两个路由器开始通信以交换动态路由信息时,使用TCP端口179,他们依赖于面向连接的通信(会话)。

BGP必须依靠面向连接的TCP会话以提供连接状态。因为BGP不能使用Keepalive信息(但在普通头上存放有Keepalive信息,以允许 路由器校验会话是否Active)。标准的Keepalive是在电路上从一个路由器送往另一个路由器的信息,而不使用TCP会话。路由器使用电路上的这 些信号来校验电路没有错误或没有发现电路。 某些情况下,需要使用BGP

· 当你需要从一个AS发送流量到另一个AS时;

· 当流出网络的数据流必须手工维护时;

· 当你连接两个或多个ISPNAP(网络访问点)和交换点时。

以下三种情况不能使用BGP

· 如果你的路由器不支持BGP所需的大型路由表时;

· Internet只有一个连接时,使用默认路由;

· 当你的网络没有足够的带宽来传送所需的数据时(包括BGP路由表)。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OSPFEIGRP都是近年来出现的比较好的动态路由协议,OSPF以协议标准化强,支持厂家多,受到广泛应用,而EIGRP协议由网络界公认的领先厂商Cisco公司发明,并靠其在业界的影响力和绝对的市场份额,也受到用户的普遍认同。然而这两种协议究竟哪种更好,谁更适合网络未来发展的需要?本文就用户普遍关心的问题,从技术角度客观分析这两种协议各自的优缺点,以便网络集成商和企业用户在网络设计规划时,能作为参考。

一、OSPF路由协议

(一)、OSPF路由协议介绍

OSPFOpen Shortest Path First(即开放最短路由优先协议)的缩写。它是IETF组织开发的一个基于链路状态的自治系统内部路由协议。在IP网络上,它通过收集和传递自治系统的链路状态来动态地发现并传播路由。

每一台运行OSPF协议的路由器总是将本地网络的连接状态,(如可用接口信息、可达邻居信息等)用LSA(链路状态广播)描述,并广播到整个自治系统中去。这样,每台路由器都收到了自治系统中所有路由器生成的LSA,这些LSA的集合组成了LSDB(链路状态数据库)。由于每一条LSA是对一台路由器周边网络拓扑的描述,则整个LSDB就是对该自治系统网络拓扑的真实反映。根据LSDB,各路由器运行SPF(最短路径优先)算法。构建一棵以自己为根的最短路径树,这棵树给出了到自治系统中各节点的路由。在图论中,是一种无环路的连接图。所以OSPF计算出的路由也是一种无环路的路由。

OSPF协议为了减少自身的开销,提出了以下概念:

1. DR
在各类可以多址访问的网络中,如果存在两台或两台以上的路由器,该网络上要选举出一个指定路由器”(DR)指定路由器负责与本网段内所有路由器进行LSDB的同步。这样,两台非DR路由器之间就不再进行LSDB的同步。大大节省了同一网段内的带宽开销。
2. AREA
OSPF可以根据自治系统的拓扑结构划分成不同的区域(AREA),这样区域边界路由器(ABR)向其它区域发送路由信息时,以网段为单位生成摘要LSA。这样可以减少自治系统中的LSA的数量,以及路由计算的复杂度。区域内和区域间路由描述的是自治系统内部的网络结构,而外部路由则描述了应该如何选择到自治系统以外目的地的路由。一般来说,第一类外部路由对应于OSPF从其它内部路由协议所引入的信息,这些路由的花费和OSPF自身路由的花费具有可比性;第二类外部路由对应于OSPF从外部路由协议所引入的信息,它们的花费远大于OSPF自身的路由花费,因而在计算时,将只考虑外部的花费。

(二)、OSPF路由协议介绍优点:

1OSPF是真正的LOOP- FREE(无路由自环)路由协议。源自其算法本身的优点。(链路状态及最短路径树算法)
2OSPF收敛速度快:能够在最短的时间内将路由变化传递到整个自治系统。
3、提出区域(area)划分的概念,将自治系统划分为不同区域后,通过区域之间的对路由信息的摘要,大大减少了需传递的路由信息数量。也使得路由信息不会随网络规模的扩大而急剧膨胀。
4、将协议自身的开销控制到最小。

1)用于发现和维护邻居关系的是定期发送的是不含路由信息的hello报文,非常短小。包含路由信息的报文时是触发更新的机制。(有路由变化时才会发送)。但为了增强协议的健壮性,每1800秒全部重发一次。
2)在广播网络中,使用组播地址(而非广播)发送报文,减少对其它不运行ospf 的网络设备的干扰。
3)在各类可以多址访问的网络中(广播,NBMA),通过选举DR,使同网段的路由器之间的路由交换(同步)次数由 ON*N)次减少为 O N)次。
4)提出STUB区域的概念,使得STUB区域内不再传播引入的ASE路由。
5)在ABR(区域边界路由器)上支持路由聚合,进一步减少区域间的路由信息传递。
6)在点到点接口类型中,通过配置按需播号属性(OSPF over On Demand Circuits),使得ospf不再定时发送hello报文及定期更新路由信息。只在网络拓扑真正变化时才发送更新信息。

5、通过严格划分路由的级别(共分四极),提供更可信的路由选择。
6、良好的安全性,ospf支持基于接口的明文及md5 验证。
7OSPF适应各种规模的网络,最多可达数千台。

二、EIGRP路由协议介绍

EIGRP和早期的IGRP协议都是由Cisco发明,是基于距离向量算法的动态路由协议。EIGRP(Enhanced Interior Gateway Routing Protocol)是增强版的IGRP协议。它属于动态内部网关路由协议,仍然使用矢量-距离算法。但它的实现比IGRP已经有很大改进,其收敛特性和操作效率比IGRP有显著的提高。EIGRP的收敛特性是基于DUAL ( Distributed Update Algorithm ) 算法的。DUAL 算法使得路径在路由计算中根本不可能形成环路。它的收敛时间可以与已存在的其他任何路由协议相匹敌。EIGRP协议主要具有如下特点:

1. 精确的路由计算和多路由的支持

EIGRP协议继承了IGRP协议的最大的优点:矢量路由权。EIGRP协议在路由计算中要对网络带宽,网络时延,信道占用率,信道可信度等因素作全面的综合考虑,所以EIGRP的路由计算更为准确,更能反映网络的实际情况。同时EIGRP协议支持多路由,使路由器可以按照不同的路径进行负载分担。

2. 较少的带宽占用

使用EIGRP协议的对等路由器之间周期性的发送很小的hello报文,以此来保证从前发送报文的有效性。路由的发送使用增量发送方法,即每次只发送发生变化的路由。发送的路由更新报文采用可靠传输,如果没有收到确认信息则重新发送,直至确认。EIGRP还可以对发送的EIGRP报文进行控制,减少EIGRP报文对接口带宽的占用率。