【計算機網絡原理·實驗·第六章】搭建動態路由環境-OSPF

OSPF協議-開放式最短路徑優先

這是一種計算某網狀結構中一個節點到另一個節點的最短路徑的算法。這個最短的度量值一般是距離,當然也可以是消費值、帶寬等。
在這裏插入圖片描述
上圖是按照消費爲度量來計算最短路徑,這裏的最短實際上是去某驛站消費最小。
在這裏插入圖片描述
直觀整理出這張表格後,開始分析和網絡的關係。我們可以把這些節點視爲網絡中的路由器,而小區名等這些可以認作網段。

OSPF協議基礎知識

在這裏插入圖片描述
1.Router-ID:活躍的端口IP的最大值。假設一個路由器有兩個端口,分別是A(192.168.1.1)&B(172.16.0.5)則會選擇A,因爲A的IP值大172<192;如果B變成了222.1.1.1則又會把B變成這個路由器的ID。總之,選擇IP地址大的活躍端口作爲路由ID,如果數值大的端口shutdown,則會選擇次之的較大端口作爲ID。

2.Cost開銷:帶寬高,開銷小
在這裏插入圖片描述
3.鏈路:運行在OPSF下的路由器的接口
4.LSA鏈路狀態:包含IP,子網掩碼,開銷值(度量值)等的信息,路由交換的不是路由表而是鏈路狀態。
5.鄰居:用於交換LSA。需要鄰居表裏相互有彼此,否則仍然不能交換鏈路狀態
在這裏插入圖片描述
每一個路由器會發送hello數據包來確定與自己直連的路由器的存在,在所有路由器獲得自己的鄰居信息後會再與非直連路由交換這些信息。交換完後所有的路由器就都能夠得到網絡拓撲,並且總結出鏈路狀態數據庫

交換路由信息後,每個路由上都有一個鏈路狀態表,記錄着網絡拓撲,然後就可以計算到其他網段哪一條路徑開銷最小。交換信息時,會在交換路徑信息之前,先確認各自路由狀態表中的路由器數量,如果路由器數量小於拓撲中實際存在的數量,則會優先交換路由數量和路由ID的信息,之後再交換路徑信息。

最後,路由器分別計算對於自己而言去其他網段的最短(最小開銷)路徑。
也就說每個路由器有三張表。
1.鄰居表:通過hello數據包記錄與自己直連的路由表
2.鏈路狀態表:交換路由信息後所有路由都有的表,記錄着網絡拓撲
3.路由表:每個路由器獨立計算,明確去其他網段的最佳路徑的表

數據包格式
在這裏插入圖片描述
問候包:發現並建立鄰居關係
數據庫描述包:給出鏈路狀態的摘要信息(自己目前鏈路狀態表有多少路由器,覈查路由器數目是否一致,不一致則少的添加至與多的一樣)
鏈路狀態請求包LSR:請求對方給出完整鏈路信息時使用的數據包。
鏈路狀態更新包LSU:響應請求包或網絡變動時告知其他路由器本路由的鏈路狀態信息。
鏈路狀態確認包LSAck:對LSU確認。

多區域

OSPF協議適用於大規模網絡,但是如果網絡規模過大,一旦出現網絡變動,開始逐個交換鏈路摘要、鏈路信息,然後重新計算最短路徑……這樣對性能的影響是非常大的。所以我們希望對這種狀態進行一個局部控制,讓這個變化影響局部而不是所有路由器。

多區域:把整個網絡劃分成好多區域,讓網絡變化產生影響時,只對局部路由更新上述修改過程,減少開銷。
在這裏插入圖片描述
圖中的R4 R5稱爲區域邊界路由器。他們的鏈路狀態數據庫有兩個,兩個區域內的鏈路狀態信息都有。
R3是自制系統邊界路由器,自制系統就是不同的ISP運營的網絡拓撲,因爲互聯網並不是由一家ISP運營,所以當不同ISP之間通信時,其他ISP使用的動態路由協議可能與自身的不同,要求有一定的轉換機制,讓不同的路由協議也能實現網絡交互。也就說像是RIP和OSPF下的網絡是可以互相通信的。

配置OSPF多區域網絡時,要注意區域必須與主幹區域相連,區域不能不連接主幹區域就連接非主幹區域。

實驗:配置OSPF實驗環境

本次是單區域實驗,後續會把多區域實驗補上。主幹區域的編號默認爲0。
實驗圖如下,配置所有路由直連網段的OSPF協議。
在這裏插入圖片描述

configure terminal
router ospf 1 
·這裏的序號可以不一致,可以每個路由使用不同的序號,這裏爲了方便記憶都用1
network IP 反轉子網掩碼 area 0 
·這是配置ospf協議的命令,工作在主幹區域0

R1:
在這裏插入圖片描述

在這裏插入圖片描述
其他同樣的命令。進行操作。

show ip route

在這裏插入圖片描述
可以看到路由表中的o,代表的ospf協議。
來解析一下[110/128]的意思:第一個值110是管理距離,RIP是120,直連是0,靜態路由是1,值越小越可靠。而128是途徑開銷的累計之和。
管理距離的作用:比如上圖中到4.0網段,下一跳給192.168.3.2,如果此時加一條靜態路由,下一跳給192.168.1.2,則會優先使用靜態路由的路徑。人工指定後,管理距離小的優先級最高。
路由器也可以同時運行多種協議,OSPF和RIP同時運行,最終選擇以管理距離小的協議爲準。也就說如果RIP協議規劃的路徑與OSPF不同時,遵循OSPF協議的規劃。
在這裏插入圖片描述
抓包工具也捕獲了對應類型的數據包
我們說了ospf協議有三張表

sh ip os n de 路由鄰居表
show ip ospf neighbor detail 鄰居信息
show ip ospf database router 鏈路狀態信息
show ip router 路由表

鄰居表:
在這裏插入圖片描述
鏈路狀態數據庫
在這裏插入圖片描述
路由表
在這裏插入圖片描述
詳細鏈路狀態數據庫:
在這裏插入圖片描述
首先記錄了這條信息來自於哪裏,來自於路由器ID爲192.168.20.1的。

在這裏插入圖片描述
記錄了鏈接信息,連接了幾個路由器,連接了哪些網段。我們通過圖來直觀看一下,確實如此,連接的網段和路由是一致的。
在這裏插入圖片描述

OSPF協議的健壯性

debug ip ospf event 監控ospf動態
undebug all 取消上一個命令
tracer IP  追蹤路由

先用PC1 PING PC2,然後追蹤路徑。此時斷開最佳路徑,看多長時間後找到備用路徑;然後恢復最佳路徑,看多長時間後恢復最佳路徑。最佳路徑的恢復時間明顯快於備用路徑的選擇時間。
斷開最佳路後的ospf動態:
在這裏插入圖片描述
可以逐條解讀。基本上就是英語的翻譯。可以知道數據包的去向。
在這裏插入圖片描述
恢復最佳路徑的時間明顯快於尋找備用路徑的時間。

RIP和OSPF協議有種觸類旁通的感覺。動態路由協議大多相似,驗證協議之間的區別和數據格式尤爲重要。

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