Stub區域算法
STUB區域就是一個對區域概念的最典型的應用。STUB區域的設計思想在於:在劃分了區域以後,非骨幹區域中的路由器對於區域外的路由,必定要經過ABR(區域邊界路由器)來轉發,或者說對於區域內的路由器來講ABR是一個通往外部世界的必經之路。既然如此,對於區域內的路由器來講,就沒有必要知道通往外部世界的詳細的路由了,代之以由ABR向該區域發佈一條缺省路由來指導報文的發送。這樣在區域內的路由器中就只有爲數很少的區域內路由和一條指向ABR的缺省路由。並且不管區域外的路由如何變化,都不會影響到區域內路由器的路由表。因爲區域內的路由器一般是由一些處理能力有限的低端路由器組成,因此處於STUB區域內的這些低端設備既不須要保存龐大的路由表,也不須要常常性的進行路由計算。有了STUB屬性以後,網絡的規劃更符合實際的設備特色。
服務器
以上描述的只是STUB區域的設計思想,在協議文本中,對STUB區域的精肯定義是:STUB區域必定是非骨幹區域和非轉換區域(能夠配置虛鏈接的區域),而且在該區域中不可傳遞Type 5類型的LSA。因爲OSPF是鏈路狀態算法的路由協議,LSA就是用來描述網絡拓撲結構的一種數據結構。在OSPF中將LSA分爲5類:type一、2兩種用來描述區域內的路由信息;type3用來描述區域間的路由信息;type四、5用來描述自治系統外部的路由信息。由於協議的設計者認爲路由表中的絕大部分路由均是來自自治系統外部的引入的路由。
網絡
須要注意的是定義中對於過濾TYPE5類型的LSA使用的描述語言是「不可傳遞」,這就意味着不只區域外的ASE(自治系統外部)路由沒法傳遞到STUB區域中,同時STUB區域內部的ASE路由也沒法傳遞到本區域以外。換一句更通俗的話來描述:STUB區域內的路由器都不可引入任何外部的路由(包括靜態路由)。這樣的定義未免太過嚴厲了。由於在實際的組網中,並非全部的設備都會運行OSPF協議。例如:用戶撥號上網時使用的接入服務器就須要鏈接路由器上因特網,但一般接入服務器上並不支持(也不須要)OSPF協議,而是經過配置靜態路由實現路由功能。不少時候ISP爲了保密或易於管理的須要,在鏈接用戶側的路由器時使用靜態路由。總之:在一個網絡中全部的路由器上都配置OSPF,而不使用靜態路由的狀況幾乎是不存在的。——也就是說STUB區域的適用條件也是不存在的數據結構
NSSA區域併發
STUB區域雖然爲合理的規劃網絡描繪了美好的前景,但她在實際的組網中又不具有可操做性,未免遺憾。但此時的OSPF協議已經基本成型,不可能再作大的修改。爲了彌補缺陷,協議設計者提出了一種新的概念NSSA,而且做爲OSPF協議的一種擴展屬性單獨在RFC 1587中描述。
ide
NSSA須要完成以下任務:spa
自治系統外的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區域內的全部路由器必須支持該屬性(包括NSSA的ABR),而自治系統中的其餘路由器則不須要。因爲NSSA是由STUB區域的概念改進得來,因此她的名字叫作:"not-so-stubby" area ,本意是:不是那麼STUB的區域。設計