1、OSPF的特色
一、OSPF是一種無類別鏈路狀態路由協議,跨層封裝到三層,協議號89;
二、組播地址:224.0.0.5(BDR組播地址) 和224.0.0.6(DR的組播地址);
三、基於拓撲工做,更新量大——須要結構化部署——區域劃分、地址劃分;
四、收斂速度極快,但大型網絡配置很複雜。
五、OSPF度量:從源到目的全部出接口的度量值,和接口帶寬反比(10^8/帶寬)算法
2、OSPF的5種數據包
一、Hello:發現、創建、保活鄰居關係,hello time是10s;
二、DBD:數據庫描述包,檢查路由器的數據庫之間是否同步;
三、LSR:鏈路狀態請求包,向其餘角色請求發送特定的LSA;
四、LSU:鏈路狀態更新包,對LSA洪泛;負責把LSR請求的LSA信息封裝到LSU中;
五、LSACK:鏈路狀態確認,路由器必須對每一個收到的LSA進行LSACK確認,但能夠用一個LSACK確認多個LSA。數據庫
3、OSPF的狀態機
OSPF在創建時,存在如下狀態:
一、Down:本地一旦發出hello包就會進入下一狀態;
二、Init 初始化:本地接收到的hello包中存在本地的RID進入下一狀態;
三、Two-way 雙向通訊:鄰居關係創建的標誌;
條件匹配:點到點網絡直接進入下一狀態;MA網絡將進行DR/BDR的選舉(40s),非DR/BDR不得進入下一狀態;
四、Exstart 預啓動:使用相似hello的DBD進行主從關係選舉,RID大爲主,主優先進入下一狀態;
五、Exchange 準交換:使用真實的DBD包進行數據庫目錄共享,須要ack;
六、Loading 加載:使用LSR/LSU/LSack獲取未知的LSA信息;
七、Full 轉發:鄰接關係創建的標誌。網絡
4、OSPF的工做原理
ospf配置完成後,本地使用hello包創建鄰居關係,生成鄰居表;而後進行條件匹配,匹配失敗者保持鄰居關係,僅hello週期保活;
條件匹配成功的,將使用DBD/LSR/LSU/LSACK獲取未知的LSA信息,當收集完網絡中全部的LSA後,生成LSDB鏈路狀態數據庫表;
以後使用SPF算法,計算本地到達未知網段的最佳路由(cost值之和最小的路徑),將其加載到路由表中。
其實,在生成LSDB後,會啓動2次SPF算法:
第一次啓用SPF算法,生成以本身爲根的最優路徑樹;
第二次啓用SPF算法,計算到達未知網段的最佳路徑,加載到路由表中。ide
5、OSPF的三張表
一、 鄰居表:列出每臺路由器所有已經創建鄰接關係的鄰居路由器
二、 鏈路狀態數據庫(拓撲表):列出網絡中其餘路由器的信息,由此顯示了全網的網絡拓撲
三、 路由表:列出經過SPF算法計算出到達每一個相連網絡的最佳路徑接口
6、OSPF的接口網絡類型
一、 點到點: DA 224. 0. 0. 5(即便設置nei ghbor也組播更新),一對路由器造成鄰接關係。無DR,每一個子接口屬於不一樣IP子網。
二、 點到多點: DA: 224. 0.0. 5 (即便設置neighbor也組播更新),無DR,同一個IP子網。Ptp和ptmp沒法造成鄰居(在PTMP中hello-interval 30 dead -interval 120)
三、 點到多點非廣播: DA: 單播,無DR, 同一IP子網。
四、 NBMA: DA:單播,選DR (DR和BDR必須與其餘全部路由器直接相連),同- -IP子網。全互聯或部分互聯。
五、 廣播:選舉DR,全部路由器發信息到224.0.0.6 (DR監聽這地址),而後DR發送信息到224.0.0.5,DR與全部路由器創建鄰接關係,全部路由器之間到2way狀態(即便設置neighbor也組播更新)。同一IP子網,全互聯或部分互聯。
六、 特色總結:
點家族都不用選舉DR和BDR
多路訪問都須要選舉DR和BDR
非廣播都要手動指定鄰居,非廣播都是單播更新
neighbor命令後指定的cost只有在非廣播下才有效路由
7、OSPF的度量值
一、 COST(1-65535) :從發送端到目的地出方向的代價之和。Ip ospf cost
二、 思科計算度量方法爲: 10^8/帶寬(不能爲小於1的數,小於都爲1)例如: 10^8/1544Kbit=64修改參考帶寬:若是接口帶寬大於10的8次方,那麼都爲1。
三、 默認參考帶寬爲100M,也就是10的8次方。
四、在出接口與下一跳路由的入接口修改參考帶寬。
注意:參考帶寬要在全部0SPF路由器修改。不然帶寬計算不一致部署