Cisco OSPF 命令与配置手册

978-7-115-27955-2
作者: 【美】William R. Parkhurst
译者: 孙余强
编辑: 傅道坤王旭丹

图书目录:

详情

这是一本简洁而完整的OSPF命令手册,覆盖了OSPF中的很多主题,包括接口配置、OSPF区域配置、路由过滤、OSPF进程配置、路由开销、默认路由产生、路由重分发、管理距离、OSPF邻居关系、路由汇聚,以及show、debug和clear命令等。

图书摘要

Cisco OSPF命令与配置手册

CCIEProfessional Development

CiscoOSPF Command and Configuration Handbook

〔美〕 William R. Parkhurst, Ph.D.,CCIE #2969 著

孙余强 译

人民邮电出版社

北京

本书是一本简洁而又完整的OSPF命令手册。书中提供了许多配置示例,在只用几台路由器的情况下,演示了每条OSPF命令的正确用法。读者可借此学习每条OSPF命令,而无需搭建庞大而又昂贵的实验室网络环境。本书涵盖了OSPF配置的诸多主题,包括:接口配置、OSPF区域配置、路由过滤、OSPF进程配置、路由开销、默认路由的生成、路由重分发、管理距离、OSPF邻接关系、路由汇总,以及show、debug和clear命令等。

本书层次分明、阐述清晰、分析透彻、理论与实践并重,不仅适合准备CCNA、CCNP 或 CCIE 认证考试的人员阅读,也是从事计算机网络设计、管理和运维工作的工程技术人员必不可少的参考资料。

 

关于作者

William R. Parkhurst, Ph.D., CCIE #2969,Cisco 公司 CCIE 团队的项目经理,负责 CCIE Communications&Services 考试。加入 CCIE 团队之前,William 在 Sprint 公司任系统咨询工程师一职。William第一次接触Cisco时,他还在Wichita州立大学(WSU)担任电气与计算机工程专业的教授。当时,WSU 与 Cisco 公司合作,筹建了第一个CCIE备考实验室。

关于技术审稿人

Mike Bass,在计算机网络领域拥有 22 年工作经验,最近 17 年都效力于 Sprint。Mike 的网络工作经验始于小型机和大型机网络,如今,又积累了规划和设计三网合一(支持声音、图像和数据业务)的分布式及对等到对等(peer-to-peer)网络系统方面的工作经验。Mike 当前的主要工作是负责把新型网络技术引入 Sprint,保证其内部员工的网络通畅。

Brian Morgan,CCIE #4865, CCSI,Allegiance 电信公司数据网络工程部门的主管。在网络领域拥有12年的工作经验。加盟Allegiance公司之前,Brian做过网络技术讲师和培训师,教授ICND、BSCN、BSCI、CATM、CVOICE以及BCRAN等课程。他同时也是 Cisco Press 出版的《Remote Access Exam Certification Guide》一书的合作者,以及其他多本 Cisco Press 图书的技术编辑。

Bill Wagner,在Mentor Technologies公司任职,是一名CCSI(Cisco认证讲师),拥有 23 年计算机编程和数据通信工作经验。他曾效力过多家公司,比如 Independent Computer Consultants、Numerax、Mc Graw-Hill/Numerax和Standard and Poor等。他从Chubb Institute、Protocol Interface Inc、Geotrain 以及 Mentor Technologies公司开始了自己的授课经历。目前,Bill 在 Skyline Computers 公司任教。

Robert L. White,维护 Sprint 长传部门内部数据网络的网络工程师。路由协议设计、外部网关连通性设计,以及多协议大型网络中的 IP地址管理设计都是 Robert 的强项。

献词

献给我的家人和朋友。细细一想,除你们外,还会有其他人吗?

致谢

我要对参与本书的每一个人所付出的不懈努力表示感谢。我要感谢本书的技术审稿人 Mike Bass、Brian Morgan、Bill Wagner 和 Robert White,你们不仅指出了原稿中的若干错误,而且还在内容和易读性方面提出了很多改进意见。你们的努力当然值得感谢。我还要感谢 Cisco Press 的 John Kane 和 Chris Cleveland,没有你们的指导和帮助,本书不可能完成。最后,我要感谢爱妻Debbie,感谢你的鼓励和支持。在我写作期间,有多少个日落清晨让你独守空闺,对此,我深表歉意。Debbie还是本书的编外校对,发现了许多拼写、语法以及常识性方面的错误。编辑认为我的文笔还过得去, Debbie应记上一功。

我对网络技术领域的方方面面均有涉猎,从事过教育、网络技术咨询、服务提供商网络技术支持,以及网络技术培训/认证等诸多行业。这么多年来,我形成了这样一个观点:差的技术文档不但是阻碍人们掌握网络技术的根本原因,而且还是唯一原因。技术文档的数量、易读性和完整性都会成为读者理解网络技术的“绊脚石”。网络技术文档浩如烟海,涉及OSPF的文档则更是如此,读者很容易会在其中迷失方向。对于初涉OSPF的新手而言,应从哪儿入手呢?各种优秀的书籍、RFC、白皮书以及命令参考手册可谓汗牛充栋,但新手却很难弄清阅读的先后次序。技术文档的易读性则完全视个人的知识储备而异。对经验丰富的OSPF网络设计专家而言,所需的技术文档应条理清晰、简单明了。而对备考CCIE认证考试的考生来说,此类文档便很可能会令其一头雾水了。简洁的文档,有时也意味着其内容不可能面面俱到。纸上谈兵可能每个读者都会,但一到实际应用,便会茫然不知所措。向读者奉献一本清晰、简洁、完备的OSPF命令手册,是我的写作初衷。不过,本书却不必逐页阅读,读者可视需要随意翻阅。要是读者正准备试水CCIE笔试和LAB考试,则可将本书视为正确运用每一条 OSPF命令的实验指导书。若读者从事网络设计工作,也可将本书当做OSPF命令参考手册来查。为满足各类读者的需求,本书的组织结构相对简单。对每一条OSPF命令的讲解,都由以下几部分组成:

命令的结构和语法;

命令的语法描述,对所有命令参数的解释;

命令的用途,及运用场合;

最早支持该命令的IOS版本;

列举一个或多个配置示例,来演示命令的正确用法;

验证命令是否生效的步骤和流程;

在命令不生效的情况下,给出用来排除故障的其他命令。

书中用来展示如何正确运用OSPF命令的示例场景,只需最少数量的路由器即可实现。这可让读者在不必下血本搭建网络实验室的情况下,也能轻松掌握每一条OSPF 命令的用法。本书的配置示例例举了每条OSPF 命令的用途和用法,而且还清晰易懂。为了加深读者对特定OSPF命令行为的理解,我还在某些配置示例中“人为制造”了常见的故障情形。

我希望本手册能够帮助读者金榜题名(考取CCIE),并在实战中正确配置OSPF。

进阶阅读

本书假定读者熟悉OSPF理论知识及相关OSPF术语。读者可用以下读物来弥补自己OSPF理论知识的不足。

《OSPF网络设计解决方案》(OSPF Network Design Solutions),Thomas M. Thomas II,Cisco Press 出版。

《TCP/IP路由技术,第1卷》(Routing TCP/IP Volume 1), Jeff Doyle, Cisco Press出版。

书中使用的图标

命令语法约定

本书命令语法遵循的惯例与IOS命令手册使用的惯例相同。命令手册对这些惯例的描述如下。

粗体字表示照原样输入的命令和关键字,在实际的设置和输出(非常规命令语法)中,粗体字表示命令由用户手动输入(如show命令)。

斜体字表示用户应提供的具体值参数。

竖线(|)用于分隔可选的、互斥的选项。

方括号([])表示任选项。

花括号({})表示必选项。

方括号中的花括号([{}])表示必须在任选项中选择一个。

语法描述:

process-id——OSPF进程ID。取值范围为1~65535。

用途:用在路由器上激活一或多个OSPF进程。进程ID只对路由器本机有意义。本命令的no形式用来删除OSPF进程。

始见于IOS软件版本:10.0

路由器上必须至少有一个设有IP地址的有效(active)接口,方能激活的了 OSPF 进程。OSPF 会取设在有效接口上的最高 IP 地址作为 OSPF Router-ID。若在路由器上创建了多个loopback接口,那么其中的最高 loopback接口 IP地址即便低于任何一个有效物理接口 IP 地址,路由器也会将前者定为OSPF RouterID。强烈建议在 OSPF 路由器上使用 loopback 接口 IP 地址作为 OSPF Router ID,理由是 loopback 接口绝不会失效。(除非路由器本身故障),(否则)取自loopback接口IP地址的 OSPF Router-ID 总能屹立不倒。图 1-1 的网络揭示了OSPF router ID(RID)取自设在有效物理接口上的最高 IP 地址。要是路由器上还创建有loopback接口,那么loopback接口IP 地址将会成为 OSPF RID。

首先,在路由器B上删除所有物理接口的IP地址和loopback接口。然后,试着配置路由器B的OSPF进程。

图1-1 选择OSPF router ID

由输出可知,在路由器B上,无法激活OSPF进程,其原因是OSPF进程与RID“生死与共”,而路由器B的接口未设任何IP地址。在路由器A、B上各为一个串行接口配置一个IP地址,然后重配路由器B的OSPF进程。

路由器 B 的 OSPF 进程成功激活。执行 show ip ospf 命令,检查路由器 B 的 OSPF RID。

Serial0 是路由器 B 上的唯一有效接口,该接口 IP 地址被用作 OSPF router ID。在路由器 B 上,创建一个 loopback 接口,然后再次检查其 OSPF RID。

OSPF RID 并未改变。这表现出了 OSPF 特有的稳定性。只要 OSPF 进程不重启,或“贡献”RID的接口不失效,那么OSPF router ID将雷打不动。我shutdown/no shutdown路由器 B 的 Serial0 接口,看看 OSPF RID 会不会发生改变。

