您的当前位置:首页正文

典型网络OSPF规划与部署

来源:华佗健康网
 企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

Combat-lab典型网络 OSPF规划与部署

版权归COMBAT-LAB所有,由COMBAT-LAB原创,禁止任何修改及商业用处!

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

典型网络OSPF规划与部署

前言: 本文主要介绍了典型网络中OSPF规划要点和部署OSPF的主要配置,对于OSPF协议原理和技术细节没有过多的阐述,适用于对于OSPF协议原理有一定了解的渠道工程师和网络维护人员。

1 OSPF协议简单介绍

OSPF 是由IETF 的IGP 工作组为IP 网络开发的路由协议。OSPF 作为一种内部网关协议(Interior Gateway Protocol,IGP),用于典型网络中的路由器之间发布路由信息。它是一种链路状态协议,区别于距离矢量协议(RIP),OSPF 具有支持大型网络、路由收敛快、占用网络资源少等优点,在目前应用的路由协议中占有相当重要的地位。

2 OSPF协议应用场合

在当前典型网络络中,OSPF的应用场合基本上有以下三种:

(1) 典型网络中核心和汇聚都是支持OSPFv2的三层交换机

(2) 典型网络核心或者汇聚层设备上建立了过多的静态路由,人工维护量过大

(3) 典型网络中的三层设备支持OSPFv2但是仍然在使用RIP协议的可以考虑做协议迁移。

在日常工作中常见的情况只有(1)和(2)两种。 3 OSPF协议基本规划

OSPF网络协议在所有内部网关协议中是比较复杂的一种,这种复杂性和OSPF的协议原理密切相关,那么在设计典型网络中的OSPF我们具体需要考虑哪几方面的问题呢?在本节中将会为您一一介绍。

3.1 保持OSPF数据库的稳定性: Router-id的选择

对于大型典型网络络OSPF设计和实施中我们需要考虑的第一点, 就是Router-id的选择。

这是因为OSPF作为一种链路状态路由协议其计算路由的依据是LSA(链路状态宣告报文)数据库,每个运行OSPF的路由器都会发送并泛洪LSA报文到整个网络,这样网络中每个运行OSPF的路由器都会收集到其他设备发送过来的LSA并且放入LSA数据库中,然后开始进行SPF(最短路径转发)运算,计算出一棵以自

1

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

己为根到其他网络的无环树。由此可以看出保持每个路由器LSA数据库的稳定性是保证OSPF网络稳定的前提。那么在LSA数据库中对于不同OSPF设备发送来的LSA是如何进行区分的呢,答案就是使用Router-id。如果一个路由器的Router-id发生变化,那么此路由器的会重新进行LSA泛洪,从而导致全网OSPF路由器都会更新其LSA数据库并且重新进行SPF计算,使得OSPF网络发生振荡。因此选择一个稳定的Router-id是OSPF网络设计的首要工作。

了解了Router-id的重要性后,我们来看看一个OSPF路由器是如何选择Router-id的, 其选举原则基本上可以归纳为以下两点:

(1) 首先选择具有最高IP地址的环回接口

(2) 如果没有环回接口的话则选择具有最高IP地址的激活物理接口。 在一个OSPF路由器选举出Router-id后,重启路由器或者重新配置OSPF进程都会导致Router-id的重新选举,如果OSPF路由器选择了一个激活物理接口的IP地址作为Router-id的话, 那么一旦其down掉,就有可能引起OSPF路由器的Router-id发生变更,因此选择物理接口是一种危险的做法。

在实际工程中, 的推荐做法是首先规划出一个私有网段用于OSPF的Router-id选择。例如: 192.168.1.0/24. 在启用OSPF进程前就在每个OSPF路由器上建立一个环回口, 使用一个32位掩码的私有地址作为其IP,这个32位的私有地址不要发布在OSPF网络中.

3.2 层次化的网络设计: OSPF区域的规划

OSPF是一个需要层次化设计的网络协议,在OSPF网络中使用了一个区域的概念,从层次化的角度来看区域被分为两种: 骨干区域和非骨干区域。骨干区域的编号为0,非骨干区域的编号从1到4294967295。处于骨干区域和非骨干区域边界的OSPF路由器被称为ABR(区域边界路由器),处于非骨干区域的路由器被称为区域内部路由器。由于OSPF的区域边界处于路由器上, 因此对于每个非骨干区域中都会存在至少一个ABR。

