理解OSPF區域(試讀連載五)

如下內容摘自筆者編著的《路由器配置與管理徹底手冊——Cisco篇》一書。目前該書與《路由器配置與管理徹底手冊——H3C篇》圖書一塊兒正在接受最優惠的7折預訂(限前300名,目前只有幾十個名額),預訂聯繫QQ:93220994數據庫

在進行OSPF路由方案部署過程當中,OSPF的各類區域是最難理解的。它們之間到底有什麼區別和做用呢?本文將爲你們一一解答。網絡

 8.1.3 Backbone(骨幹)區域 併發

在一個OSPF網絡中,能夠包括多種區域,其中就有三種常見的特殊區域,即就是骨幹區域(Backbone Area)、末梢區域(Stub Area)和非純Stub區域(No Stotal Stub area,NSSA),固然還能夠包括其它標準區域。OSPF網絡中的區域是以區域ID進行標識的,區域ID爲0的區域規定爲骨幹區域。這幾類區域如圖8-4所示。ide

clip_p_w_picpath002

圖8-4 OSPF主要區域類型示例this

一個OSPF互聯網絡,不管有沒有劃分區域,老是至少有一個骨幹區域。骨幹區域有一個ID 0.0.0.0,也稱之爲區域0。另外,骨幹區域必須是連續的(也就是中間不會越過其餘區域),也要求其他區域必須與骨幹區域直接相連(但事實上,有時並不必定會這樣,因此也就有了下面將要介紹的「虛擬鏈路」技術)。骨幹區域通常爲區域0(Area 0),其主要工做是在其他區域間傳遞路由信息。spa

骨幹區域做爲區域間傳輸通訊和分佈路由信息的中心。區域間的通訊先要被路由到骨幹區域,而後再路由到目的區域,最後被路由到目的區域中的主機。在骨幹區域中的路由器通告他們區域內的彙總路由到骨幹區域中的其餘路由器。這些彙總通告在區域內路由器泛洪,因此在區域中的每臺路由器有一個反映在它所在區域內路由可用的路由表,這個路由與AS中其餘區域的ABR彙總通告相對應。設計

如在本章前面的圖8-1中,R1使用一個彙總通告向全部骨幹路由器(R2和R3)通告Area 0.0.0.1中的全部路由。R1從R2和R3接收匯總通告。R1配置了Area 0.0.0.0中的彙總通告信息,經過泛洪,R1把這個彙總路由信息傳播到Area 0.0.0.1內全部路由器上。在Area 0.0.0.1內的每一個路由器,來自Areas 0.0.0.0、0.0.0.2和0.0.0.3區域的彙總路由信息共同完成路由表的計算。blog

在實際網絡中,可能會存在骨幹區域不連續,或者某一個區域與骨幹區域物理不相連的狀況,此時系統管理員能夠經過設置虛擬鏈路(Virtual Link)的方法來解決(參見圖8-4)。虛擬鏈路存在於兩個路由器之間,這兩個路由器都有一個端口與同一個非骨幹區域(這個區域是處於骨幹區域和某個不直接與骨幹區域相連的區域之間)相連,虛擬鏈路使該區域與骨幹區域間創建一個邏輯聯接點。虛擬鏈路被認爲是屬於骨幹區域(至關於骨幹區域的延伸),在OSPF路由協議看來,虛擬鏈路兩端的兩個路由器被一個點對點的鏈路連在一塊兒。並且,在OSPF路由協議中,經過虛擬鏈路的路由信息是做爲域內路由來看待的。該虛擬鏈路必須創建在兩個區域邊界路由器之間,而且其中一個區域邊界路由器必須屬於骨幹區域。接口

8.1.4 Stub(末梢)區域 ip

