9.5 理解OSPF Route-ID
9.5.1 原理概述
一些动态路由协议要求使用Router-ID作为路由器的身份标示,如果在启动这些路由协议时没有指定Router-ID,则默认使用路由器全局下的路由管理Router-ID。
Router-ID选举规则为,如果通过Router-ID命令配置了Router-ID,则按照配置结果设置。在没有配置Router-ID的情况下,如果存在配置了IP地址的Loopback接口,则选择Loopback接口地址中最大的地址作为Router-ID;如果没有已配置IP地址的Loopback接口,则从其他接口的IP地址中选择最大的地址作为Router-ID(不考虑接口的Up/Down状态)。
当且仅当被选为Router-ID的接口IP地址被删除/修改,才触发重新选择过程,其他情况(例如接口处于DOWN状态;已经选取了一个非Loopback接口地址后又配置了一个Loopback接口地址;配置了一个更大的接口地址等)不触发重新选择的过程。
Router-ID改变之后,各协议需要通过手工执行reset命令才会重新选取新的Router-ID。
9.5.2 实验内容
本实验模拟企业网络环境。R1为部门A的网关设备,R3为部门B的网关设备,R4为部门C的网关设备,R2为企业核心路由器。现网络中运行OSPF协议实现全网互通,所有路由器运行在区域0内,网络管理员需要正确配置Router-ID以避免产生不必要的问题。
9.5.3 实验拓扑
9.5.4 实验编址
设备 | 接口 | IP地址 | 子网掩码 | 默认网关 |
---|---|---|---|---|
AR1(AR2220) | GE 0/0/0 | 172.16.1.1 | 255.255.255.252 | N/A |
AR1(AR2220) | GE 0/0/2 | 192.168.10.254 | 255.255.255.0 | N/A |
AR1(AR2220) | Loopback 0 | 1.1.1.1 | 255.255.255.255 | N/A |
AR2(AR2220) | GE 0/0/0 | 172.16.1.2 | 255.255.255.252 | N/A |
AR2(AR2220) | GE 0/0/1 | 172.16.2.2 | 255.255.255.252 | N/A |
AR2(AR2220) | GE 0/0/2 | 172.16.3.2 | 255.255.255.252 | N/A |
AR2(AR2220) | Loopback 0 | 2.2.2.2 | 255.255.255.255 | N/A |
AR3(AR2220) | GE 0/0/0 | 192.168.20.254 | 255.255.255.0 | N/A |
AR3(AR2220) | GE 0/0/1 | 172.16.2.1 | 255.255.255.252 | N/A |
AR3(AR2220) | Loopback 0 | 3.3.3.3 | 255.255.255.255 | N/A |
AR4(AR2220) | GE 0/0/0 | 192.168.30.254 | 255.255.255.0 | N/A |
AR4(AR2220) | GE 0/0/2 | 172.16.3.1 | 255.255.255.252 | N/A |
AR4(AR2220) | Loopback 0 | 4.4.4.4 | 255.255.255.255 | N/A |
PC1 | Ethernet 0/0/1 | 192.168.10.1 | 255.255.255.0 | 192.168.10.254 |
PC2 | Ethernet 0/0/1 | 192.168.20.1 | 255.255.255.0 | 192.168.20.254 |
PC3 | Ethernet 0/0/1 | 192.168.30.1 | 255.255.255.0 | 192.168.30.254 |
9.5.5 实验内容
1、验证Router-ID选举规则
在进行基本配置之前,在R1上使用display Router id
命令来查看当前设备上的Router-ID。
[AR1]display router id
RouterID:0.0.0.0
可以观察到,在没有配置接口时候,RouterID为0.0.0.0.根据实验编址表,配置R1上面的接口信息。
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 172.16.1.1 30
[AR1-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/2
[AR1-GigabitEthernet0/0/2]ip address 192.168.10.254 24
[AR1-GigabitEthernet0/0/2]interface loopback 0
[AR1-LoopBack0]ip address 1.1.1.1 255.255.255.255
配置完成后查看R1的接口信息,并查看当前设备的Router-ID。
[AR1]display ip interface brief
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 4
The number of interface that is DOWN in Physical is 1
The number of interface that is UP in Protocol is 4
The number of interface that is DOWN in Protocol is 1
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 172.16.1.1/30 up up
GigabitEthernet0/0/1 unassigned down down
GigabitEthernet0/0/2 192.168.10.254/24 up up
LoopBack0 1.1.1.1/32 up up(s)
NULL0 unassigned up up(s)
[AR1]display router id
RouterID:172.16.1.1
可以看到设备上面的Router-ID为172.16.1.1,而不是环回接口1.1.1.1,这是因为接口配置顺序会影响Router-ID的选举,因为设备上面第一次配置的是物理接口的地址,该动作便会触发Router-ID的选举。所以后面添加的环回接口地址就不会被使用,同理,如果第一次配置的是其他的物理地址或者环回接口地址,都会被Router-ID使用。
可以采用手动配置的方式强制指定R1的Router-ID为1.1.1.1,这样配置的优点是,即使该地址现在已经不是R1的任何接口地址,也可以修改为Router-ID,删除该环回接口也不会触发重新选举。需要使用reset ospf process
命令来重置OSPF协议进程。
[AR1]router id 1.1.1.1
2、基本配置
根据实验编址表配置R1以外的路由器接口信息。
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip address 172.16.1.2 30
[AR2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]ip address 172.16.2.2 30
[AR2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[AR2-GigabitEthernet0/0/2]ip address 172.16.3.2 30
[AR2-GigabitEthernet0/0/2]interface loopback 0
[AR2-LoopBack0]ip address 2.2.2.2 32
[AR3]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0]ip address 192.168.20.254 24
[AR3-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[AR3-GigabitEthernet0/0/1]ip address 172.16.2.1 30
[AR3-GigabitEthernet0/0/1]interface loopback 0
[AR3-LoopBack0]ip address 3.3.3.3 32
[AR4]interface GigabitEthernet 0/0/0
[AR4-GigabitEthernet0/0/0]ip address 192.168.30.254 24
[AR4-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/2
[AR4-GigabitEthernet0/0/2]ip address 172.16.3.1 30
[AR4-GigabitEthernet0/0/2]interface loopback 0
[AR4-LoopBack0]ip address 4.4.4.4 32
3、理解OSPF的Router-ID
在所有路由器上配置OSPF协议,并都运行在区域0内。一般使用环回接口地址作为路由器协议的Router-ID,因为环回接口是逻辑接口,比物理接口更加稳定,在对网络操作 时候,有可能误操作导致物理接口地址删除,而环回接口则要一般不会去改动。
[AR1]ospf 1 router-id 1.1.1.1
[AR1-ospf-1]area 0
[AR1-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255
[AR1-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.3
[AR2]ospf 1 router-id 2.2.2.2
[AR2-ospf-1]area 0
[AR2-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.3
[AR2-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.0.3
[AR2-ospf-1-area-0.0.0.0]network 172.16.3.0 0.0.0.3
[AR3]ospf 1 router-id 3.3.3.3
[AR3-ospf-1]area 0
[AR3-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.0.3
[AR3-ospf-1-area-0.0.0.0]network 192.168.20.0 0.0.0.255
[AR4]ospf 1 router-id 4.4.4.44
[AR4-ospf-1]area 0
[AR4-ospf-1-area-0.0.0.0]network 172.16.3.0 0.0.0.3
[AR4-ospf-1-area-0.0.0.0]network 192.168.30.0 0.0.0.255
配置完成后测试pc1和pc2的连通性。可以观察到可以正常通信。
PC1>ping 192.168.20.1
Ping 192.168.20.1: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 192.168.20.1: bytes=32 seq=2 ttl=125 time=16 ms
From 192.168.20.1: bytes=32 seq=3 ttl=125 time=31 ms
From 192.168.20.1: bytes=32 seq=4 ttl=125 time=31 ms
From 192.168.20.1: bytes=32 seq=5 ttl=125 time=32 ms
--- 192.168.20.1 ping statistics ---
5 packet(s) transmitted
4 packet(s) received
20.00% packet loss
round-trip min/avg/max = 0/27/32 ms
重点:OSPF协议的Router-ID务必要在整个路由选择域内保持唯一,比如area 0 域内要保持唯一。