泰涨知识 | 路由协议系列之一:OSPF ROUTER ID

2022-04-08 10:30:52 阅读量:


\
 
作者:泰克教育讲师郝健

\
 
在学习OSPF的时候,一般情况下我们学习的第一个基础概念就是ROUTER ID。
 
那么ROUTER ID有什么作用?什么特点呢?在整个OSPF的运行过程中起什么作用呢?

以上问题就是我们本期要了解的内容:

\
 
OSPF动态路由协议要求使用router id作为路由器的身份标示,如果在启动这些路由协议时没有指定router id,则路由进程可能无法正常启动。因此必须给每一台OSPF路由器定义一个身份,就相当于人的身份证号,这就是router id。
 
router id在网络中不可以重复,否则路由器收到的链路状态,就无法确定发起者的身份,也就无法通过链路状态信息确定网络位置,OSPF路由器发出的链路状态都会写上自己的router id,可以理解为该链路状态的签名,不同路由器产生的链路状态,签名绝不会相同。
 
OSPF的router id所显示的形式是 x.x.x.x ,格式与IP地址相同,但实际上它并不是一个IP地址,而是一个名字,只不过长相和IP地址一样罢了。
 
本文就OSPF中的router id做一些说明。



\
 
1、作为OSPF区域中本路由器的唯一标识;
2、DR、BDR选举中,在优先级相同的时候,router id大的选举为DR。
3 、DD报文协商主从关系,相比较router id大的为主路由器。
4、 LSA中包含产生者的router id 是标识一个LSA的重要参数。




\
 
 
router id(router identifier,路由器标识符),用于在一个OSPF域中唯一地标识一台路由器。
 
router id的设定可以通过手工配置的方式,或使用系统自动配置的方式。
 
注:router id不可以是0.0.0.0 或 255.255.255.255。
 

在OSPF中的router id选举规则如下:
1、优选手工配置的router id;
①OSPF进程手工配置的router id具有最高优先级
②在全局模式下配置的公用router id的优先级仅次于直接给OSPF进程手工配置router id,即它具有第二优先级
2、在没有手工配置的前提下,优选loopback接口地址中最大的地址作为router id;
3、在没有配置loopback接口地址的前提下,优选其他接口的IP地址中选择最大的地址作为router id (不考虑接口的Up/Down状态)。
 

实验验证,组网图如下:
\ 
①仅初始配置设备名称(未配置接口IP)后查看设备的router id,以R1为例:
\
可以看到,没配置任何接口前,router id为空。
②之后配置好R1的各个物理接口然后查看接口状态:
[R1]display ip interface brief
\
再次查看router id:
\
可以看到,此时R1的router id优选三个物理接口里IP地址最大者。

③配置loopback0接口地址
\
再次查看router id:
\
为什么不是环回接口地址?
原因是接口顺序的配置会影响router id的选取,因为第一次配置物理接口地址时就会触发router id选举。
此时,删除g0/0/2的接口配置,然后再查看router id:
[R1]int g 0/0/2
[R1-GigabitEthernet0/0/2]undo ip address
再次查看router id:
\
可以看到,R1的Router id已经变为1.1.1.1,因为router id被删除之后会重新出发选举,此时环回地址的优先级更高;
这里再把R1的g0/0/2接口IP地址配置上
[R1]int g 0/0/2
[R1-GigabitEthernet0/0/2]ip address 192.168.0.1 24
再次查看router id
\
R1的router id仍为1.1.1.1。

④在R2上配置以下命令
[R2]inter LoopBack 0
[R2-LoopBack0]ip address 2.2.2.2 32
[R2-LoopBack0]quit
[R2]interface LoopBack 1
[R2-LoopBack1]ip address 20.20.20.20 32
[R2-LoopBack1]quit
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 10.0.0.2 30
[R2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ip address 20.0.0.1 30
之后查看R2的router id
\
为什么不是最大的环回接口地址?
原因是接口顺序的配置会影响router id的选取,因为第一次配置环回接口地址时就会触发router id选举。
此时,删除loopback0的接口配置,然后再查看router id:
\
再次配置loopback0的接口IP,R2的router id没有变化。

⑤在R3上手工配置全局router id
\
5.5.5.5在本例中并无出现,可见router id是不关联IP地址的,只是作为身份标示而已。
再配置其他接口地址
[R3]interface LoopBack 0
[R3-LoopBack0]ip address 3.3.3.3 32
[R3-LoopBack0]quit
[R3]interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1]ip address 20.0.0.2 30
[R3-GigabitEthernet0/0/1]quit[R3]interface GigabitEthernet 0/0/3
[R3-GigabitEthernet0/0/3]ip address 30.0.0.2 30
[R3-GigabitEthernet0/0/3]quit
再次查看router id
\
R3的router id没有变化。

⑥在R1、R2、R3上配置OSPF
[R1]ospf
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 192.168.0.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.0.0 0.0.0.3
[R1-ospf-1-area-0.0.0.0]network 30.0.0.0 0.0.0.3 

[R2]ospf
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 20.20.20.20 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 10.0.0.0 0.0.0.3
[R2-ospf-1-area-0.0.0.0]network 20.0.0.0 0.0.0.3 

[R3]ospf
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 20.0.0.0 0.0.0.3
[R3-ospf-1-area-0.0.0.0]network 30.0.0.0 0.0.0.3
查看3台路由器的OSPF进程中的router id
\
\
\

可以看出,OSPF进程1里选择的router id是按照优先顺序选取的。
⑦在R3上配置命令
\
提示信息中显示新配置router id需要复位OSPF进程后才能生效。没有复位OSPF进程前查看
\
复位OSPF进程后查看
\
此时R3的router id已变成手工配置的OSPF进程1的6.6.6.6(优于全局router id 5.5.5.5)。


\
 
1、当且仅当被选举为router id的接口的地址被删除或修改,才会触发选举过程,此过程需要reset OSPF进程才生效;
2、被选择的接口状态改变、新配置更大的loopback或其他接口地址,均不会导致router id重新选举;
3、router id不可以是0.0.0.0 或 255.255.255.255
4、 路由器的全局router id选择后,不会发生改变,因为此ID由路由器管理,它的存在与OSPF或是BGP没有关系。

 

\

 
在本实验中,把R2的router id改为1.1.1.1,即与R1的router id一致。
[R1]ospf 1 router id 1.1.1.1
Info: The configuration succeeded. You need to restart the OSPF process to validate the new router id.
[R1]quit<R1>reset ospf 1 process
Warning: The OSPF process will be reset. Continue? [Y/N]:y
实验结果:
①在OSPF启动后在R1上执行命令:
[R1]display ospf error
\
最后一行显示设备统计出因router id混乱而导致的ospf error。
 
②在R3上观察全局路由表和OSPF路由表发现R3能学习到
 
192.168.0.0/24网段路由,但是下一跳地址和出接口会不停地抖动,一会是R1,一会是R2。
 
③R1与R2无法建立OSPF邻居关系R1发送hello包后,R2收到R1的hello包,发现routerID与自己的router id一致,邻居无法建立。)。
 
以上演示的是三台OSPF路由器在同一个区域内的router id重复导致的问题现象,那么如果是不同区域的OSPF路由器router id重复会如何呢?大家可以自行做实验看看结果。
 
以上的内容,就是ROUTRT ID在OSPF协议中运行时的工作特点,以及需要我们清楚的现象。 
 
相关其他内容敬请期待下期泰涨知识。
 
\ 
联系泰克教育官方客服,获取泰克教育华为认证数通Datacom-HCIA、HCIP、HCIE开班计划以及学习资料。