链路状态路由协议与OSPF
生活随笔
收集整理的這篇文章主要介紹了
链路状态路由协议与OSPF
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鏈路狀態路由算法(LS算法)
工作原理
- 每個路由器將自己的鏈路狀態信息洪泛到網絡上的所有路由器。tips:(每個路由器都洪泛會給網絡帶來負擔)
- 每個路由器最終會知道整個網絡的拓撲結構(LSDB)。
- 每個路由器使用Dijkstra最短路徑算法計算本路由器到其他路由器的最短路徑,更新路由表。
- 路由器的鏈路狀態發生變化時會繼續洪泛自身的鏈路狀態信息到其他路由器。
鏈路與鏈路狀態
鏈路的本質上是路由器上的一個接口
鏈路狀態是有關各條鏈路的狀態信息
鏈路狀態數據包洪泛
路由器一旦接收到來自相鄰路由器的LSP,立即將該LSP從除接收該LSP的接口以外的所有接口發出
Dijkstra算法(直接見圖)
Dijkstra算法分析
算法復雜度:n個節點
- 每次迭代需要檢查不在N的節點
- 最差的復雜度:n*(n - 1)/2次比較:O(n^2)
- 平均的復雜度:O(nlogn)
路由振蕩 - 假設,link cost = amount of carried traffic(鏈路代價與流量和有關),且鏈路代價的具有方向性,LS算法可能會讓分組一會逆時針轉發,一會順時針轉發,形成振蕩。
- 本質:同時執行最短路徑算法導致路由振蕩,可以采用隨機數解決同時問題
OSPF協議
概述
- Open Shortest Path First,開放式最短路徑優先路由協議
- 鏈路狀態路由算法,無路由自環
- 用于AS內部,屬于IGP
- 使用區域劃分,適用于大規模網絡
- 支持VLSM和CIDR
- 使用組播方式發送協議報文
- 支持驗證
- OSPF是基于IP的,協議號為89
- OSPF是典型的停止等待協議,自身實現了可靠傳輸
路由器標識(Router ID)
- 用于唯一確定OSPF路由器
- 一個32位的無符號整數,整個自治系統內唯一
- 若不手動配置,一般取該路由器的所有接口的IP地址的最大值(loopback地址優先)
OSPF的鏈路代價
一條OSPF鏈路的代價定義為:10^8/BandWidth
一條OSPF路由的代價為其經過的所有鏈路代價的總和
OSPF規定的網絡類型
| 廣播 | 以太網 |
| 非廣播多路訪問NBMA | 幀中繼、X.25 |
| 點到點 | PPP,HDLC |
| 點到多點 | 多個點到點鏈路的集合 |
全連通網絡的處理
選取DR和BDR
DR:指定路由器 (村長)
BDR:備份指定路由器 (副村長)
DR負責通告路由
BDR備份
選取規則
選取優先級最大的
選取router id 最大的
選取方式
投票制和終身制
OSPF的數據包格式
| Hello (不需要確認) | 用戶鄰居路由器之間建立和維護鄰接關系 |
| 數據庫描述包DBD | 描述每臺OSPF路由器的鏈路狀態數據庫的內容 |
| 鏈路狀態請求包LSR | 請求鏈路狀態數據庫的部分內容 |
| 鏈路狀態更新包LSU | 傳送鏈路狀態數據通告LSA給鄰居路由器 |
| 鏈路狀態確認包LSAck(不需要確認) | 確認鄰居發過來的LSA已經收到 |
OSPF劃分區域
目的:減少洪泛的范圍
工作方式:
- 同一個區域內部路由器之間使用鏈路狀態算法,洪泛的范圍限于一個區域內部。
- 不同區域之間的路由通過ABR(區域邊界路由器)負責通告(距離矢量算法)
- 必須要有骨干區域(area 0),且所有區域應當和骨干區域物理上直連,保證不會出現路由環路問題。
- 區域劃分可以和IP地址結合在ABR上通告匯總的路由。
總結
以上是生活随笔為你收集整理的链路状态路由协议与OSPF的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分类算法支持向量机(SVM) 简介与入门
- 下一篇: java-图像的几何变换