OSPF-4 鏈路狀態的數據結構和五種包
來自專欄網路工程師12 人贊了文章
一、鏈路狀態數據的結構
每個LSA條目都有老化定時器(aging timer),它存儲在鏈路狀態年齡(age)欄位中。在默認情況下,30分鐘(在年齡欄位中,以秒為單位)後,最初發送該條目的路由器發送一個鏈路狀態更新(LSU),其中包含序列號更高的LSA,以核實鏈路還處於活動狀態。LSA到達其最大壽命(maxage)60分鐘後,將被丟棄。LSU可以包含一個或多個LSA。與距離矢量路由器頻繁地定期發送整個路由表相比,這種LSA有效性驗證方法佔用的帶寬更少。
如下圖所示,收到LSU後,路由器這樣做。
- 如果LSDB中沒有這樣的條目,則將其加入到LSDB中,返回一個鏈路狀態確認(LSAck),將該信息擴散到其他路由器,運行SPF,並更新其路由表。
- 如果有這樣的條目,且LSU中包含的信息與之相同,則忽略它。
- 如果有這樣的條目,但是LSU中包含的信息更新,則將其加入到LSDB中,返回一個LSAck,將該信息擴散到其他路由器,運行SPF,並更新其路由表。
- 如果有這樣的條目,但LSU中包含的信息更舊,則將一個包含新信息的LSU發送給發送方。
二、OSPF的五種包
OSPF執行多種功能,其中包括:
填充好路由表後,鏈路的狀態可能發生變化。OSPF檢查到這種變化後,在區域內泛洪有關這種變化的信息(還可能將其泛洪到其它區域),以維護所有鄰接路由器的LSDB。
本文介紹如下表所示的5種OSPF分組,並闡述在什麼地方及如何使用它們來建立OSPF鄰接關係和維護OSPF拓撲資料庫。
這5種OSPF分組都被直接封裝到IP分組的有效負載中,如下圖所示,OSPF分組不使用傳輸控制協議(TCP)和用戶數據報協議(UDP)。OSPF要求使用可靠的分組傳輸機制,但由於沒有使用TCP,OSPF將使用確認分組(5類OSPF分組)來實現自己的確認機制
如上圖所示,IP報頭中的協議標識符89表示OSPF分組。所有OSPF分組開頭的報頭格式都相同,該報頭中包含以下欄位。
- 版本號:對於OSPF第2版(用於IPv4的最新OSPF版本),設置為2。後面會介紹用於IPv6的OSPF第3版。
- 分組類型:區分5種OSPF分組的長度,單位為位元組。
- 分組長度:OSPF分組的長度,單位為位元組。
- 路由器ID:標識最初發送分組的路由器。
- 區域ID:指出分組來自哪個區域。
- 校驗和:用於分組報頭錯誤檢測,確保OSPF分組在傳輸過程中未受損。
- 身份驗證類型:一個OSPF選項,指出路由器不進行身份驗證、使用明文密碼進行身份驗證還是使用加密的消息摘要5(MD5)進行身份驗證。
- 身份驗證:同身份驗證類型結合使用。
- 數據:包含的信息隨OSPF分組類型而異。
- 對於Hello分組,包含一個由已知鄰居組成的列表。
- 對於DBD分組,包含LSDB摘要,其中包括所有已知路由器的ID、最後使用的序列號以及一些其他欄位。
- 對於LSR分組,包含需要的LSU類型和能夠提供所需LSU的路由器ID。
- LSU分組,包含完整的LSA條目,一個OSPF更新分組中可以包含多個LSA條目。
- 對於LSAck分組,該欄位為空。
OSPF內容比較多.會繼續連載.....
推薦閱讀:
※OSFP協議特點詳解以及OSFP單多區域配置實例
※Android Http網路開發神兵利器
※ZT.RTL8723BE在win10系統下不支持承載網路,獵豹wifi老是掉線解決辦法
※第二章:應用層 |《計算機網路:自頂向下方法》
※數據鏈路層:廣播通信