实际上OSPF区域的规划也就是把网络中的OSPF路由器做归类的过程。 在设计OSPF区域时,我们首先需要考虑第一点的是网络的规模,对于小型的典型网络络,例如只有几台S3550作为核心和汇聚的网络可以考虑只使用一个AREA 0来完成OSPF规划。这在本文中不予讨论。但是在大型典型网络的OSPF网络中,网络的层次化设计是必须的。

对于大型的典型网络络,一般在规划上都会遵循核心,汇聚,接入的分层原则,而OSPF骨干路由器的选择必然包含两种设备, 一种是位于核心位置的设备, 另一种是位于区域核心的汇聚设备,通常都是的高端产品如S6810E和S6806E. 非骨干区域的范围选择则是根据地理位置和设备性能而定,如果在单个非骨干区域中使用了较多的低端三层交换产品,由于其产品定位和性能的限制,应该尽量减少其路由条目数量,把区域规划得更小一些。

值得注意的是在施工中对于非骨干区域的AREA号定义,推荐使用 AREA 10 ,20 ,30…来递增,这样可以提供AREA号上的冗余,便于客户增加区域。

2

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

3.3 非骨干区域内部路由器的路由表项优化: 特殊区域的使用

前一节讲到在OSPF的非骨干区域中使用的一般都是较为低端的三层交换机,其产品定位使得其不可能承受过多的路由条目,为了精简其路由条目数量可以采用一些特殊区域模式来进行路由表项的优化。产品支持OSPF协议中定义的全部三种特殊区域模型:末梢区域(Stub Area),完全末梢区域(Totally Stub Area)和非完全末梢区域(NSSA Area)。

由于NSSA区域应用非常少,下面简单介绍一下前两种特殊区域的区别和应用场合: (1) 末梢区域 Stub Area

处于末梢区域的内部路由器将不会出现重分布进入OSPF网络的外部路由条目,并且拥有一条指向区域外部的默认路由。

(2) 完全末梢区域 Totally Stub Area

处于完全末梢区域的内部路由器只有区域内部明细路由和指向区域外部的一条默认路由。

在绝大部分的情况下,典型网络中的非骨干区域中都仅仅需要知道默认路由出口在哪里,因此推荐把非骨干区域统一设置成完全末梢区域,这样将极大的精简非骨干区域内部路由器的路由条目数量,并且减少区域内部OSPF交互的信息量。对于极少数存在特殊需求的网络,请根据实际情况灵活使用几种区域类型。

3.4 骨干区域路由器的路由表项优化:非骨干区域IP子网规划和路由汇总

对于OSPF的非骨干区域来说使用特殊区域能够精简其内部路由器的路由表, 那么对于OSPF的骨干区域的路由器来说又是如何优化其路由表的呢?答案就是对非骨干区域使用的IP网段作出合理规划以便于区域边界的汇总。

对于IP网段的合理规划在本书中第三章《典型网络IP地址规划设计》中已经有非常详细的说明,本章节就不再做过多的阐述。

推荐新建OSPF网络能够在前期就作出利于路由汇总的IP网络设计,对于扩建的网络尽量进行IP地址的重新规划,通过区域汇总能精简骨干区域路由器的路由表,减少骨干区域内OSPF交互的信息量,并且提高了路由表项的稳定性。

3.5 OSPF默认路由的引入和选路优化:重分布静态和cost调整

当前对于一个大型典型网络络来说,很大一部分的业务流量并不在典型网络内部,而是通往INTERNET出口,因此默认路由的引入也是典型网络络OSPF设计的一大要点。

对于OSPF网络的默认路由引入方式,推荐使用静态默认路由重分布到OSPF网络的方式进行。