验证

验证路由器 B 的 OSPF RID 是否为其 loopback 接口的 IP 地址。

故障排除

配置OSPF之前,请先行检查是否已在路由器上创建了loopback接口,并检查是否为其分配了 IP 地址。并不是非要用 loopback 接口 IP 地址作为 OSPF RID,但如此行事确可以增加OSPF网络的稳定性。

语法描述:

process-id—OSPF进程ID。取值范围为1~65535。

name—VPN路由转发表(VRF)实例名称。路由器会将通过OSPF 进程学得的路由注入VRF,而非全局路由表。

用途:在多协议标签交换虚拟专用网络(MPLS/VPN)环境中,可利用本 OSPF router命令,在服务提供商和VPN客户之间传送客户的VPN路由。对于MPLS/VPN网络环境,会部署三种类型的路由器,如图1-2所示。

提供商(P)路由器。

用户边缘(CE)路由器。

提供商边缘(PE)路由器。

图1-2 总的MPLS/VPN体系结构

P路由器部署于服务提供商网络内部,不直连CE路由器。PE 路由器是用户和服务提供商之间的接口路由器。P和PE 路由器之间会运行标记/标签交换协议和内部网关协议(比如,OSPF等),以交换服务提供商内部的路由信息。此类路由信息将被安装进P和PE路由器的全局IP路由表。PE路由器还包含多张IP 路由表,分别与每个VPN客户相关联。此类路由表被称为VRF实例(instance)。带vrf选项配置OSPF路由进程时,PE路由器会将学自CE路由器的路由置入相应VRF。此类VPN路由会通过多协议IBGP在PE路由器之间交换。对MPLS技术及MPLS/VPN技术的详细讨论,请见 Cisco Press 出版的《MPLS and VPN Architectures》一书(作者为 Ivan Pepelnjak和 Jim Guichard,其中文版已由人民邮电出版社出版)。

始见于IOS软件版本:12.0

注意:本命令需与以下附加命令配搭使用:

对于物理接口:ip ospf authentication-key password(详见19.2节)

对于在区域 0 内启用 OSPF 认证功能的虚链路:area transit-areavirtual- link router-id authentication-key password(见2.17节)

语法描述:

area-id——OSPF区域ID。既可以输入十进制数,也可以输入 IP 地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。本命令的作用是,在指定OSPF区域内启动简单密码认证。默认情况下,OSPF认证功能为禁用状态(不认证)。

transit-area——OSPF区域ID,即虚链路所跨区域ID。

password——明文密码,用于特定路由器接口或虚链路所属区域内的OSPF认证。密码由数字和字符组成,长度为1~8位。

router-id——虚链路对端路由器的 OSPF Router-ID。

用途:在 OSPF 区域内启用简单(明文)密码认证。配置OSPF简单认证不但需要在router配置模式下激活OSPF区域内认证,而且还得在参与OSPF进程的接口或虚链路上配置认证密码。本router配置模式命令的作用是,在OSPF区域内启用认证,但若 Cisco 路由器的 IOS 版本不高于 11.X,则须在隶属于该OSPF 区域的每一个路由器接口上配置 ip ospf authentication-key命令。对于IOS版本为12.X的Cisco路由器,接口所用的认证方法既可以不同于OSPF区域,隶属于同一区域的不同接口也无需使用同一种认证方法。执行接口配置模式命令 ip ospf authentication null(详见19.1节),可停用所选接口的认证功能。区域内各路由器接口上所设密码无需相同,但在公共链路两端的路由器接口上需设有相同的密码。由于OSPF认证功能基于区域来启用(版本号低于 12.0 的 Cisco IOS),因此可在有些区域内激活认证功能,但在另外一些区域内不开启认证功能。由于明文密码未经加密,因此OSPF数据包很可能会遭人半道截取,窥得密码。

始见于 Cisco IOS 软件版本:10.0

按图2-1所示的网络拓扑,配置各台OSPF路由器,先不在区域0内启用OSPF认证。

图2-1 用来演示OSPF 认证配置,及排除OSPF 认证故障的网络

(待续)

在路由器 A、B、C 上执行 show ip ospf neighbor 命令,验证路由器间 OSPF 邻接关系建立情况。

验证OSPF认证功能启用与否。

(待续)

修改路由器A、B、C的配置,在OSPF区域0内启用简单密码认证功能。本例所用的明文密码为“cisco”。

(待续)

验证

验证OSPF邻接关系是否仍然能够得以建立。

验证是否已在区域0内激活了简单密码认证功能。

(待续)

只要路由器的配置可见,OSPF认证密码便会暴露无疑。为安全起见,可执行全局配置模式命令 service password-encryption,加密配置中的密码(包括 OSPF 认证密码):

执行show running-config 命令,由输出可知,OSPF认证密码已经加密。虽然OSPF认证密码在路由器配置中经过了加密,但OSPF仍会用明文方式传送密码。

故障排除

步骤1: 在 OSPF 区域内激活认证功能之前,请先执行 show ip ospf neighbor 命令,验证所有OSPF路由器间的OSPF邻接关系。

步骤2:在每一台 OSPF 路由器上,验证隶属于相关区域(待启用认证功能的 OSPF区域)的接口是否设有 ip ospf authentication-key 命令。

步骤3:验证隶属于相关 OSPF 区域(待启用认证功能的 OSPF 区域)的各路由器接口是否设有正确的密码。

步骤4:在配妥认证功能之后,若任一 OSPF 邻居间邻接关系断开,则可在路由器上开启 debug 功能,以定位问题何在。试举一例,我将路由器 A serial0/0 接口上的OSPF认证密码更改为bosco,如下所示:

在路由器A上,检查OSPF邻接关系:

由输出可知,路由器A、C间的OSPF邻接关系已经断开。在路由器A上,开启debug,以定位故障。

配置OSPF认证密码时,请务必小心谨慎。由于空格也算有效字符,因此若不小心将密码输入为“cisco<space>”,不但会导致密码不匹配,即便查看路由器配置也发现不了问题所在。

将路由器 A serial0/0 接口上的密码改回“cisco”,并删除 router OSPF 配置模式下的命令 area 0 authentication

路由器A与路由器B、C的OSPF邻接关系应已中断。

现在,到路由器B或C上,开启debug,观察OSPF数据包,以求定位故障。

由debug命令的输出可知,路由器B和C使用OSPF类型1认证(简单密码认证),路由器A则用OSPF类型0认证(不认证)。

注意:本命令需与以下附加命令配搭使用。

对于物理接口:ip ospf message-digest-key key-id md5 password(详见 19.9 节)

对于在area 0内启用OSPF认证功能的虚链路:area transit-area virtual–link router-idmessage-digest- key key-id md5 password(详见 2.20 节)

语法描述:

area-id——OSPF区域ID。既可以输入十进制数,也可以输入IP地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。执行本命令,将会在指定OSPF区域内启动简单密码认证。默认情况下,OSPF认证功能为禁用状态。

key-id——用来加密密码的密钥。其强度为 1~255 位。链路两端必须使用相同的密钥和密码。

password——密码。用于所选接口或虚链路所处区域内的OSPF认证。密码由数字和字符组成,长度为1~8位。

transit-area——OSPF区域ID,即虚链路所跨区域ID。

router-id——虚链路对端路由器的 OSPF RID。

用途:

在 OSPF 区域内,启用 MD5 密码认证功能。要想启用 OSPF MD5 认证功能,既需执行本router配置模式命令,激活OSPF区域内的认证功能,亦需在接口或虚链路上配置OSPF认证密码和密钥。本router配置模式命令的作用是,在OSPF区域内启用认证,但若Cisco路由器的IOS版本不高于11.X,则须在隶属于该OSPF区域的每一个路由器接口上配置 ip ospf authentication-key 命令。对于 IOS 版本为 12.X 的 Cisco路由器,接口所用的认证方法既可以不同于OSPF区域,隶属于同一区域的不同接口也无需使用同一种认证方法。执行接口配置模式命令 ip ospf authentication null(详见19.1节),可停用所选接口的认证功能。区域内各路由器接口上所设密码无需相同,但在公共链路两端的路由器接口上,则需设有相同的密码。由于OSPF认证功能基于区域来启用(11.X 或版本更老的 Cisco IOS),因此可在某些区域内激活认证功能,但在另一些区域内不启用认证功能。在认证密码经过加密的情况下,即便能够半道截取OSPF数据包,要想破解密码也不太容易。

始见于 Cisco IOS 软件版本:11.0

网络拓扑请见图2-2。配置隶属于区域0的各台路由器,先不启用OSPF认证功能。

图2-2 用来演示OSPF MD5认证配置及排除MD5认证故障的网络

(待续)

在路由器 A、B、C 上执行 show ip ospf neighbor 命令,验证路由器间 OSPF 邻接关系的建立情况。

验证OSPF认证功能启用与否。

(待续)

修改路由器 A、B、C 的配置,在区域 0 内启用 OSPF MD5 密码认证功能。本例所用的密码为ciscoab、ciacobc和ciscoac,这是为了演示使用多个密码在同一个OSPF区域内执行认证。

(待续)

验证

验证OSPF邻接关系是否仍能得以建立。

验证OSPF区域0内的MD5认证功能启用与否。

(待续)

只要路由器配置可见,OSPF认证密码便暴露无疑。为安全起见,可执行全局配置模式命令 service password-encryption,加密配置中的密码(包括 OSPF 认证密码):

执行 show running-config 命令,由输出可知,OSPF 认证密码已经过加密。

出于安全性考虑,需定期更改密钥和密码。使用“明码”认证,更改密码会导致OSPF 邻接关系中断,邻接关系会从更改链路一端路由器接口的认证密码时中断,直至更改完对端链路路由器接口的认证密码。使用 MD5 认证,则可在链路上保留旧密钥、旧密码的同时,配置新密钥、新密码。在链路对端配妥新密码和新密钥之前,会继续沿用旧密码、旧密钥。现更改路由器A、B间互连链路上的OSPF认证密钥和密码,在路由器 A Serial0/1 接口上添加一个新密码和一个新密钥,并观察只在链路的一端配置新密钥、新密码的情况。

