目录
6.1 OSPF 概述
6.2 实验1:点到点链路上的OSPF
1.实验目的
2.实验拓扑
3.实验步骤
4.实验调试
(1)show ip route
(2)show ip ospf neighbor
6.3 OSPF 命令汇总
OSPF(Open Shortest Path First,开放最短链路优先)路由协议是典型的链路状态路由协议。OSPF 由IETF 在20 世纪80 年代末期开发,OSPF 是SPF 类路由协议中的开放式版本。最初的OSPF 规范体现在RFC1131 中,被称为OSPF 版本1,但是版本1 很快被进行了重大改进的版本所代替,这个新版本体现在RFC1247 文档中。RFC1247 被称为OSPF版本2,是为了明确指出其在稳定性和功能性方面的实质性改进。这个OSPF 版本有许多更新文档,第一个更新都是对开放标准的精心改进。接下来的一些规范出现在RFC1583 和2328 中。OSPF 版本2 的最新版体现在RFC2328 中。而OSPF 版本3 是关于Ipv6 的。OSPF 的内容多而复杂,所以本书分为多个章节来介绍。本章只讨论单区域的OSPF。
6.1 OSPF 概述
OSPF 作为一种内部网关协议(Interior Gateway Protocol,IGP),用于在同一个自治系统(AS)中的路由器之间交换路由信息。OSPF 的特性如下:
① 可适应大规模网络;
② 收敛速度快;
③ 无路由环路;
④ 支持VLSM 和CIDR;
⑤ 支持等价路由;
⑥ 支持区域划分,构成结构化的网络;
⑦ 提供路由分级管理;
⑧ 支持简单口令和MD5 认证;
⑨ 以组播方式传送协议报文;
⑩ OSPF 路由协议的管理距离是110;
⑪ OSPF 路由协议采用cost 作为度量标准;
⑫ OSPF 维护邻居表、拓扑表和路由表。
另外,OSPF 将网络划分为4 种类型:广播多路访问型(BMA)、非广播多路访问型(NBMA)、点到点型(Point-to-Point)和点到多点型(Point-to-MultiPoint)。不同的二层链路的类型需要OSPF 不同的网络类型来适应。
下面的几个术语是学习OSPF 要掌握的。
① 链路:链路就是路由器用来连接网络的接口;
② 链路状态:用来描述路由器接口及其与邻居路由器的关系,所有链路状态信息构成链路状态数据库;
③ 区域:有相同区域标志的一组路由器和网络的集合,在同一个区域内的路由器有相同的链路状态数据库;
④ 自治系统:采用同一种路由协议交换路由信息的路由器及其网络构成一个自治系统;
⑤ 链路状态通告(LSA):LSA 用来描述路由器的本地状态,LSA 包括信息有路由器接口的状态和所形成的邻接状态;
⑥ 最短路径优先(SPF)算法;是OSPF 路由协议的基础,SPF 算法有时也被称为Dijkstra 算法,这是因为最短路径
优先算法(SPF)是Dijkstra 发明的,OSPF 路由器利用SPF,独立地计算出到达任意目的地的最佳路由。
6.2 实验1:点到点链路上的OSPF
1.实验目的
通过本实验可以掌握
① 在路由器上OSPF 路由进程;
② 启用参与路由协议的接口,并且通告网络及所在的区域;
③ 度量值Cost 的计算;
④ Hello 相关参数的配置;
⑤ 点到点链路上的OSPF 特征;
⑥ 查看和调试OSPF 路由协议相关信息。
2.实验拓扑
3.实验步骤
(1)步骤1:配置路由器R1
R1(config)#router ospf 1
R1(config-router)#router-id 1.1.1.1
R1(config-router)#network 1.1.1.0 255.255.255.0 area 0
R1(config-router)#network 192.168.12.0 255.255.255.0 area 0
(2)步骤2:配置路由器R2
R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.2
R2(config-router)#network 192.168.12.0 255.255.255.0 area 0
R2(config-router)#network 192.168.23.0 255.255.255.0 area 0
R2(config-router)#network 2.2.2.0 255.255.255.0 area 0
(3)步骤3:配置路由器R3
R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
R3(config-router)#network 192.168.23.0 255.255.255.0 area 0
R3(config-router)#network 192.168.34.0 255.255.255.0 area 0
R3(config-router)#network 3.3.3.3 255.255.255.0 area 0
(4)步骤4:配置路由器R4
R4(config)#router ospf 1
R4(config-router)#router-id 4.4.4.4
R4(config-router)#network 4.4.4.0 0.0.0.255 area 0
R4(config-router)#network 192.168.34.0 0.0.0.255 area 0
【技术要点】
① OSPF 路由进程ID 的范围必须是在1~65535 之间,而且只有本地含义,不同路由器的路由进程ID 可以不同,如果要想启动OFPS 路由进程,至少确保有一个接口是up 的;
② 区域ID 是在0~4 294 967 295 内的十进制数,也可以是IP 地址格式A.B.C.D,当网络区域ID 为0 或0.0.0.0 时称为主干区域;
③ 在高版本的IOS 中通告OFPF 网络的时候,网络号的后面可以跟网络掩码,也可以跟跟反掩码;
④ 确定Router ID 遵循如下顺序:
最优先的是在OSPF 进程中用命令”router-id”指定了路由器ID;
如果没有在OSPF 进程中指定路由器ID,那么把选择IP 地址最大的环回接口的IP 地址为Router ID;
如果没有环回接口,就选择最大活动的物理接口的IP 地址为Router ID,建议用命令”router-id”来指定路由器ID,这样可控性比较好。
4.实验调试
(1)show ip route
① 环回接口OSPF 路由条目的掩码长度都是32 位,这是环回接口的特性,尽管通告了24 位。解决的办法是在环回接口下修改网络类型为”Point-to-Point”,操作如下:
R2(config)#interface loopback 0
R2(config-if)#ip ospf network point-to-point
这样收到的路由条目的掩码长度和通告的就一致了。
② 路由条目”4.4.4.4”的度量值为1563,计算过程如下:
(2)show ip ospf neighbor
以上输出表明路由器R2 有两个邻居,它们的路由器ID 分别为1.1.1.1 和3.3.3.3,其他参数解释如下所述。
① Pri; 邻居路由器接口的优先级;
② State; 当前邻居路由器接口的状态;
③ Dear Time; 清除邻居关系前等待的最长时间;
④ Address; 邻居接口的地址;
⑤ Interface; 自己和邻居路由器相连的接口;
⑥ “-”:表示点到点的链路上OSPF 不进行DR 选举。
【技术要点】
OSPF 邻居关系不能建立的常见原因:
① Hello 间隔和Dead 间隔不同同一链路上的Hello 包间隔和Dead 间隔必须相同才能建立邻接关系。默认时,Dead 间隔是Hello 间隔的4 倍,可以在接口下通过”ip ospf hello-interval”和”ip ospf Dead-interval:命令调整。
② 区域号码不一致。
③ 特殊区域(如stub 和nssa 等)区域类型不匹配。
④ 认证类型或密码不一致。
⑤ 路由器ID 相同。
⑥ Hello 包被ACL deny。
⑦ 链路上的MTU 不匹配。
⑧ 接口下OSPF 网络类型不匹配。
6.3 OSPF 命令汇总
命令 作用
show ip route 查看路由表
show ip ospf neighbor 查看OSPF 邻居的基本信息
show ip ospf database 查看OSPF 拓扑结构数据库
show ip ospf interface 查看OSPF 路由器接口的信息
show ip ospf 查看OSPF 进程及其细节
debug ip ospf adj 查看OSPF 邻接关系创建或中断的过程
debug ip ospf events 显示OSPF 发生的事件
debug ip ospf packet 显示路由器收到的所有的OSPF 数据包
router ospf 启动OSPF 路由进程
router-id 配置路由器ID
network 通告网络及网络所在的区域
ip ospf network 配置接口网络类型
ip ospf cost 配置接口Cost 值
ip ospf hello-interval 配置Hello 间隔
ip ospf dead-interval 配置OSPF 邻居的死亡时间
ip ospf priority 配置接口优先级
auto-cost reference-bandwidth 配置参考带宽
clear ip ospf process 清除OSPF 进程
area area-id authentication 启动区域简单口令认证
ip ospf authentication-key 配置认证密码
area area-id authentication message-digest 启动区域MD5 认证
ip ospf message-digest-key key-id md5 key 配置key ID 及密匙
ip ospf authentication 启用链路简单口令认证
ip ospf authentication message-digest 启用链路MD5 认证
default-information originate 向OSPF 区域注入默认路由