4. OSPF 协议相关概念
路由器 ID 号
一台路由器如果要运行 OSPF 协议,必须存在 Router ID。如果没有配置 ID 号,系统会从当前接口的 IP 地址中自动选一个作为路由器的 ID 号。
DR 和 BDR
指定路由器 DR( Designated Router)。为使每台路由器能将本地状态信息广播到整个自治系统中,在路由器之间要建立多个邻居关系。但这使得任何一台路由器的路由变化都会导致多次传递,浪费了宝贵的带宽资源。为解决这一问题, OSPF 协议定义了 DR,所有路由器都只将信息发送给 DR,由 DR 将网络链路状态广播出去。两台不是 DR 的路由器(称为 DR Other)之间将不再建立邻居关系,也不再交换任何路由信息。
备份指定路由器 BDR( Backup Designated Router)。如果 DR 由于某种故障而失效,这时必须重新选举 DR,并与之同步。这需要较长的时间,在这段时间内,路由计算是不正确的。为了能够缩短这个过程, OSPF 提出了 BDR 的概念。 BDR 实际上是对DR 的一个备份,在选举 DR 的同时也选举出 BDR, BDR 也和本网段内的所有路由器建立邻接关系并交换路由信息。当 DR 失效后, BDR 会立即成为 DR。
区域(Area)
一组运行 OSPF 路由协议的路由器,组成了 OSPF 路由域的自治域系统。一个自治域系统是指由一个组织机构控制管理的所有路由器,自治域系统内部只运行一种 IGP 路由协议,自治域系统之间通常采用 BGP 路由协议进行路由信息交换。不同的自治域系统可以选择相同的IGP 路由协议,如果要连接到因特网,每个自治域系统都需要向相关组织申请自治域系统编号。
随着网络规模日益扩大,当一个巨型网络中的路由器都运行 OSPF 路由协议时,路由器数量的增多会导致 LSDB 非常庞大,占用大量的存储空间,并使得运行 SPF 算法的复杂度增加,哪一台路由器会成为本网段内的 DR 并不是人为指定的,而是由本网段中所有的路由器共同选举出来的。导致 CPU 负担很重。并且,网络规模增大之后,拓扑结构发生变化的概率也会增大,网络会经常处于“动荡”之中,造成网络中会有大量的 OSPF 协议报文在传递,降低了网络的带宽利用率。而且每一次变化都会导致网络中所有的路由器重新进行路由计算。
当 OSPF 路由域规模较大时,一般采用分层结构,即将 OSPF 路由域分割成几个区域( AREA),区域之间通过一个骨干区域互连,每个非骨干区域都需要直接与骨干区域连接。
在 OSPF 路由域中,根据路由器的部署位置划分,有 3 种路由器角色。一是区域内部路由器,该路由器的所有接口网络都属于一个区域。二是区域边界路由器,也称为 ABR( Area Border Routers),该路由器的接口网络至少属于两个区域,其中一个必须为骨干区域。三是自治域边界路由器,也称为 ASBR( Autonomous System Boundary Routers),是 OSPF 路由域与外部路由域进行路由交换的必经之路。
骨干区域和虚连接
骨干区域( Backbone Area)。 OSPF 划分区域之后,并非所有的区域都是平等的关系。其中有一个区域是与众不同的,它的区域号( Area ID)是 0,通常被称为骨干区域。
虚连接( Virtual link)。由于所有区域都必须与骨干区域在逻辑上保持连接,特别引入了虚连接的概念,使那些物理上分割的区域仍可保持逻辑上的连通性。
路由聚合
AS 被划分成不同的区域,每一个区域通过 OSPF 边界路由器( ABR)相连,区域间可以通过路由汇聚来减少路由信息,减小路由表的规模,提高路由器的运算速度。
ABR 在计算出一个区域的区域内路由之后,查询路由表,将其中每一条 OSPF 路由封装成一条 LSA 发送到区域之外。
5. OSPF 协议优缺点
与 RIP 协议不同, OSPF 将一个自治域再划分为区,相应地即有两种类型的路由选择方式。当源和目的地在同一区时,采用区内路由选择;当源和目的地在不同区时,则采用区间路由选择。这就大大减少了网络开销,并增加了网络的稳定性。当一个区内的路由器出了故障时并不影响自治域内其他区路由器的正常工作,这也给网络的管理、维护带来了方便。
OSPF 协议主要优点
OSPF 协议的主要优点如下。
快速收敛。 OSPF 是真正的 LOOP-FREE(无路由自环)路由协议。源自其算法本身——链路状态及最短路径树算法, OSPF 具有收敛速度快,能够在最短的时间内将路由变化传递到整个自治系统。
区域划分。提出区域( Area)划分的概念,将自治系统划分为不同区域后,通过区域之间的对路由信息的摘要,大大减少了需传递的路由信息数量,也使得路由信息不会随网络规模的扩大而急剧膨胀。
开销控制。将协议自身的开销控制到最小。
① 用于发现和维护邻居关系的是定期发送的不含路由信息的 HELLO 报文,且非常短小。
包含路由信息的报文是触发更新的机制,而且只有在路由变化时才会发送。但为了增强协议的健壮性,每 1 800 s 全部重发一次。
② 在广播网络中,使用组播地址(而非广播)发送报文,减少对其他不运行 OSPF 的网络设备的干扰。
③ 在各类可以多址访问的网络中(广播型网络,非广播型多路访问),通过选举 DR(指定路由器),使同网段的路由器之间的路由交换(同步)次数由 O( N× N)次减少为 O( N)次。
④ 提出 STUB 区域的概念,使得 STUB 区域内不再传播引入的 ASE 路由。
⑤ 在 ABR(区域边界路由器)上支持路由聚合,进一步减少区域间的路由信息传递。
⑥ 在点到点接口类型中,通过配置按需播号属性(OSPF over On Demand Circuits), 使得 OSPF不再定时发送 HELLO 报文及定期更新路由信息。只在网络拓扑真正变化时才发送更新信息。
路由可信。通过严格划分路由的级别(共分 4 极),提供更可信的路由选择。
安全性高。良好的安全性, OSPF 支持基于接口的明文及 MD5 验证。
适应性广。 OSPF 适应各种规模的网络,最多可达数千台。
OSPF 协议主要缺点
OSPF 协议的主要缺点如下。
配置相对复杂。由于网络区域划分和网络属性的复杂性,需要网络分析员有较高的网络知识水平才能配置和管理 OSPF 网络。
路由负载均衡能力较弱。 OSPF 虽然能根据接口的速率、连接可靠性等信息,自动生成接口路由优先级,但在通往同一目的的不同优先级路由中, OSPF 只选择优先级较高的转发,不同优先级的路由,不能实现负载分担。只有相同优先级的,才能达到负载均衡的目的,不像 EIGRP 那样可以根据优先级不同,自动匹配流量。
8.2.3 EIGRP 路由协议
IGRP( Interior Gateway Routing Protocol,内部网关路由选择协议)是 Cisco 特有的基于距离矢量的路由协议,虽然同样应用于规模较小的局域网络,但与 RIP 路由协议有所不同, IGRP使用 IP 层的端口号 9 进行报文交换,而 RIP 则使用 520 端口进行报文交换。
1. IGRP 与 EIGRP 路由协议
IGRP 同样是一种动态距离向量路由协议,它由 Cisco 公司 20 世纪 80 年代中期设计推出,使用跳数来确定到达一个网络的最佳路径,使用延迟、带宽、可靠性和负载来确定最优路由。默认状态下, IGRP 每 90 s 发送一次路由更新广播,在 3 个更新周期(即 270 s)内,没有从路由中的第一个路由器接收到更新,则宣布路由器不可访问。在 7 个周期(即 630 s)后, Cisco IOS 软件会从路由表中清除该路由。
EIGRP 是结合了链路状态和距离矢量型路由选择协议的 Cisco 专用协议,采用弥散修正算法(DUAL)来实现快速收敛,可以不发送定期的路由更新信息以减少带宽的占用,支持 Appletalk、IP 等多种网络层协议。自从 EIGRP 路由协议诞生后, IGRP 路由协议便很少再被使用了。
2. EIGRP 路由协议优缺点
EIGRP 路由协议主要优点
EIGRP 路由协议的主要优点如下。
精确路由计算和多路由支持。 EIGRP 协议继承了 IGRP 协议最大的优点——矢量路由权。 EIGRP 协议在路由计算中要对网络带宽、网络时延、信道占用率、信道可信度等因素作全面的综合考虑,所以 EIGRP 的路由计算更为准确,更能反映网络的实际情况。同时 EIGRP 协议支持多路由,使路由器可以按照不同的路径进行负载分担。
较少带宽占用。使用 EIGRP 协议的对等路由器之间周期性地发送很小的 HELLO 报文,以此来保证从前发送报文的有效性。路由的发送使用增量发送方法,即每次只发送发生变化的路由。发送的路由更新报文采用可靠传输,如果没有收到确认信息则重新发送,直至确认。 EIGRP 还可以对发送的 EIGRP 报文进行控制,以减少 EIGRP 报文对接口带宽的占用率,从而避免连续大量发送路由报文而影响正常数据业务的事情发生。
快速收敛。无环路和路由的收敛速度是路由计算的重要指标。 EIGRP 协议由于使用了 DUAL 算法,使得 EIGRP 协议在路由计算中不可能有环路路由产生,同时路由计算的收敛时间也有很好的保证。因为 DUAL 算法使得 EIGRP 在路由计算时,只会对发生变化的路由进行重新计算;对一条路由,也只有此路由影响的路由器才会介入路由的重新计算。
MD5 认证。为确保路由获得的正确性,运行 EIGRP 协议进程的路由器之间可以配置MD5 认证,对不符合认证的报文丢弃不理,从而确保路由获得的安全。
路由聚合。 EIGRP 协议可以通过配置,对所有的 EIGRP 路由进行任意掩码长度的路由聚合,从而减少路由信息传输,节省带宽。
实现负载分担。去往同一目的的路由表项,可根据接口的速率、连接质量、可靠性等属性,自动生成路由优先级,报文发送时可根据这些信息自动匹配接口的流量,达到几个接口负载分担的目的。
配置简单。使用 EIGRP 协议组建网络,路由器配置非常简单,它没有复杂的区域设置,也无需针对不同网络接口类型实施不同的配置方法。使用 EIGRP 协议只需使用router eigrp 命令在路由器上启动 EIGRP 路由进程,然后再使用 network 命令使用网络范围内的接口即可。
EIGRP 路由协议主要缺点
EIGRP 路由协议的主要缺点如下。
没有区域概念。 EIGRP 没有区域( AREA)的概念,而 OSPF 在大规模网络的情况下,可以通过划分区域来规划和限制网络规模。所以 EIGRP 适用于网络规模相对较小的网络,这也是矢量距离路由算法( RIP 协议就是使用这种算法)的局限所在。
定时发送 HELLO 报文。运行 EIGRP 的路由器之间必须通过定时发送 HELLO 报文来维持邻居关系,这种邻居关系即使在拨号网络上,也需要定时发送 HELLO 报文,这样在按需拨号的网络上,无法定位这是有用的业务报文还是 EIGRP 发送的定时探询报文,从而可能误触发按需拨号网络发起连接,尤其在备份网络上,引起不必要的麻烦。
基于分布式的 DUAL 算法。 EIGRP 的无环路计算和收敛速度是基于分布式的 DUAL算法的,这种算法实际上是将不确定的路由信息( active route)散播(向邻居发 query报文),得到所有邻居的确认后( reply 报文)再收敛的过程,邻居在不确定该路由信息可靠性的情况下又会重复这种散播,因此某些情况下可能会出现该路由信息一直处于 active 状态(这种路由被称为 stuck in active route)。并且,如果在 active route 的这次 DUAL 计算过程中,出现到该路由的后继( successor)的 metric 发生变化的情况,就会进入多重计算,这些都会影响 DUAL 算法的收敛速度。
EIGRP 是私有协议。 Cisco 公司是该协议的发明者和唯一具备该协议解释和修改权的厂商。如果要支持 EIGRP 协议需向 Cisco 公司购买相应版权,而且 Cisco 公司修改该协议没有义务通知任何其他厂家和使用该协议的用户。
3. 常用动态路由协议比较
RIP 协议是典型的距离向量路由协议,算法简单,适合于网络拓扑结构相对简单、数据链路故障率低的小型网络。不过,在路径多时收敛速度慢,占用带宽资源多,因此, RIP 协议已不能适应大规模异构网络的互连。 OSPF 作为一种链路状态路由协议,虽然能够适应大规模的网络,收敛速度快,但太复杂,执行时会占用较多的路由器资源和网络带宽。 EIGRP 结合了RIP 和 OSPF 两种协议优点,把 RIP 等旧路由协议的简单性和可靠性与 OSPF 等新一代路由协议的优点组合起来,使得 EIGRP 很容易配置和使用。
三种动态路由的特性比较如表 8-2 所示。