验证路由器A、B间OSPF邻接关系是否仍然有效。

可在路由器 A 上,观察其接口属性,或开启 OSPF debug,来确认其同时用两个密钥与路由器B(在OSPF层面上)进行通信。

由以上输出可知,路由器同时使用两个密钥执行OSPF认证。在路由器B上配置新密钥、新密码,但仍保留旧密钥、旧密码。

由以下输出可知,路由器A、B之间现使用Youngest key(新配的密钥)执行认证。

现在,该执行 no 形式的接口模式配置命令 ip ospf message-digest-key key-id md5 password,删除路由器A、B上的旧密钥和旧密码了。

故障排除

步骤1: 在 OSPF 区域内激活认证功能之前,请先执行 show ip ospf neighbor 命令,验证所有OSPF路由器间的OSPF邻接关系。

步骤2:在各台 OSPF 路由器上,验证隶属于相关区域(待启用认证功能的 OSPF 区域)的接口是否激活了MD5认证功能。

步骤3:验证隶属于相关 OSPF 区域(待启用认证功能的 OSPF 区域)的各路由器接口是否设有正确的密码。

步骤4: 在配置了 OSPF md5 认证功能之后,若出现 OSPF 邻接关系中断的情况,则可在路由器上开启 OSPF debug 以定位问题。试举一例,我将路由器 B Serial 0/0 接口的 OSPF key-ID 改成了 5。在应用新密钥之前,执行 no 形式的 ip ospf message-digest-key命令,删掉原来的密钥和密码。

在路由器A上查看OSPF邻居状态:

由输出可知,路由器A和C间的OSPF邻接关系中断。在路由器A上开启OSPF debug,并观察其输出,以求定位问题。

配置OSPF认证密码时,请务必小心谨慎。由于空格也算有效字符,因此若不小心将密码输入为“cisco<space>”,不但会导致密码不匹配,而且检查路由器配置也发现不了问题所在,特别是当配置中的密码被加密时。

在路由器A上,删除router OSPF配置命令area 0 authentication message-digest。将设在路由器 B Serial0/0 接口上的 OSPF 认证密钥恢复原样。

路由器A与路由器B、C间的OSPF邻接关系应已断开。

在路由器B或C上开启OSPF debug,据其输出(观察相关OSPF 数据包的收发),定位问题。

由以上debug输出可知,路由器B和C启用的是类型2的OSPF认证(MD5认证),而路由器A则使用类型0的OSPF认证(不认证)。

注意:这个命令需与以下命令配搭使用:

area area-id nssa(详见 2.4 节)

area area-id stub(详见2.11节)

语法描述:

area-id——OSPF区域ID。既可以输入十进制数,也可以输入IP地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。

cost——分配给通告进 OSPF stub 区域的外部默认路由的默认 OSPF 开销值,取值范围为 0~16 777 215,默认值为 1。区域边界路由器(ABR)向OSPF stub 区域通告外部默认路由通告时,会将该值设为外部默认路由的开销值。

用途:

外部路由不能被通告进 stub 区域或 totally stubby 区域。外部路由是指被重分发进OSPF路由进程域的路由。OSPF外部路由和OSPF区域间路由则不能被通告进totally stubby区域。将普通OSPF区域配置为stub区域后,ABR会生成一条默认路由,并将其通告进该 stub 区域,以代替外部路由。将 OSPF 区域配置为 totally stubby 区域后, ABR所生成的默认路由将会取代OSPF外部和区域间路由。本命令的用途是设置通告进 stub、totally stubby 或 NSSA 区域内的默认路由的开销值。若不配这条命令,默认路由的开销值为 1。配置 OSPF stub 区域时,在拥有归属 stub 区域接口的所有路由器上,所配置的stub区域类型必须相同。

始见于 Cisco IOS 软件版本:10.0

为了比较传播进普通OSPF区域和stub区域的路由的差别,先不在图2-3所示的网络中配置 OSPF stub 区域。在路由器 C 上,将 loopback 接口重分发进 OSPF 路由,让路由器A和B先学到OSPF外部路由。

图2-3 OSPF外部路由不会被通告进stub区域。OSPF外部路由和区域间路由不会被通告进totally stubby区域

(待续)

检查路由器A的IP路由表,观察传播进区域1的所有OSPF路由。

更改路由器A、B的配置,将区域1变为stub区域。

再次检查路由器A的IP路由表。

由路由器A的路由表可知,其默认路由的开销值为65,即RTA和ABR(RTB)间互连链路的OSPF开销值64,加上默认路由开销值1。在路由器B上执行show ip ospf命令,可知(由其生成的)默认路由的开销值为1。

在路由器B上,更改由其生成的默认路由的开销值。

验证

在路由器 A 上,执行 show ip route 或 show ip route 0.0.0.0 命令,验证其默认路由的新开销值。也可在路由器 B,执行 show ip ospf 命令,验证(由其生成的)默认路由的开销值。

(待续)

由以上输出可知,路由器A学到的默认路由器的新开销值为64+15(79)。

故障排除

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2: 在通往stub区域的ABR,以及隶属于stub区域的所有路由器上,验证是否已执行了router配置命令area x stub,将相关区域设置为了stub区域。

步骤3: 在stub区域内的ABR上,验证是否配置了default-cost命令。default-cost命令只有设在stub区域内的ABR上,才会生效。

语法描述:

area-id——OSPF区域ID。既可以输入十进制数,也可以输入IP地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。area-id 的取值可以为 0,但不能将区域 0 定义为 NSSA(not-so-stubby area)区域。

用途:

通向 stub 或 totally stubby 区域的 ABR 会阻止 OSPF 外部(type5)路由通告进此类区域。这意味着自治系统边界路由器(Autonomous System Boundary Router,ASBR)不能驻留于 stub 或 totally stubby 区域,原因是 ASBR 会产生 OSPF 外部(type 5)路由。可能会有这样一种需求——既要让OSPF 区域带stub 或totally stubby 区域的特征,也要让驻留于其中的ASBR跨区域通告经过重分发的路由。具有以上属性的OSPF区域即为NSSA区域。以图2-4中的网络为例,有人可能会提出这样的要求:一、不准路由器B将来自区域01的OSPF外部路由通告进区域1;二、让经过路由器C(ASBR)重分发的路由传播进区域1。只要将区域1配置为NSSA区域,那么路由器B接收自区域0的外部OSPF路由将会受阻于该区域。经过ABSR重分发的路由将会在该区域内以OSPF type 7 路由的形式通告。路由器B会将此类OSPF路由从type 7转换为type 5,然后通告进区域0。一般而言,经过重分发的路由都会以OSPF type 5路由的面目在路由表内现身。对隶属于OSPF NSSA区域,且担当OSPF ASBR 的路由器来说,所生成的OSPF路由为type 7而非type 5。

1 译者注:原文是区域1,译者认为有误,酌改。

始见于 Cisco IOS 软件版本:11.2

如图2-4所示,路由器C、D运行RIPv2。路由器D通过RIP,将路由156.26.32.0/24、156.26.33.0/24通告给了路由器C。路由器C将RIP路由(包括10.1.1.8/30)重分发进了OSPF。由于我将区域1定义为了NSSA区域,因此经过重分发的RIP路由会被通告进区域 1,其传播方式为 OSPF type 7 路由。但在此之前,我先将区域 1 配置为普通OSPF区域,并观察传播于其内的路由。

图2-4 OSPF NSSA

(待续)

在路由器 A 上,将其 loopback 0 接口路由重分发进 OSPF,因此该路由将以 OSPF type 5 外部路由的方式进行传播。路由器 A、B 双双学得了经过重分发的 RIP 路由,此类路由在两者的路由表中都以 OSPF 外部(type 5)路由的面目示人。

路由器C学到了由路由器A重分发进OSPF的路由,在其路由表中,此类路由以OSPF 外部 type 5 路由的面目示人。

(待续)

现在,修改路由器B、C的OSPF配置,创建NSSA区域。

验证

验证是否已将区域1配成了NSSA区域。

(待续)

检查路由器A、B、C的路由表,观察将区域1配置为NSSA区域后的效果。

由路由器B的路由表输出可知,经过重分发的RIP路由已从OSPF E2 路由转换为了OSPF N2 路由。这表明经过重分发的RIP路由现以OSPF type 7而非type 5的形式通告。在路由器 A 的路由表内,经过重分发的 RIP 路由仍以 OSPF type 5 路由的面目示人,其原因是路由器 B 会将此类路由从 type 7 转换为 type 5。

(待续)

最后,检查路由器C的IP路由表。

由路由器C的路由表可知,路由器B没有让由路由器A通告的路由1.1.1.1(OSPF外部(type 5)路由)传播进 NSSA 区域,但OSPF 区域间路由仍获准进入NSSA区域。读者还应留意,ABR或ASBR并未向NSSA区域通告默认路由,这也是NSSA区域与 stub 或 totally stubby 区域的不同之处。

故障排除

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2: 验证 NSSA 区域所属各 OSPF 路由器是否已设有 area x nssa 命令。

语法描述:

area-id——OSPF区域ID。既可以输入十进制数,也可以输入IP地址,取值范围分别为0~4 294 967 295和0.0.0.0~255.255.255.255。area-id的取值可以为 0,但不能将区域 0 定义为 NSSA(not-so-stubby area)区域。

用途:

