1,四種末端區域
骨干區域和標准區域:1,2,3,4,5,包含5類LSA,為了減少某些普通區域的LSA(主要就是4類和5類,有時做絕到連3類也不要了),引入了末梢區域。同時為了確保數據能出去,一般ABR會自動引入默認路由。即“外面怎么精彩不用告訴我,我只要能出去即可”。
| 收到的LSA | 默認路由 | 配置命令 | |
| stub | 1,2,3 | 自動下放(3類LSA) | area x stub |
| totally stub | 1,2 | 自動下放(3類LSA) | area x stub no-su |
| NSSA | 1,2,3,7 | 不下放 | area x nssa |
| totally NSSA | 1,2,7 | 自動下放(3類LSA) | area x nssa no-su |
需要注意:
a)表示路由器的特殊角色,如ASBR、ABR,是通過type1 LSA中的V、B、E位置來實現的
b)stub區域中所有路由器必須都配置為stub,否則鄰居建不起來,hello中有個特殊區域標志
c)totally stub和totally nssa的no-summary命令只需要在ABR上做
d)不能把area 0配置成stub區域,不能有虛鏈路通過stub區域
e)下放的默認路由是3類LSA(show ip ospf database),默認cost=1,通過area X defult-cost X 更改
f)多個ABR下放默認路由時,末端區域內的路由器會自動選擇COST最近的ABR放到LSDB
g)假設area 1有個ASBR,則本區域不會有該ASBR的4類LSA,為什么呢?(因為該區域已經直接通過ASBR發出的type1 LSA的位置標志V/B/E,知道了該ASBR)。area0和area 2(不是末端區域)會有4類LSA指向area 1內的ASBR,這些4類LSA都是由ABR產生的。
h)NSSA不允許5類LSA進入,由於過濾了5類,但NSSA區域需要保留出現ASBR的外部AS的路由,因此定義了7類lsa,作用相當於5類
i)NSSA或totally NSSA區域中的7類LSA,經過ABR時,會轉換成5類LSA
j)所有末端區域都沒有5類,7類LSA只能在本NSSA區域出現,一個NSSA的7類不會傳播到另一個NSSA,因為被轉換成了5類遭拒收
k)NSSA默認不下放默認路由,可以area x default-information-orignate下放默認路由
l)注意STUB區域中是沒有4類LSA的,因為4類LSA是為5類LSA服務的,幫助定位ASBR的位置,既然5類進不來,4類也沒必要進來。
2,路由表與LSA
OSPF內部域內:O
OSPF內部域間3類:O IA
OSPF外部5類:O E1,O E2
OSPF外部7類:O N1,O N2
3,不規則區域
造成不規則區域主要原因是割接。
不規則區域類型:遠離area 0;分割的area 0。
解決不規則區域的方法:
a)多進程雙向重分布:以area0-area1-area2為例,在area1和area2之間的abr上起2個ospf進程,然后雙向重發布。
b)tunnel:在area1中建立一條tunnel(GRE隧道?),使得aera2能夠連接到area0。
c)virtual link虛鏈路:類似於tunnel,和tunnel相比只有配置不一樣。互指兩邊Router-ID即可,area x virtual-link x.x.x.x。
4,LSA
4.1,LSA種類
TYPE1 Router :每台設備產生,域內LSA,描述自己鏈路狀態和開銷。
TYPE2 Network :DR產生,域內LSA,存在於MA網絡,描述DR相連的所有網絡的信息。幫助Drother重定向,避免次優路徑,否則DROTHER與DROTHER流量都會經過DR。
TYPE3 Summary :ABR產生,域間路由,通告區域間路由。
TYPE4 Summery ASB :ABR產生,通告其他區域中ASBR的位置,type4沒有area屬性,與type5大致相同,只有目的改成主機。
TYPE5 AS external :ASBR產生,描述OSPF域外路由,通告給所有區域(除末端區域) 。
TYPE7:ASBR產生,描述OSPF域外路由,僅在NSSA中傳播,經過ABR后會轉換為type5。
總結:

