文章目錄
OSPF動態路由協議基礎
前言
開放式最短路徑優先(Open Shortest Path First,OSPF)是目前廣泛使用的一種動態路由協議,它屬於鏈路狀態路由協議,具有路由變化收斂速度快、無路由環路、支持變長子網掩碼(VLSM)和彙總、層次區域劃分等優點。
適用於IPv4的OSPFv2協議定義於RFC 2328,RFC 5340定義了適用於IPv6的OSPFv3。
一:OSPF的基本概念和工作過程
1.1OSPF路由協議概述
1.1.1:自治系統(AS)
多個路由跑相同路由進程協議的區域稱爲AS區域系統,能自我管理。
1.1.2:內部網關路由協議(IGP)和外部網關路由協議(EGP)
在區域內部跑的進程協議,如:RIP,OSPF,ISIS等
在區域外跑的進程協議,如BGP
1.1.3OSPF是鏈路狀態路由協議
路由器向自己的直連網段發送信息庫,由此讓別的路由器學習到自己的直連網段和自己學習到別的路由器的直連網段,這樣就能進行收斂。
1.2OSPF路由協議工作過程
第一步,建立鄰接關係:A通過建立鄰接關係,學習到所有的鏈路狀態信息,即所有的網段信息。
第二步,A將學習到的鏈路狀態信息更新到鏈路狀態數據庫
第三步,A將鏈路狀態數據庫通過 Dijkstra(迪傑斯特拉)算法,算出A到達每一個地點的最短路徑,形成最短路徑樹。
第四步,A根據最短路徑樹生成路由表。
1.3:OSPF的基本概念
1.3.1ospf區域
爲了適應大型網絡,ospf在AS內劃分多個區域
每個ospf路由器只維護所在區域的完整鏈路狀態信息
區域id:區域id可以表示成一個十進制的數字,也可以表示成一個IP
骨幹區域(area0):只有一個,負責區域間路由信息傳播
非骨幹區域必須經過骨幹區域轉發,所有區域必須和骨幹區域直接連接。
1.3.2Router ID
ospf區域內唯一標識路由器的IP地址
Router ID選取規則
選取路由器loopback接口上數值最高的IP地址
如果沒有loopback接口,在物理端口中選取IP地址最高的
也可以使用router-id命令指定Router ID(32位公網IP地址)–常用
1.3.3DR和BDR
指定路由器 (DR):DR 負責使用該變化信息更新其它所有 OSPF 路由器(DRother)。
備用指定路由器 (BDR):BDR 會監控 DR 的狀態,並在當前 DR 發生故障時接替其角色。
其他路由器(DRothers)只和DR及BDR形成鄰接關係
其他路由器發送信息只能到達DR 和BDR(一個組播) ,DR再發送通告信息(第二個組播)。其中存在兩個組播信息。
DR 和 BDR 負責監控其他路由發來的信息。
1.3.4DR和BDR的選舉辦法
1.3.5DR和BDR的選舉過程
路由器的優先級可以影響一個選舉過程,但是它不能強制更換已經存在的DR或BDR路由器
1.3.6ospf組播地址
Drother會通過224.0.0.6向DR和BDR通告網絡狀態信息,DR會通過224.0.0.5向所有鄰居通告信息
1.3.7OSPF的度量值爲COST
COST=10^8/BW BW(帶寬) ,COST數制越小越好,說明帶寬越高
COST越低,帶寬越高,路徑越短。
最短路徑是基於接口指定的代價cost計算的
二:OSPF的數據包類型
2.1OSPF數據包
承載在IP數據包內,使用協議號89
2.2ospf協議5種報文分析
1、Hello 發現鄰居並建立和維護鄰居關係(Hello報文)
2、DataBase Description 檢查所有路由器的鏈路狀態數據庫(LSDB)是否同步(數據庫描述報文DBD)
3、Link-State Request 向另外一臺路由器請求特定的鏈路狀態記錄 (鏈路請求報文LSR)
4、Link-State Update 發送被請求的鏈路狀態記錄 (鏈路迴應報文LSU)
5、Link-State Acknowledgment 對其他類型的分組進行確認 (鏈路確認報文LSAck)
2.3七種狀態分析
三、ospf區域和路由器類型
3.1生成ospf多區域的原因
改善網絡的可擴展性
快速收斂
3.2通信量
3.3ospf的路由器類型
內部路由器:只保存本區域內的鏈路狀態信息
區域邊界路由器(ABR):用來連接區域0(骨幹區域)和其他區域
自治系統邊界路由器(ASBR):用來連接ospf的AS與外部其他的路由
3.4ospf的區域類型
骨幹區域area 0
非骨幹區域–根據能夠學習的路由種類來區分
標準區域
末梢區域(stub)
完全末梢區域(totally stubby)
非純末梢區域(NSSA)
四、鏈路狀態數據庫的組成
每個路由器都創建了由每個接口、對應的相鄰節點和接口速度組成的數據庫
鏈路狀態數據庫中每個條目稱爲LSA(鏈路狀態通告),常見的有六種LSA類型(注意是沒有type 6的)