經過前面對OSPF區域概念的瞭解能夠知道,在劃分了區域以後,OSPF網絡中的非骨幹區域中的路由器對於到外部區域的路由,必定要經過ABR(區域邊界路由器)來轉發,或者說對於區域內的路由器來講,ABR是一個通往外部世界的必經之路。既然如此,對於區域內的路由器來講,就沒有必要知道通往外部區域的詳細路由了,只要由ABR向該區域發佈一條默認路由來指導報文的發送路徑便可。這樣在區域內的路由器中就只須要爲數很少的區域內路由和一條指向ABR的默認路由(Default-Route),使區域內的路由表簡化。並且不管區域外的路由如何變化,都不會影響到區域內路由器這個簡單的路由表。這就是OSPF路由協議中「Stub Area」(末梢區域)的設計理念。Stub區域的ABR不容許注入Type5 LSA(有關OSPF LSA類型將在本章後面具體介紹),在這些區域中路由器的路由表規模以及路由信息傳遞的數量都會大大減小,同時也使得該區域不受外部AS路由的影響。

一個Stub區域能夠包含一個入口/出口(也就是一個ABR),或者在任一ABR能夠被用於到達外部路由目標時,還可包含多個ABR。對於多ABR的Stub區域,外部路由是經過一個區域外的ASBR進行通告的。AS外部路由器不會被泛洪到,或者經過Stub區域。在一個Stub區域中的全部到達外部網絡的路由是經過一個默認路由(0.0.0.0 0.0.0.0)來實現的。這樣,在一個Stub區域中的路由器的路由表中就只有一個路由到全部AS外部位置的入口。

爲了建立默認路由,Stub區域的ABR通行一個默認路由到Stub區域。默認路由被泛洪到這個Stub區域內的全部路由器上,可是不會泛洪到Stub區域外。默認路由是用於一個Stub區域中的路由器爲任一不可到達AS內部的目的IP地址提供路由。在Stub區域中的全部路由器必須被配置,以便它們不在Stub區域內導入或泛洪AS外部路由。因此,在一個Stub區域中的全部路由器接口上的全部區域配置必須配置Stub區域。例如,圖8-5中的Area 0.0.0.3被配置爲一個Stub區域,由於全部外部通訊必須它的單個ABR——R3。R3通告一個默認路由分佈在內部區域Area 0.0.0.3,而不是在區域內泛洪AS外部網絡。

clip_p_w_picpath004

圖8-5 OSPF Stub區域示例

在Stub區域中規定不接收外部AS的LSA,也不向外部AS發送區域內部LSA,即Stub區域中不注入ASE(自治系統外部)路由。Stub區域必定是非骨幹區域和非轉換區域(能夠配置虛鏈接的區域),由於它不接收也不發送LSA。而且在Stub區域中不傳遞Type 5類型(AS外部LSA)的LSA(有關LSA類型將在本節後面介紹)。本節前面的圖8-4顯示了骨幹區域、Stub區域,以及其餘標準區域之間的關係。Area 0爲骨幹區域,area 3是Stub區域,area 2爲一個標準OSPF區域。同時在這個示例中Area 2區域並無與骨幹區域Area 0直接相連,這時就經過在兩個區域的邊界路由器之間創建的虛擬鏈路進行直接通訊。Area 1是一個轉發區域。

因爲Stub區域一般位於OSPF網絡末端,這些區域內的路由器一般是由一些處理能力有限的低端路由器組成,因此處於Stub區域內的這些低端設備既不須要保存龐大的路由表,也不須要常常性的進行路由計算。這樣作有利於減少Stub區域中內部路由器上的鏈路狀態數據庫的大小及存儲器的使用,提升路由器計算路由表的速度。

當一個OSPF的區域只存在一個區域出口點(只與一個其餘區域鏈接)時,咱們能夠將該區域配置成一個Stub區域。這時,該區域的邊界路由器會對域內通告默認路由信息。須要注意的是,一個Stub區域中的全部路由器都必須知道自身屬於該區域,不然Stub區域的設置不會起做用。另外,針對Stub區域還有兩點須要注意:一是Stub區域中不容許存在虛擬鏈路,這樣就不會做爲骨幹區域的延伸;二是Stub區域中不容許存在ASBR,不然這個AS中的LSA沒法傳播到另外一個AS中。

8.1.5 Totally Stub(徹底末梢)區域和NSSA(非純末梢)區域