在实际的大多数工程案例中,典型网络的出口往往不止一个,如何有效的将出口流量分担到多条链路上就成为了OSPF设计中的一个难点。虽然有很多种手段能够达到分担流量的目的,但是最简单也是最安全的方法是使用OSPF内建的选路机制。因为OSPF路由器对一条路由的优劣衡量是通过计算其cost值来实现的, cost值小的路由会被路由器优先放入路由表。通过调整OSPF接口的cost值可以使得路由器选择不同的链路出口来达到负载分担的目的。

不过在调整cost值之前还有一项必须要做的工作。因为OSPFv2出现的时间较早,没有考虑到带宽的飞速发展,因此缺省情况下,OSPF计算cost值使用的参考带宽为100M,也就是说缺省情况下,OSPF把100M

3

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

带宽以上的端口统统认为其cost是1。很明显,在网络骨干带宽迈向10T的今天已经显得非常的不合时宜。幸运的是设备提供了更改参考带宽的功能,使用auto-cost reference-bandwidth命令选择一个合适的参考带宽成为OSPF网络建设中必须要做的一项工作。

对于OSPF网络的选路优化, 推荐首先选择合适的参考带宽,然后通过调整OSPF接口cost值来实现。

3.6 OSPF网络基本安全:阻止发往用户的OSPF报文

对于一个大型典型网络络来说,安全性是必须要考虑到的问题,。

首先谈谈为什么需要避免终端用户窥探OSPF报文信息,这是因为如果用户能截获OSPF报文,那就意味着他已经知道如何加入此OSPF网络。此时要破坏这个OSPF网络已经是轻而易举的事, 接入一台路由器到OSPF网络中,并且使得该路由器的OSPF进程处于不稳定的状态中,会导致整个OSPF网络发生振荡甚至瘫痪。

为了保证OSPF网络的安全与稳定,推荐在实际工程中使用闭塞接口(Passive-interface)的方式来阻止通往用户侧的OSPF报文。

4 OSPF案例分析和部署

本章上一节对整个OSPF典型网络络设计的六个基本原则作出了详细说明,下面我们来看看在实际工程中我们是如何运用这六个基本原则对OSPF进行设计和部署的。

图 1 某典型网络络拓扑图

图1是某典型网络络的物理拓扑图,可以看到这是一个大型典型网络络,核心,汇聚,接入三层分明, 拥有多出口到Internet,典型网络内部网络存在双链路冗余。对于这种比较典型的网络结构,我们将如何进行OSPF的规划部署工作呢?下面将根据上一节提出的六条基本原则逐步进行此网络的设计和部署。

4

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

4.1 保持OSPF数据库的稳定性:规划和部署Router-id.

部署OSPF的首要工作就是规划和部署Router-id, 在Router-id仅仅是一个OSPF设备的标识,因此不需要占用公共IP,使用一个合适的私有IP地址段即可。在此案例中我们选用的Router-id地址段为10.0.0.0/24.

选取完Router-id地址段后, 接下来需要做的工作是在每个OSPF设备上建立相应的Loopback接口并设置相应的接口IP为10.0.0.X/32。具体配置以一号楼的S3550-24交换机为例:

命 令 switch(config)# interface loopback 0 switch(config-if)# ip add 10.0.0.5 255.255.255.255 含 义 创建环回接口 使用32位掩码的私有地址 注意:不要在OSPF进程中发布loopback0的接口地址,以减少无用的OSPF信息交互报文。图 2 Router-id规划后的OSPF拓扑图

4.2 层次化的网络设计: OSPF的区域规划

在分配完Router-id后,接下来的工作就是对于整个OSPF网络进行区域划分。对于这种层次分明的网络,OSPF的区域划分是非常容易的,直接把核心和区域汇聚交换机包含到区域0,再按照地理位置来区分非骨干区域。唯一需要注意的是非骨干区域AREA号的冗余性,在实际工作中经常被忽视。下图是做了AREA划分后的OSPF网络拓扑图:

5

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

图 3 AREA 划分后的OSPF拓扑图

具体的设备配置以一号楼的S6806E交换机为例:

