OSPF属于链路状态路由协议(Link-StateRouting Protocols),工作过程概述: 1.邻居发现→双向通信 在相连的路由器之间建立OSPF邻居关系,并保持双向通信。 2. 数据库同步→完全邻接 路由器使用LSA发布自己的全部链路状态。邻居之间交换LSA,同步LSDB,达到完全邻接状态。 3.计算SPT →形成路由表路由器依据LSDB计算出到达每个目标网络的最短路径,形成OSPF路由表。

01配置效果

在网络中建立一个OSPF路由域,为网络内用户提供IPv4单播路由服务。

02注意事项

1.需要确保IP 单播路由功能启用,即ip routing 开关未被关闭,才能够启用OSPF。 2.强烈建议手工配置Router ID。 3.配置ip ospf disable all 后, 即使接口属于该network, 也不再接收和发送任何OSPF 报文,也不参与OSPF 的计算。

03配置方法

3.1 创建OSPF 进程

1.必须配置。2.每台路由器都需要配置。

3.2 设置Router ID

1.可选配置,但强烈建议手工配置Router ID。

2.每台路由器都需要配置。

3.不配置Router ID时,OSPF会选择接口IP地址,若没有接口配置IP地址或者配置的IP地址已经被其他OSPF实例使用,则必须手工配置Router ID。

3.3 在接口上启动OSPF,指定Area ID

1.必须配置。

2.每台路由器都需要配置。

04相关命令

4.1 创建OSPF 进程

1.【命令格式】router ospf process-id [ vrf vrf-name ]

2.【参数说明】process-id:OSPF进程号。未配置进程号时,表示配置进程1。vrf-name:指定OSPF进程所属的VRF。

3.【命令模式】全局配置模式。

4.【使用指导】不同OSPF进程间相互独立,可以近似认为是两个独立运行的路由协议。

4.2 设置Router ID

1.【命令格式】router-idrouter-id

2.【参数说明】router-id:要设置的路由设备的ID,以IP地址形式表示。

3.【命令模式】OSPF路由进程配置模式。

4.【使用指导】不同OSPF进程间相互独立,可以近似认为是两个独立运行的路由协议。每个OSPF进程使用不同的Router ID。

4.3 在接口上启动OSPF,指定Area ID

1.【命令格式】networkip-addresswildcardareaarea-id

2.【参数说明】ip-address:接口对应的IP地址。wildcard:定义IP地址比较比特位,0表示精确匹配,1表示不做比较。area-id:OSPF区域标识。一个OSPF区域总是关联一个地址范围,为了便于管理,也可以用一个子网作为OSPF区域标识。

3.【命令模式】OSPF路由进程配置模式。

4.【使用指导】ip-address和wildcard两个参数的定义,允许用一条命令就可以将多个接口关联到一个OSPF区域。要在一个接口上运行OSPF,必须将该接口的主IP地址包括在network area定义的IP地址范围内。如果network area定义的IP地址范围只包括接口的次IP地址,该接口将不会运行OSPF。当接口地址同时与多个OSPF进程network命令定义的IP地址范围相匹配时,按照最优匹配方式,确定接口参与的OSPF进程。

4.4 设置虚链路

1.【命令格式】 area area-id virtual-link router-id [authentication [ message-digest | null ] ] [ dead-interval { seconds | minimal hello-multiplier multiplier } ] [ hello-intervalseconds ] [ retransmit-interval seconds ] [ transmit-delay seconds ] [ [ authentication-key [ 0 | 7 ]key ] | [ message-digest-key key-id md5 [ 0 | 7 ]key ] ]2.【参数说明】area-id:OSPF过渡区域号。区域号可以是一个十进制整数值,也可以是一个IP地址。 router-id:虚拟链路邻居的路由设备标识。。 dead-intervalseconds:定义宣告邻居丢失时间,以秒为单位,取值范围:0-2147483647。该参数必须与邻居保持一致。 minimal:启用Fast Hello功能,将死亡时间设置为1s。 hello-multiplier:Fast Hello功能中,死亡间隔与Hello间隔的乘数。 multiplier:Fast Hello功能中,每秒钟发送的Hello报文的次数。取值范围:3-20。 hello-intervalseconds:OSPF往虚拟链路发送Hello报文的时间间隔,以秒为单位,取值范围:1-65535。该参数必须与邻居保持一致。 retransmit-interval seconds:OSPF链路状态描述(LSA)重传时间,以秒为单位,取值范围:0-65535。 transmit-delay seconds:OSPF发送链路状态描述(LSA)的时延,以秒为单位,取值范围:0-65535。 authentication-key[0 |7 ]key:定义OSPF明文认证的密钥。 message-digest-keykey-idmd5[0 |7 ]key:定义OSPF MD5认证的密钥标识符和密钥。 authentication:设置认证类型,使用明文认证。 message-digest:设置认证类型为MD5认证。 null:设置为不认证。

05配置举例

5.1 网络环境

思科交换机显示配置信息的命令(思科交换机配置OSPF)(1)

【注释】 接口IP 地址: A: GE 0/1 192.168.1.1 GE 0/2 192.168.2.1 B: GE 0/1 192.168.1.2 GE 0/2 192.168.3.1 C: GE 0/3 192.168.2.2 D: GE 0/3 192.168.3.2

