OSPF(Open Shortest Path First開放式最短路徑優先)是一個內部網關協議(InteriorGateway Protocol,簡稱IGP),用於在單一自治系統(autonomous system,AS)內決策路由。是對鏈路狀態路由協議的一種實現,隸屬內部網關協議(IGP),故運作於自治系統內部。著名的迪克斯加算法(Dijkstra)算法被用來計算最短路徑樹。OSPF分爲OSPFv2和OSPFv3兩個版本,其中OSPFv2用在IPv4網絡,OSPFv3用在IPv6網絡。OSPFv2是由RFC 2328定義的,OSPFv3是由RFC5340定義的。與RIP相比,OSPF是鏈路狀態協議,而RIP是距離矢量協議。
爲啦應對大規模網絡情況下造成的網絡資源浪費,解決方法如下:
一、ospf區域
Ospf必須要有一個區域0,區域0也稱作骨幹區域(相當於一個樹根)而且其他區域都需要連接到這個區域。把AS劃分成區域,管理更加靈活。每個ospf路由器之維護所在區域的路由信息,如果某個鏈路發生故障,不用通知整個AS,只要在所在的區域進行處理即可,提高啦網絡效率。
二、DR與BDR
在DR和BDR出現之前,每一臺路由器和他的所有鄰居成爲完全網狀的OSPF鄰接關係,這樣5臺路由器之間將需要形成10個鄰接關係,同時將產生20條LSA.而且在多址網絡中,還存在自己發出的LSA 從鄰居的鄰居發回來,導致網絡上產生很多LSA的拷貝,所以基於這種考慮,產生了DR和BDR.
ospf的三張表
鄰接關係數據庫(鄰居表):保存路由器全部已建立鄰接關係的鄰居
鏈路狀態數據庫(拓撲表):把鄰居更新過來的鏈路信息保存在鏈路狀態數據庫中
路由表利用spf算法算出最優的路由保存在路由表
Ospf工作原理(上圖)
Ospf多區域具體配置如下
思科設備配置
IP配置如上圖所示
R1配置
R1(config)#router ospf 1111
#啓用ospf協議,1111代表進程號,只對本地路由器有用,標誌在同一臺路由器中不同的OSPF進程(建議所有的路由器進程號寫一樣)
R1(config-router)#network192.168.1.0 0.0.0.255 area 1
#命令格式:network 網絡號 反掩碼 area 區域號
區域號:0爲骨幹區域,必須要有骨幹區域在OSPF中,單區域OSPF必須有0區域反掩碼
反掩碼:簡單來說就是把子網掩碼反着寫,就是把應該是1的地方寫成0,是0的地方寫成1
R1(config-router)#network192.168.2.0 0.0.0.255 area 1
R1(config-router)#do wr 保存設置
R2配置
R2(config)#router ospf 1111
R2(config-router)#network 192.168.2.00.0.0.255 area 1
R2(config-router)#network 192.168.3.00.0.0.255 area 0
R2(config-router)#do wr
R3配置
R3(config)#router ospf 1111
R3(config-router)#network 192.168.3.00.0.0.255 area 0
R3(config-router)#network 192.168.4.00.0.0.255 area 2
R3(config-router)#do wr
R4配置
R4(config)#router ospf 1111
R4(config-router)#network 192.168.4.00.0.0.255 area 2
R4(config-router)#network 192.168.5.00.0.0.255 area 2
R4(config-router)#do wr
上述配置完成之後,使用在pc1上使用ping命令探測網絡連通性
Ospf常用查看命令
R1#show ip ospf 查看ospf詳細信息
R1#show ip route ospf 查看ospf路由表
R1#show ip ospf neighbor查看ospf鄰接關係表
華爲設備配置
IP配置如上圖所示
AR1配置
[AR1]ospf 1111
#啓用ospf協議,1111代表進程號
[AR1-ospf-1111]area 1
#進入area1區域
[AR1-ospf-1111-area-0.0.0.1]network192.168.1.0 0.0.0.255
#宣告網段,命令格式:network ip地址 反掩碼
[AR1-ospf-1111-area-0.0.0.1]network192.168.2.0 0.0.0.255
AR2配置
[AR2]ospf 1111
[AR2-ospf-1111]area 1
[AR2-ospf-1111-area-0.0.0.1]network192.168.2.0 0.0.0.255
[AR2-ospf-1111-area-0.0.0.1]area0
#由於AR2上個的兩個端口不在同一個區域內需要分別進入區域宣告
[AR2-ospf-1111-area-0.0.0.0]network192.168.3.0 0.0.0.255
AR3配置
[AR3]ospf 1111
[AR3-ospf-1111]area 0
[AR3-ospf-1111-area-0.0.0.1]network 192.168.3.00.0.0.255
[AR3-ospf-1111-area-0.0.0.1]area 2
[AR3-ospf-1111-area-0.0.0.0]network192.168.4.0 0.0.0.255
AR4配置
[AR4]ospf 1111
[AR4-ospf-1111]area 2
[AR4-ospf-1111-area-0.0.0.1]network192.168.4.0 0.0.0.255
[AR4-ospf-1111-area-0.0.0.1]network 192.168.5.00.0.0.255
上述配置完成後使用pc1測試網絡連通性
Ospf檢測命令
[AR1]display ospf 1111 brief 查看ospf詳細信息
[AR1]display ospf interface all 查看ospf接口信息
[AR1]display ospf routing 查看ospf路由信息
OSPF協議主要優點
1、OSPF是真正的LOOP- FREE(無路由自環)路由協議。源自其算法本身的優點。(鏈路狀態及最短路徑樹算法)
2、OSPF收斂速度快:能夠在最短的時間內將路由變化傳遞到整個自治系統。
3、提出區域(area)劃分的概念,將自治系統劃分爲不同區域後,通過區域之間的對路由信息的摘要,大大減少了需傳遞的路由信息數量。也使得路由信息不會隨網絡規模的擴大而急劇膨脹。
4、將協議自身的開銷控制到最小。見下:
1)用於發現和維護鄰居關係的是定期發送的是不含路由信息的hello報文,非常短小。包含路由信息的報文時是觸發更新的機制。(有路由變化時纔會發送)。但爲了增強協議的健壯性,每1800秒全部重發一次。
2)在廣播網絡中,使用組播地址(而非廣播)發送報文,減少對其它不運行ospf 的網絡設備的干擾。
3)在各類可以多址訪問的網絡中(廣播,NBMA),通過選舉DR,使同網段的路由器之間的路由交換(同步)次數由 O(N*N)次減少爲 O (N)次。
4)提出NSSA區域的概念,使得NSSA區域內不再傳播引入的ASE路由。
5)在ABR(區域邊界路由器)上支持路由聚合,進一步減少區域間的路由信息傳遞。
6)在點到點接口類型中,通過配置按需撥號屬性(OSPF over On Demand Circuits),使得ospf不再定時發送hello報文及定期更新路由信息。只在網絡拓撲真正變化時才發送更新信息。
5、通過嚴格劃分路由的級別(共分四級),提供更可信的路由選擇。
6、良好的安全性,ospf支持基於接口的明文及md5 驗證。
7、OSPF適應各種規模的網絡,最多可達數千臺。