命 令 S6806E(config)# router ospf S6806E(config-router)# network 10.0.1.0 0.0.0.3 area 0 S6806E (config-router)# network 10.0.1.4 0.0.0.3 area 10 含 义 建立OSPF进程 将上联S6810E的接口放到骨干区域 将下行到S3550的接口放到非骨干区域 10 从配置命令中可以清楚的看到OSPF区域是以路由器为边界的,例如此拓扑中一号楼的S6806E上联接口属于Area 0 , 下行接口属于 Area 10,也就是说,此路由器跨越了两个区域,是一个区域边界路由器。

注意:在单个区域包含过多的低端路由器或者三层交换机是一种不好的设计,如果出现这种情况应该考虑缩小区域范围。

4.3 非骨干区域内部路由器的路由表项优化: 特殊区域的使用

划分完OSPF网络区域, 就应该开始考虑特殊区域的运用了。本案例具有很强的代表性,象此类型的典型网络络,推荐非骨干区域一律采用完全末梢区域. (Totally Stub Area). 具体拓扑图如下:

6

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

图 4 采用特殊区域后的OSPF网络

具体设备配置以AREA 10 的S6806E和S3550为例

S3550 配置如下表: 命 令 S3550(config)#router ospf S3550(config-router)#Area 10 stub S6806E 配置如下表: 命 令 S6806E(config)#router ospf S6806E(config-router)#Area 10 stub no-summary 含 义 进入OSPF进程 将AREA 10设置成为stub区域 含 义 进入OSPF进程 将AREA 10设置成为stub区域, No-summary参数用在区域边界路由器上,设置此区域为完全末梢区域 4.4 骨干区域路由器的路由表项优化:非骨干区域IP子网规划和路由汇总

使用特殊区域后,非骨干区域内部路由器的路由表得到极大的精简并且减少了区域内部OSPF路由器之间的信息交互量。在骨干区域我们也需要作出适当的操作来达到同样的目的,这就要对非骨干区域使用的IP子网作出合理规划并在区域边界路由器进行汇总操作。

7

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

在下图中显示了区域10作出合理的IP规划后往区域0通告的路由汇总表项:

图 5 区域边界路由汇总

区域路由汇总会抑制明细路由条目的通告,这样区域10的ABR 就只会向区域0 内注入一条汇总路由 10.0.4.0/22,这样可以精简骨干路由器路由表项,减少AREA 0 的OSPF报文交互量和保证其路由表的稳定。

推荐在设计OSPF网络时就合理规划IP地址,在实施OSPF时进行区域汇总。

具体配置以Area 10 的S6806E为例

命 令 S6806E(config)#router ospf S6806E(config-router)#area 10 range 10.0.4.0 255.255.252.0 含 义 进入OSPF进程 对Area 10的路由进行汇总发布 注意: Area x range命令只能用在区域边界路由上,区域内部路由器上不要使用此条命令,否则会造成路由表项的错误。

4.5 OSPF默认路由的引入和选路优化:重分布静态和cost调整

对于这种多出口的网络拓扑,引入默认路由和多出口流量分担是必须要考虑的问题。

引入默认路由的方式有多种,推荐的做法是在边界路由器上建立静态默认路由,并且重分布到OSPF进

8

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

程中。

在本案例中两条默认路由被引入到OSPF网络后,对于汇聚层的S6806E设备来讲需要选择其中的一条链路投递IP报文,或者是在两条链路上实现负载均衡。

因为典型网络内部使用的是私有地址,出口处必须做NAT转换,因此使用两条链路负载均衡的方式是不可行的。只能通过调整cost值来使得S6806E把其中的一条上行链路作为主链路,另外一条作为备份链路。具体项目中如何分配流量,请根据实际的网络情况灵活配置。不过在做这项工作前,请记得首先更改OSPF网络的参考带宽。

图6 中区域10的OSPF路由器在进行了选路调整后,对上行链路,核心交换机和出口都作出了合理的流量分担。

图 6 OSPF选路优化

图中各区域S6806E的上联链路实线部分表示为主链路,虚线部分表示此链路为备用链路。

默认路由引入的具体配置如下:

命 令 Router(config)#ip route 0.0.0.0 0.0.0.0 202.103.131.1 9

含 义 在出口路由器上建立一条指向电信路由器的静态默认路由 企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com Router(configr)# router ospf Router(config-router)# redistribute static 选路优化具体配置以Area 10 的S6806E,S6810E-1,S6810E-2为例

