OSPF基本配置

簡介:OSPF(Open Shortest Path First開放式最短路徑優先)是一個內部網關協議(Interior Gateway Protocol,簡稱IGP),用於在單一自治系統(autonomous system,AS)內決策路由。是對鏈路狀態路由協議的一種實現,隸屬內部網關協議(IGP),故運作於自治系統內部。著名的迪克斯加算法(Dijkstra)被用來計算最短路徑樹。OSPF分爲OSPFv2和OSPFv3兩個版本,其中OSPFv2用在IPv4網絡,OSPFv3用在IPv6網絡。OSPFv2是由RFC 2328定義的,OSPFv3是由RFC 5340定義的。與RIP相比,OSPF是鏈路狀態協議,而RIP是距離矢量協議。

實驗拓撲

blob.png

1.     實驗步驟

1.       配置 R1,R2,R3 的相應接口 IP 地址,保證連通性。並且在每個路由器上配置一個環回口 0,其地址格式爲 X.X.X.X/24。
2. 然後配置 R1 和 R2 之間的區域 0。
R1(config)#router ospf ? //選擇一個進程號,進程號只是本地有意義。
<1-65535> Process ID

R1(config)#router ospf 1
R1(config-router)#network 1.1.1.0 0.0.0.255 area 0 //
將滿足該範圍的 IP 接口加入
OSPF 進程中,並且屬於區域 0

R1(config-router)#network 10.10.1.0 0.0.0.255 area 0
R1(config-router)#exit

R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.2 //
手工指定 OSPF 路由器 ID 爲 2.2.2.2
R2(config-router)#network 10.10.1.0 0.0.0.255 area 0
R2(config-router)#exit
R2(config)#
*Mar 1 00:03:52.351: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Ethernet0/1 from
LOADING to FULL, Loading Done //
鄰居已經同步
對於 OSPF 的路由器 ID(32bit)的選擇,採用如下規則:
a) 如果存在命令 router-id X.X.X.X,那麼優先採用
b) 如果沒有手工指定,那麼選取 IP 地址最高的環回口地址作爲 RID。即使該環回口並沒有參與 OSPF 進程
c) 如果沒有環回口,那麼選取 IP 地址最高的物理接口地址作爲 RID。即使該物理接口沒有參與 OSPF 進程,但一定要 UP。
RID 對於 OSPF 非常重要,如果沒有 RID,OSPF 便無法正常運行。因此建議養成手工指定 RID 的習慣。
3. 配置 R2 和 R3,使得實驗拓撲得以完成。
R2(config-router)#network 2.2.2.0 0.0.0.255 area 1 //將 R2 的環回口放在區域 1 中
R2(config-router)#network 12.1.1.0 0.0.0.255 area 1

R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
R3(config-router)#network 12.1.1.0 0.0.0.255 a 1
R3(config-router)#network 3.3.3.0 0.0.0.255 area 1
R3(config-router)#
*Mar 1 00:13:01.379: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Ethernet0/1 from
LOADING to FULL, Loading Done //R2
和 R3 之間 OSPF 同步


blob.png

在 R2 上使用命令 show ip ospf interface brief 可以查看到 R2 上參與 OSPF 進程的接口狀態,參與接口依賴於 network 命令,並且被動接口省略輸出。

blob.png

在 R2 上使用命令 show ip protocols 得到的輸出,可以顯示出 R2 上現存路由進程的相關信息,並且包括 network 命令的明細。

 


blob.png

在 R2上使用命令 show ip ospf neighbor得到的輸出, 可以顯示出 R2目前尚存的 OSPF路由器鄰居,並且各自鄰居的狀態,各個鄰居以 RID 區別,以及發現接口和地址。

OSPF 的 DR,BDR 選舉的規則爲:

a) 首先看接口優先級,優先級大的爲優

b) 如果優先級相同,那麼比較路由器 RID,RID 大的爲優

c) 選舉完成以後,不具有搶佔性

 

更改接口優先級的命令爲:

R1(config)#int f0/0

R1(config-if)#ip ospf priority ?

<0-255> Priority //其中 0 代表直接退出選舉,成爲 Drother


blob.png

blob.png

在 R2 上使用命令 show ip ospf database 得到的輸出,其中給出了區域0和區域1的鏈路狀態。該命令能夠輸出本地路由器所包含的鏈路狀態數據庫的描述信息集合。其中database 的實際內容爲鄰居之間同步獲得的 LSA(鏈路狀態通告)

 

blob.png

在 R2 上使用命令 show ip route 輸出 R2 的路由表。發現 1.1.1.0/24 的路由顯示爲1.1.1.1/32,同樣的情況發生在 R3 的環回口上。

 

回顧上述輸出,我們發現:

OSPF 路由器將環回口的網絡類型認爲是一種特殊的類型, LOOPBACK 類型。因此不管環回口前綴長度爲多少,都一致認爲其長度爲 32。

因此,只需要更改環回口的網絡類型即可。通常更改爲點到點網絡類型即可。

R1(config)#int lo0

R1(config-if)#ip ospf network point-to-point

R2(config)#int lo0

R2(config-if)#ip ospf network point-to-point

R3(config)#int lo0

R3(config-if)#ip ospf network point-to-point

然後再次查看 R2 的路由表:

blob.png

環回口的子網掩碼位數已經正常。

 

最後測試一下連通性!

blob.png

blob.png



吳迪

2017.12.18


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章