本命令在OSPF ABR 或OSPF ASBR 上设置,用来生成通告进NSSA 区域的OSPF默认路由(OSPF NSSA 外部 type 2 路由)。在 ABR 上配置该命令时,无需先行设置默认路由。而在 ASBR 上配置该命令时,则要先配默认路由。对于 stub 或 totally stubby区域,通向此类区域的ABR不会让OSPF外部(type 5)路由进入。这表明stub或totally stubby区域内不可能存在ASBR,理由是ASBR会生成OSPF外部type5路由1。可能会有这样一种需求——既要让 OSPF 区域具有 stub 或 totally stubby 区域的特征,也要让驻留于其中的ASBR跨区域通告经过重分发的路由。兼具以上属性的ospf区域即为NSSA区域。以图2-5所示的网络为例,有人可能会提出以下要求:一、不准路由器B (ABR)将来自区域0的OSPF外部路由传播进NSSA区域,但需向其内通告一条默认路由;二、让经过路由器C(ASBR)重分发的路由通告进该NSSA区域。若将区域1定义为NSSA区域,那么路由器B将不会把接收自区域0的外部OSPF路由通告进其内。在区域1内,经过ABSR重分发的路由将以OSPF type 7 路由的面目示人。路由器B会将此类路由从type 7转换为type 5,然后通告进区域0。一般来说,重分发进OSPF的路由都是OSPF外部(type 5)路由。而隶属于NSSA区域的ASBR会生成OSPF type 7而非 type 5 路由。默认情况下,ABR 不会将默认路由通告进 NSSA 区域。

1 译者注:原文是“In a stub or totally stubby area, the ABR to the stub area will prevent OSPF external routes (type 5) from being advertised into the stub area. This implies that an ASBR cannot be part of a stubby or totally stubby area since an ASBR generates OSPF external type 5 routes.”精确的表述应该是“在 stub 或 totally stubby 区域内,不可能存在 OSPF 外部(type 5)路由,因此此类 OSPF 区域内也不可能存在 OSPF ASBR。”

始见于 Cisco IOS 软件版本:11.2

如图2-5所示,路由器C、D都运行RIPv2。路由器D通过RIP将路由156.26.32.0/24、156.26.33.0/24 通告给路由器 C。路由器 C 将 RIP 路由(包括 10.1.1.8/30)重分发进OSPF。由于我将区域1配置为了NSSA区域,因此经过重分发的RIP路由会以OSPF type 7 路由的形式在该区域内传播。但在此之前,我先将区域 1 配置为普通 OSPF 区域,并观察传播于其内的路由。

图2-5 default-information-originate命令会(令ABR 或 ASBR)生成一条OSPF NSSA默认路由,并随即传播进OSPF NSSA区域

(待续)

由以上配置可知,路由器 A 将直连路由(loopback 0 接口路由),以重分发的方式注入 OSPF,并以 OSPF 外部(type 5)路由的形式通告。由以下路由表输出可知,路由器A、B还学到了经过重分发的RIP路由,此类路由为OSPF外部(type 5)路由。

由以下路由表输出可知,路由器C学到了经过路由器A重分发的路由,此类路由为外部(type 5)OSPF 路由。

现在,修改路由器B、C的OSPF配置,创建NSSA区域。

验证是否已将区域1配置为了NSSA区域。

(待续)

查看路由器A、B、C的路由表,观察将区域1配置为NSSA区域后的效果。

由路由器 B 的路由表可知,经过重分发的 RIP 路由已从 OSPF E2 路由转换为了OSPF N2 路由。这表明经过重分发的 RIP 路由现以 OSPF type 7 而非 type 5 路由的面目“示人”。但在路由器 A 上,那些经过重分发的 RIP 路由仍为 OSPF type5 路由,因为路由器 B 会将此类路由从 type 7 转换为 type 5。

(待续)

最后,观察路由器C的IP路由表。

据路由器 C 的路由表可知,由路由器A所通告的OSPF外部(type 5)路由1.1.1.1已受阻于路由器B,“不准”进入NSSA区域,但路由器A所通告的OSPF区域间路由则获准进入。读者还应留意,ABR或ASBR并未向NSSA区域通告默认路由,这也是 NSSA 区域与 stub 或 totally stubby 区域的区别。

修改路由器 B 的配置,令其向 NSSA 区域生成一条 OSPF NSSA 默认路由。

验证

观察路由器C的路由表,验证默认路由是否已被通告进了NSSA区域。

故障分析

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2: 验证 NSSA 区域所属各路由器是否已设有 area x nssa 命令。

步骤3: 命令 area area-id nssa default-infromation-originate 只能在 NSSA ABR 或ASBR上配置。确保已将该命令配置于ABR或ASBR上。

语法描述:

area-id——OSPF区域ID。既可以输入十进制数,也可以输入IP地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。area-id 的取值可以为 0,但不能将区域 0 定义为 NSSA(not-so-stubby area)区域。

用途:

对于 stub 或 totally stubby 区域,通向此类区域的 ABR 不会让 OSPF 外部(type 5)路由传播进来。这表明 stub 或 totally stubby 区域内不可能存在 ASBR,理由是 ASBR会生成OSPF 外部type 5路由。可能会有这样一种需求——既要让OSPF 区域具有stub或 totally stubby 区域的特征,也要让驻留于其内的 ASBR 跨区域通告经过重分发的路由。兼具以上属性的ospf区域即为NSSA区域。以图2-6所示的网络为例,有人可能会提出以下要求:一、不准路由器B(ABR)将来自区域0的OSPF外部路由通告进区域1;二、让经过路由器C(ASBR)重分发的路由传播进区域1;三、在路由器B为ASBR的情况下(路由器B从路由器E接收并重分发EIGRP路由),将EIGRP路由重分发进区域0,但不允许重分发进区域1(NSSA区域)。若将区域1配置为NSSA区域,那么路由器B接收自区域0的外部OSPF路由将不会传播进区域1。在区域1内,经过 ABSR(路由器C)重分发的路由将以 OSPF type 7 路由的形式传播。路由器B会将type 7路由转换为type 5,然后通告进区域0。在路由器B上,若配置了area area-id nssa no-redistribution 命令,那么 EIGRP 路由将不会被转换为 OSPF type 7 路由。这样一来,EIGRP路由经过重分发后,将会受阻于区域1,但会通告进区域0。一般而言,被重分发进 OSPF的路由都是OSPF外部(type 5)路由。而隶属于NSSA区域的ASBR则会生成 OSPF type 7 而非 type 5 路由。

始见于 Cisco IOS 软件版本:11.2

如图2-6所示,路由器C、D运行RIPv2。路由器D通过RIP,将路由156.26.32.0/24、156.26.33.0/24 通告给路由器 C。路由器 C 将 RIP 路由(包括 10.1.1.8/30)重分发进OSPF。路由器B、E运行EIGRP。路由器B将EIGRP路由重分发进OSPF。由于我将区域1定义为了NSSA区域,因此在该区域内,经过重分发的RIP和EIGRP路由都会以 OSPF type 7 路由的面目“示人”。在此之前,我先将区域1配置为普通OSPF区域,并观察传播于其内的路由。

图2-6 OSPF ABR/ASBR可针对NSSA区域,对经过重分发的路由实施“准入控制”

(待续)

(待续)

由以上配置可知,路由器 A 将直连路由(loopback 0 接口路由),以重分发的方式注入OSPF,并以OSPF外部(type 5)路由的形式通告。由以下路由表的输出可知:路由器 A、B 学到了经过重分发的 RIP 路由,此类路由为 OSPF 外部(type 5)路由;路由器A、C学到了经过路由器B重分发的EIGRP路由。

(待续)

由以下输出可知,路由器C学到了经过路由器A和B重分发的路由,此类路由都是 OSPF 外部(type 5)路由。

现修改路由器B、C的OSPF配置,创建NSSA区域。

验证

验证是否已将区域1配成了NSSA区域。

检查路由器A、B、C的路由表,观察将区域1配成NSSA区域的效果。

(待续)

由以上路由表输出可知,经过重分发的 RIP 和 EIGRP 路由已从 OSPF E2 转换成了OSPF N2路由。这表明,在区域1内,经过重分发的RIP和EIGRP路由全都以OSPF type 7 而非 type 5 路由的面目“示人”。在路由器 A 的路由表中,此类路由仍以 OSPF type 5路由的面目现身。路由器B将学自路由器C的外部路由,从type 7转换为了type 5。路由器 B 还将经过重分发的 EIGRP 路由,分别以 type 5 和 type 7 的形式传播进了区域0和区域1。

由路由器 A 通告的路由 1.1.1.1(以 OSPF 外部 type 5 路由的形式通告)已受阻于路由器B——不得传播进NSSA区域,但OSPF区域间路由则获准进入。读者还应留意,ABR或ASBR并未向NSSA区域通告默认路由,这也是NSSA区域与stub或totally stubby区域的差别。

最后,修改路由器B的配置,不准经过重分发的EIGRP路由传播进区域1,但区域0不受此限制。

验证路由器B是否仍将经过重分发的EIGRP路由通告进了区域1。

(待续)

验证区域0是否接收到了经过重分发的EIGRP路由。

(待续)

故障排除

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2: 验证 NSSA 区域所属各路由器是否已设有 area x nssa 命令。

步骤3: 只应在执行路由重分发的 ASBR 上配置 area area-id nssa no-summary 命令。

语法描述:

area-id——OSPF区域ID。既可以输入十进制数,也可以输入IP地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。area-id 的取值可以为 0,但不能将区域 0 定义为 NSSA(not-so-stubby area)区域。

用途:

