- OSPF路由器需要同時維護域內路由、域間路由、外部路由信息數據庫。當網絡規模不斷擴大時,LSDB規模也不斷增長。如果某區域不需要為其他區域提供流量中轉服務,那么該區域內的路由器就沒有必要維護本區域外的鏈路狀態數據庫。
- OSPF通過劃分區域可以減少網絡中LSA的數量,而可能對于那些位于自治系統邊界的非骨干區域的低端路由器來說仍然無法承受,所以可以通過OSPF的特殊區域特性進一步減少LSA數量和路由表規模。
Stub區域和Totally Stub區域
傳輸區域和末端區域
- 如圖所示,全網可分為四部分Area 0、Area 1、Area 2、外部網絡。
- 四部分之間相互訪問的主要流量如圖中紅線所示。
- 對于OSPF各區域,可分為兩種類型:
- 傳輸區域:除了承載本區域發起的流量和訪問本區域的流量外,還承載了源IP和目的IP都不屬于本區域的流量,即“穿越型流量”,如Area 0。
- 末端區域:只承載本區域發起的流量和訪問本區域的流量,如Area 1。
- 對于末端區域,需要考慮下幾個問題:
- 保存到達其他區域明細路由的必要性:訪問其他區域通過單一出口,“匯總”路由相對明細路由更為簡潔。
- 設備性能:網絡建設與維護必須要考慮成本因素。末端區域中可選擇部署性能相對較低的路由器。
- OSPF路由器計算區域內、區域間、外部路由都需要依靠收集網絡中的大量LSA,大量LSA會占用LSDB存儲空間,所以解決問題的關鍵是在不影響正常路由的情況下,減少LSA的數量。
Stub區域
- Stub區域的ABR不向Stub區域內傳播它接收到的自治系統外部路由(對應四類、五類LSA),Stub區域中路由器的LSDB、路由表規模都會大大減小。
- 為保證Stub區域能夠到達自治系統外部,Stub區域的ABR將生成一條缺省路由(對應三類LSA),并發布給Stub區域中的其他路由器。
- Stub區域是一種可選的配置屬性,但并不建議將每個區域都配置為Stub區域。
通常來說,Stub區域位于自治系統的末梢,是那些只有一個ABR的非骨干區域。 - 配置Stub區域時需要注意下列幾點:
- 骨干區域不能被配置為Stub區域。
- 如果要將一個區域配置成Stub區域,則該區域中的所有路由器必須都要配置成Stub路由器。
- Stub區域內不能存在ASBR,自治系統外部路由不能在本區域內傳播。
- 虛連接不能穿越Stub區域建立。
Stub區域的OSPF路由表
- 配置Stub區域后,所有自治系統外部路由均由一條三類的默認路由代替。
- 除路由條目的減少外,當外部網絡發生變化后,Stub區域內的路由器是不會直接受到影響的。
Totally Stub區域
- Totally Stub區域既不允許自治系統外部路由(四類、五類LSA)在本區域內傳播,也不允許區域間路由(三類LSA)在本區域內傳播。
- Totally Stub區域內的路由器對其他區域及自制系統外部的訪問需求是通過本區域ABR所產生的三類LSA缺省路由實現的。
- 與Stub區域配置的區別在于,在ABR上需要追加no-summary參數。
Totally Stub區域的OSPF路由表
- Totally Stub區域訪問其他區域及自制系統外部是通過默認路由實現的。
- 自制系統外部、其他OSPF區域的網絡發生變化,Totally Stub區域內的路由器是不直接受影響的。
- Stub、Totally Stub解決了末端區域維護過大LSDB帶來的問題,但對于某些特定場景,Stub、Totally Stub并不是最佳解決方案。
NSSA區域和Totally NSSA區域
Stub區域、Totally Stub區域存在的問題
- RTD和RTA同時連接到某一外部網絡,RTA引入外部路由到OSPF域,RTD所在的Area 1為減小LSDB規模被設置為Stub或Totally Stub區域。
- RTD訪問外部網絡的路徑是“RTD->RTB->RTA->外部網絡”,顯然相對于RTD直接訪問外部網絡而言,這是一條次優路徑。
- OSPF規定Stub區域是不能引入外部路由的,這樣可以避免大量外部路由對Stub區域設備資源的消耗。
- 對于既需要引入外部路由又要避免外部路由帶來的資源消耗的場景,Stub和Totally Stub區域就不能滿足需求了。
NSSA區域與Totally NSSA區域
- OSPF NSSA區域(Not-So-Stubby Area)是在原始OSPF協議標準中新增的一類特殊區域類型。
- NSSA區域和Stub區域有許多相似的地方。
- 兩者的差別在于,NSSA區域能夠將自治域外部路由引入并傳播到整個OSPF自治域中,同時又不會學習來自OSPF網絡其它區域的外部路由。
- ?NSSA LSA(七類LSA)?:
- 七類LSA是為了支持NSSA區域而新增的一種LSA類型,用于描述NSSA區域引入的外部路由信息。
- 七類LSA由NSSA區域的ASBR產生,其擴散范圍僅限于ASBR所在的NSSA區域。
- 缺省路由也可以通過七類LSA來產生,用于指導流量流向其它自治域。
- 七類LSA轉換為五類LSA:
- NSSA區域的ABR收到七類LSA時,會有選擇地將其轉換為五類LSA,以便將外部路由信息通告到OSPF網絡的其它區域。
- NSSA區域有多個ABR時,進行7類LSA與5類LSA轉換的是Router ID最大的ABR。
- Totally NSSA和NSSA區別:
- Totally NSSA不允許三類LSA在本區域內泛洪。
- Totally NSSA與NSSA區域的配置區別在于ABR上需要追加no-summary參數。
NSSA區域與Totally NSSA區域的LSDB
- 配置了NSSA區域的ABR產生一條七類LSA缺省路由。
- 配置了Totally NSSA區域的ABR會自動產生一條三類LSA缺省路由。
LSA總結
- LSA作用:
- Router LSA(一類):每個路由器都會產生,描述了路由器的鏈路狀態和開銷,在所屬的區域內傳播。
- Network LSA(二類):由DR產生,描述本網段的鏈路狀態,在所屬的區域內傳播。
- Network-summary-LSA(三類):由ABR產生,描述區域內某個網段的路由,并通告給其他相關區域。
- ASBR-summary-LSA(四類):由ABR產生,描述到ASBR的路由,通告給除ASBR所在區域的其他相關區域。
- AS-external-LSA(五類):由ASBR產生,描述到AS外部的路由,通告到所有的區域(除了Stub區域和NSSA區域)。
- NSSA LSA(七類):由ASBR產生,描述到AS外部的路由,僅在NSSA區域內傳播。
- 特殊區域不僅有效減少了區域內LSA的數量以及路由計算的壓力,而且一定程度上也縮小了網絡故障的影響范圍。但特殊區域的局限性在于其作用范圍只在本區域內.
區域間路由匯總和外部路由匯總
區域間路由匯總
- 在大規模部署OSPF網絡時,可能會出現由于OSPF路由表規模過大而降低路由查找速度的現象,為了解決這個問題,可以配置路由匯總,減小路由表的規模。
- 路由匯總是指將多條連續的IP前綴匯總成一條路由前綴。如果被匯總的IP地址范圍內的某條鏈路頻繁Up和Down,該變化并不會通告給被匯總的IP地址范圍外的設備。因此,可以避免網絡中的路由振蕩,在一定程度上提高了網絡的穩定性。
- 路由匯總只能匯總路由信息,所以ABR是可以執行路由匯總的位置之一:
- ABR向其它區域發送路由信息時,以網段為單位生成三類LSA。如果該區域中存在一些連續的網段,則可以通過命令將這些連續的網段匯總成一個網段。這樣ABR只發送一條匯總后的三類LSA,所有屬于命令指定的匯總網段范圍的LSA將不會再被單獨發送出去。
- 如圖所示,Area 1中存在8個連續網段,匯總前RTB將產生8條三類LSA。
- 在RTB上配置匯總后,RTB僅產生1條三類LSA并泛洪到Area 0。
- 引入外部路由的ASBR也是執行路由匯總的位置之一。
外部路由匯總
- ASBR匯總:
- 配置ASBR匯總后,ASBR將對引入的外部路由進行匯總。
NSSA區域的ASBR也可以對引入NSSA區域的外部路由進行匯總。 - 如果設備既是NSAA區域的ASBR又是ABR,則可在將七類LSA轉換成五類LSA時對相應前綴進行匯總。
- 如圖所示,Area 0中RTA將8個連續的外部路由引入到OSPF域內,產生8條五類LSA并在OSPF進程域內泛洪。
- 在ASBR(RTA)配置外部路由匯總后,RTA將僅產生1條五類LSA并泛洪至OSPF路由進程域內。
- 路由匯總降低了網絡故障的影響范圍。
- 網絡發生故障后,路由協議的收斂速度也是衡量路由協議的重要參考依據之一。
OSPF更新機制
定時更新與觸發更新
- 為了保證路由計算的準確性,需要保證LSA的可靠性。
- OSPF為每個LSA條目維持一個老化計時器(3600s),當計時器超時,此LSA將從LSDB中刪除。
- 為了防止LSA條目達到最大生存時間而被刪除,OSPF通過定期更新(每1800s刷新一次)機制來刷新LSA。
- OSPF路由器每1800s會重新生成LSA,并通告給其他路由器。
- 為了加快收斂速度,OSPF設置了觸發更新機制。
- 當鏈路狀態發生變化后,路由器立即發送更新消息,其他路由器收到更新消息后立即進行路由計算,快速完成收斂。
OSPF認證機制
安全隱患
- 如圖所示,內部網絡通過OSPF協議傳遞路由。正常情況下,財務部訪問公司數據庫的流量走向是“財務部->RTA->RTB->Database”。
- 非法設備接入公司內網,通過向網絡中注入非法路由,引導流量進行非正常的轉發。即“財務部->RTA->非法設備->RTB->Database”。非法設備收到財務部的流量之后,進行惡意分析,獲取財務部關鍵信息,造成公司機密泄露。
認證解決安全隱患
- OSPF支持認證功能,只有通過認證的OSPF路由器才能正常建立鄰居關系,交互信息。
- 兩種認證方式:
- 區域認證方式。
- 接口認證方式。
- 支持的認證模式分為null(不認證)、simple(明文)、MD5以及HMAC-MD5。
- 當兩種認證方式都存在時,優先使用接口認證方式。
OSPF綜合應用場景
- 需求1分析:辦事處C處于Area 3,RTE左側與Area 2相連。
根據OSPF骨干區域與非骨干區域的連接規則,不能正常通行的原因在于Area 3沒有與Area 0直接相連。
解決的方式是在RTE和RTC之間建立虛連接。 - 需求2分析:區域內部設備性能低,降低路由計算壓力可以通過Stub、Totally Stub、NSSA、Totally NSSA,最大程度減少需要選擇Totally Stub或Totally NSSA,同時為了保留外部路由引入的功能,只能選擇Totally NSSA。
- 需求3分析:保證路由安全性需要通過認證的方式,最安全的認證模式是采用HMAC-MD5。
認證形式采取接口認證。 - 需求4分析:在計算外部路由時如要考慮OSPF域內開銷,可通過引入類型為1類的外部路由實現。
OSPF配置實現
- 在RTE和RTC之間建立虛連接
- 在RTB 上建立Totally NSSA
- 在RTD 上建立NSSA
- 在RTA 上引入類型為1 的rip外部路由
- 在RTE和RTF上開啟基于哈希MD5的接口認證形式
- HMACMD5是一種基于MD5哈希函數生成鍵控消息驗證碼(HMAC)的算法,用于驗證消息的完整性和來源真實性。其工作原理是通過將密鑰與消息數據混合后進行兩次哈希處理,生成128位的哈希值。通信雙方需共享密鑰,接收方通過比對計算值確認數據未被篡改。
OSPF定義了哪幾種特殊區域?
答案:OSPF定義了四種特殊區域,分別是Stub Area,Totally Stub Area,Not-So-Stubby Area(NSSA),Totally NSSA。
Stub區域與Totally Stub區域的主要差別是什么?
答案:Stub區域不允許Type-4和Type-5 LSA進入,但允許Type-3 LSA進入。
Totally Stub區域不僅不允許Type-4和Type-5 LSA進入,同時也不允許Type-3 LSA進入,只允許表示缺省路由的Type-3 LSA進入。
Totally Stub區域不僅不允許Type-4和Type-5 LSA進入,同時也不允許Type-3 LSA進入,只允許表示缺省路由的Type-3 LSA進入。
區域間路由匯總功能在什么路由器上配置?
答案:在區域邊界路由器(ABR)上配置。
搭建并驗證實驗
cipher | 密文口令類型。可以鍵入簡單口令或密文口令,但在查看配置文件時均以密文方式顯示口令。 |
hmac-md5 | 使用HMAC-MD5驗證模式。 |