5.2 配置方法

1.在所有路由器上配置接口IP地址。 2.在所有路由器上启动IPv4单播路由功能(该功能默认已开启)。3.在所有路由器上配置OSPF实例、Router ID。 4.在所有路由器上配置接口使能OSPF。

路由器A:A# configure terminal A(config)# interface GigabitEthernet 0/1 A(config-if-GigabitEthernet 0/1)# ip address 192.168.1.1 255.255.255.0 A(config-if-GigabitEthernet 0/1)# exit A(config)# interface GigabitEthernet 0/2 A(config-if-GigabitEthernet 0/2)# ip address 192.168.2.1 255.255.255.0 A(config-if-GigabitEthernet 0/2)# exit A(config)# router ospf 1 A(config-router)# router-id 192.168.1.1 A(config-router)# network 192.168.1.0 0.0.0.255 area 0 A(config-router)# network 192.168.2.0 0.0.0.255 area 1

路由器B:B# configure terminal B(config)# interface GigabitEthernet 0/1 B(config-if-GigabitEthernet 0/1)# ip address 192.168.1.2 255.255.255.0 B(config-if-GigabitEthernet 0/1)# exit B(config)# interface GigabitEthernet 0/2 B(config-if-GigabitEthernet 0/2)# ip address 192.168.3.1 255.255.255.0 B(config-if-GigabitEthernet 0/2)# exit B(config)# router ospf 1 B(config-router)# router-id 192.168.1.2 B(config-router)# network 192.168.1.0 0.0.0.255 area 0 B(config-router)# network 192.168.3.0 0.0.0.255 area 2

路由器C:C# configure terminal C(config)# interface GigabitEthernet 0/3 C(config-if-GigabitEthernet 0/3)# ip address 192.168.2.2 255.255.255.0 C(config-if-GigabitEthernet 0/3)# exit C(config)# router ospf 1 C(config-router)# router-id 192.168.2.2 C(config-router)# network 192.168.2.0 0.0.0.255 area 1

路由器D:D# configure terminal D(config)# interface GigabitEthernet 0/3 D(config-if-GigabitEthernet 0/3)# ip address 192.168.3.2 255.255.255.0 D(config-if-GigabitEthernet 0/3)# exit D(config)# router ospf 1 D(config-router)# router-id 192.168.3.2 D(config-router)# network 192.168.3.0 0.0.0.255 area 2

5.3 验证配置

1.所有路由器上检查OSPF 邻居正确。2.所有路由器上检查路由表加载正确。

3.D 上ping 192.168.2.2 正确。

路由器A:

A# show ip ospf neighbor OSPF process 1, 2 Neighbors, 2 is Full: Neighbor ID Pri State Dead Time Address Interface 192.168.1.2 1 Full/DR 00:00:40 192.168.1.2 GigabitEthernet 0/1 192.168.2.2 1 Full/BDR 00:00:34 192.168.2.2 GigabitEthernet 0/2 A# show ip route ospf O IA 192.168.3.0/24 [110/2] via 192.168.1.2, 00:18:03, GigabitEthernet 0/1

路由器B:B# show ip ospf neighbor OSPF process 1, 2 Neighbors, 2 is Full: Neighbor ID Pri State Dead Time Address Interface 192.168.1.1 1 Full/BDR 00:00:32 192.168.1.1 GigabitEthernet 0/1 192.168.3.2 1 Full/BDR 00:00:30 192.168.3.2 GigabitEthernet 0/2 B# show ip route ospf O IA 192.168.2.0/24 [110/2] via 192.168.1.2, 00:18:03, GigabitEthernet 0/1

路由器C:C# show ip ospf neighbor OSPF process 1, 1 Neighbors, 1 is Full: Neighbor ID Pri State Dead Time Address Interface 192.168.1.1 1 Full/BDR 00:00:32 192.168.2.1 GigabitEthernet 0/3C# show ip route ospf O IA 192.168.1.0/24 [110/2] via 192.168.2.1, 00:19:05, GigabitEthernet 0/3 O IA 192.168.3.0/24 [110/3] via 192.168.2.1, 00:19:05, GigabitEthernet 0/3

路由器D:D# show ip ospf neighbor OSPF process 1, 1 Neighbors, 1 is Full: Neighbor ID Pri State Dead Time Address Interface 192.168.1.2 1 Full/BDR 00:00:30 192.168.3.1 GigabitEthernet 0/3 D# show ip route ospf O IA 192.168.1.0/24 [110/2] via 192.168.3.1, 00:19:05, GigabitEthernet 0/3 O IA 192.168.2.0/24 [110/3] via 192.168.3.1, 00:19:05, GigabitEthernet 0/3 D# ping 192.168.2.2 Sending 5, 100-byte ICMP Echoes to 192.168.2.2, timeout is 2 seconds: < press Ctrl C to break > !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

.06常见错误

1.IP 单播路由功能被关闭,OSPF 协议无法启用。2. network 命令配置的网段范围未包含接口IP 地址。

3. 相连接口使能的区域号不一致。4. 多台路由器上配置了相同的Router ID,导致Router ID 冲突。

5. 多台路由器上配置了相同的接口IP 地址,导致OSPF 网络运行错误。

,