4.2,LSA說明
a)2類LSA對MA網段進行了重定向,區域內其他路由器收到此MA網段是1類和2類LSA相結合的結果。
b)TYPE6組播的,現在基本不用。
c)show ip ospf database中可以看到,5類lsa不屬於任何區域,7類lsa屬於NSSA區域。
d)不同LSA,link ID含義不同,對TYPE3,Link ID就是每條路由一個Link ID。對TYPE1,表示一台路由器相鄰所有接口,所以如果一台路由器通告本區域的相鄰多個接口,則只有一條LSA,如果通告其他區域的相鄰多個接口,則有多條LSA。(例如,路由器上的環回口,通告在本區域內和區域外,產生的LSA類型和條數是不同的)
e)由於五類LSA通告者永遠是ASBR的Router ID,但很多其他區域的路由器不知道ASBR在哪,就引出了四類LSA。
f)ASBR所在區域不含該ASBR的四類LSA,因為可以通過一類LSA搞定。ASBR開啟重發布后(即正式成為ASBR),相應在本區域傳播的一類LSA會標示該路由器為ASBR。
g)7類LSA:①TYPE7相當於TYPE5,為什么出現TYPE7呢?因為(totally)NSSA需要保留區域內ASBR傳來的5類,同時過濾掉其他地方傳來的5類,因此重新定義了7類。②在NSSA區域中的7類lsa,傳播到本AS的其他區域(area0)時會通過abr轉成5類LSA。該abr同時也能稱為asbr。(asbr定義:只要能夠產生5類lsa的路由器即為asbr)
4.3,查看LSDB(LSA表)
show ip ospf database看到有:
linkid,advrouter,age,seq#,checksum
其中advrouter即是通告的路由器,例如summary LSA都是ABR通告的,顯示的就是ABR的router-id
LSDB中LSA對應關系:
router link states (areax) : 1類LSA
net link states (areax) : 2類LSA
summary net link states (aerax) : 3類LSA
summary asb link states (areax) : 4類LSA
type-5 as external link states : 5類LSA
4.4,OSPF LSDB overload protection
超過設定的LSA量,可以報警/重置鄰居
限制的是非自己產生的LSA
命令:max-lsa 條數(百分比),默認百分比是75%
5,NSSA補充詳解
5.1,NSSA ABR上的路由匯總
NSSA ABR會將type7轉換成type5,可以使用summary-address通告匯總的5類LSA(僅針對外部引入路由),如果想對NSSA區域內部路由做匯總需要使用area range命令。
5.2,NSSA ABR,某種程度上可以理解為ASBR
由於NSSA ABR承擔了7轉5,它負責生產了5,其他區域沒必要知道真正的ASBR(產生7的路由器),因此NSSA ABR也就沒必要在area0等常規區域產生4指向真正的ASBR。其他區域只需要將NSSA ABR當做ASBR即可。
5.3,NSSA雙ABR問題

上圖中,兩個ABR都會 收到7,但只有router-id大的ABR執行7轉5。
兩台ABR都會在NSSA區域泛洪,並從中了解到對方存在。
5.4,N/P位
Hello報文中,用於指示NSSA。LSA報文中,用於指示NSSA區域的ABR能否將這條7轉成5。
5.5,NSSA中默認路由的傳遞問題
1)NSSA區域中,ABR通告默認路由,有2種方法:
將區域類型配置為totally NSSA,ABR自動下發默認路由(type3 LSA);同時會阻塞LSA3向NSSA區域傳遞。
在進程下使用area x nssa default-information-originate,自動下放默認路由(type7 LSA);ABR並不阻塞骨干區域來的type3 LSA。
2)NSSA區域中,ASBR通告默認路由
在進程下使用area x nssa default-information-originate,不會自動下放默認路由(type7 LSA),必須路由表中事先有默認路由。
備注:在NSSA區域中,無論是ASBR還是ABR,使用default-information-originate(配合本路由器的默認),或者default-information-originate always,均無法注入默認路由,原因是使用這種方法產生的是type5,而NSSA不允許type5存在。
總結:5.5中,發現只有totally NSSA會自動下放type3 LSA的默認路由,NSSA不會。