上節介紹的Stub區域是一類特殊的OSPF區域,這類區域不接收或擴散Type-5類型LSA(AS-external-LSAs),對於產生大量Type-5 LSA(外部AS LSA)的網絡,這種處理方式可以有效減少Stub區域內路由器的LSDB大小,並緩解SPF運算對路由器資源的佔用。一般狀況下,Stub區域位於自治系統邊緣區域。爲保證Stub區域去往自治系統外的報文能被正確轉發,Stub區域的ABR(區域邊界路由器)將經過Summary-LSA(彙總鏈路狀態通告)向本區域內發佈一條默認路由,而且只在本區域泛洪。爲了進一步減小Stub區域中路由器的路由表規模以及路由信息傳遞的數量,能夠將該區域配置爲Totally Stub(徹底末梢)區域,該區域的ABR不會將區域間的路由信息和外部路由信息傳遞到本區域。

1. 徹底Stub區域

這裏所說的徹底Stub區域(Totally Stub,或者Stub no-summary)是在Stub區域的基礎上(即阻止了Type 5 LSA包的基礎上)再對其餘ABR通告的網絡彙總LSA(即Type 3類型LSA)也進行了阻隔,不接收區域間路由通告。其ABR僅經過網絡彙總LSA通告一個默認路由,使用這個默認路由到達OSPF自治系統外部的目的地址。也就是說,徹底Stub區域同時不容許Type 三、4或5三類LSA注入,但默認彙總路由除外。

若要將一個區域定義爲Stub區域,則在區域內全部路由器中使用「area xx stub」命令;若要定義徹底Stub區域,使用OSPF路由器配置命令「area xx stub no-summary」命令。

2. NSSA區域

Stub區域雖然爲合理的規劃網絡描繪了美好的前景,但在實際的組網中利用率並不高(Stub區域通常只存在於網絡邊緣),未免遺憾。但此時的OSPF協議已經基本成型,不可能再作大的修改。爲了彌補缺陷,協議設計者提出了一種新的概念NSSA(not-so-Stubby area,非純末梢區域),而且做爲OSPF協議的一種擴展屬性單獨在RFC 1587中描述。NSSA能夠說是對原來的Stub區域要求有所放寬,使它能夠在更多網絡環境中獲得應用。

NSSA區域規定,AS外的ASE路由不能夠進入到NSSA區域中,可是NSSA區域內的路由器引入的ASE路由(NSSA區域中能夠鏈接ASBR)能夠在NSSA中泛洪併發送到區域以外。這樣,在NSSA區域中取消了原來Stub區域中關於ASE的雙向傳播的限制(區域外的進不來,區域裏的也出不去),改成單向限制(區域外的進不來,區域裏的能出去)。若要定義NSSA區域,使用OSPF路由器配置命令「area xx nssa」命令。

爲了解決ASE單向傳遞的問題,NSSA中從新定義了一種LSA——Type 7類型的LSA(NSSA外部LSA),做爲區域內的路由器引入外部路由時使用。該類型的LSA除了類型標識與Type 5不相同以外,其它內容基本同樣。這樣區域內的路由器就能夠經過LSA的類型來判斷是否該路由來自本區域內。但因爲Type 7類的LSA是新定義的,對於不支持NSSA屬性的路由器沒法識別,因此協議規定:在NSSA的ABR上將NSSA內部產生的Type 7類型的LSA轉化爲Type 5類型的LSA再發布出去,並同時更改LSA的發佈者爲ABR本身。這樣NSSA區域外的路由器就能夠徹底不用支持該屬性。在NSSA區域內的全部路由器(包括NSSA的ABR)必須支持Type 7類型的LSA屬性,而自治系統中的其餘路由器則不須要。

總的來講,NSSA區域不容許Type 5 LSA,但在NSSA ABR上轉換爲Type 5的Type 7 LSA仍是能夠經過的。

圖8-6是一個包含NSSA區域的OSPF網絡示例。NSSA所對應的區域ID爲1,它與骨幹區域0相連,同時它又與另兩個自治系統的路由網絡(分別是運行IGRP和RIP路由協議的)相連。此時,外部區域和外部AS的路由信息不能通告到NSSA區域中,但NSSA中的路由信息能夠向外發佈。

clip_p_w_picpath006

圖8-6 OSPF NSSA區域示例

相關文章
相關標籤/搜索