1. 程式人生 > 其它 >OSPF動態路由協議筆記之(五) : 域間路由和虛連線配置

OSPF動態路由協議筆記之(五) : 域間路由和虛連線配置

本節筆記,主要介紹OSPF路由區域間傳遞過程(涉及第三類LSA:Network-Summary-LSA),理解區域間防環機制,以及掌握虛連線的配置過程。

OSPF動態路由協議筆記之(五) : 域間路由和虛連線配置

  隨著網路規模不斷擴大,結構也日趨複雜,路由器完成路由計算所消耗的記憶體、CPU資源也越來越多。

  另外,網路發生故障的可能性也隨之增加,如果區域內某處發生故障,整個區域內的路由器都要重新計算路由,這將大大增加路由器的負擔,降低網路執行的穩定性。面對單區域過大可能帶來的問題,OSPF協議又將如何應對呢?

  本節筆記,主要介紹OSPF路由區域間傳遞過程(涉及第三類LSA:Network-Summary-LSA),理解區域間防環機制,以及掌握虛連線的配置過程。

  第三類LSA:Network-Summary-LSA

  命令display ospf lsdb summary

  

  Network-Summary-LSA(三類LSA)中主要包括以下內容

  lLs id:目的網段地址。

  lAdv rtrABR的Router ID。

  lNet mask:目的網段的網路掩碼。

  lMetricABR到達目的網段的開銷值。

  區域間路由計算過程

  OSPF採用劃分區域的方式,將一個大網路劃分為多個相互連線的小網路。每個區域內的裝置只需同步所在區域內的鏈路狀態資料庫,一定程度上降低記憶體及CPU的消耗。

  

  (1)區域劃分

  區域內部路由器維護本區域內的鏈路狀態資訊並計算區域內的最優路徑

  

  劃分區域後,根據路由器所連線區域的情況,可劃分兩種路由器角色

  ① 區域內部路由器(Internal Router):該類裝置的所有介面都屬於同一個OSPF區域。

  ② 區域邊界路由器(Area Border Router):該類裝置介面分別連線兩個及兩個以上的不同區域。

  那麼不同區域間是如何進行通訊的呢?

  (2)區域間路由傳遞

  區域邊界路由器(ABR)作為區域間通訊的橋樑,同時維護所連線多個區域的鏈路狀態資料庫。ABR將一個區域內的鏈路狀態資訊轉化成路由資訊,然後釋出到鄰居區域。

  

  鏈路狀態資訊轉換成路由資訊其實就是將一類和二類LSA轉化成三類LSA的過程。注意,區域間的路由資訊在ABR上是雙向傳遞的。

  如上圖所示,以

