OSPF深度好文:OSPF 路由匯總
你好,這里是網(wǎng)絡(luò)技術(shù)聯(lián)盟站,我是瑞哥。
作為減少OSPF LSDB和OSPF路由表的有效手段,OSPF路由匯總與BGP等其他路由協(xié)議有很大不同。
在這篇文章中,我將介紹 OSPF 路由匯總。
什么是路由匯總?
路由匯總是指設(shè)備將學(xué)習(xí)到的部分路由網(wǎng)段按照一定的規(guī)則聚合成單個(gè)路由的操作,一般來(lái)說(shuō),路由匯總可以大大減少設(shè)備路由表項(xiàng)和轉(zhuǎn)發(fā)表項(xiàng)。一方面可以減輕設(shè)備的負(fù)擔(dān),另一方面也可以讓設(shè)備保存更多不同地址的路由。
雖然路線摘要看起來(lái)很棒,但它也有缺陷,最大的問(wèn)題是它會(huì)導(dǎo)致黑洞路由。
例如下面的例子,

R2 將學(xué)習(xí)到的路由 10.1.1.0/28
發(fā)送給 R1,R1 將這條路由匯總為 10.1.1.0/24
。如果R2配備了到R1的默認(rèn)路由,此時(shí)如果R1收到發(fā)往10.1.1.128
的數(shù)據(jù)包,就會(huì)轉(zhuǎn)發(fā)給R2,而R2上沒(méi)有到10.1.1.128
的路由,就會(huì)發(fā)送數(shù)據(jù)數(shù)據(jù)包返回到 R1,在這種情況下,會(huì)生成一個(gè)循環(huán)。
因此,在配置路由匯總的過(guò)程中,需要慎重考慮是否會(huì)導(dǎo)致此類問(wèn)題。
為什么我們需要 OSPF 路由匯總?
我們知道對(duì)于OSPF邊緣路由器,我們可以配置stub area、total stub area、NSSA area或total NSSA area來(lái)減少其存儲(chǔ)的LSDB和OSPF路由表項(xiàng)。但是如果骨干路由器上的LSDB表項(xiàng)太多,或者不是骨干但不能配置為特殊區(qū)域的區(qū)域,如何減少這些路由器上的LSDB和OSPF路由數(shù)量呢?
從前面的描述可以知道,可以通過(guò)路由匯總來(lái)實(shí)現(xiàn)。
由于 OSPF 是一種鏈路狀態(tài)路由協(xié)議,因此 OSPF 路由器不傳輸路由,而是傳輸鏈路狀態(tài)信息。因此,OSPF 路由通過(guò)匯總 LSA 來(lái)控制鏈路狀態(tài)信息的傳輸,從而減小 LSDB 數(shù)據(jù)庫(kù)的大小,進(jìn)而控制路由的匯總。
由于OSPF路由分為區(qū)域內(nèi)路由、區(qū)域間路由和外部路由(即引入OSPF進(jìn)程的路由),所以區(qū)域內(nèi)路由不需要匯總。
因此,OSPF 路由聚合包括兩種類型:
區(qū)域間路由聚合
外部路由聚合
OSPF 區(qū)域間路由匯總
OSPF區(qū)域間路由聚合是指當(dāng)OSPF LSA在不同區(qū)域間擴(kuò)散時(shí),通過(guò)在ABR上配置,將多條LSA聚合為一個(gè)LSA,然后進(jìn)行擴(kuò)散操作。

如上圖,假設(shè)R1和R2之間的網(wǎng)段是10.1.1.0/24
,R2和R3之間的網(wǎng)段是10.1.0.0/24
網(wǎng)段,那么在R4和R5上,你會(huì)學(xué)到兩條 OSPF 路由,即 10.1.1.0/24
和 10.1.0.0/24
。如果我們把R1上的這兩個(gè)網(wǎng)段匯總起來(lái),匯總成10.1.0.0/23
,那么R4和R5上就只有一個(gè)OSPF網(wǎng)段,即10.1.0.0/23
。
需要注意的是,在ABR上配置路由聚合時(shí),需要在區(qū)域下進(jìn)行配置。比如本例中,我們要匯總區(qū)域1中的兩個(gè)網(wǎng)段10.1.0.0/24
和10.1.1.0/24
,那么,我們需要在R1的區(qū)域1下配置聚合。
觀察 R1 和 R4 上的 LSDB 數(shù)據(jù),我們可以看到 R1 將 10.1.1.0/24
和 10.1.0.0/24
兩條路由聚合成一個(gè) LSA 發(fā)送到區(qū)域 0。

OSPF 外部路由匯總
除了OSPF區(qū)域間路由匯總,OSPF引入外部路由時(shí),我們還可以在ASBR上配置路由聚合。

與OSPF 區(qū)域間路由聚合類似,OSPF 外部路由聚合也是在路由聚合完成后根據(jù)聚合路由生成LSA 進(jìn)行擴(kuò)散。
查看 R2 上的 LSDB,可以看到聚合的 LSA。

配置 OSPF 路由匯總
配置OSPF路由聚合分為配置OSPF域間路由聚合和配置OSPF外部路由聚合。
注意:OSPF 區(qū)域間路由聚合只能在 ABR 上配置,OSPF 外部路由聚合只能在 ASBR 上配置。
配置區(qū)域間路由匯總
[R1]?ospf?1
[R1-ospf-1]?area?1
[R1-ospf-1-area-0.0.0.1]?abr-summary?10.1.0.0?255.255.254.0
配置外部路由匯總
[R3]?ospf?1?
[R3-ospf-1]?asbr-summary?1.1.0.0?255.255.252.0