AREA10 汇聚交换机S6806E的配置: 进入OSPF进程 将静态路由引入OSPF 命 令 S6806E(config)#router ospf S6806E(config-router)#auto-cost reference-bandwidth 1000S6806E(config)#interface T 1/1 S6806E(config-if)#ip ospf cost 10 S6806E(config)#interface T 1/2 S6806E(config-if)#ip ospf cost 20 S6810E-1的配置: 命 令 S6810E-1(config)#router ospf S6810E-1(config-router)#auto-cost reference-bandwidth 10S6810E-1(config)#interface T 1/1 S6810E-1(config-if)#ip ospf cost 10 S6810E-2的配置: 命 令 S6810E-2(config)#router ospf S6810E-2(config-router)#auto-cost reference-bandwidth 10S6810E-2(config)#interface T 1/1 S6810E-2(config-if)#ip ospf cost 20 含 义 进入 OSPF进程 将网络参考带宽改为10G 进入S6806E到S6810E-1的上联接口 调整此接口的cost值为10 进入S6806E到S6810E-2的上联接口 调整此接口的cost值为20 含 义 进入 OSPF进程 将网络参考带宽改为10G 进入区域10 S6806E的下行接口 调整此接口的cost值为10 含 义 进入 OSPF进程 将网络参考带宽改为10G 进入区域10 S6806E的下行接口 调整此接口的cost值为20 注意:在做OSPF选路调整时注意两点:一是更改OSPF参考带宽时必须保证全网设备一致,二是在链路两侧的设备上需要作出同样的cost调整,否则会形成不对称路由,引起网络故障。

4.6 OSPF网络的基本安全:阻止发往用户的OSPF报文

对于本案例来说,做完上面五步,实际上整个OSPF网络已经能够正常的运行,但是这个网络存在一个较大的安全漏洞。即用户侧能够接收到OSPF的hello报文,使用Sniffer工具可以很轻易的获得基本的网络信

10

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

息,并作出下一步的攻击行为。

为了实现OSPF网络的基本安全,在实际工程中推荐使用Passive接口的方式来阻止发往用户的OSPF报文。如图7所示:

图 7 阻止发往用户的OSPF报文

具体配置以Area 10中的一台S3550为例: 命 令 S3550(config)# router ospf S3550(config-router)#passive-interface vlan 10 含 义 进入OSPF进程 阻塞发往用户vlan的OSPF报文 注意:passive-interface命令会阻塞所有OSPF报文的发送,一般只会用于用户vlan的SVI接口上,千万不要阻塞OSPF路由器之间的链路,这将导致OSPF邻居无法建立。

11

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

4 OSPF可选配置

本章节介绍了不太常见的OSPF配置, 在实际工程中可以选择性使用。

4.1 OSPF接口参数调整

OSPF接口参数是OSPF协议的一个组成部分,将直接影响协议的运行。在绝大多数情况下,推荐不要去更改这些参数的默认值。只有在某些特定应用环境中,比如运营商的网络,可能会需要调整OSPF的接口参数。

常见的OSPF接口参数有下面几种: (1) OSPF网络类型

锐捷交换机支持两种OSPF网络类型: point-to-point(点到点)和 Broadcast(广播)。这两种OSPF网络类型的主要区别在于Broadcast需要选举DR(指定路由器)和BDR(备用指定路由器),point-to-point不需要。因此Broadcast类型的接口建立OSPF邻居关系花费的时间会更长一些。缺省情况下,锐捷交换机的所有OSPF接口都是Broadcast类型。

(2) OSPF 接口hello间隔和邻居死亡间隔 OSPF接口使用hello报文来发现邻居和维持邻居关系, 在邻居死亡间隔内没有收到对端回复的OSPF报文, 将会宣告邻居关系解除。缺省情况下,锐捷交换的hello间隔为10秒,邻居死亡间隔4倍于hello间隔,也就是40秒。

(3) OSPF接口优先级 OSPF接口优先级用于Broadcast链路上的DR和BDR选择,在某些情况下,是需要通过调整接口优先级来保证DR和BDR位置的。

