1. 程式人生 > >3分鐘完全理解0SPF多區域間的概念

3分鐘完全理解0SPF多區域間的概念

同學會 創作 一個 改進 cto add 特性 是個 for

今天跟大家對於NSSA區域的雙ABR 7轉5的研究
----思科對於NSSA區域的優化

學習OSPF大家都知道它是層次化的網絡設計架構模型,簡單分為兩層,中間的backbone(area 0),規則區域連在backbone上,主要的好處是方便管理、控制,在區域邊界做匯總、過濾等操作,從而達到減小路由表;在路由在flapping的時候,減少它的泛洪範圍等。

不過OSPF也提供了特殊區域,做了自動的過濾,下面我們來聊一聊特殊區域中NSSA區域的LSA-7轉LSA-5的問題。

大家知道OSPF的NSSA區域實際上自動過濾了其他區域產生的外部LSA(LSA-5),而允許NSSA本區域產生自己的外部LSA,為了區別NSSA本區域產生的外部LSA和其他區域產生的外部LSA,所以設計了LSA-7。

但是這些外部的網絡,area 0和其他區域也要想訪問,就要轉換成它們認識的類型,所以在NSSA區域內部傳遞的外部LSA-7,經過ABR傳遞到area 0或其他區域,需要轉換成LSA-5。

技術分享圖片

下面我們來討論當NSSA雙ABR的時候LSA-7轉LSA-5的時候有什麽問題。拓撲如下:

技術分享圖片
R1、R2、R4互聯鏈路屬於NSSA區域area 1,R2、R3、R4互聯鏈路屬於area 0。R1上有一個lo1(11.11.11.0/24)重分布進OSPF。以上設備配置如下:

R1的配置:
技術分享圖片

R2的配置:
技術分享圖片

R3的配置:
技術分享圖片

R4的配置:
技術分享圖片

因為將R1的lo1重分布進OSPF後,R1會產生LSA-7,這個LSA-7會在area 1中泛洪,R2和R4都會收到,但是只有R4會進行LSA-7轉LSA-5(RID大的ABR進行7轉5)。

技術分享圖片

所以這時在R3上只能看到R4發過來的關於11.11.11.0/24的LSA-5。

技術分享圖片
學到這裏,大多數初學的同學都會記筆記:RID大的ABR進行7轉5。

但只有一部分同學會去探討為什麽會這樣呢?

因為LSA-7在產生的時候,會自動加上Forward-address。FA地址根據IOS的不一樣,可能稍微有些區別,但是不影響效果。

一般等於NSSA區域內部的ASBR上第一個或最後宣告進OSPF的loopback口的地址,或者是第一個或最後一個宣告進OSPF的物理接口的IP(當ASBR沒有loopback屬於OSPF的時候),當然最好是第一個宣告進去的,這樣不會造成LSA過多的泛洪。

R1上顯示:
技術分享圖片

而NSSA區域的ABR在進行LSA-7轉LSA-5的時候默認會把這個FA地址攜帶進area 0或其他規則區域。

在R3上顯示:
技術分享圖片

所以這時area0區域的設備或其他區域的設備可以通過LSA-1和LSA-2的幫助計算出去往NSSA區域ABR的距離,再加上通過LSA-5中所攜帶的FA地址相關的LSA-3而計算出本路由器去往NSSA區域的ASBR的FA地址的距離。

這個值就是所謂的forward-metric,本路由器去往真實ASBR的FA的距離。

技術分享圖片
技術分享圖片

所以OSPF的設計者覺得不管是幾個ABR進行LSA-7轉LSA-5,都能讓area 0的設備找到去往NSSA區域ASBR的最優路徑,那麽由一臺ABR進行LSA-7轉LSA-5就可以啦。(我猜測他們是這麽想的,嘿嘿嘿)

後期又提供了一個suppress-fa(抑制FA)的方法,也就是當LSA-7轉LSA-5的時候,不要攜帶FA地址,這樣可以通過ABR的RID來控制流量的走向。

技術分享圖片
技術分享圖片

以上講的內容,思科、華為實際上都是一樣的,學習到這裏後,肯定覺得OK,NSSA區域就是這樣的操作,我們記住它的特性就OK了。

實際上想想這樣的方式好嗎,當NSSA區域有2個ABR的時候,只有一個ABR進行LSA-7轉LSA-5,在我們這個圖上R3要訪問11.11.11.0/24網絡的時候,會找到最優路徑。

但是當這個ABR down掉以後,多長時間能收斂呢?

我們來做這麽一個實驗,將R4重啟後,看R3這臺設備多長時間可以收到新的從R2傳過來的相關於11.11.11.0/24的LSA-5。
(在R3上通過debug ip ospf flooding命令查看)

R4 重啟的時間:

技術分享圖片

R3上收到新LSA的時間
技術分享圖片

可以看到R4的重啟時間為15:58:05;R3接收到R4發來的age=3600的LSA-1為15:58:05;

收到R2傳過來的11.11.11.0/24 LSA-5並放入database數據庫的時間為15:58:11,中間間隔了6s,也就是說R3至少6s後才能收斂,將去往11.11.11.0/24網絡的數據包送給R2。

對於高端路由器轉發引擎和控制引擎分開,NSF沒啥大問題。但是有些設備不行,這樣會造成丟包。

思科在新的IOS中增加了一個feature,可以讓所有NSSA區域的ABR都進行LSA-7轉LSA-5。

技術分享圖片
技術分享圖片

在R3上顯示:
技術分享圖片

這樣不管哪個ABR有問題後,area 0或其他區域內部的路由器都能更加快速的收斂,個人覺得這是個非常不錯的改進。

創作:http://www.ie-lab.cn/

3分鐘完全理解0SPF多區域間的概念