下面以一个实验例子来说明一下:
很简单的拓扑,环境搭建我就不说了,配置好IP地址测试完直连没问题以后,配置OSPF,并设置RouterID。
A(config)#router ospf 100
A(config-router)#router-id 0.0.0.1
A(config-router)#network 10.1.1.1 0.0.0.0 area 0
B(config)#router ospf 100
B(config-router)#network 10.1.1.2 0.0.0.0 area 0
B(config-router)#network 192.168.1.2 0.0.0.0 area 0
C(config)#router ospf 100
C(config-router)#router-id 255.255.255.255
C(config-router)#network 192.168.1.3 0.0.0.0 area 0
OSPF的配置不多说了,在A上我们把RoutrID设置为0.0.0.1;在B上我们不做RouterID设置;在C上我们设置RouterID为255.255.255.255。等OSPF邻居建立完毕,可以使用命令#showip ospf neighbor查看OSPF的邻居表。
A#show ip os neighbor
Neighbor ID Pri State Dead TimeAddress Interface
192.168.1.2 0FULL/ - 00:00:3610.1.1.2 Serial1/0
B#show ip ospf neighbor
Neighbor ID Pri State Dead TimeAddress Interface
255.255.255.255 0 FULL/ - 00:00:37192.168.1.3 Serial1/1
0.0.0.1 0FULL/ - 00:00:3010.1.1.1 Serial1/0
可以在B上看到邻居A的名字叫做0.0.0.1,邻居C的名字叫做255.255.255.255;也可以在A上看到没有做RouterID配置的邻居B名字就叫192.168.1.2,采用的是B上的一个接口地址。这就是为什么这个名字要设置成IP地址格式了。为了保证一些懒人不给他起名,他也能够自己找个合适的名字,呵呵。
在不指明RouterID的情况下,路由器会自动进行选举,选举规则如下:
1.在多loopback口的OSPF路由器上,以最大的loopback口地址作为Router-id.
2.在只有一个loopback口的OSPF路由器上,选择loopback口地址作为Router-id.
3.没loopback口的OSPF路由器,选择物理接口上IP地址最大的作为Router-id.
可以自己做做实验来证实一下。如果你觉得书本枯燥,如果你觉得书本上的话你信不过,自己动手试试。实践出真知,也只有你亲自动手了才会记得深刻。
个人认为此内容简单而且配置它的意义并不大,就是不知道为什么那么多网络公司招聘时,技术面试多少都会问到,了解了解也好。还有注意不要跟DR/BDR的选举搞混了。DR/BDR的讲解如果大家需要可以说说,我也发上来。