本命令在 OSPF ABR 上配置,用来阻止 OSPF 区域间路由传播进 NSSA 区域。本命令还会让ABR向NSSA区域生成一条OSPF区域间默认路由。这样一来,NSSA区域将会变身为 totally stubby 区域。对于 stub 或 totally stubby 区域,通向此类区域的ABR 不会让OSPF 外部路由(type 5)传播进来。这表明 stub 或 totally stubby 区域内不可能存在 ASBR,理由是 ASBR 会生成 OSPF 外部(type 5)路由。可能会有这样一种需求——既要让 OSPF 区域具有 stub 或 totally stubby 区域的特征,也要让驻留于其中的ASBR跨区域通告经过重分发的路由。兼具以上属性的ospf区域即为NSSA。以图2-7所示网络为例,有人可能会提出以下要求:一、不准路由器B(ABR)将来自区域0的OSPF外部路由和区域间路由通告进区域1(NSSA区域),但要向其内通告一条默认路由;二、让经过路由器 C(ASBR)重分发的路由通告进 NSSA 区域。若将区域1配置为NSSA区域,那么路由器B接收自区域0的外部OSPF路由将不会传播进区域 1。在区域 1 内,经过 ABSR(路由器 C)重分发的路由将以 OSPF type 7路由的面目示人。路由器 B 会将 type 7 路由转换为 type 5,然后通告进区域 0。一般而言,被重分发进 OSPF 的路由都是 OSPF type 5 路由。而隶属于 NSSA 区域的 ASBR则会生成 OSPF type 7 而非 type 5 路由。默认情况下,ABR 并不会向 NSSA 区域通告默认路由。

始见于 Cisco IOS 软件版本:11.2

如图2-7所示,路由器C、D运行RIPv2。路由器D通过RIP将路由156.26.32.0/24、156.26.33.0/24 通告给路由器 C。路由器 C 将 RIP 路由(包括 10.1.1.8/30)重分发进OSPF。由于我将区域 1 配置为了 NSSA 区域,因此在该区域内,经过重分发的 RIP路由将会以OSPF type7路由的面目“示人”。但在此之前,我先将区域1配置为普通OSPF区域,并观察传播于其内的路由。

图2-7 Totally Stubby NSSA区域

(待续)

由以上配置可知,路由器 A 将直连路由(loopback 0 接口路由),以重分发的方式注入了 OSPF,并以 OSPF type 5 外部路由的形式通告。由以下路由表输出可知,路由器 A、B 还学到了经过重分发的 RIP 路由,此类路由为 OSPF 外部(type 5)路由。

(待续)

由以下路由表输出可知,路由器C学到了经过路由器A重分发的路由,此类路由为 OSPF 外部(type 5)路由。

(待续)

现修改路由器B、C的OSPF配置,创建NSSA区域。

验证是否已将区域1配置为了NSSA区域。

检查路由器A、B、C的路由表,观察将区域1配成NSSA区域后的效果。

由路由器 B 的路由表可知,经过重分发的 RIP 路由已从 OSPF E2 路由转换为了OSPF N2 路由。这表明经过重分发的 RIP 路由现以 OSPF type 7 而非 type 5 路由的面目“示人”。但在路由器 A 上,经过重分发的 RIP 路由仍为 OSPF type 5 路由,因为路由器 B 会将此类路由从 type 7 转换为 type 5。

最后,观察路由器 C IP 路由表的输出。

据路由器 C 的路由表可知,由路由器A所通告的OSPF外部(type 5)路由1.1.1.1已受阻于路由器B,“不准”进入NSSA区域,但路由器A所通告的OSPF区域间路由则获准进入。读者还应留意,ABR或ASBR并未向NSSA区域通告默认路由,这也是 NSSA 区域与 stub 或 totally stubby 区域的区别。

修改路由器B的配置,令其向NSSA区域生成一条默认路由,并阻止OSPF区域间路由“进驻”NSSA区域。

验证

观察路由器C的路由表,验证ABR是否将默认路由通告进了NSSA区域,是否“过滤”掉了OSPF区域间路由。

(待续)

故障排除

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2: 验证 NSSA 区域所属各路由器是否已设有 area x nssa 命令。

步骤3:area area-id nssa no-summary 命令只能在 NSSA ABR 上配置。验证 ABR上是否已配置该命令。

语法描述:

area-id——OSPF区域ID。既可以输入十进制数,也可以输入IP地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。

ip-address——汇总路由的IP地址。

mask——用来生成汇总路由的子网掩码。

用途:

OSPF支持OSPF骨干区域(区域0)和OSPF常规(非0)区域间的(双向)路由汇总。路由汇总操作只能在 OSPF ABR 上完成。ABR 是指至少各有一个接口归属OSPF区域0和常规(非0)区域的路由器。命令2.8和命令2.9的作用相同。关键词not-advertise的作用是抑制由ABR通告的汇总路由。

始见于 Cisco IOS 软件版本:10.0

如图2-8所示,路由器B将区域1的4条路由汇总通告进了区域0。路由器B利用了 loopback 接口,来模拟那 4 条路由。我会用 area range 命令,让路由器 B 将那 4条路由汇总通告进骨干区域。

图2-8 ABR可把常规(非0)区域的OSPF路由汇总通告进骨干区域(区域0)

执行路由汇总操作之前,查看路由器A的路由表,检查待通告的4条路由。

需用26位子网掩码来汇总由路由器B所通告的4条loopback接口路由。修改路由器B的配置,汇总4条loopback接口路由。

运用 area range 命令时,需注意两个要点:一、参数 area-id,此乃生成路由的OSPF区域ID。对于本例,生成路由的区域是区域1;二、参数mask,其格式与OSPF network命令中的掩码格式相反。

验证

检查路由器 A 的 IP 路由表,验证路由器 B 是否以汇总的方式通告了那 4 条loopback接口路由。

如图2-9所示,路由器B要将区域0的4条路由汇总通告进区域1。路由器B利用了loopback接口,来模拟那4条路由。我会用area range命令,让路由器B将那4条路由汇总通告进非骨干区域。在以下配置中,对与前例有差别的配置代码做了高亮显示。

图2-9 ABR可把骨干区域的OSPF路由汇总通告进非骨干区域

汇总路由之前,查看路由器A的路由表,检查待通告的4条路由。

需用26位子网掩码来汇总由路由器B所通告的4条loopback接口路由。修改路由器B的配置,汇总4条loopback接口路由。

验证

检查路由器 A 的 IP 路由表,验证路由器 B 是否以汇总的方式通告了那 4 条loopback接口路由。

若ABR设有一条默认静态路由,而该静态路由的下一跳却为接收其汇总路由(由ABR的4条loopback路由构成)的路由器,那便很有可能会形成数据包的转发环路。以图2-10为例,假设网络156.26.32.0/28失效;路由器B设有一条指向路由器A的默认静态路由(即此默认静态路由的下一跳地址为路由器 A),而路由器 A 却要从路由器B接收目的网络为156.26.32.0/28的汇总路由。

图2-10 若通告汇总路由的路由器还设有一条默认静态路由,那便很有可能会形成数据包的转发环路

(待续)

当路由器A将目的地址为156.26.32.1的数据包转发至路由器B时,路由器B会查询IP路由表,但却查不到与之匹配的明细路由。路由器B将会“动用”默认路由,将目的地址为156.26.32.1的数据包发回给路由器A,转发环路由此形成,如以下trace命令的输出所示。

为避免上述情形,可在 ABR 上,针对其所通告的每一条汇总路由的目的网段设置一条指向 Null 0 的静态路由。对于 IOS 12.X,OSPF 路由器会自动针对汇总路由的目的网段创建指向 Null 0 的静态路由。

在 ABR 上,即便不设默认路由,针对其所通告的每一条汇总路由的目的网段设置一条指向 Null 0 的静态路由,也属明智之举。若此时在路由器 A 上执行上述 trace操作,便可知是路由器B丢弃了发往156.26.32.1的数据包,因为路由器B的路由表中并无与156.26.32.1相对应的明细路由。路由器B会按最长匹配原则,继续查询路由表,却匹配上了指向Null 0的静态路由。于是,目的地址为 156.26.32.1 的数据包“惨遭”丢弃。

故障排除

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2:area area-id range 命令配置在 OSPF ABR 上才能生效。

步骤3: 验证 area area-id range 命令的 area-id(区域 ID)参数是否配置正确。

步骤4: 验证 area range 命令所引用的 IP 地址和子网掩码正确与否。

语法描述:

area-id——OSPF区域ID。既可以输入十进制数,也可以输入IP地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。

用途:

如图2-11所示,由于OSPF区域1只有一台出口路由器,因此该区域内的路由器要想将数据包转发至本区域(甚至自治系统)之外,无需知晓由ASBR重分发进OSPF的外部明细路由——只需将区域1配置为stub区域,令ABR(出口路由器)在其内通告默认路由。区域1内的OSPF路由器会遵循默认路由,将目的地址为本区域之外的数据包转发至ABR,由ABR执行下一步的转发1

1 译者注:原文是“In Figure 2-11, Area 1 has one exit point. Routers in Area 1 do not need to know the specific external routes that are being redistributed into OSPF by the ASBR. Therefore, Area 1 can be configured as a stub area and the ABR will advertise a default route into Area 1.”原文表达混乱,译文酌改,酌补,如有不妥请指正。

图2-11 只有一台出口路由器的OSPF stub区域

如图 2-12所示,区域 1有两台出口路由器。对于区域 1内的 OSPF路由器而言,在遵循外部路由(由ASBR重分发进OSPF的路由)转发数据包时,只要不是非“走”最优路径不可,就可以将区域1配置为stub区域1。区域1内的路由器会同时从两台ABR接收默认路由通告。在隶属于stub区域的所有路由器(包括ABR)上,全都需要配置area area-id stub命令。ABR会将OSPF区域间路由传播进stub区域,但不会传播OSPF外部路由。通向stub区域的ABR还会向其内通告一条默认路由。

1 译者注:原文为“If routing to the external networks that have been redistributed into OSPF by the ASBR can be sub-optimal, then Area 1 can be configured as a stub area.”原文表达混乱,译文酌改,如有不妥请指正。

图2-12 有多台出口路由器的OSPF stub区域