这里简单介绍一下DR和BDR在OSPF的广播网络链路上的作用和选举机制,大家知道在点对点链路上OSPF的邻居只会有一个,也就是说只需要建立一个邻居关系即可。但是在广播链路上,由于可以同时存在多个OSPF路由器, 那么会需要维护大量的邻居关系。例如在一个拥有3台路由器的广播链路上需要建立3个邻居关系, 但是在一个拥有4台路由器的广播链路上就会需要建立6个邻居关系,对于一个拥有N台路由器的广播链路来说,其邻居关系的数量为 N×(N-1)/ 2。 维护过多的邻居关系会消耗大量的路由器资源和链路带宽。为了减少这种消耗, 就出现了DR和BDR的概念。 DR和BDR类似于广播链路的领导者和中转站,用于建立和维护普通路由器的邻居关系,这样就大大减少了邻居关系的维护量。

由此可以看出DR和BDR在广播链路中的作用,对于一个路由器数量较多的OSPF广播网络来说,保持DR和BDR的稳定性是非常重要的。同时由于DR和BDR维护着这个网络的邻居关系,因此其性能要求也会高于普通路由器, 一般DR和BDR都会选择相对高端的设备。此时如果使用自动选举的方式,可能最终选举出的DR和BDR不是我们希望获得的结果,因此使用端口优先级进行调整来进行人工指定是工程中必要的手段。

12

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

更改接口参数具体配置如下: (1)更改OSPF网络类型: 命 令 Switch(config)# interface vlan 10 Switch(config-if)#ip ospf network point-to-point (2)修改OSPF接口hello间隔和邻居死亡间隔 含 义 进入OSPF接口Vlan10 将此接口的OSPF网络类型更改为point-to-point 命 令 Switch(config)# interface vlan 10 Switch(config-if)#ip ospf hello-interval 5 Switch(config-if)#ip ospf dead-interval 30 含 义 进入OSPF接口Vlan10 将此接口的OSPF的hello间隔修改为5秒一次 将此接口的OSPF的邻居死亡间隔修改为30秒超时。 注意:修改接口网络类型和hello间隔都有可能造成OSPF邻居关系无法建立,请谨慎使用。如有特殊需求,请联系工程师。

(3) 通过调整接口优先级来控制DR和BDR的选举

图 8 控制DR和BDR的选举

如上图, 两台S6806E和三台S3550-24在一个广播型网络中,这种情况下如果不作调整的话, 性能较差的S3550有可能被选举成DR和BDR,但是我们希望S6806E-1成为DR,S6806E-2成为BDR。因此需要使用端口优先级来控制选举过程。具体配置如下:

13

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

S6806E-1的配置: 命 令 S6806E-1(config)# Int G1/1 S6806E-1 (config-if)# ip ospf priority 255 S6806E-2的配置: 命 令 S6806E-2(config)# Int G1/1 S6806E-2 (config-if)# ip ospf priority 254 含 义 进入6806E-1的以太口 设置此接口的OSPF优先级为255 ,保证其成为DR 含 义 进入6806E-2的以太口 设置此接口的OSPF优先级为254,保证其成为BDR 其它S3550使用缺省的Ip ospf priority值 (缺省为1).

通过以上设置, 6806E-1最终会成为DR,而6806E-2成为BDR,实现原有的设计。

14

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

4.2 OSPF的认证:区域认证和链路认证

在前面章节讲述OSPF基本安全时,介绍了一种针对OSPF的攻击方法, 那就是接入一台路由器进入OSPF典型网络络,并使其OSPF进程处于不稳定的状态当中,从而影响OSPF全网的稳定性。 那么如何防范未授权的OSPF路由器进入网络呢,答案就是开启OSPF的认证机制。

OSPFv2有两种认证机制:一种是区域认证, 另外一种是链路认证。设备对于这两种认证方式都支持,下面将以图9和图10中的两台S3550为例介绍这两种认证方式的区别和配置。

图 9 开启区域认证后

(1) 区域认证:

OSPF的区域认证一旦开启,那么在此路由器上属于此区域的所有OSPF接口都会进行认证操作,一旦邻居发送的OSPF报文无法通过认证,将导致邻居关系被解除。

