ospf、eigrp、ldp協議中都有router-ID的概念
router-ID一般取路由器loopback口的最大IP地址,若沒有loopback,則取活動接口的最大IP
那麼router-ID具體有哪些用呢?
作爲路由器的唯一標識
可以用於DR、BDR選舉
某個論壇的摘抄:
OSPF的RouterID是什麼?它所顯示的形式是 x.x.x.x ,格式與IP地址相同,但實際上它並不是一個IP地址,確切點說,應該是一個名字。給啓用了OSPF協議的路由器的名字。格式雖然是IP地址形式,但是可以在255.255.255.255以內隨意設置,比如:0.0.0.1 ; 255.255.255.255。 這些在IP地址中都是不能配置的,在這裏卻可以設置成功。
下面以一個實驗例子來說明一下:
很簡單的拓撲,環境搭建我就不說了,配置好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鄰居建立完畢,可以使用命令#show ip ospf neighbor查看OSPF的鄰居表。
A#show ip os neighbor
Neighbor ID Pri State Dead Time Address Interface
192.168.1.2 0 FULL/ - 00:00:36 10.1.1.2 Serial1/0
B#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
255.255.255.255 0 FULL/ - 00:00:37 192.168.1.3 Serial1/1
0.0.0.1 0 FULL/ - 00:00:30 10.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.