OSPF基礎
前言
- 路由器 根據 路由表 轉發數據包,路由表項 可通過手動配置 和動態路由協議 生成。(兩種生成方式)
- 靜態路由比動態路由使用更少的帶寬,并且不占用CPU資源來計算和分析路由更新。當網絡結構比較簡單時,只需配置靜態路由就可以使網絡正常工作。但是當網絡發生故障或拓撲發生變化后,靜態路由不會自動更新,必須手動重新配置。(靜態優劣)
- 相比較于靜態路由,動態路由協議具有更強的可擴展性,具備更強的應變能力。(動態優勢)
- OSPF(開放式最短路徑優先)具有擴展性強,收斂速度快等特點,作為優秀的內部網關協議被廣泛使用。
動態路由協議簡介
動態路由協議的分類
- 按工作區域分類:
IGP(內部網關協議):RIP、OSPF、IS-IS
EGP(外部網關協議):BGP - 按工作機制分類:
距離矢量路由協議:RIP
鏈路狀態路由協議:OSPF、IS-IS - BGP使用一種基于距離矢量算法修改后的算法,該算法被稱為路徑矢量(Path Vector)算法。因此在某些場合下,BFP也被稱為路徑矢量路由協議。
- IGP在同一個自治系統內交換路由信息,IGP的主要目的時發現和計算自治域內的路由信息。
- EGP主要用于AS(自治系統)之間的互聯。(8、9對比記憶,一內一外)
距離矢量路由協議
- 運行距離矢量路由協議的路由器周期性地泛洪自己的路由表。通過路由的交互,每臺路由器都從相鄰的路由器學習到路由,并且加載進自己的路由表中,然后再通告給其他相鄰路由器。(學習-加載-通告)
- 對于網絡中的所有路由器而言,路由器并不清楚網絡的拓撲,只是簡單的知道要去往某個目的網段方向在哪里,開銷有多大。
鏈路狀態路由協議-LSA泛洪
- 鏈路狀態路由協議通告的是鏈路狀態,而不是路由信息。
- 運行鏈路狀態路由協議的路由器之間首先會建立鄰居關系,然后彼此之間開始交互LSA(鏈路狀態通告)。
- 鏈路狀態通告,可以簡單的理解為 每臺路由器都產生 一個描述自己直連接口狀態(包括接口的開銷、與鄰居路由器之間的關系等)的通告。
鏈路狀態路由協議-LSDB維護 - 每臺路由器都會產生LSA,路由器將接收到的LSA放入自己的LSDB(鏈路狀態數據庫)。路由器通過對LSDB中所存儲的LSA進行解析,進而了解全網拓撲。
鏈路狀態路由協議-SPF計算
-
每臺路由器基于LSDB,使用SPF(Shortest Path First,最短路徑優先)算法進行計算。每臺路由器都計算出一顆 以自己為根的、無環的、擁有最短路徑的“樹”。有了這顆樹,路由器就已經知道了到達所有網段的優選路徑。
-
SPF是OSPF路由協議的一個核心算法,用來在一個復雜的網絡中做出路由優選的決策。
鏈路狀態路由協議-路由表生成 -
路由器將計算出來的優選路徑,加載進自己的路由表(Routing Table)。
鏈路狀態路由協議總結
- 鏈路狀態路由協議有四個步驟:
第一步:建立相鄰路由器之間的鄰居關系。
第二步:鄰居之間交互鏈路狀態信息和同步LSDB。
第三步:進行優選路徑計算。
第四步:根據最短路徑樹生成路由表項加載進路由表。
2 OSPF簡介
OSPF概述 - OSPF是IETF定義的一種基于鏈路狀態的內部網關路由協議。目前針對IPv4協議使用的是OSPF Version 2;針對IPv6協議使用OSPF Version 3。
- OSPF有以下優點:
基于SPF算法,以“累計鏈路開銷”作為選錄參考值
采用組播形式收發部分協議報文
支持區域劃分
支持對等價路由進行負載分擔
支持報文認證
OSPF應用場景
- 接入層:利用光纖、雙絞線、同軸線纜、無線接入技術等 傳輸介質,實現與用戶連接,并進行業務和帶寬的分配。接入層目的是允許終端用戶連接到網絡,因此接入層交換機具有低成本和高端口密度特性。
- 匯聚層:為接入層提供基于策略的連接,如地址合并、協議過濾、路由服務、認證管理等。通過網段劃分實現與網絡隔離,可以防止網絡故障蔓延和影響到核心層。匯聚層同時也可以提供接入層虛擬網之間的互聯,控制和限制接入層對核心層的訪問,保證核心層的安全和穩定。
- 核心層:功能主要是實現骨干網絡之間的優化傳輸,核心層任務的重點通常是冗余能力、可靠性和高速的傳輸。
OSPF基礎術語-Router ID - Router ID用于再自治系統中唯一標識一臺運行OSPF的路由器,是一個32位的無符號整數。
- Router ID選舉規則如下:
手動配置OSPF路由器的Router ID(建議手動配置)。
如果沒有手動配置,則路由器使用Loopback接口中最大的IP地址作為Router ID。
如果沒有配置Loopbak接口,則路由器使用物理接口中最大的IP地址作為Router ID。(三句層層遞進) - Router ID一旦選定,之后如果要更改的話就需要重啟OSPF進程。
- 在實際工程中,推薦手工指定OSPF路由設備的Router ID。首先規劃出一個私有網段用于OSPF的Router ID選擇,例如:192.168.1.0/24.在企業OSPF進程前,在每個OSPF路由器上建立一個Loopback接口,使用一個32位掩碼的私有地址作為其IP地址,這個32位的私有地址即作為該路喲設備的Router ID。如果沒有特殊要求,這個Loopback接口地址可以不發比在OSPF網絡中。
OSPF基礎術語-區域 - OSPF Area用于標識一個OSPF的區域。
- 區域是從邏輯上將設備劃分為不同的組,每個組用區域號(Area ID)來標識。
- OSPF的區域ID是一個32bit的非負整數,按點分十進制的形式(與IPv4地址的格式一樣)呈現,例如Area0.0.0.1。為了簡便起見,也會采用十進制的形式表示。