常用路由协议分析比较

常用路由协议的分析及比较 /RIP/IGRP/OSPF/BGP
 
要:
 
在计算机网络中,路由协议的选择至关重要,它直接影响到一个网络的性能,而路由协议的选择又相当复杂。本文主要介绍几种常用路由协议的工作原理,并对各种协议的特点进行分析、比较,以帮助网络设计工程师在设计网络时,能够正确地选择路由协议。

关键词 路由协议 静态路由 动态路由

1 概述
 
路由分为静态路由和动态路由,其相应的路由表称为静态路由表和动态路由表。静态路由表由网络管理员在系统安装时根据网络的配置情况预先设定,网络结构发生变化后由网络管理员手工修改路由表。动态路由随网络运行情况的变化而变化,路由器根据路由协议提供的功能自动计算数据传输的最佳路径,由此得到动态路由表。
根据路由算法,动态路由协议可分为距离向量路由协议( Distance Vector Routing Protocol )和链路状态路由协议( Link State Routing Protocol )。距离向量路由协议基于 Bellman-Ford 算法,主要有 RIP IGRP IGRP Cisco 公司的私有协议);链路状态路由协议基于图论中非常著名的 Dijkstra 算法,即最短优先路径( Shortest Path First SPF )算法,如 OSPF 。在距离向量路由协议中,路由器将部分或全部的路由表传递给与其相邻的路由器;而在链路状态路由协议中,路由器将链路状态信息传递给在同一区域内的所有路由器。  根据路由器在自治系统( AS )中的位置,可将路由协议分为内部网关协议( Interior Gateway Protocol IGP )和外部网关协议( External Gateway Protocol EGP ,也叫域间路由协议)。域间路由协议有两种:外部网关协议( EGP )和边界网关协议( BGP )。 EGP 是为一个简单的树型拓扑结构而设计的,在处理选路循环和设置选路策略时,具有明显的缺点,目前已被 BGP 代替。
EIGRP Cisco 公司的私有协议,是一种混合协议,它既有距离向量路由协议的特点,同时又继承了链路状态路由协议的优点。各种路由协议各有特点,适合不同类型的网络。下面分别加以阐述。
2 静态路由
  静态路由表在开始选择路由之前就被网络管理员建立,并且只能由网络管理员更改,所以只适于网络传输状态比较简单的环境。静态路由具有以下特点:
   静态路由无需进行路由交换,因此节省网络的带宽、 CPU 的利用率和路由器的内存。
   静态路由具有更高的安全性。在使用静态路由的网络中,所有要连到网络上的路由器都需在邻接路由器上设置其相应的路由。因此,在某种程度上提高了网络的安全性。
   有的情况下必须使用静态路由,如 DDR 、使用 NAT 技术的网络环境。

静态路由具有以下缺点:

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

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

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

3
动态路由

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

   1. 距离向量( DV )协议

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

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

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

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

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

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

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

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

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

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

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

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

4
常用动态路由协议的分析

4.1 RIP

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

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

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

   RIP 具有以下特点:

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

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

・ RIPv1
不支持 VLSM

需消耗广域网带宽;

需消耗 CPU 、内存资源。

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

4.2 IGRP

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

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

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

4.3 EIGRP

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

   EIGRP 具有如下特点:

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

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

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

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

   支持可变长子网掩码。

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

   ・ EIGRP 支持三种可路由的协议( IP IPX AppleTalk )。

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

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

4.4 OSPF

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

   OSPF 协议具有以下优点:

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

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

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

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

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

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

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

4.5 BGP

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

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

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

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

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

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

2.
转接 AS Transit AS

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

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

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

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

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

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

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

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

以下三种情况不能使用 BGP

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

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

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

你可能感兴趣的:(职场,协议,路由,休闲)