图9中,在S3550-1和S3550-2上开启Area 0的认证,那么包含在Area 0中的两条链路的认证开关都被打开。

图 10 开启链路认证后

(2) 链路认证:

OSPF的链路认证开启后,只会影响当前开启认证的接口。从此OSPF接口接收到的所有OSPF报文都需要认证。

图10中,在S3550-1和S3550-2上开启了F0/1接口的认证,那么认证仅仅会发生在F0/1接口, 但是在F0/2接口上认证开关并没有打开,因此不需要认证。

(3) 认证报文方式:

在区域认证和链路认证配置过程中可以选择两种认证报文的发送方式,第一种是明文方

15

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

式,第二种是MD5的加密报文方式。

在实际工程中,推荐OSPF认证全部采用MD5加密报文的方式。 区域认证的具体配置以S3550-1为例: 命 令 S3550-1(config)#router ospf S3550-1(config-router)#area 0 authentication message-digest S3550-1(config-if)# interface fastEthernet 0/1 S3550-1(config-if)# ip ospf message-digest-key 1 md5 rg S3550-1(config-if)# interface fastEthernet 0/2 S3550-1(config-if)# ip ospf message-digest-key 1 md5 rg 含 义 进入OSPF进程 开启OSPF Area 0 的MD5认证 进入接口F0/1 在接口F0/1上设置认证密码rg 进入接口F0/2 在接口F0/2上设置认证密码rg 注意:区域认证一旦开启,就要在所有包含到此区域的接口上设置认证密码。

链路认证的具体配置仍然以S3550-1为例: 命 令 S3550-1(config-if)# interface fastEthernet 0/1 S3550-1(config-if)# ip ospf authentication message-digest S3550-1(config-if)# ip ospf message-digest-key 1 md5 rg 含 义 进入接口F0/1 在接口F0/1上开启链路认证 在接口F0/1上设置认证密码rg

16

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

5 OSPF的验证与排错

在工程中配置完一个OSPF网络之后,需要对OSPF的运行状态和参数进行验证和排错,设备为大家提供了多种工具来达到这一目标,本章节将为大家提供OSPF验证和排错的基本流程。

5.1 OSPF常用的验证方法: 灵活使用三条show命令

(1) Show ip ospf neighbor:

这是最常用也是最容易被忽视的一条命令。

在实际工作中,OSPF出现问题时应该使用到的第一条命令就是它。因为万变不离其宗,不管OSPF出什么问题,都应该从最基础的邻居关系开始考虑起。

这条命令中为我们验证和排错提供的最有用的三个信息是: Neighbor ID (邻居的Router-id) State (当前邻居关系的状态,共有五种,正常状态应该是full,但是在广播型链路上,DROTHER

路由器之间的状态会停留在Two-way。)

Interface (通往邻居的接口信息)

(2) Show ip ospf interface

此命令用于检查加入OSPF进程的接口配置,在进行OSPF邻居关系排错时非常有用 下面将对输出信息的重点部分进行讲解:

Switch#show ip ospf interface

FastEthernet 0/1 State : Up 接口状态: 是否UP Internet address : 1.1.1.1/24 Area : 0.0.0.0 Router ID : 5.5.5.5

Network Type : PointToPoint 网络类型: 两种 broadcast和PointToPoint Cost : 1 cost : 此链路在OSPF中的cost值 Transmit Delay : 1

State : PointToPoint

Priority : 1 优先级: 接口竞选DR使用的优先级 Designated Router(ID) : No DR on this network 当前网络的DR是谁 DR's Interface address : none

Backup designated router(ID): No BDR on this network 当前网络的BDR是谁 BDR's Interface address : none

Authentication : none 是否打开链路认证 Hello : 5 接口的hello间隔 Dead : 20 接口的邻居死亡间隔 Retransmit : 5

Hello Due in : 00:00:01

17

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

Passive status : Disabled 接口是否被passive Database-filter all out : Disabled

(3) Show ip ospf

这条命令用于查看本路由器的OSPF进程信息和配置参数, 对于OSPF的验证和排错非常有意义,其提供的信息非常丰富,下面将选择其中较为重要的部分做讲解:

