開放最短路徑優先(OSPF)生成和通告預設路由(0.0.0.0)的方式會因預設路由注入的區域型別而異。在本文檔中,我們涵蓋正常區域、末節/完全末節區域和非純末節區域(NSSA)。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
本文件沒有特定先決條件。
本文件所述內容不限於特定軟體和硬體版本。
正常區域:這些區域可以是標準區域或中轉(主幹)區域。標準區域定義為可以接受區域內路由、區域間路由和外部路由的區域。主幹區域是OSPF中所有其它區域連線的中心區域。
注意:區域內路由是指區域內傳遞的更新。區域間路由是指區域之間傳遞的更新。外部路由是指自治系統邊界路由器(ASBR)從另一個路由協定傳遞到OSPF域的更新。
末節區域:這些區域不接受屬於外部自治系統(AS)的路由;但是,這些區域具有區域間和區域內路由。為了到達外部網路,末節區域中的路由器使用由區域邊界路由器(ABR)注入區域的預設路由。末節區域通常配置在分支機構不需要知道到其他辦公室的所有路由的情況下,相反,它可以使用到中心辦公室的預設路由並從那裡到達其他位置。因此,枝葉節點路由器的記憶體需求減少了,OSPF資料庫的大小也隨之減小。
要將區域定義為末節區域,請使用OSPF路由器配置命令area <area id> stub
完全末節區域: 這些區域不允許區域內外的路由和預設路由在該區域內傳播。ABR將預設路由注入區域,屬於該區域的所有路由器都使用預設路由將任何流量傳送到區域之外。
要定義完全末節區域,請在ABR上使用OSPF路由器配置命令area <area id> stub no-summary。
NSSA:這種型別的區域允許靈活地將一些外部路由匯入到該區域,同時仍然嘗試保留末節特徵。假設末節區域中的一台路由器連線到運行不同路由協定的外部AS,它現在成為ASBR,因此該區域不能再稱為末節區域。但是,如果區域配置為NSSA,則ASBR會生成NSSA外部鏈路狀態通告(LSA)(型別7),該通告可以泛洪到整個NSSA區域。這些第7類LSA在NSSA ABR中轉換為第5類LSA,並在OSPF域中泛洪
要定義NSSA,請使用OSPF路由器配置命令area <area id> nssa。
有關NSSA的詳細資訊,請參閱OSPF非純末節區域。
預設情況下,在正常區域中,OSPF路由器不會在其路由域中生成預設路由,即使存在預設路由。要讓OSPF路由器生成預設路由,請在OSPF路由器配置模式下使用default-information originate [always] [metric metric-value] [metric-type type-value] [route-map map-name]命令。這會生成鏈路狀態ID為0.0.0.0且網路掩碼為0.0.0.0的外部2類鏈路,從而使路由器成為ASBR。
使用上述命令,可以指定預設路由的度量和度量型別。預設值為metric = 1,metric-type = E2。要瞭解有關外部型別1和型別2路由的詳細資訊,請參閱OSPF設計手冊中的將路由重分發到OSPF部分。
將預設路由注入正常區域有兩種方法。
如果ASBR的路由表中已有預設路由,則可以使用default-information originate路由器配置命令將現有的0.0.0.0/0通告到OSPF域。
如果ASBR沒有預設路由,您可以將關鍵字always新增到default-information originate命令中(default-information originate always)。
無論預設路由是否有到0.0.0.0的路由,此命令都會將預設路由通告到OSPF域。新增always關鍵字的另一個優點是它可以增加網際網路的穩定性。例如,如果ASBR正在從另一個路由域(如RIP)獲取預設路由,並且此路由正在擺動,則如果沒有always關鍵字,則每次路由擺動時,ASBR都會將新的第5類LSA傳送到OSPF域,從而導致OSPF域內出現一些不穩定性。使用always關鍵字時,ASBR將始終通告OSPF域內的預設路由,因此,從RIP域中擺動預設路由不會導致OSPF域內的任何不穩定。
有關OSPF如何將預設路由注入正常區域的示例配置,請參閱OSPF如何將預設路由注入正常區域。
在末節區域和完全末節區域中,到末節區域的ABR生成鏈路狀態ID為0.0.0.0的彙總LSA。即使ABR沒有自己的預設路由,也是如此。在這種情況下,不需要使用default-information originate命令。
如前所述,外部路由不會在末節區域內傳播,甚至區域間路由(總結路由)也不會在完全末節區域內傳播。這些區域內的路由器使用ABR生成的預設路由到達區域外的目的地。
有關OSPF如何將預設路由注入末節或完全末節區域的示例配置,請參閱OSPF如何將預設路由注入末節或完全末節區域。
NSSA的ABR會生成預設路由,但預設情況下不會生成預設路由。要強制ABR生成預設路由,請使用area <area id> nssa default-information originate 命令。ABR生成鏈路狀態ID為0.0.0.0的第7類LSA,並在NSSA中通告。此預設路由將作為第7類LSA在NSSA中傳播
通告NSSA內部預設路由的另一種方法是使用area <area id> nssa no-summary
使用no-summary關鍵字,NSSA ABR不會通告NSSA內的區域間路由(型別3和型別4總結路由),而是通告預設路由。此預設路由將作為第3類LSA在NSSA中傳播。
有關示例配置說明OSPF如何向NSSA注入預設路由,請參閱OSPF如何向Not So Stubby區域注入預設路由。
有關NSSA如何生成預設路由的詳細資訊,請參閱OSPF Not-So-Stubby Area中的NSSA中的預設路由部分。