一、簡介
?
OSPF Router-ID:路由器標識符(Router Identifier),在OSPF域中唯一地標識一臺路由器。
? ? ? ? OSPF協(xié)議使用Router-ID作為路由器的身份標示,如果在啟動這些路由協(xié)議時沒有指定Router-ID,則路由協(xié)議進程可能無法正常啟動;在OSPF區(qū)域中必須保證Router-ID唯一,不然OSPF無法正確識別鄰居,導致OSPF網絡不通。
OSPF Router-ID 選舉規(guī)則
- 如果通過Router-ID命令配置了Router-ID,則按照配置結果設置,選取優(yōu)先級為第一;
- 在沒有配置Router-ID的情況下,如果存在配置了IP地址的Loopback 接口,則選擇Loopback接口地址中最大的地址作為Router-ID,選取優(yōu)先級為第二;
- 如果沒有已配置IP地址的Loopback接口,則從其他接口的IP地址中選擇最大的地址作為 Router-ID(不考慮接口的Up/Down狀態(tài)),選取優(yōu)先級為第三。
解析列表
- 如果通過Router-ID命令配置了Router-ID,并且存在Loopback 接口和路由器接口配置了IP地址,則以配置Router-ID為Router-ID;
- 如果通過Router-ID命令配置了Router-ID,并且配置了IP地址的Loopback 接口,路由器接口沒有配置IP地址,則以配置Router-ID為Router-ID;
- 如果通過Router-ID命令配置了Router-ID,并且配置了IP地址的路由器接口,Loopback 接口沒有配置IP地址,則以配置Router-ID為Router-ID;
- 如果存在配置了IP地址的Loopback 接口和配置了IP地址的路由器接口,沒有通過Router-ID命令配置Router-ID,則選擇Loopback接口IP地址中最大的地址作為Router-ID;
- 如果沒有通過Router-ID命令配置Router-ID,沒有配置IP地址的Loopback 接口,則以配置了IP地址的路由器接口的IP地址中最大的地址為Router-ID。
- 沒有通過Router-ID命令配置Router-ID,沒有配置IP地址的Loopback 接口,也沒有配置IP地址的路由器接口,則Router-ID默認為0.0.0.0。
? ? ? ? 當且僅當被選為Router-ID的接口IP地址被刪除/修改,才觸發(fā)重新選取Router-ID,其他情況(例如接口處于DOWN狀態(tài);已經選取了一個非Loopback接口地址后又配置了一個Loopback接口地址;配置了一個更大的接口地址等)不觸發(fā)重新選擇的過程。
? ? ? ? OSPF Router-ID選舉具有非搶占性,Router-ID改變之后,OSPF協(xié)議需要通過手動執(zhí)行reset命令,重啟OSPF進程(或重啟路由器)后才會重新選取新的Router-ID。重啟OSPF進程命令:<R>reset ospf process。
二、示例
網絡拓撲圖
?OSPF Router-ID 選舉規(guī)則測驗示例
測驗1:沒有通過Router-ID命令配置Router-ID,沒有配置IP地址的Loopback 接口,也沒有配置IP地址的路由器接口,則Router-ID默認為0.0.0.0。
只啟動網絡拓撲圖中的R路由器,然后進行如下配置:
<Huawei>system-view?
[Huawei]sysname R
[R]ospf
[R-ospf-1]
? ? ? ? 驗證了:沒有通過Router-ID命令配置Router-ID,沒有配置IP地址的Loopback 接口,也沒有配置IP地址的路由器接口,則Router-ID默認為0.0.0.0。
注:路由器沒進行任何配置前,Router-ID默認也為0.0.0.0
測驗2:如果沒有通過Router-ID命令配置Router-ID,沒有配置IP地址的Loopback 接口,則以配置了IP地址的路由器接口的IP地址中最大的地址為Router-ID。
只啟動網絡拓撲圖中的R路由器,然后進行如下配置:
system-view?
sysname R
interface GigabitEthernet 0/0/0
ip address 10.1.1.1 24
interface GigabitEthernet 0/0/1
ip address 20.1.1.1 24
interface GigabitEthernet 0/0/2
ip address 30.1.1.1 24
ospf
? ? ? ? Router-ID為ge0/0/0端口IP地址10.1.1.1,因為ge0/0/0端口IP地址是先配置的,選取ge0/0/0端口IP地址10.1.1.1為Router-ID后,才配置的ge0/0/1端口IP地址,所以ge0/0/1端口IP地址值20.1.1.1比ge0/0/0端口IP地址10.1.1.1大,但沒被選取為OSPF Router-ID。
刪除ge0/0/0端口IP地址10.1.1.1后,觸發(fā)重新選取Router-ID為ge0/0/2端口IP地址30.1.1.1
使用reset ospf process 命令重啟ospf進程和重啟路由器,Router-ID未改變,沒測試成功。
? ? ? ? 驗證了:如果沒有通過Router-ID命令配置Router-ID,沒有配置IP地址的Loopback 接口,則以配置了IP地址的路由器接口的IP地址中最大的地址為Router-ID。
測驗3:如果存在配置了IP地址的Loopback 接口和配置了IP地址的路由器接口,沒有通過Router-ID命令配置Router-ID,則選擇Loopback接口IP地址中最大的地址作為Router-ID。
只啟動網絡拓撲圖中的R路由器,然后進行如下配置:
system-view?
sysname R
interface GigabitEthernet 0/0/0
ip address 10.1.1.1 24
interface GigabitEthernet 0/0/1
ip address 30.1.1.1 24
interface LoopBack 1
ip address 1.1.1.1 32
interface LoopBack 2
ip address 2.2.2.2 32
ospf
? ? ? ? Router-ID為ge0/0/0端口IP地址10.1.1.1,因為ge0/0/0端口IP地址是先配置的,選取ge0/0/0端口IP地址10.1.1.1為Router-ID后,才配置的回環(huán)口IP地址,所以回環(huán)口IP地址值優(yōu)先于ge0/0/0端口IP地址10.1.1.1,但沒被選取為Router-ID。
?
? ? ? ? 修改ge0/0/0端口IP地址為10.1.1.10后,沒有觸發(fā)重新選取OSPF Router-ID;刪除ge0/0/1端口IP地址后,也沒有觸發(fā)重新選取OSPF Router-ID;重啟OSPF進程后,才觸發(fā)重新選取OSPF Router-ID為回環(huán)口2的IP地址2.2.2.2。
? ? ? ? 刪除ge0/0/0端口IP地址10.1.1.1后,重啟OSPF進程后,才觸發(fā)重新選取Router-ID,選取IP地址值打的LoopBack 2回環(huán)口IP地址值2.2.2.2為Router-ID。
? ? ? ? 驗證了:如果存在配置了IP地址的Loopback 接口和配置了IP地址的路由器接口,沒有通過Router-ID命令配置Router-ID,則選擇Loopback接口IP地址中最大的地址作為Router-ID。
?測驗4:如果通過Router-ID命令配置了Router-ID,并且存在Loopback 接口和路由器接口配置了IP地址,則以配置Router-ID為Router-ID。
只啟動網絡拓撲圖中的R路由器,然后進行如下配置:
system-view?
sysname R
interface GigabitEthernet 0/0/0
ip address 10.1.1.1 24
interface GigabitEthernet 0/0/1
ip address 20.1.1.1 24
interface LoopBack 1
ip address 1.1.1.1 32
interface LoopBack 2
ip address 2.2.2.2 32
ospf //啟用ospf進程
ospf router-id 0.0.0.1?//等一會兒配置ospf router id命令,即選取Router-ID后再配置此命令
? ? ? ? 先啟用ospf進程,選取的Router-ID為10.1.1.1,后配置ospf router id命令,提示需要重啟ospf進程后才能生效,重啟ospf進程后,OSPF?Router-ID被設置為2.2.2.2。
? ? ? ? 使用reset ospf process 命令重啟ospf進程,Router-ID變?yōu)?.0.0.1
?
?注:但是用display router id查看命令,Router-ID還是10.1.1.1
? ? ? ? 驗證了:如果通過Router-ID命令配置了Router-ID,并且存在Loopback 接口和路由器接口配置了IP地址,則以配置Router-ID為Router-ID。
OSPF區(qū)域中必須保證Router-ID唯一的測驗示例
? ? ? ? ?路由器R的GE 0/0/0和GE0/0/2端口、路由器R1的GE 0/0/0和GE0/0/1端口、路由器R3的GE 0/0/0端口在area 0中,路由器R的GE 0/0/1端口、路由器R2的GE 0/0/0和GE0/0/1端口在area 1中,實現(xiàn)整個網絡互聯(lián)互通。
網絡拓撲圖
代碼段
system-view?
sysname R
interface GigabitEthernet 0/0/0
ip address 10.1.1.1 24
interface GigabitEthernet 0/0/1
ip address 20.1.1.1 24
interface GigabitEthernet 0/0/2
ip address 30.1.1.1 24
ospf 11 router-id 0.0.0.1
area 0
network 10.1.1.0 0.0.0.255
network 30.1.1.0 0.0.0.255
area 1
network 20.1.1.0 0.0.0.255
system-view?
sysname R1
interface GigabitEthernet 0/0/0
ip address 10.1.1.2 24
interface GigabitEthernet 0/0/1
ip address 192.168.1.254 24
ospf 11 router-id 0.0.0.11
area 0
network 10.1.1.0 0.0.0.255
network 192.168.1.0 0.0.0.255
system-view?
sysname R2
interface GigabitEthernet 0/0/0
ip address 20.1.1.2 24
interface GigabitEthernet 0/0/1
ip address 192.168.2.254 24
ospf 11 router-id 0.0.0.12
area 1
network 20.1.1.0 0.0.0.255
network 192.168.2.0 0.0.0.255
system-view?
sysname R3
interface GigabitEthernet 0/0/0
ip address 30.1.1.2 24
ospf 11 router-id 0.0.0.13
area 0
network 30.1.1.0 0.0.0.255
代碼解析
<Huawei>system-view
[Huawei]sysname R
[R]interface GigabitEthernet 0/0/0
[R-GigabitEthernet0/0/0]ip address 10.1.1.1 24 //給端口配置IP地址
[R-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[R-GigabitEthernet0/0/1]ip address 20.1.1.1 24
[R-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[R-GigabitEthernet0/0/2]ip address 30.1.1.1 24
[R-GigabitEthernet0/0/2]ospf 11 router-id 0.0.0.1?//使能OSPF進程11,設置R路由器的router-id為0.0.0.1,進入OSPF視圖
[R-ospf-11]area 0?//創(chuàng)建區(qū)域area 0,并進入到區(qū)域視圖
[R-ospf-11-area-0.0.0.0]network 10.1.1.0 0.0.0.255??//指定運行OSPF協(xié)議的接口
[R-ospf-11-area-0.0.0.0]network 30.1.1.0 0.0.0.255
[R-ospf-11-area-0.0.0.0]area 1
[R-ospf-11-area-0.0.0.1]network 20.1.1.0 0.0.0.255
驗證測驗
上圖說明整個網絡陸聯(lián)互通正常。
測驗1:區(qū)域area 0中直連路由器R和R1設置相同的Router-ID 0.0.0.1,網絡陸聯(lián)互通是否正常?
R1無法正常建立鄰居
R1和R之間的網絡不通
驗證了同區(qū)域中,OSPF建立直連鄰居關系時,Router-ID必須唯一。
測驗2:區(qū)域area 0中非直連路由器R1和R3設置相同的Router-ID 0.0.0.11,網絡陸聯(lián)互通是否正常?
上圖說明R1和R3都能建立ospf鄰居?
R1的ospf路由表中有到30.1.1.0/24網段的路由
? ? ? ? R3的ospf路由表中沒有到30.1.1.0/24網段的路由,R1和R3之間的網絡不通。這是因為R3認為是同一個OSPF鄰居,但是LSA又不一致,造成鏈路狀態(tài)數(shù)據(jù)庫發(fā)送錯誤,無法計算出正確的路由信息。
驗證了同區(qū)域中,多個非直連路由器設置相同的Router-ID,路由器鄰居關系能建立正常,但無法正常獲取路由條目,網絡通信不正常。
?綜上所述,OSPF協(xié)議的Router-ID務必要在整個路由選擇域內保持唯一。
?測驗3:區(qū)域area 0中路由器R1和區(qū)域area 1中路由器R2設置相同的Router-ID 0.0.0.11,網絡互聯(lián)互通是否正常?
路由器R1和R2鄰居建立正常,獲取路由條目正常,網絡通信正常。
驗證了不同區(qū)域中的路由器OSPF Router-ID相同,不影響鄰居建立和獲取路由條目,網絡互聯(lián)互通正常。
綜上所述,OSPF協(xié)議在不同區(qū)域中的Router-ID不一定是唯一的。
文章來源:http://www.zghlxwxcb.cn/news/detail-753233.html
注: 上圖中有OSPF Router ID和Router ID,這兩個ID是不一樣的。具體請參考OSPF技術連載14:OSPF路由器唯一標識符——Router ID-云社區(qū)-華為云文章來源地址http://www.zghlxwxcb.cn/news/detail-753233.html
到了這里,關于華為---OSPF Router-ID:OSPF路由器標識符(Router Identifier)簡介及示例配置---(OSPF Router-ID如何產生?為什么必須在整個路由選擇域內保持唯一)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!