原理
從D-V算法到鏈路狀態算法
RIP作為最古老的
動態路由協定,使用D-V算法來計算路由。由於當時的網路環境非常簡單,所以RIP協定的設計思想也是簡潔為本,只求完成最基本的功能。這樣在RIP套用於大型拓撲複雜的網路時,就會出現效率不高、收斂慢、路由自環等問題。其中尤以路由自環的危害最大。此時必須有新的
路由協定來適應日益複雜的網路,而且新的路由協定必須要解決RIP遇到的所有問題。由於D-V算法對網路的理解是基於“平面的”——在運行RIP協定的
路由器眼中,網路僅僅是由一個個直連的鄰居和一條條由鄰居通告的路由組成。這樣在
網路拓撲變化時難免會導致計算錯誤,產生自環。為了徹底解決這個問題,一種全新的算法——鏈路狀態算法應運而生。該算法從“立體”的角度來看待網路,每一台路由器都理解全局網路的
拓撲結構,並依據此來計算路由,由於每台路由器對網路的整體情況“一切盡在掌握”,所以自環的問題被這徹底的解決。
OSPF協定與區域
基於鏈路狀態算法的OSPF協定雖然徹底的解決了路由自環問題,但這種算法本身也有很多固有的缺陷:
耗費更多記憶體資源:每台
路由器都必須保存整個網路的拓撲
結構(以LSDB的形態)
耗費更多CPU資源:該算法的路由計算使用SPF算法,較D-V算法要複雜的多。
計算更為頻繁:只要網路中有任何一台路由器的拓撲發生變化,就會導致網路中所有的路由器進行SPF計算,而且每台路由器都是將SPF算法重新執行一遍,以便找出變化的路由。
而且,無論是D-V算法還是鏈路狀態的
路由協定都存在如下缺陷:
沒有從協定本身反映出網路的
層次結構。因為實際套用中的一個網路是由各種級別的
路由器組成的,有核心層的骨幹路由器、
匯聚層的
高端路由器、
接入層的低端路由器。這些路由器承擔的任務不同,處理性能也不一樣。但在路由協定中,所有的路由器都要完成幾乎是相同的工作:傳送已知的路由給鄰居路由器,根據從鄰居路由器獲得的路由信息計算本地
路由表。雖然每台路由器的接口數量不同,但最終計算得來的路由表的規模基本是一樣的。
為了徹底解決上述問題,OSPF提出了區域的概念(AREA),區域是將所有運行OSPF 的路由器人為的分成不同的組,以區域ID來標示。在區域內路由計算的方法不變,由於劃分區域之後,每個區域內的路由器不會很多,所有上述缺陷表現得並不嚴重,帶來的後果可以忽略不計。而在區域之間計算路由時採用D-V算法,這樣三個缺點就被成功的規避了。實際上區域概念的提出意義遠不只這些,在劃分為區域之後:
網路的拓撲結構就與
路由協定之間存在了一種對應關係,核心和高端的路由器由於處理能力強,可以規劃在骨幹區域之中。因為骨幹區域的路由器要承擔更多的路由計算任務。
每個單獨的區域實際上就是一個獨立於網路中其他區域的系統,可以在不同的區域中試行不同的路由策略,使組網規劃更為靈活方便。
實際上OSPF 協定在當今的網路中廣為流行,不是因為她使用了無環路的鏈路狀態算法,而是因為她提出了區域的概念!
STUB區域
STUB區域就是一個對區域概念的最典型的套用。STUB區域的設計思想在於:在劃分了區域之後,非骨幹區域中的
路由器對於區域外的路由,一定要通過ABR(
區域邊界路由器)來轉發,或者說對於區域內的路由器來說ABR是一個通往外部世界的必經之路。既然如此,對於區域內的路由器來說,就沒有必要知道通往外部世界的詳細的路由了,代之以由ABR向該區域發布一條
預設路由來指導報文的傳送。這樣在區域內的路由器中就只有為數不多的區域內
路由和一條指向ABR的預設路由。而且無論區域外的路由如何變化,都不會影響到區域內路由器的路由表。由於區域內的路由器通常是由一些處理能力有限的低端路由器組成,所以處於STUB區域內的這些低端設備既不需要保存龐大的
路由表,也不需要經常性的進行路由計算。有了STUB屬性之後,網路的規劃更符合實際的設備特點。
以上描述的只是STUB區域的設計思想,在協定文本中,對STUB區域的精確定義是:STUB區域一定是非骨幹區域和非轉換區域(可以配置虛連線的區域),並且在該區域中不可傳遞Type 5類型的LSA。 因為協定的設計者認為路由表中的絕大部分路由均是來自
自治系統外部的引入的路由。(由於OSPF是鏈路狀態算法的
路由協定,LSA就是用來描述
網路拓撲結構的一種數據結構。在OSPF 中將LSA分為5類:type1、2兩種用來描述區域內的
路由信息;
type3用來描述區域間的路由信息;type4、5用來描述自治系統外部的路由信息。)OSPF鏈路狀態公布
LSA類型5定義了到達外部網路的路由,它並不
泛洪到STUB區域。連線到STUB區域的ABR為外部網路傳送一個
預設路由(0.0.0.0)到STUB區域。這允許STUB區域內部的某個
路由器將報文轉發到一個目的網路,而該網路並沒有出現在s t u b區域路由器的路由表中。對於那些在自己的路由表中沒有找到的網路報文, s t u b區域路由器將其轉發到ABR路由器,而該ABR路由器已傳送0.0.0.0 LSA
需要注意的是定義中對於過濾TYPE5類型的LSA使用的描述語言是“不可傳遞”,這就意味著不僅區域外的ASE(
自治系統外部)路由無法傳遞到STUB 區域中,同時STUB區域內部的ASE路由也無法傳遞到本區域之外。換一句更通俗的話來描述:STUB區域內的路由器都不可引入任何外部的路由(包括
靜態路由)。
這樣的定義未免太過嚴厲了。因為在實際的組網中,並不是所有的設備都會運行OSPF協定。例如:用戶
撥接時使用的
接入伺服器就需要連線
路由器上網際網路,但通常接入伺服器上並不支持(也不需要)OSPF協定,而是通過配置靜態路由實現路由功能。很多時候ISP為了保密或易於管理的需要,在連線用戶側的路由器時使用靜態路由。總之:在一個網路中所有的路由器上都配置OSPF,而不使用
靜態路由的情況幾乎是不存在的。——也就是說STUB區域的適用條件也是不存在的。
NSSA區域
STUB區域雖然為合理的規劃網路描繪了美好的前景,但她在實際的組網中又不具備可操作性,未免遺憾。但此時的OSPF協定已經基本成型,不可能再做大的修改。為了彌補缺陷,協定設計者提出了一種新的概念NSSA,並且作為OSPF協定的一種擴展屬性單獨在RFC 1587中描述。
NSSA需要完成如下任務:
自治系統外的ASE
路由不可以進入到NSSA區域中,但是NSSA區域內的
路由器引入的ASE路由可以在NSSA中傳播並傳送到區域之外。即:取消了STUB關於ASE的雙向傳播的限制(區域外的進不來,區域裡的也出不去),改為單向限制(區域外的進不來,區域裡的能出去)。
由於是作為OSPF標準協定的一種擴展屬性,應儘量減少與不支持該屬性的路由器協調工作時的衝突和兼容性問題。
為了解決ASE單向傳遞的問題,NSSA中重新定義了一種LSA——Type 7類型的LSA,作為區域內的路由器引入外部路由時使用,該類型的LSA除了類型標識與Type 5不相同之外,其它內容基本一樣。這樣區域內的
路由器就可以通過LSA的類型來判斷是否該路由來自本區域內。但由於Type 7類的LSA是新定義的,對於不支持NSSA屬性的路由器無法識別,所以協定規定:在NSSA的ABR上將NSSA內部產生的Type 7類型的LSA轉化為Type 5類型的LSA
再發布出去,並同時更改LSA的發布者為ABR自己。這樣NSSA區域外的路由器就可以完全不用支持該屬性。
由於NSSA是由STUB區域的概念改進得來,所以她的名字叫做: "not-so-stubby" area ,本意是:不是那么STUB的區域。
NSSA對LSA的影響:
1:類型7LSA在一個NSSA區域內攜帶外部信息。
2:類型7LSA在NSSA的ABR上被轉化為5lsa。
3:不允許外部LSA.
4:匯總LSA被引入。
相關配置
NSSA的原理不複雜,配置更簡單,相關命令只有一條:
[Router-ospf]
area area-id nssa [ default-route-advertise ] [ no-import-route ] [ no-summary ]
area-id:是需要配置成NSSA的區域的區域號。“[]”內的參數只有在該
路由器是ABR時才會生效。
關鍵字default-route-advertise用來產生預設的Type-7 LSA,套用了該參數後,在ABR上無論
路由表中是否存在
預設路由0.0.0.0,都會產生Type-7 LSA預設路由;而在
ASBR上當路由表中存在預設路由0.0.0.0,才會產生Type-7 LSA預設路由。
關鍵字no-import-route用在ASBR上,使得OSPF通過import-route命令引入的
路由不被通告到NSSA區域。如果NSSA的
路由器既是ASBR也是ABR,一般選用該參數選項。
為了進一步減少傳送到NSSA區域中的鏈路狀態發布(LSA)的數量,可以在ABR上配置no-summary屬性,禁止ABR向NSSA區域內傳送summary_net LSAs(Type-3 LSA)。配置該參數後,ABR會將Type3類型的LSA也過濾掉,即:NSSA區域中也不會出現區域間路由,
路由表進一步精簡。既然有
預設路由,那么其他指向區域外的具體路由都是沒有必要的了。該參數推薦配置。
即:如果路由器只是一台區域內路由器,只需配置area area-id nssa即可。如果是ABR,根據實際需要,選擇添加三個可選參數。
其他含義
National Scholastic Surfing Association 全國學術衝浪協會
NATIONAL SCHOOL SAILING ASSOCIATION 全國學校帆船協會
National Skeet Shooting Association 國家雙向飛碟射擊協會
National Storm Shelter Association 國家風暴住房協會
Nova Scotia Snowboard Association 新斯科舍省滑雪協會
Nebraska State Soccer Association 內布拉斯加州的國家足球協會
National Social Science Association 全國社會科學協會
Nassau Suffolk Services for Autism 拿騷薩福克服務孤獨症
national sportscasters and sportswriters association 國家體育廣播和體育記者協會
在cisco里,NSSA代表的是 not-so-stubby areas