Area 1中RTD上的192.168.1.0/24的網路為例:

  Step 1 其對應的一類LSA在Area 1中同步;

  Step 2 作為Area 1和Area 0之間ABR的RTB負責將192.168.1.0/24的一類LSA轉換成三類LSA並將此三類LSA傳送到Area 0。

  Step 3 作為Area 0和Area 2之間ABR的RTC,又重新生成一份三類LSA傳送到Area 2中,至此全OSPF區域內都收到192.168.1.0/24的路由資訊。

  Step 4 同理,RTE上192.168.2.0/24的路由資訊同步過程相同。

  區域內路由器接收描述其他區域網路資訊的三類LSA後,OSPF路由器又是如何基於三類LSA來計算出區域間路由的呢?

  (3)區域間路由計算

  ABR產生的三類LSA將用於計算區域間路由

  ① 根據三類LSA中的Adv rtr欄位,判斷出ABR

  ② 根據Ls id、Net mask、Metric欄位獲得ABR到達目的網路號/掩碼、開銷

  若多個ABR產生了指向相同目的網段的三類LSA,則根節點將根據本路由器到達目的網段的累計開銷進行比較,最終生成最小開銷路由。

  若根節點到達目的網段的累計開銷值相同,則產生等價負載的路由。

  

  如上圖所示,Area 0中RTA計算區域間路由過程中:

  Step 1:192.168.1.0/24和192.168.2.0/24的三類LSA中,Adv rtr分別是RTB(2.2.2.2)和RTC(3.3.3.3)。

  Step 2:RTB產生的三類LSA中,網路號/掩碼是192.168.1.0/24,開銷為1,RTC產生的三類LSA中,網路號/掩碼是192.168.2.0/24,開銷為1。

  Step 3:RTA到達192.168.1.0/24下一跳是RTB,開銷是2;RTA到達192.168.2.0/24下一跳是RTC,開銷是2。

  區域間路由防環機制

  網路中組網方式複雜多樣,可能會出現區域間路由環路的現象,以下舉出一個例子說明這種現象是如何產生的。

  

  (1)域間路由環路的產生

  

  ① RTB將Area 1中192.168.1.0/24網路的一類、二類LSA轉換成三類LSA,釋出到區域0中。

  ② RTC重新生成有關192.168.1.0/24網路的三類LSA併發布到Area 2中。

  ③ 同理,RTE也將有關192.168.1.0/24網路的三類LSA釋出到Area 3中。

  ④ RTD又將192.168.1.0/24網路的三類LSA釋出到Area 1中,從而形成了路由環路。

  OSPF協議為了避免上述情況,定義了骨幹區域與非骨幹區域的規則。每個非骨幹區域都必須與骨幹區域相連。

  (2)避免路由環路

  為防止區域間的環路OSPF定義了骨幹區域和非骨幹區域和三類LSA的傳遞規則

  

  ① OSPF劃分了骨幹區域和非骨幹區域,所有非骨幹區域均直接和骨幹區域相連且骨幹區域只有一個,非骨幹區域之間的通訊都要通過骨幹區域中轉,骨幹區域ID固定為0

  ② OSPF規定從骨幹區域傳來的三類LSA不再傳回骨幹區域

  ③ 對於前文提到的ABR,OSPF要求ABR裝置至少有一個介面屬於骨幹區域

  Q:若只有一個區域時,區域號配置為非0會有什麼問題?

  A:沒問題。

  如果OSPF協議是單區域時,可以不需要骨幹區域。此時路由傳遞基於OSPF LSA的域內傳遞規則,區域號可以配置為任意數字(可選範圍內0.0.0.0~255.255.255.255);

  如果OSPF協議是多區域時,必須配置骨幹區域,並且非骨幹區域要與骨幹區域相連(基於OSPF防環機制);如果是多區域但是非骨幹區域沒有與骨幹區域相連可以通過v-link或者GRE隧道來解決。

  虛連線v-link的作用以及配置

  新建網路按照區域間的防環規則進行部署,可以避免區域間環路問題。但是部分網路可能因早期規劃問題,區域間的連線關係違背了骨幹區域和非骨幹區域的規則。

  如下圖所示:由於某種原因,路由器RTC和RTE所在的Area 2並非與骨幹區域相連,違背了OSPF區域的連線規則,導致了OSPF協議在Area 2中無法正常工作。那麼如何在不更改網路拓撲結構的情況下解決問題呢?

  可以使用虛連線v-link的方式,將Area 0和Area 2在邏輯上相連起來

  

  骨幹區域必須是連續的,但是並不要求物理上連續,可以使用虛連線使骨幹區域邏輯上連續。

  虛連線可以在任意兩個區域邊界路由器上建立,但是要求這兩個區域邊界路由器都有埠連線到一個相同的非骨幹區域

  (1)配置舉例

  按照以上給出的例子進行拓撲規劃,如下圖所示。每個路由器的Router ID,相連的網段以及所在的區域都已標明。

  

  Step 1:基本配置,此處省略。OSPF域內配置舉例在“OSPF動態路由協議筆記之(三) : 域內基本配置和抓包分析”中已經進行過介紹。

  連結:https://www.cnblogs.com/zylSec/p/15701829.html

  Step 2:檢視現象。使用命令檢視ospf路由表。

  命令display ospf routing

  

  檢視RTD的ospf路由表,可以看出並沒有學習到來自Area 2的10.1.35.0/24網段的路由,原因是非骨幹區域Area 2沒有和骨幹區域Area 0直接相連。

  Step 3:使用v-link命令,在兩個區域之間建立虛連線。

  命令:vlink-peer x.x.x.x

  需要進入兩邊界(ABR)路由器都有一個埠連線的非骨幹區域Area 1中進行配置

  

  RTB與對端路由器RTC的建立虛連線,配置如下。

  

  同理,RTC也需要對應作配置,配置如下。

  

  (2)配置驗證

  如圖所示,在RTB和RTC之間建立了一條虛連線,以使Area 2穿越Area1連線到骨幹區域。此時再次檢視RTD的ospf路由表。

  

  發現可以正常學習到了Area 2網段的路由。實驗成功。

  下一節筆記,將會繼續介紹OSPF外部路由的計算過程(涉及到第四類LSA:ASBR-Summary-LSA和第五類LSA:AS-External-LSA),外部路由的型別以及次優外部路由的產生。

  Q一條Network-Summary-LSA可以描述多條路由資訊嗎?

  A:一條Network Summary LSA只能描述一條路由資訊

  Q:OSPF如何避免區域間的路由環路?

  AOSPF劃分了骨幹區域和非骨幹區域,所有非骨幹區域均直接和骨幹區域相連,且骨幹區域只有一個;非骨幹區域之間的通訊都要通過骨幹區域中轉;並規定從骨幹區域傳來的三類LSA不再傳回骨幹區域。