在学习数通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做一些说明。
二、OSPF中的router id作用
1、作为OSPF区域中本路由器的唯一标识; 2、DR、BDR选举中,在优先级相同的时候,router id大的选举为DR。 3 、DD报文协商主从关系,相比较router id大的为主路由器。 4、 LSA中包含产生者的router id 是标识一个LSA的重要参数。
三、OSPF中的router id选举
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)。
四OSPF的router id刷新规则
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没有关系。
五OSPF中router id的冲突
在本实验中,把R2的router id改为1.1.1.1,即与R1的router id一致。 [R1]ospf 1 router id 1.1.1.1Info: The configuration succeeded. You need to restart the OSPF process to validate the new router id.
[R1]quit<R1>reset ospf 1 processWarning: 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协议中运行时的工作特点,以及需要我们清楚的现象。
|