OPSF是應用最廣的路由協議,基本上,全部的IGP用到的都是OSPF,下面咱們看看它的「小祕密」算法
優勢:數據庫
•沒有跳數限制網絡
•使用組播更新變化的路由和網絡信息oop
•路由收斂速度較快性能
•以開銷(Cost)做爲度量值學習
•採用的SPF算法能夠有效的避免環路spa
•在互聯網上大量使用,是運用最普遍的路由協議3d
工做原理
blog
鄰居表創建、創建LSA樹、LSDB表創建、路由表接口
OSPF個區域之間通訊必須通過區域0
1.鄰居發現:以224.0.0.5組播的方式發送Hello報文發現鄰居
2.生成本身LSA信息,包含接口狀態、鏈路開銷、IP地址和掩碼
3.同步LSDB,也就是相互交換LSA
4.用SPF算法計算路由,以本身爲節點計算最短路徑樹
環路避免
區域內採用SPF算法,樹型拓撲,避免環路;
區域間採用星型拓撲,避免環路;
分區結構
不一樣區域之間通訊必須經過骨幹區域通訊,就算兩個區域直連也沒法經過OSPF通訊;
邊界路由器之間採用路由彙總,減小地址震盪的影響;
減小區域內的LSDB中的鏈路狀態信息,這樣就減小了對設備性能的要求;
路由器類型
區域內路由器(Internal Router):路由器所有接口處於一個區域內;
區域邊界路由器(ABR,Area Border Router):鏈接骨幹區域和非骨幹區域的路由器;
骨幹路由器(BR,Backbone Router):有接口在骨幹區域的路由器;
自治系統邊界路由器(ASBR,Autonomous System Border Router ):鏈接不一樣協議的路由器;
Route ID
運行OSPF必須得有,32位無符號比特,能夠手工配置也能夠,自動生成;
自動生成規則: 一、有Loopback接口,選最大的位Route ID
二、無論IP接口是否UP,選IP地址最大的爲Route ID(思科、銳捷選UP接口中IP地址最大的)
網絡類型
Broadcast(廣播型網絡),能夠用組播224.0.0.5和224.0.0.6發送協議報文
以太網和FDDI時使用
*NBMA (Non-Broadcast Multi-Access,非廣播多點可達網絡),幀中繼和ATM
*P2MP(Point-to-MultiPoint,點到多點)
P2P(Point-to-Point,點到點),PPP,HDLC鏈路層協議,組播224.0.0.5
報文類型
報文類型 |
做用 |
Hello |
創建鄰居關係 |
Database Description(DD或DBD) |
包含LSDB中的LSA的全部數據 |
Link State Request(LSR) |
收到DBD後跟本身的數據庫比較 |
Link State Update (LSU) |
鏈路狀態更新信息,迴應Resquest |
Link State Acknowledge(LSAck) |
對LSU報文進行確認 |
OSPF被IP協議封裝不在TCP層封裝怎麼保證可靠性
1.Hello:運行OSPF後會在區域不斷髮送Hello包
2.DDB:設置序列號保證可靠性
3.LSR:發送LSR報文後須要獲得LSU迴應,若是超時沒有收到則繼續發送LSR
4.LSU:LSAck確認報文
DR/BDR選舉:
只有在廣播型網絡和NBMA網絡採用DR選舉
1.首先比較Hello報文中攜帶的優先級優先級最高的被選舉爲DR,優先級次高的被選舉爲BDR-------優先級爲0的不參與選舉
2.優先級一致的狀況下,比較Router IDRouter ID越大越優先
保持穩定原則當DR/BDR已經選舉完畢,就算一臺具備更高優先級的路由器變爲有效,也不會替換該網段中已
經選舉的DR/BDR成爲新的DR/BDR。
選舉DR過於浪費時間,通常採用點到點網絡代替以太網把鏈接改爲p2p節省時間
鄰接關係創建過程:
1.在鄰居失效時間裏面沒有收到Hello包,爲Down(穩定狀態)
路由器互相發送Hello包發現本身不在鄰居表中,進入Init狀態
2.雙方相互發送Hello包,收到Hello包後確認對方在鄰居表中,進入2-way(穩定狀態)
3.接着發送空的DBD包,比較Route ID,進入ExStart(肯定主從關係)
4.交換DBD報文,進入Exchange
5.雙方比較DBD報文和本身LSDB的信息,進入Loading,發現DBD有本身沒有LSA放LSR請求
6.接收方接收到LSR,而後發送LSU
7.發送方接收LSU,同步完發送LSAck,進入Full
LSDB更新:
老化機制,默認1h,若該LSA在1h內沒有更新則丟棄
默認狀況,0.5h會刷新一次全部LSA,LSA序列號加1,刷新老化時間
補充說明
三種路由實現控制流量配置方法
靜態路由 |
RIP |
OSPF |
配置優先級 |
配置掩碼 |
設置開銷 |