不能将骨干区域(区域0)设置为stub区域。stub区域内不可能存在ASBR,因为ASBR的用途是向OSPF路由进程域注入外部路由。此外,不能将stub区域用作为OSPF虚电路的穿越区域。

始见于 Cisco IOS 软件版本:10.0

如图2-13所示,路由器C将直连接口路由重分发进了OSPF。经过重分发的路由都是OSPF外部路由。

图2-13 OSPF stub区域

将区域1配置为stub区域之前,先验证经过重分发的路由是否已通告进了OSPF (是否以OSPF外部路由的形式传播)。

由以上输出可知,路由器A的路由表内包含一条OSPF外部路由,一条OSPF区域间路由。修改路由器A、B的配置,将区域1配置为stub区域,如下所示。

验证

验证OSPF区域间路由是否传播进了stub区域。此外,验证外部OSPF路由是否受阻于stub区域,以及ABR是否将默认路由通告进了stub区域。

(待续)

在路由器 A、B 上执行 show ip ospf 命令,验证区域 1 是否为 stub 区域。

(待续)

故障排除

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2:验证stub区域所属各OSPF路由器(包括ABR)是否已设有router配置模式命令area area-id stub

步骤3: stub 区域内不应存在 ASBR。

步骤4:不能将stub区域用作为OSPF虚链路的穿越区域。

语法描述:

area-id——OSPF区域ID。既可以输入十进制数,也可以输入IP地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。

用途:

本命令配在通向 stub 区域的 ABR 上,用来创建 totally stubby 区域。在 totally stubby区域内,OSPF外部和区域间路由都将被禁止传播。不能将骨干区域(区域0)设置为 totally stubby 区域。totally stubby 区域不可能存在 ASBR,因为 ASBR 的用途是向 OSPF 路由进程域注入外部路由。不能将 totally stubby 区域用作为 OSPF 虚链路的穿越区域。

始见于 Cisco IOS 软件版本:10.0

如图2-14所示,在路由器C上,将直连接口路由重分发进OSPF。经过重分发的路由都是OSPF外部路由。

图2-14 OSPF totally stubby区域

让区域 1 变为 OSPF totally stubby 区域之前,先来验证一下在其内传播的经过重分发的路由和OSPF区域间路由。

由以上路由表输出可知,路由器A学得OSPF外部路由和区域间路由各一。修改路由器A、B的配置,将区域1配置为stub区域,如下所示。

验证

验证OSPF外部路由是否受阻于stub区域,以及ABR是否向stub区域注入了一条默认路由。

修改路由器 B(ABR)的配置,创建 OSPF totally stubby 区域。

验证OSPF区域间路由是否被ABR过滤,不能传播进stub区域。

还可执行 show ip ospf 命令,验证路由器 B 是否拒绝接收 OSPF 区域间路由(汇总LSA)。

故障排除

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2:验证stub区域所属各OSPF路由器(包括ABR)是否已设有router配置模式命令 area area-id stub

步骤3: 创建 totally stubby 区域时,验证是否在通向stub区域的 ABR 上设有 area area-id stub no-summary 命令。

步骤4: totally stubby 区域中不应存在 ASBR。

步骤5: 不能将 totally stubby 区域用作为 OSPF 虚链路的穿越区域。

语法描述:

transit-area-id——连接两台ABR,并遭虚链路“穿心而过”的OSPF区域的区域 ID。既可以输入十进制数,也可以输入 IP 地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。

router-id——虚链路对端路由器的 OSPF router ID。

用途:

所有OSPF常规(非0)区域都必须建立通往骨干区域(区域0)的连接,而区域0也不能被分割。可利用虚电路去“续接”遭到分割的骨干区域,或连接不与区域0直连的常规(非0)区域。穿越区域(遭虚链路“穿心而过”的OSPF区域)不能是stub区域。可利用虚链路去“续接”遭到分割的骨干区域,或临时性地将区域0和无法与其直连的常规(非0)区域连接在一起1。设计OSPF网络时,请对虚链路“敬而远之”。

1 译者注:原文是“Virtual links are used to repair a discontiguous backbone or to temporarily attach a disconnected non-zero area to the backbone.”原文混乱,之前刚提过虚链路的用途,在这里又重复一遍。

始见于 Cisco IOS 软件版本:10.0

如图2-15所示,区域2无法直连区域0。需建立虚链路让区域2参与OSPF路由进程域。配置图2-15中的路由器时,我先不把虚链路“打通”。

(待续)

图2-15 OSPF虚链路

由路由器B的IP路由表可知,该路由器尚未学得路由器C通告的路由3.3.3.3。

区域 2 中的路由器 C 并无通往区域 0 的直连链路。需建立虚电路让区域 2 参与OSPF路由进程域。对于本例,穿越区域即为区域1。此外,还需利用两台ABR的router ID,来建立这一虚链路。执行 show ip ospf neighbor 命令,观察其输出,是获知 ABR routerID最为直接的方法。藉此,还可了解到虚链路对端ABR的routerID。

由以上输出可知,路由器B的router ID为2.2.2.2,路由器C的router ID为3.3.3.3。执行 show ip ospf 命令,便可获知本路由器的 router ID。

(待续)

现在,已“集齐”了待配虚链路的所有信息。在路由器B上,配置虚链路的命令格式为:

在路由器C上,配置虚链路的命令格式为:

修改路由器B、C的配置,“打通”虚链路。

验证

验证路由器C是否已建立起了通往区域0的连接。

由以上输出可知,路由器C有一个接口隶属于区域0,此接口支撑起了这条虚链路。验证建立于路由器B、C间的虚链路是否已处于激活状态。

最后,验证路由器A、B、C的loopback接口路由是否已在整个OSPF路由进程域内传播。

(待续)

故障排除

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2: 验证 area virtual-link 命令所含 transit-area-id(穿越区域 ID)参数是否配置正确。

步骤3: 验证 area virtual-link 命令所含 router-id 参数是否配置正确。

注意:配置命令2.15时,会用到area transit-area-id virtual-link router-id message-digest-key key-id md5 password命令(详见2.20节)。

语法描述:

transit-area-id——连接两台ABR,并遭虚链路“穿心而过”的OSPF区域的区域 ID。既可以输入十进制数,也可以输入 IP 地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。

router-id——虚链路对端路由器的 OSPF router ID。

key-id——用来加密密码的密钥,强度为1-255位。虚链路两端须配置相同的密钥和密码。

password——认证密码,用于所选路由器接口或虚链路所处区域内的 OSPF认证。密码由数字和字符组成,长度为1~8位。

用途:

对于版本低于 12.0 的 Cisco IOS 软件,若在区域 0 内启用了 OSPF 认证,那么在所有链路上都需启用类型相同的OSPF认证方法。设有本命令的虚链路,其认证类型可与区域0所用类型不同。只要启用了OSPF认证功能,则需在虚链路两端配置类型相同的认证方法。此外,虚链路两端还需配置相同的密钥和密码。

始见于 Cisco IOS 软件版本:12.0

如图2-16所示,区域2无法直连区域0。需建立虚链路让区域2参与OSPF路由进程域。配置图2-16中的路由器时,我先不在虚链路上启用OSPF认证功能。

图2-16 OSPF虚链路上所使用的认证类型可以与区域0内所使用的不同

区域 2 中的路由器 C 并无通往区域 0 的直连链路。需建立虚电路让区域 2 参与OSPF路由进程域。对于本例,穿越区域即为区域1。此外,还需利用两台ABR的router ID,来“打通”这条虚链路。执行 show ip ospf neighbor 命令,观察其输出,是获知ABR routerID 最直截了当的方法。借此,还可获知虚链路对端 ABR 的 routerID。

(待续)

由以上输出可知,路由器B的router ID为2.2.2.2,路由器C的router ID为3.3.3.3。执行 show ip ospf 命令,可获知本路由器的 router ID。

(待续)

现我准备在虚链路上启用OSPF简单密码认证,但不准备在隶属于区域0的其他任何链路上启用 OSPF 认证功能。修改路由器 B、C 的配置,在虚链路上启用 OSPF简单密码认证,密码为cisco。

验证

现在,路由器C上有一个接口隶属于OSPF区域0,该接口即为虚链路(接口)1。验证建立于路由器B、C间的虚链路是否处于有效状态。

1 译者注:原文是“Router C now has an interface in Area 0 and this interface is the virtual link.”文字不通,译文只能直译。

(待续)

此外,还需验证路由器 A、B、C 的 loopback 接口直连路由是否已在整个 OSPF路由进程域内传播。

(待续)

修改路由器B、C的配置,在虚链路上启用MD5密码认证功能。本例所用的密码为cisco。

验证

验证虚链路是否处于有效状态,MD5认证是否生效。

(待续)

最后,验证路由器A、B、C的loopback接口直连路由是否已在整个OSPF路由进程域内传播。

(待续)

出于安全性考虑,应定期更换密钥和密码。使用“明码”认证,更改密码会导致OSPF邻接关系中断,邻接关系会从更改链路一端路由器接口的认证密码时中断,直至更改完对端链路路由器接口的认证密码。使用MD5认证,则可在链路上保留旧密钥、旧密码的同时,配置新密钥、新密码。在链路对端配妥新密码和新密钥之前,会继续沿用旧密码、旧密钥。现更改路由器B、C间虚链路上的OSPF认证密钥和密码。在路由器B的虚链路上添加一个新密码和一个新密钥,请观察只在虚链路一端配置新密钥、新密码的情况。

观查只在虚链路一端添加新密钥、新密码的效果。

(待续)

由以上输出可知,路由器B的两个密钥同时用于认证。在路由器C上,配置新密钥、新密码,并保留旧密钥、旧密码。

验证路由器C是否已用上了新密钥、新密码。

现在,可删除路由器B、C上的旧密钥、旧密码了。

验证

验证路由器B、C正是否用上了新密钥、新密码。

(待续)

