OSPF (Open Shortest Path First) , 開放式的最短路徑優先協議
-概述
OSPF 協議是公有的標準協議,屬於內部網關協議中的 鏈路狀態 路由協議; OSPF 的報文是直接封裝在 IP 頭部後面的,屬於 OSI 模型 第三層; OSPF 報文的協議號是 89 , 報文的發送方式是組播地址: 224.0.0.5(所有的OSPF路由器)
-OSPF的工作過程:
1.建立鄰接表
*路由器啓動OSPF協議後,會在鏈路上發送 Hello 報文,然後比較參數,如果一直則建立鄰居; *鄰居建立之後,每個路由器都會週期性的發送 hello ,週期時間是 10s ; *如果路由器在一定的時間內沒有收到鄰居設備發送過來的 hello,則認爲鄰居故障,斷開鄰居
這個“一定時間”,默認是 “hello週期”的4倍,即 40s ;
2.同步數據庫
3.計算路由表-OSPF 報文
1.hello ,用於OSPF鄰居的建立、維護與拆除;
2.dd,database description ,數據庫描述報文;
3.lsr,Link state request,鏈路狀態請求報文;
4.lsu,link state update,鏈路狀態更新報文;
5.lsack,link state ack ,鏈路狀態確認報文;
可以使pc1和pc2通信
R1
<Huawei>u t m
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.2.1 24
[R1]ospf 1 //創建ospf
[R1-ospf-1]area 0 //創建區域
[R1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255 //添加直連網段,定義規則
[R1-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255
R2
<Huawei>
<Huawei>u t m
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]SYS R2
[R2-GigabitEthernet0/0/0]ip address 192.168.2.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.3.2 24
[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
R3
<Huawei>u t m
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip address 192.168.3.1 24
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip address 192.168.4.254 24
[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 192.168.4.0 0.0.0.255
[R2]display ip routing-table //查詢路由條目
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost Flags NextHop Interface
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.1.0/24 OSPF 10 2 D 192.168.2.1 GigabitEthernet
0/0/0
192.168.2.0/24 Direct 0 0 D 192.168.2.2 GigabitEthernet
0/0/0
192.168.2.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
192.168.2.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
192.168.3.0/24 Direct 0 0 D 192.168.3.2 GigabitEthernet
0/0/1
192.168.3.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
192.168.3.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
192.168.4.0/24 OSPF 10 2 D 192.168.3.1 GigabitEthernet
0/0/1
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
[R2]
<R2>display ospf peer brief //查詢OSPF鄰居表
OSPF Process 1 with Router ID 192.168.2.2
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/0 192.168.1.254 Full
0.0.0.0 GigabitEthernet0/0/1 192.168.3.1 Full
----------------------------------------------------------------------------
[R2]ospf router-id 2.2.2.2 //修改路由器OFPS 的router-id
Info: The configuration succeeded. You need to restart the OSPF process to valid
[R2-ospf-1]display this
[V200R003C00]
#
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 192.168.2.0 0.0.0.255
network 192.168.3.0 0.0.0.255
#
return
[R2-ospf-1]
<R2>reset ospf process //去用戶視圖重啓OSPF
Warning: The OSPF process will be reset. Continue? [Y/N]:y
<R1>display ospf int g0/0/1 //查詢OSPF接口信息
OSPF Process 1 with Router ID 1.1.1.1
Interfaces
Interface: 192.168.2.1 (GigabitEthernet0/0/1)
Cost: 1 State: BDR Type: Broadcast MTU: 1500
Priority: 1
Designated Router: 192.168.2.2
Backup Designated Router: 192.168.2.1
Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1
<R1>
要在每一條鏈路上的入口值累加
[R1-GigabitEthernet0/0/0]ospf cost 9 //將開銷更改爲 **,取值範圍是: 1-65535
[R1-ospf-1]bandwidth-reference 1000 // 修改設備的帶寬
224.0.0.5 //ospf組播地址
修改OSPF接口的網絡類型:
interface gi0/0/x
ospf network-type {broadcast/nbma/p2p/p2mp}
多區域 2臺pc可以互通
R5
<Huawei>
<Huawei>u t m
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R5
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[R5-GigabitEthernet0/0/0]int g0/0/1
[R5-GigabitEthernet0/0/1]ip address 192.168.2.1 24
[R5-GigabitEthernet0/0/1]ospf network-type p2p //設置點到點的類型
[R5-GigabitEthernet0/0/1]q
[R5]ospf 1
[R5-ospf-1]are 1
[R5-ospf-1-area-0.0.0.1]network 192.168.1.0 0.0.0.255 //兩個直連網段
[R5-ospf-1-area-0.0.0.1]network 192.168.2.0 0.0.0.255
R3
<Huawei>u t m
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip address 192.168.2.2 24
[R3-GigabitEthernet0/0/0]ospf network-type p2p
[R3-GigabitEthernet0/0/0]q
[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]ip address 192.168.3.1 24
[R3-GigabitEthernet0/0/1]q
[R3]ospf 1
[R3-ospf-1]are
[R3-ospf-1]area 1
[R3-ospf-1-area-0.0.0.1]network 192.168.2.0 0.0.0.255
[R3-ospf-1-area-0.0.0.1]q
[R3-ospf-1]q
[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
R1
The device is running!
<Huawei>u t m
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R1
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 192.168.4.0 0.0.0.255
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.3.2 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.4.1 24
R2
<Huawei>u t m
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]SYS R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.4.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.5.1 24
[R2-GigabitEthernet0/0/1]q
[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.4.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 192.168.5.0 0.0.0.2555
R4
<Huawei>
<Huawei>u t m
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R4
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip address 192.168.5.2 24
[R4-GigabitEthernet0/0/0]int g0/0/1
[R4-GigabitEthernet0/0/1]ip address 192.168.6.1 24
[R4-GigabitEthernet0/0/1]q
[R4]ospf 1
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 192.168.5.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]area 2
[R4-ospf-1-area-0.0.0.2]network 192.168.6.0 0.0.0.255
The device is running!
<Huawei>u t m
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys
[Huawei]sysname R7
[R7]int g0/0/0
[R7-GigabitEthernet0/0/0]ip address 192.168.6.2 24
[R7-GigabitEthernet0/0/0]int g0/0/1
[R7-GigabitEthernet0/0/1]ip address 192.168.7.254 24
[R7-GigabitEthernet0/0/1]q
[R7]ospf 1
[R7-ospf-1]area 2
[R7-ospf-1-area-0.0.0.2]network 192.168.6.0 0.0.0.255
[R7-ospf-1-area-0.0.0.2]network 192.168.7.0 0.0.0.255
OSPF 鄰居狀態:
1.init ,初始化狀態
2.two-way ,雙向通信狀態
在該狀態下,會根據鏈路的網絡類型,來判斷鄰居之間是否選擇 DR/BDR ;
如果選擇DR/DBR的話,那麼這個選舉過程是在“本狀態下”進行的;
爲了讓 DR/BDR 選舉的過程中更加的公平,所以在選舉DR/BDR 的過程中,
鄰居會在該 two-way 狀態停留40s ;
3.exstart ,交換初始化狀態,交換 DD 報文,準備開始進行數據庫同步;
4.exchange,交換狀態,交換的是 DD 報文內容,目的是爲了實現數據庫可靠和高效的同步;
5.loading ,加載狀態 ,這個狀態纔是真正的用於數據庫信息的同步;
6.full ,完全鄰接狀態,鄰居關係最完美的狀態;如果不是該狀態,則說明鄰居出現了問題。
OSPF 路由表分析:
preference,優先級:表示的是一個路由的穩定性,數值越小越好;默認是 10 ;
Cost , 開銷:表示的是到達一個網段的距離,數值越小越好;
OSPF路由的開銷的計算方法:
OSPF路由在傳遞過程中,所經過的每個入接口的 cost 值的累加和;
[每個OSPF接口的cost,默認是1]
修改OSPF接口的cost:
interface gi0/0/x
ospf cost ** --> 將開銷更改爲 **,取值範圍是: 1-65535
quit
查看OSPF接口的 cost:
display ospf interface gi0/0/x -> 查看接口 gi0/0/x 上的 cost 開銷;
什麼時候選舉DR/BDR ?
當一個網絡中存在很多 OSPF 路由器的時候;
什麼情況下,可以看做是“一個網段包含很多OSPF路由器“ ?
此時,OSPF 判斷一個網段是否具有多個 OSPF 路由器,是不看網段中的真實路由器的個數的,
看的是“OSPF接口”的 “網絡類型” ,例如:
廣播 ,broadcast ,此時選舉DR/BDR
非廣播 ,NBMA , 此時選舉DR/BDR
點到點 ,point to point , 此時不選舉DR/BDR
點到多點,point to multi-point ,此時不選舉DR/BDR