開放最短路徑優先協議ospf
ospf是鏈路狀態行路由協議 組播更新報文224.0.0.5與224.0.0.6
ospf的網路型別有:
點到點網路:點到點網路上的有效鄰居總是可以形成鄰接關係,此網路ospf資料包的組播地址是224.0.0.5
廣播型網路:此網路型別需要選取DR與BDR ,所有始發於DR、BDR的ospf資料包組播地址是224.0.0.5,
其他路由器的ospf資料包組播地址是224.0.0.6
NBMA網路:此網路沒有轉發廣播資料包的能力的,因此使用偽廣播(單播)
點到多點:多個點到點的集合
虛鏈路: 解決骨幹區域與非骨幹區域相連問題
跨層封裝到3層,協議號89;觸發更新、週期更新(30min),存在ACK和hello機制,但依然每30min週期一次,作用在於核查;
僅支援等開銷負載均衡;需要結構化的部署----區域劃分、地址規劃
一、OSPF的資料包
Hello 用於鄰居的發現、建立、保活
DBD 資料庫描述表 相當於資料庫目錄
LSR 鏈路狀態請求 獲取未知LSA
LSU 鏈路狀態更新 攜帶各種LSA,用於應答LSR
LSack 鏈路狀態確認 可靠性使用
二、OSPF的狀態機:鄰居間關係的各個階段
Down: 一旦本地發出hello包進行下一狀態
Init 初始化:接收到的hello包中若存在本地的RID,那麼進入下一狀態
2way雙向通訊:鄰居關係建立的標誌
條件匹配:1、點到點網路直接進入下一狀態
2、MA網路將進行DR/BR選舉,非DR/BDR間不能進入下一狀態;
Exstart 預啟動:使用類似hello 的DBD包來進行主從關係選舉,RID數值大為主;
主優先進入下一狀態
Exchange 準交換:使用真實的DBD來共享資料庫目錄,需要ACK確認;
Loading載入: 使用LSR/LSU/LAack來獲取未知的LSA資訊;
Full轉發:鄰接關係建立的標誌;
三、OSPF的工作過程:
啟動協議後,本地向所有鄰居使用224.0.0.5組播發出hello包,在收集到其他鄰居的hello包後,若鄰居的包中存在本地RID,那麼鄰居關係建立,生成鄰居表;
條件匹配:匹配失敗將停留於鄰居關係,僅hello包週期保活即可;
匹配成功可以建立鄰接關係;
鄰接關係間先使用DBD來共享拓撲目錄,之後使用LSR/LSU/LSack來獲取未知的LSA資訊,生成LSDB---資料表中;
資料庫建立完成後,本地基於SPF最短路徑選路規則,計算本地到達所有未知網段的最短路徑,然後將其載入到路由表中;
收斂完成後,hello包週期保活;每30min週期使用DBD進行比對;若比對結果一致,繼續保活即可;若不一致將使用LSR/LSU/LSack來獲取未知的資訊;
結構突變:
- 新增 ---直連新增網段裝置使用DBD告知鄰居
- 斷開 ---直連斷開網段裝置使用DBD告知鄰居
- 斷電,無響應---dead time到時刪除鄰居資訊