只要针对区域0启用了OSPF认证(不论是明文,还是MD5)功能,那么在所有链路上(包括虚链路)都要启用类型相同的认证功能。若某条虚链路上无需启用 OSPF认证,则可针对其启用 NULL 认证,以“覆盖”针对区域 0 所配置的认证。现配置图2-16中区域0的路由器,以启用简单密码认证功能。

(待续)

区域0的认证功能一经启用,虚链路上亦会自动执行认证,认证类型等同于区域0。对于本例,由于虚链路尚未启用认证,因此通过虚链路根本接收不到OSPF路由更新。在路由器 B、C 上开启 OSPF debug 功能,即可观察到这一情况。

可在虚拟路上启用与区域0类型相同的OSPF认证方法(详见2.17节和2.20节),或明确配置 NULL 认证来解决上述问题。修改路由器 B、C 的配置,在虚链路上启用OSPF NULL 认证。

验证

验证所有OSPF路由是否已在OSPF路由进程域内传播。

(待续)

故障排除

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2: 验证 area virtual-link 命令所含 transit-area-id(穿越区域 ID)参数是否配置正确。

步骤3: 验证 area virtual-link 命令所含 router ID(路由器 ID)参数是否配置正确。

步骤4:若启用OSPF简单密码认证,需验证虚链路两端所配密码是否相同。

步骤5: 若启用 OSPF MD5 认证,需验证虚链路两端所配密钥、密码是否相同。

语法描述:

transit-area-id——连接两台ABR,并遭虚链路“穿心而过”的OSPF区域的区域ID。既可以输入十进制数,也可以输入IP地址,取值范围分别为0~4 294 967 295 和 0.0.0.0~255.255.255.255。stub 区域不能作为穿越区域。

router-id——虚链路对端路由器的 OSPF router-ID。

password——认证密码,用于所选路由器接口或虚链路所处区域内的 OSPF认证。密码由数字和字符组成,长度为1~8位。

用途:

若在区域0内启用了简单密码认证,那么所有链路(包括虚链路)上也需启用类型相同的OSPF认证方法。本命令用在虚链路上配置简单密码认证。对于版本不低于12.0的Cisco IOS软件,在虚链路上所启用的认证类型可与区域0不同(详见2.14节)。

始见于 Cisco IOS 软件版本:10.0

如图2-17所示,在OSPF区域0内启用了简单密码认证。我先不在虚链路上启用OSPF认证功能,以便让读者观察认证在区域0内启用,但不在虚链路上启用的效果。

(待续)

图2-17 对于版本号低于12.0的Cisco IOS软件,只要区域0内启用了OSPF 认证,在虚拟链路上也需启用类型相同的认证方法

验证区域0内是否启用了OSPF认证。

在区域0内启用OSPF认证时,相应的认证类型会作用于归属区域0的所有路由器接口(链路),虚链路自然也包括在内。只要OSPF认证类型或密码不匹配,区域0内的OSPF路由器便会丢弃来自邻居的所有路由更新。由于虚链路被视为隶属于区域0,因此通过虚链路通告的路由更新都将被丢弃。观查路由器B的IP路由表可对此便一目了然。

路由器B学到了由路由器A通告的路由,但学不到由路由器C通告的路由。应在虚链路上启用 OSPF 简单密码认证,以便路由器 B、C 间交换 OSPF 路由更新。还可以用2.14节~2.16节所介绍的命令,在虚拟链路上启用其他类型的OSPF认证方法。对于本例,我将在虚电路上启用与区域 0 类型相同的 OSPF 认证方法。为了演示对于不同链路,所使用的 OSPF 认证密码也可以不同,我在虚链路上设置“与众不同”的OSPF 认证密码。读者需要牢记的是,公共链路两端的密码必须相同。修改路由器 B、C的配置,在虚拟链路上开启简单密码认证,密码为bosco。

注意,由于虚链路隶属于区域0,因此在路由器C上,配置了area 0 authentication命令。

验证

验证虚链路上的OSPF认证功能启用与否。

验证所有OSPF路由是否已在OSPF路由进程域内传播。

(待续)

故障排除

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2: 验证area virtual-link命令所含transit-area-id(穿越区域ID)参数是否配置正确。

步骤3: 验证 area virtual-link 命令所含 router ID(路由器 ID)参数是否配置正确。

步骤4: 若启用 OSPF MD5 认证,需验证虚链路两端所配密钥、密码是否相同。

语法描述:

transit-area-id——连接两台ABR,并遭虚链路“穿心而过”的OSPF区域的区域ID。既可以输入十进制数,也可以输入IP地址,取值范围分别为0~4 294 967 295 和 0.0.0.0~255.255.255.255。stub 区域不能作为穿越区域。

router-id——虚链路对端路由器的 OSPF router-ID。

seconds——若在 dead interval 时间段内未收到 OSPF 邻居发送的 hello 数据包,OSPF路由器就会将该OSPF邻居路由器的状态置为失效(down)状态。取值范围为1~8192秒。默认值是40秒。

用途:

只要能从OSPF邻居收到Hello数据包,OSPF路由器(接收hello数据包的路由器)便会认定其为有效 OSPF 邻居。OSPF 路由器会利用 dead interval 参数,来确定其OSPF 邻居的失效时间。若 OSPF 路由器在 dead interval 时间段内未能从其 OSPF 邻居接收到Hello数据包,便会将该OSPF邻居路由器的状态置为失效状态。默认情况下, dead interval 值为 Hello interval 值的 4 倍。前值一定大于后值。

始见于 Cisco IOS 软件版本:10.0

1 译者注:原文的标题是“Configuration Example: Modifying the Dead Interval Over a Virtual Link”。直译为“修改虚链路上的 dead interval值”,译文酌改。

按图 2-18 所示的网络拓扑配置路由器,观察通过虚链路发送的 OSPF hello 数据包所含的各种默认计时器值。然后,我会试着调整 OSPF路由器(所发 Hello 数据包)的 dead interval(字段)值。

(待续)

图2-18 在OSPF 虚链路两端的路由器上,需设有相同的dead interval值

验证虚链路是否处于有效状态,所有OSPF路由是否在OSPF路由进程域内传播。

show ip ospf virtual-links 命令的输出可知,默认的 hello interval 值为 10 秒,默认的 dead interval 值为 40 秒。修改路由器 B 的配置,将其(所发 hello 数据包内的) dead interval(字段)值更改为 41 秒,路由器 C 的配置不做修改。

验证虚链路是否仍处于有效状态。

show ip ospf virtual-links 命令的输出可知,虚链路处于有效状态(UP)。检查OSPF路由的通告情况。

路由器B学得了由路由器A通告的路由,但学不到由路由器C通告的路由。由于路由器 B、C 上所配的 dead interval值不匹配,因此两者不会通过虚链路交换路由。修改路由器 C 的 dead interval 值,令其与路由器 B 的值匹配。

验证

验证路由器 B、C 的 dead interval 值是否匹配。

验证所有的OSPF路由是否已在OSPF路由进程域内传播。

(待续)

故障排除

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2: 验证 area virtual-link 命令所含 transit-area-id(穿越区域 ID)参数是否配置正确。

步骤3: 验证 area virtual-link 命令所含 router ID(路由器 ID)参数是否配置正确。

步骤4: 在虚链路两端的路由器上,验证所配的 dead interval 值。

语法描述:

transit-area-id——连接两台ABR,并遭虚链路“穿心而过”的OSPF区域的区域 ID。既可以输入十进制数,也可以输入 IP 地址,取值范围分别为 0~4 294 967 295和0.0.0.0~255.255.255.255。stub区域不能作为OSPF穿越区域。

router-id——虚链路对端路由器的 OSPF router-ID。

seconds——通过虚链路发送的OSPF hello数据包所含的hello interval字段值,单位为秒。取值范围为1~8192秒。默认值为10秒(对于非广播多路访问网络(NBMA),其默认值为30秒)。

用途:

OSPF进程启动之初,OSPF路由器之间会互发hello数据包,以建立OSPF邻接关系。邻接关系一经建立,OSPF路由器则将hello数据包的收发作为保活(keepalive)机制,来测定虚链路对端的邻居是否仍然有效。hello interval 值应低于 dead interval 值(详见命令2.18)。

始见于 Cisco IOS 软件版本:10.0

按图 2-19 所示的网络拓扑配置路由器,观察通过虚链路发送的 OSPF hello 数据包所含的各种默认计时器值。然后,我会试着调整OSPF路由器(所发hello数据包)的hello interval(字段)值。

图2-19 在OSPF 虚链路两端的路由器上,需设有相同的hello interval值

(待续)

验证虚链路是否处于有效状态,所有OSPF路由是否已在OSPF路由进程域内传播。

show ip ospf virtual-links 命令的输出可知,hello interval 默认值为 10 秒,dead interval 默认值为 40 秒。修改路由器 B 的配置,将 hello interval 值更改为 11 秒,而路由器C的配置不做改动。

验证虚链路是否仍处于有效状态。

show ip ospf virtual-links 命令的输出可知,虚链路仍处于有效状态(UP)。检查OSPF路由的通告情况。

路由器B学到了由路由器A通告的路由,但学不到由路由器C通告的路由。因路由器 B 上所配的 hello interval 值与路由器 C 的值不匹配,故两者不可能通过虚链路交换路由。更改路由器 C 的 hello interval 值,令其与路由器 B 的值匹配。

验证

验证路由器 C 上所配的 hello interval 值与路由器 B 的值是否匹配。

验证所有OSPF路由是否已在OSPF路由进程域内传播

(待续)

故障排除

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2: 验证 area virtual-link 命令所含 transit-area-id(穿越区域 ID)参数是否配置正确。

步骤3: 验证 area virtual-link 命令所含 router ID(路由器 ID)参数是否配置正确。

步骤4: 在虚链路两端的路由器上,验证所配的 hello interval 值。

语法描述:

