【路由是跨網段通訊的必要條件】
路由指的是在網絡中,數據包從源主機傳輸到目的主機的路徑選擇過程。
路由通常涉及以下幾個關鍵元素:
1.路由器:是一種網絡設備,負責將數據包從一個網絡傳輸到另一個網絡。路由器根據路由表來決定數據包的下一跳。
2.路由表:是路由器中存儲的一張表,包含了到達不同網絡的目的地地址和相應的下一跳信息。
3.路由協議:分為動態路由協議和靜態路由協議。
? ? ? ? (1)動態路由協議允許路由器自動地相互通信,共享路由信息,并根據網絡的變化更新路由? ? ? ? ? ? ? ? ? ?表。
優點:
1.自適應性與靈活性:動態路由協議能夠自動適應網絡結構的變化,如鏈路故障、網絡擴展等,自動重新計算路由,無需人工干預。這使得網絡具有更高的靈活性和可擴展性。
2.復雜網絡管理:在大型網絡或復雜網絡環境中,動態路由協議能夠有效地管理路由信息,減少管理員的工作量。
3.資源優化:動態路由協議可以根據網絡的狀態和流量負載自動選擇最佳路徑,優化帶寬利用率和網絡性能。
4.故障恢復:動態路由協議能夠快速檢測到網絡故障,并自動尋找備用路徑,實現快速故障恢復,提高網絡的可靠性。
5.路由信息共享:動態路由協議允許路由器之間共享路由信息,使得整個網絡中的路由器都能夠獲得全局的網絡視圖。
6.支持多種路由算法:動態路由協議支持多種路由算法,如距離矢量路由算法(如RIP)和鏈路狀態路由算法(如OSPF),可以根據網絡需求選擇合適的算法。
7.網絡冗余:動態路由協議可以通過運行多條路徑來實現網絡冗余,提高網絡的可用性。
8.易于網絡擴展:動態路由協議可以輕松地適應網絡的增長和變化,無需重新配置靜態路由。
動態路由的這些優點使其成為中大型網絡和復雜網絡環境中的首選路由方案。限制:
動態路由協議也需要更多的計算資源和網絡帶寬,且在安全性方面可能不如靜態路由。
? ? ? ? (2)靜態路由則是網絡管理員手動配置的,不會自動更新。
優點:
1.簡單性與低開銷:靜態路由的配置相對簡單,不需要復雜的協議配置,只需手動指定路徑。它適用于小型網絡或拓撲穩定的環境。此外,靜態路由不占用帶寬、CPU或內存進行路由計算或信息交換,適合資源受限的設備。
2.精確控制與確定性:管理員可以完全決定數據流向,避免動態路由的不可預測性。這在金融、工業控制等對路徑穩定性要求高的場景中尤為重要。同時,手動配置的路徑不易因協議錯誤引發路由環路。
3.安全性更高:靜態路由不廣播路由信息,減少了被攻擊的風險,如路由欺騙或泛洪攻擊。
4.高優先級與冗余備份:靜態路由默認優先級高于大多數動態路由,確保關鍵路徑優先生效。通過配置浮動靜態路由(設置更高管理距離),可以在主鏈路故障時自動切換到備份路徑,提供冗余。
5.特定場景的必要性:在末節網絡(Stub Network)或網絡邊界等場景中,靜態路由是最高效的選擇。例如,分支機構通過默認路由指向總部,或企業網與ISP之間的默認路由。
6.臨時故障排除:在網絡故障時,管理員可手動配置靜態路由繞過問題區域,作為臨時解決方案。
靜態路由的這些優點使其在某些特定網絡環境中成為合適的選擇。限制:
在復雜或動態變化的網絡中,通常需要結合動態路由協議以實現靈活性和擴展性。
4.IP地址:是網絡中設備的唯一標識,用于定位設備在網絡中的位置。
5.子網掩碼:用于區分一個IP地址中的網絡部分和主機部分。
6.網絡拓撲:是指網絡中設備之間的連接方式,包括物理拓撲和邏輯拓撲。
7.路由算法:是路由器用來確定最佳路徑的算法,常見的有RIP、OSPF、BGP等。
8.收斂:是指在網絡中所有路由器更新其路由表,達到一致狀態的過程。
9.路由環路:是一種網絡故障,數據包在網絡上循環傳輸,無法到達目的地。
10.路由器ID(Router ID):在OSPF等路由協議中,每個路由器都需要有一個唯一的ID來標識自己。
動態路由
分類:
1.基于網絡范圍進行網絡劃分
(將網絡本身劃分為一個個AS自治系統,方便管理和維護)
-
內部網關協議(IGP):用于在同一個自治系統(AS)內部傳遞路由信息。常見的IGP包括:
-
距離矢量路由協議(Distance Vector Routing Protocols):如路由信息協議(RIP)和增強型內部網關路由協議(EIGRP)。這些協議使用距離矢量算法,根據跳數(hop count)或成本(cost)來選擇路由。
-
鏈路狀態路由協議(Link State Routing Protocols):如開放最短路徑優先協議(OSPF)和中間系統到中間系統協議(IS-IS)。這些協議使用鏈路狀態算法,通過交換網絡拓撲信息來計算最短路徑。
-
-
外部網關協議(EGP):用于在不同自治系統(AS)之間傳遞路由信息。最常見的外部網關協議是邊界網關協議(BGP)。BGP是一種路徑矢量協議,它考慮了路徑的多個屬性,如AS路徑長度、路由器ID等,來選擇最佳路由。
2.基于傳遞數據包是否攜帶子網掩碼:
-
有類別的動態路由協議(Classful Dynamic Routing Protocols):這類協議在傳遞路由信息時,不攜帶子網掩碼信息。它們假設網絡是按照傳統的A、B、C類IP地址進行劃分的。典型的有類別動態路由協議包括:
- 路由信息協議第1版(RIP Version 1):它是最早的動態路由協議之一,基于距離矢量算法,以跳數為度量標準。
-
無類別的動態路由協議(Classless Dynamic Routing Protocols):這類協議在傳遞路由信息時,會攜帶子網掩碼信息,因此它們能夠支持 Variable Length Subnet Masks (VLSM) 和路由匯總。無類別動態路由協議更加靈活,能夠更有效地利用IP地址空間。典型的無類別動態路由協議包括:
- 路由信息協議第2版(RIP Version 2):它是RIP的改進版,支持無類別路由和VLSM。
- 增強型內部網關路由協議(EIGRP):它是一種高級距離矢量路由協議,支持無類別路由和多種度量標準。
- 開放最短路徑優先協議(OSPF):它是一種鏈路狀態路由協議,支持無類別路由和VLSM。
- 邊界網關協議(BGP):它是互聯網的核心路由協議,支持無類別路由和復雜的路由策略。
?如何判斷一款動態路由協議的好壞
-
選路算法:? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RIP使用貝爾曼-福特算法(跳數:到達目標網段經過的路由器數量)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【補充:RIP協議傳遞COST值的方法---本地路由表中COST值+1】? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?OSPF使用最短路徑優先(SPF)算法(收集拓撲信息->構建有向圖->轉化為最短路徑樹->生成路由表)
-
收斂速度:? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?收斂是指網絡中所有設備獲取到整個網絡所有需要獲取的路由信息的過程。? ? ? ? ? ? ? ? ? ? ? ? ? ?RIP計時器:30S周期計時器,180S失效計時器,120S垃圾回收計時器? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?OSPF計時器:hello時間10S(廣播和多點接入網絡)/30S(非廣播多點接入網絡),dead時間為4倍的hello時間
-
資源占用:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?OSPF的優化措施。
??OSPF的優化措施:
鏈路狀態數據庫(LSDB)的壓縮:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??OSPF使用LSDB來存儲網絡中的鏈路狀態信息。為了減少內存使用,LSDB中的信息被壓縮存儲。例如,每個鏈路狀態廣告(LSA)只存儲一次,即使它被多個路由器所知。
部分更新:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?當網絡拓撲發生變化時,OSPF不會發送整個LSDB的更新,而是只發送發生變化的部分。這減少了網絡帶寬的占用。
Hello包的間隔:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??OSPF使用Hello包來建立和維護鄰居關系。Hello包的發送間隔可以根據網絡的需求進行調整,以減少CPU和帶寬的占用。
多播和單播:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??在廣播和多播網絡中,OSPF使用多播地址來發送Hello包和LSU。這減少了不必要的廣播風暴,節省了網絡帶寬。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在非廣播多點接入網絡中,OSPF使用單播地址來發送這些包。
鏈路狀態刷新:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?OSPF不會頻繁地刷新LSA,除非網絡拓撲發生變化。這減少了CPU和帶寬的占用。
區域劃分:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?OSPF支持區域劃分,這允許LSA只在特定的區域內傳播,而不是在整個網絡中傳播。這減少了LSDB的大小和網絡帶寬的占用。
路由歸納:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?OSPF支持路由歸納,這允許將多個子網匯總為一個較大的網絡。這減少了路由表的大小和CPU的占用。
OSPF?
?OSPF的V1、V2版本支持IPV4,V3版本支持IPV6
OSPF協議使用組播地址來傳遞其控制平面數據包,以減少網絡中的不必要的流量。
在OSPF中,主要有兩個組播地址且被用于不同的目的:
224.0.0.5 - All OSPF Routers:這個組播地址被用于向網絡中的所有OSPF路由器發送信息。當OSPF路由器發送Hello包來建立和維護鄰居關系時,它們會使用這個地址。此外,當路由器發送鏈路狀態更新(LSUs)來通告網絡拓撲變化時,也會使用這個地址,除非路由器正在使用組播抑制功能。
224.0.0.6 - All DR/BDR Routers:這個組播地址被用于向網絡中的所有指定路由器(DR)和備用指定路由器(BDR)發送信息。在廣播和多點接入網絡中,OSPF選舉一個DR和一個BDR來代表網絡中的所有路由器交換鏈路狀態信息。使用這個組播地址可以確保只有DR和BDR會收到這些信息,從而減少不必要的網絡流量。
?OSPF的工作包
-
Hello包:用于發現和維持OSPF鄰居關系。Hello包包含了路由器的ID、區域ID、認證信息、Hello/Dead間隔等參數。Hello包的發送周期由Hello間隔決定,如果在一個Dead間隔內沒有收到鄰居的Hello包,則認為鄰居已經失效。
-
Database Description(DBD)包:用于交換鏈路狀態數據庫的摘要信息。DBD包包含了鏈路狀態摘要的序列號、鏈路狀態類型和鏈路狀態ID。通過DBD包,路由器可以了解鄰居的LSDB數據庫(本地鏈路狀態數據庫)概況,從而決定是否需要交換詳細的鏈路狀態信息。
-
Link State Request(LSR)包:用于請求鄰居發送特定的鏈路狀態信息。當路由器發現自己的LSDB中有缺失或過期的鏈路狀態信息時,會發送LSR包來請求這些信息。
-
Link State Update(LSU)包:用于回復LSR請求信息的對應詳細的鏈路狀態信息。LSU包包含了鏈路狀態廣告(LSA)的完整內容,包括鏈路狀態類型、鏈路狀態ID、鏈路狀態序列號、鏈路狀態校驗和、廣告路由器等信息。LSU包用于同步LSDB,確保所有路由器的LSDB保持一致。
-
Link State Acknowledgment(LSAck)包:用于確認收到LSU包。當路由器收到LSU包時,會發送LSAck包來確認收到這些鏈路狀態信息。LSAck包包含了收到的LSA的序列號,以確保數據的完整性和可靠性。
OSPF的區域劃分
OSPF(開放式最短路徑優先)協議使用區域(Area)來劃分網絡:
-
區域ID:每個OSPF區域都有一個唯一的編號,稱為區域ID。區域ID是一個32位的二進制整數,通常以點分十進制格式表示(例如,區域ID 0.0.0.0通常被保留作為骨干區域的ID)。
-
骨干區域(Area 0):OSPF網絡中必須有一個且僅有一個骨干區域,通常稱為Area 0。骨干區域負責連接其他區域,并確保整個OSPF網絡中的路由信息能夠正確傳播。骨干區域是OSPF網絡的核心,所有其他區域都必須直接或通過虛鏈路連接到骨干區域。
-
非骨干區域:除了骨干區域外,OSPF網絡可以包含多個非骨干區域。非骨干區域必須直接連接到骨干區域,或者通過虛鏈路(Virtual Link)連接到骨干區域。
-
虛鏈路:虛鏈路是一種邏輯鏈路,用于連接兩個非骨干區域,或者連接一個非骨干區域和骨干區域。虛鏈路需要通過另一個區域進行傳輸,因此虛鏈路的兩端都必須是該區域的ABR(區域邊界路由器)。
-
區域邊界路由器(ABR):連接多個OSPF區域的 routers。ABR負責在不同區域之間傳遞路由信息,并將一個區域的路由信息匯總到另一個區域。(同時屬于兩個區域的設備。)
-
自治系統邊界路由器(ASBR):連接不同自治系統(AS)的路由器。ASBR負責在不同AS之間傳遞路由信息,并將外部路由信息引入到OSPF網絡中。
情況一:在網絡規模不大的時候,可以不進行區域劃分,這樣的OSPF網絡稱為單區域OSPF網絡。
情況二:在網絡規模很大的時候,一般需要進行區域劃分,減少拓撲信息的傳遞數量,這樣的OSPF網絡稱為多區域OSPF網絡。
RID路由器ID
RID是OSPF路由器的唯一標識,用于在OSPF域中標識路由器。
以下是關于RID的一些關鍵點:
-
RID的選擇:每個OSPF路由器都必須有一個唯一的RID。RID通常是路由器的IP地址,但也可以是其他32位的數值。如果路由器有多個IP地址,則通常選擇最大的IP地址作為RID。
-
RID的穩定性:一旦路由器啟動并選擇了RID,它應該保持穩定,直到重啟或重新配置。RID的更改可能會導致OSPF域中的不穩定和路由問題。
-
RID在OSPF中的作用:RID在OSPF中有多種用途,包括:
- 在OSPF Hello包中標識路由器。
- 在鏈路狀態廣告(LSA)中標識路由器。
- 在OSPF數據庫中標識路由器。
- 在OSPF路由計算中標識路由器。
-
RID的配置:RID可以通過路由器的配置文件進行配置,也可以自動選擇。如果未明確配置RID,則路由器通常會在擁有的IP地址中自動選擇最大的IP地址作為RID。如果接口沒有配置IP地址則協議無法工作。
-
RID的沖突:如果兩臺路由器具有相同的RID,則會導致OSPF域中的問題。為了避免這種情況,應確保每個路由器都具有唯一的RID。
-
RID的更改:如果需要更改路由器的RID,則應先關閉路由器,更改配置文件中的RID,然后重新啟動路由器。這會導致OSPF鄰居關系重建,并可能影響網絡的穩定性。
OSPF的狀態機
-
Down狀態:一旦啟動OSPF進程,并發出hello報文,則進入下一個狀態。————關閉
-
Init狀態:當收到的hello報文中存在本地的RID值,則進入下一個狀態。————初始化狀態
-
Two-Way狀態:鄰居關系建立的標志。————雙向通訊
-
Exstart狀態:使用未攜帶LSA摘要的DBD報文進行主從關系選舉,其中RID大的為主設備。————預啟動
-
Exchange狀態:使用攜帶LSA摘要信息的DBD報文進行信息共享。————準交換
-
Loading狀態:鄰居間使用LSR/LSU/LSAck三種報文來獲取完整的拓撲信息。————加載
-
?Full狀態:拓撲交換完成后進入該狀態,標志著鄰接關系的建立。————轉發
OSPF工作過程總結
1. 建立鄰居階段
-
在OSPF啟動前,路由器處于Down狀態;
-
在OSPF啟動后,路由器向所有運行了OSPF協議的接口發送hello包(目標地址為224.0.0.5)。此時路由器為init狀態;
-
路由器收到對端的hello包后,會發送包含鄰居信息(RID)的Hello包;
-
路由器在Hello包中發現自己的RID在鄰居列表時,則會進入2-way狀態,此刻鄰居關系建立,能夠雙向通訊。
一些可能導致OSPF鄰居建立失敗的原因:
網絡配置錯誤:確保OSPF進程ID、區域ID、網絡地址和子網掩碼在所有相關路由器上都是一致的。
物理連接問題:檢查路由器之間的物理連接,包括電纜、端口和交換機等。
接口配置錯誤:檢查參與OSPF的接口是否已正確配置,包括IP地址、子網掩碼和OSPF進程信息。
Hello協議和Dead Timer不匹配:OSPF鄰居之間的Hello協議和Dead Timer必須匹配。如果它們不匹配,鄰居關系將無法建立。
區域邊界路由器(ABR)配置錯誤:如果鄰居位于不同的OSPF區域,確保ABR正確配置。
路由器ID(Router ID)沖突:每個OSPF路由器必須有一個唯一的Router ID。如果兩個路由器具有相同的Router ID,鄰居關系將無法建立。
認證問題:如果OSPF區域啟用了認證,確保所有路由器都使用正確的認證類型和密鑰。
路由器性能問題:路由器性能問題或資源不足也可能導致OSPF鄰居建立失敗。
OSPF版本不兼容:確保所有路由器都運行相同版本的OSPF協議。
防火墻或ACL限制:確保沒有任何防火墻規則或訪問控制列表(ACL)阻止OSPF消息。
路由器固件或軟件缺陷:有時,路由器固件或軟件中的缺陷可能導致OSPF鄰居建立失敗。確保所有路由器都運行著最新版本的固件或軟件。
2. 條件匹配
- 鄰居關系建立后,進行條件匹配(路由器對收到的hello包中的參數進行匹配);
- 如果條件匹配失敗,則保持在鄰居關系狀態;
- 如果條件匹配成功,則進入ExStart狀態;
- 此階段僅通過Hello包進行保活。
?為了避免在廣播域中多臺OSPF設備導致的重復更新,浪費資源,所以OSPF在two-way狀態下使用Hello報文進行條件匹配。
3. 建立鄰接關系
-
條件匹配成功之后,開始建立鄰接關系。
-
路由器會使用不攜帶LSDB摘要信息的DD包進行DR和BDR的選舉;
-
選出DR和BDR后,設備進入Exchange狀態;
-
從設備優先發送DD報文摘要信息,主設備比對本地LSDB,發送LSR包請求缺失的LSA信息。
-
從設備發送攜帶詳細LSA信息的LSU包;
-
主設備使用LSACK進行確認,進入loading狀態;
-
當本地LSDB(鏈路狀態數據庫)建立完成時,進入FUll鄰接狀態。
4. 完成收斂
- 基于本地LSDB收集的LSA,使用SPF算法計算最短路徑樹。
- 生成路由表。
5. 收斂后的維護
- 使用Hello包每10秒發送一次,用于保活鄰居關系。
- OSPF每30分鐘進行一次周期更新。
觸發更新
1. 設備無法溝通
- 當設備無法溝通時,需要等待死亡時間(Dead Time)。
- 死亡時間過后,設備將清空所有改設備的拓撲信息并重新建立鄰居關系。
2. 新增網段
- 當網絡中新增網段時,將觸發OSPF更新。
3. 斷開網段
- 當網絡中某個網段斷開時,同樣會觸發OSPF更新。
角色選舉
- 選舉DR和BDR,其他設備為DR-other;
- DR 指定路由器:規定 DR 設備需要和其他所有設備建立鄰接關系;
- BDR 備份指定路由器:規定 BDR 設備需要和其他所有設備建立鄰接關系;
- 存在最大選舉時間,一般等于死亡時間。
- 默認是非搶占的,以保持網絡穩定性。
- 選舉基于設備優先級(范圍0-255,默認為1,越大越優)和設備RID(Router ID)。
- 可以通過配置
ospf dr-priority 0
來放棄選舉。 - 可以通過配置
ospf dr-priority 255
來鎖定選舉。 - 在通過配置更改DR優先級時需要重啟才會生效。
[AR1]reset ospf process? ? ? ? ? ? ? ? ? //重啟服務
DR和BDR設備之間使用組播地址224.0.0.6來同步數據庫。?
?OSPF報文
報文頭部
數據報文結構
HELLO報文
【子網掩碼在以太網環境下會校驗且必須一致,不一致會導致鄰居建立失敗。P2P網絡不做限制】
【hello時間和死亡時間必須一致】
DD報文
[AR1-GigabitEthernet0/0/0]ospf mtu-enable? ? ? ? ? ? ? ? ? ? ? ? ? // 協商接口最大傳輸數據量,默? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?認關閉協商功能,必須都開啟? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?才會協商。
I-- 選舉,標志該 DBD 包是進行主從關系選舉的 DBD 包。M-- 更多,主要保證對端設備能夠收到所有的DBD摘要信息。MS-- 只有主設備發送的 DBD 報文置為 1。
LSR--鏈路狀態請求報文?
利用LSA三元組,才能為一的標識一條LSA
LSU--鏈路狀態更新報文
LSACK報文
?OSPF接口類型與網絡類型
運行了OSPF協議的設備,接口工作在不同的網絡環境下會有不同的工作方式。所以協議在不同的網絡環境下對工作方式進行了分類。
1. 廣播多點訪問網絡(BMA - 以太網)
- 類型:廣播(Broadcast)
- 特點:需要進行DR和BDR選舉。
- MTU:接口允許發出的OSPF報文最大攜帶的數據量默認為1500字節。
- Hello時間:10秒
- 死亡時間(Dead時間):40秒
- 鄰居關系:允許建立多個鄰居關系。
2. 點到點網絡(P2P)
- 類型:點到點(P2P)
- 特點:只能建立一個鄰接關系,不需要進行DR和BDR選舉。
- Timers:Hello 10秒,Dead 40秒
- MTU:接口允許發出的OSPF報文最大攜帶的數據量默認為1500字節。
- COST:48(國內串口的傳輸速率為E1標準2.o48Mbps——參考帶寬/真實標準帶寬)
3. 非廣播多點訪問網絡(NBMA)
- 類型:非廣播多點訪問(NBMA)
- 特點:需要進行DR和BDR選舉。
- MTU:接口允許發出的OSPF報文最大攜帶的數據量默認為1500字節。
- Hello時間:30秒
- 死亡時間(Dead時間):120秒
- 鄰居關系:允許建立多個鄰居關系。
4. 點到多點網絡(P2MP)
- 類型:點到多點(P2MP)
- 特點:人工設計出來的接口網絡類型,沒有實際網絡類型對應。允許建立多個鄰居,不需要選舉DR和BDR。
- Hello時間:30秒
- 死亡時間(Dead時間):120秒。
- 鄰居關系:允許建立多個鄰居關系。
環回的cost為0是定義值,為了區別該網段為環回網段。
?COST
OSPF的開銷值附加在每一個運行了OSPF的接口上,OSPF衡量去往同一網段有多條路徑時的選路標準。計算方法:設備到達目標網段沿途的接口開銷值累加和。
OSPF接口開銷計算公式=參考帶寬/真實帶寬
計算結果小于1按1計算
計算結果大于1按整數部分計算
NBMA網絡的特殊情況
Attempt狀態機存在于NBMA網絡環境,當一端設備指定對端設備作為鄰居,但是對端設備沒用指定(因為不支持組播,所以不能發送數據包),所以無法收到對端設備發送的Hello報文,只能等待。
POLL輪詢計時器:當對端長時間未指定時,那么根據死亡時間對端設備判斷故障,回答down,但是由于可能對端設備只是沒有及時配置,所以為了后續能夠建立鄰居關系,NBMA做的特殊處理,當判斷對端設備故障僅降低hello報文的發送頻率為POLL輪詢時間。
接口網絡類型
[AR1]display ospf interfince serial 4/0/0? ? ? ? ? ? ? //查看接口網絡類型
[AR1-GigabitEthernet0/0/0]ospf network-type p2p? ? ? ? ? //修改接口網絡類型為P2P
OSPF的不規則區域
情況一:原理骨干的非骨干區域;
情況二:不連續骨干區域;(骨干區域不能被分割)
OSPF協議星型拓撲結構的規劃本身就是一種防環機制,且為了防環OSPF還規定非法的ABR設備不能傳遞區域之間的路由信息。
?解決不規則區域的方法
1.隧道(VPN)
讓非法設備ABR設備和區域0中的設備通過VPN技術邏輯上連接一根線纜,從而將不規則區域連接到骨干區域,以達到解決問題的結果。(被淘汰)
2虛鏈路
(OSPF協議專門研發出來解決不規則區域問題的方法)(一般作為臨時的解決方案)(半淘汰)
V-LINK實質上相當于非法的ABR設備存在屬于區域0的接口,所有V-LINK屬于區域0.
做法:
讓非法的ABR設備和合法的ABR設備之間建立虛鏈路,從而讓非法的ABR合法化,從而傳遞路由信息。【注意:V-LINK建立的對象是對端設備的RID】
[AR1-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2? ??
?V-LINK的局限性
1.V-LINK只能跨越一個區域;
2.V-LINK會造成一些資源浪費。
?3.多進程雙向重發布
(最終解決方案)
ASBR---自治系統邊界路由器---同時運行多種協議的設備。
【注意配置位置:ASBR設備的對應協議中進行配置:如果想要在A協議中重發布B協議的路由信息(引入B協議的路由信息),需要進入A協議中進行配置。】
[AR1-ospf-1]import-route ospf 2
?LSA鏈路狀態通告(拓撲信息)
1.手機LSA信息;
2.利用收集到的LSA信息生成有向圖;
3.利用SPF算法計算最短生成樹;
4.利用SPF算法計算路由信息。
LSA的類型
IPV4-OSPFv2環境下只使用6種LSA傳遞路由信息【1,2,3,4,5,7】
LSA頭部報文
-
Type(類型):
描述LSA的類型。類型為“Router”,這意味著這是一個路由器LSA。 -
Ls id(鏈路狀態ID):
標識該LSA的唯一性。 -
Adv rtr(廣告路由器):
生成此LSA的路由器的Router ID。 -
Ls age(鏈路狀態老化時間):
表示LSA存在的秒數。這個值從0開始,默認是1800s,隨著時間增加,直到達到最大年齡(3600秒),此時LSA會被從數據庫中刪除。 -
Len(長度):
表示LSA的總長度(包括頭部),以字節為單位。(用來區分那些是頭部內容,那些是LSA本身的參數) -
Options(選項):
描述LSA的選項。選項為“E”,表示該LSA支持外部路由能力。(包含特殊區域標記) -
Seq#(序列號):
用于檢測舊的和新的LSA版本。序列號每次LSA更新時都會增加。范圍是0X80000001-0X7FFFFFFE。 -
chksum(校驗和):
用于檢測LSA在傳輸過程中是否損壞。
序列號刷新機制
當 LSA 的序號來到最后一個序列, OSPF 會將該 LSA 老化時間設置為3600S ,用來刷新所有設備存儲的該 LSA ,之后會自動生成一條內容完全一致,但是序列號從新開始計算, 回到 0X80000001,老化時間更新為 0s。
類型1 LSA(Router LSA)
由每個OSPF路由器生成,描述路由器的鏈路狀態和接口參數。
作用:在區域內部傳遞拓撲信息,每一臺運行了OSPF協議的設備均會生成。
Type | Link ID | Data |
---|---|---|
Point-to-point | 鄰居的Router ID | 該網段上本地接口的IP地址 |
TransNet | DR的接口IP地址 | 該網段上本地接口的IP地址 |
StubNet | 該Stub網段的IP網絡地址 | 該Stub網段的網絡掩碼 |
Virtual | 虛連接鄰居的Router ID | 去往該虛連接鄰居的本地接口的IP地址 |
網絡地址(網絡前綴網絡號): 單指網段本身,不攜帶掩碼。例如: 192.168.1.0
類型2 LSA(Network LSA)
由DR(Designated Router)生成,描述廣播或NBMA(Non-Broadcast Multi-Access)網絡中的鏈路狀態。
作用:在區域內部作為1類LSA的補充信息,主要補充設備鏈路工作在MA網絡(以太網絡)中,該以太網的網段掩碼信息和該以太網中存在多少運行OSPF的設備。
通過 1 類和 2 類 LSA 就可以描述出整個區域內部的拓撲信息。
類型3 LSA(Network Summary LSA)
用于在不同區域之間傳遞路由信息,通常由ABR(Area Border Router)生成。
類型4 LSA(ASBR Summary LSA)
描述到ASBR(Autonomous System Boundary Router)的路由,由ABR生成并傳遞。
類型5 LSA(External LSA)
用于傳遞外部路由信息,由ASBR生成。
類型7 LSA(NSSA External LSA)
在NSSA(Not-So-Stubby Area)區域中使用,用于傳遞外部路由信息,由NSSA區域的ASBR生成。
一段鏈路有可能需要多條link同時描述
LSA類型 | LS ID | ADV - router | 作用范圍 | 傳遞信息 |
---|---|---|---|---|
Type-1 LSA router | 發出該LSA設備的RID | 發出該LSA設備的RID | 區域內部 | 發出該LSA的設備的拓撲信息 |
Type-2 LSA network | 該以太網DR設備的接口IP地址 | DR所在設備的RID | 區域內部 | 1類LSA的補充信息 |
Type-3 LSA summary | 區域之間路由由網段本身 | 區域之間的ABR設備 | 單區域 | 域間路由信息 |
Type-4 LSA | ASBR設備的RID | 區域之間的ABR設備 | 單區域 | ASBR設備的位置信息 |
Type-5 LSA | 域外網段本身 | ASBR設備 | 整個OSPF網絡 | 域外網段路由信息 |