Switch# show ip ospf

Router ID : 5.5.5.5 路由器的Router-id

Router Type : ABR 路由器的类型:ABR,ASBR或normal Support Tos : Single Tos(Tos0) Number of external LSA : 0 External LSA Checksum Sum : 0x0 Number of areas in this router: 2

Number of normal area : 2 Number of stub area : 0 Number of nssa area : 0 Minimum LSA Interval : 5 Minimum LSA Arrival : 1 SPF Delay : 5 SPF-holdtime : 10 LsaGroupPacing : 240

Administrative distance : 110 当前OSPF协议的管理距离 Inter-area Distance : 110 Intra-area Distance : 110 External Distance : 110 RFC1583Compatibility flag : Enabled Default-information originate : Disabled

Neighbor Changes Log : Enabled Auto-Cost Status : Enabled Auto-Cost reference-bandwidth : 100 Mbps Redistribute Default Metric : 20

Area information: Area : 0.0.0.0

Area type BackBone Area Number of interfaces in this area : 1

Area authentication : none 是否打开区域认证

SPF algorithm executed times Number of LSA : 3

Checksum Sum : 0x20D16 Number of Area Border Routers : 0 Number of AS Border Routers : 0

18

: 4

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

Area : 0.0.0.10

Area type : normal Area 区域类型:共三种normal,stub和nssa Number of interfaces in this area : 1

Area authentication : none SPF algorithm executed times : 0

Number of LSA : 1 Checksum Sum : 0xD08 Number of Area Border Routers : 0 Number of AS Border Routers

Area Range information: Area Range --------------- ------------------- -------------

0.0.0.10 5.0.0.0/8

: 0 Advertising advertise 19

区域间的汇总信息

企业级IT项目实战第一品牌——专注 所以专业

www.combat-lab.com

5.2 OSPF 常见错误与排查方法

OSPF是一种配置上比较复杂的协议, 所以在实际操作中非常容易出错, 本章节介绍了OSPF的一些常见错误和排查方法:

(1) OSPF 邻居关系无法建立

这是实际工程中最为常见的错误,对于这种错误需要到以下命令进行排查: 首先需要使用的命令是Show ip ospf interface,这条命令输出信息中能够影响到OSPF邻居关系建立的有几个因素:

1. 接口是否UP,如果down掉的话请做检查。

2. 链路两侧OSPF路由器的区域是否一致,如果不一致请将区域改为一致 3. 链路两侧OSPF路由器的接口类型是否一致,如果不一致请改为一致

4. 链路两侧OSPF路由器的接口的hello间隔是否一致,如果不一致请改为一致。

5. 链路两侧OSPF路由器的接口是否被passive掉,如果被passive掉的话请去掉该配置。 6. 链路两侧OSPF路由器的接口IP掩码是否一致。

如果以上配置全部正确的话,请使用show ip ospf命令进行下一步检查:

1. 链路两侧OSPF路由器的router-id是否相同,如果相同请改变其中一台路由器的router-id 2. 链路两侧OSPF路由器接口所在区域的类型是否一致,如果不一致的话请改成一致。

3. 链路两侧OSPF路由器接口是否都开启认证,如果都开启了认证请检查配置的认证密码是否一致。

(2) OSPF 选路错误

这种错误在大型典型网络中经常出现,在检查路由表时发现OSPF路由和预想的不一致。这种错误的排查需要检查沿途路由器的接口配置和OSPF路由器的参数配置。

最常见的情况是以下两种:

1. 沿途路由器的参考带宽选择不一致,需要更改为一致。

2. 路由经过的某条链路两侧路由器的接口cost更改不一致,需要重新配置。 (3) OSPF非骨干区域设为完全存根区域后仍然能够看到区域间的汇总明细。 区域边界路由器上在设置AREA stub时没有使用no-summary参数。

(4) OSPF非骨干区域中某些低端交换机或路由器出现不正常的转发现象

可能是此区域内的路由条目过多,超出某些低端交换机和路由器的性能限制。可以考虑实施特殊区域来精简路由表和划分更小的区域。

20

因篇幅问题不能全部显示,请点此查看更多更全内容