transit-area-id——连接两台ABR,并遭虚链路“穿心而过”的OSPF区域的区域 ID。既可以输入十进制数,也可以输入 IP 地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。stub 区域不能作为穿越区域。

router-id——虚链路对端路由器的 OSPF router-ID。

key-id——用于加密密码的密钥。其强度为 1~255 位。虚链路两端必须使用相同的密钥和密码。

password——密码。用于所选接口或虚链路所处区域内的OSPF认证。密码由数字和字符组成,长度为1~8位。

用途:

若在区域0内启用了MD5认证,那么所有虚链路上也需启用类型相同的OSPF认证方法方法。本命令的作用是:在虚链路上配置 OSPF MD5 认证。对与版本不低于 12.0的Cisco IOS软件,虚链路所使用的认证方法可以有别于区域0(详见2.15节)。

初始 Cisco IOS 软件版本:11.0

如图2-20所示,在区域0内待启用MD5认证。我先不在虚链路上启用OSPF认证功能,以便观察在区域0内启用认证,但在虚链路上不启用认证的效果。

图2-20 对于版本号低于12.0的 Cisco IOS 软件,若在区域0中启用了 MD5认证,则在虚链路上也须启用类型相同的OSPF认证方法

(待续)

验证在区域0内是否已启用了OSPF认证功能。

(待续)

在区域0内启用OSPF认证时,所选用的认证方法会生效于归属区域0的所有路由器接口,虚链路自然也在其列。若认证类型或密码不匹配,OSPF路由器会丢弃接收自区域0内邻居路由器的所有路由更新。由于虚链路也隶属于区域0,因此OSPF路由器会丢弃通过虚链路接收到的路由更新。观察路由器B的IP路由表,便可验证我的观点。

路由器B学到了由路由器A通告的路由,却学不到由路由器C通告的路由。在虚链路上开启MD5认证,OSPF路由更新便能在路由器B、C之间交换了。还可以用命令2.14、2.15或2.16,在虚拟链路上启用其他类型的OSPF认证方法。对于本例,用于虚链路的OSPF认证方法与区域0所用相同。为了演示对于不同链路,所使用的OSPF认证密码可以不同,我在虚链路上使用“与众不同”OSPF认证密码。不过,公共(同一条)链路两端的密码和密钥必须相同。修改路由器 B、C 的配置,使用 key 2和密码bosco,在虚链路上启用MD5认证。

(待续)

请注意,由于虚链路隶属于区域0,因此在路由器C上配置了area 0 authentication message-digest命令。

验证

验证在虚链路上是否已启用了消息摘要(MD5)认证。

验证所有OSPF路由是否已在OSPF路由进程域内传播。

(待续)

出于安全性考虑,应定期更换密钥和密码。使用“明码”认证,更改密码会导致OSPF邻接关系中断,邻接关系会从更改链路一端路由器接口的认证密码时中断,直至更改完对端链路路由器接口的认证密码。使用MD5认证,则可在链路上保留旧密钥、旧密码的同时,配置新密钥、新密码。在链路对端配妥新密码和新密钥之前,会继续沿用旧密码、旧密钥。现更改路由器B和C间虚链路上的OSPF认证密钥和密码。在路由器B的虚链路上添加一个新密码和一个新密钥,请观察只在虚链路一端配置新密钥、新密码的情况。

查看只在虚链路一端添加新密钥、新密码后的效果。

show ip ospf virtual-links 命令的输出可知,路由器 B 可同时使用两个密钥执行OSPF认证。在路由器C上配置新密钥、新密码的同时,仍然保留旧密钥、旧密码。

验证路由器C是否可以用新密钥、新密码执行认证。

现删除路由器B、C上的旧密钥、旧密码。

验证

验证在虚链路上是否只使用新密钥、新密码执行OSPF认证。

故障排除

步骤1:执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2:验证 area virtual-link 命令所含 transit-area-id(穿越区域 ID)参数是否配置正确。

步骤3:验证 area virtual-link 命令所含 router ID(路由器 ID)参数是否配置正确。

步骤4:验证虚链路两端路由器设置的新密钥、新密码是否相同。

语法描述:

transit-area-id——连接两台ABR,并遭虚链路“穿心而过”的OSPF区域的区域 ID。既可以输入十进制数,也可以输入 IP 地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。stub 区域不能作为穿越区域。

router-id——虚链路对端路由器的 OSPF router-ID。

seconds——取值范围为1~8192秒。默认值为5秒。

用途:

当OSPF路由器跨虚链路通告LSA(链路状态通告)时,会将相关LSA添加进相应虚链路的重传列表。已发出的LSA在获得邻居路由器的之前,OSPF路由器会定期重传。重传之前的等待时间被称为retransmit-interval(重传时间间隔),单位为秒。

始见于 Cisco IOS 软件版本:10.0

先按图2-21所示的网络拓扑配置路由器,并观察通过OSPF虚链路传送的LSA的各种默认计时器值。然后,我会试着调整通过虚链路发送的 LSA的 retransmit- interval值。

图2-21 retransmit interval(重传时间间隔)是指OSPF路由器重传未经确认的LSA之前的等待时间

(待续)

验证虚链路是否处于活跃状态,所有OSPF路由是否已在OSPF路由进程域内传播。

由以上输出可知,retransmit interval 的默认值为 5 秒。修改路由器 B 的配置,将该值更改为6秒,路由器C的配置则不做改动。

观察虚链路是否仍处于活跃状态。

由以上输出可知,虚链路处于活跃状态(UP)。检查虚链路两端的路由器是否能够交换OSPF路由。

由以上输出可知,路由器 B 学到了由路由器 A、C 通告的路由。与 hello interval值(详见 2-19 节)和 dead interval 值(详见 2.18 节)不同,虚链路两端的路由器无需配置相同的 retransmit interval 值。

验证

在路由器 C 上验证新配的 retransmit interval 值是否已经生效。

验证所有OSPF路由是否已在OSPF路由进程域内传播。

(待续)

验证

可执行show ip ospf virtual-links命令,来验证虚链路上所配的retransmit interval值。

故障排除

步骤1: 执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2: 验证 area virtual-link 命令所含 transit-area-id(穿越区域 ID)参数是否配置正确。

步骤3: 验证 area virtual-link 命令所含 router ID(路由器 ID)参数是否配置正确。

步骤4: 执行 show ip ospf virtual-links 命令,验证虚链路上所设的 retransmit interval值是否为预期值。

语法描述:

transit-area-id——连接两台ABR,并遭虚链路“穿心而过”的OSPF区域的区域 ID。既可以输入十进制数,也可以输入 IP 地址,取值范围分别为 0~4 294 967 295 和 0.0.0.0~255.255.255.255。stub 区域不能作为穿越区域。

router-id——虚链路对端路由器的 OSPF router-ID。

seconds——取值范围为1~8192秒。默认值为1秒。

用途:

生成新的 LSA 时,路由器会将其报头内的 age 字段值设置为 0。transmit-delay (传输延迟)值会被追加进LSA的age字段。其初始值表示LSA在虚链路上的传播延迟。

始见于 Cisco IOS 软件版本:10.0

按图 2-22 所示的网络拓扑,配置路由器,将虚链路两端路由器的 transmit-delay值设置为2秒。

图2-22 transmit delay表示LSA在虚链路上的传播延迟

(待续)

验证

验证虚链路两端的 transmit delay 值是否已被更改、虚链路是否仍为有效状态、所有OSPF路由是否已在OSPF路由进程域内传播。

(待续)

故障排除

步骤1:执行 show ip ospf neighbor 命令,验证 OSPF 路由器间的 OSPF 邻接关系。

步骤2:验证 area virtual-link 命令所含 transit-area-id(穿越区域 ID)参数是否配置正确。

步骤3:验证 area virtual-link 命令所含 router ID(路由器 ID)参数是否配置正确。

步骤4:执行 show ip ospf virtual-links 命令,验证虚链路两端所设 transmit delay 值是否为期望值。

图书在版编目(CIP)数据

Cisco OSPF命令与配置手册/(美)帕克赫斯特(Parkhurst, W. R.)著;孙余强译.--北京:人民邮电出版社,2012.5

ISBN 978-7-115-27955-2

Ⅰ.①C… Ⅱ.①帕…②孙… Ⅲ.①互联网络—路由器—基本知识 Ⅳ.①TN915.05

中国版本图书馆CIP数据核字(2012)第067999号

版权声明

Cisco OSPF Command and Configuration Handbook (ISBN: 1587055406)

Copyright © 2002 Pearson Education, Inc.

Authorized translation from the English language edition published by Cisco Press.

All rights reserved.

本书中文简体字版由美国Cisco Press 授权人民邮电出版社出版。未经出版者书面许可,对本书任何部分不得以任何方式复制或抄袭。

版权所有,侵权必究。

Cisco OSPF命令与配置手册

◆著 [美] William R. Parkhurst

译 孙余强

责任编辑 傅道坤

◆人民邮电出版社出版发行  北京市崇文区夕照寺街14号

邮编 100061  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

大厂聚鑫印刷有限责任公司印刷

◆开本:800×1000 1/16

印张:28

字数:608千字  2012年5月第1版

印数:1-3000册  2012年5月河北第1次印刷

著作权合同登记号 图字:01-2012-1810号

ISBN 978-7-115-27955-2

定价:69.00元

读者服务热线:(010)67132705 印装质量热线:(010)67129223

反盗版热线:(010)67171154

相关图书

Web应用安全
Web应用安全
企业“IPv6+”网络规划设计与演进
企业“IPv6+”网络规划设计与演进
“IPv6+”网络技术创新:构筑数字经济发展基石
“IPv6+”网络技术创新:构筑数字经济发展基石
社交网络对齐
社交网络对齐
华为HCIA路由交换认证指南
华为HCIA路由交换认证指南
非常网管 IPv6网络部署实战
非常网管 IPv6网络部署实战

相关文章

相关课程