HCIE面試題之三大協(xié)議如何撤銷路由的
本文是解釋 OSPF和ISIS以及BGP是如何撤銷路由的。
所謂路由撤銷,就是路由通告的反操作, 就是告訴鄰居,一個(gè)目的地不可達(dá),請(qǐng)把對(duì)應(yīng)的路由刪除掉。
OSPF 路由撤銷
OSPF和ISIS都是鏈路狀態(tài)協(xié)議,其中撤銷路由部分相似
OSPF的路由是以LSA來承載的,OSPF中撤銷路由實(shí)則是撤銷LSA或更新LSA的一個(gè)操作,
根據(jù)OSPF對(duì)LSA的操作情況可以將其分為:
1、一類、二類LSA的撤銷路由
2、三類、五類、七類LSA撤銷路由
LSA1 撤銷
在OSPF中LSA-1-2是來描述拓?fù)涞模砸话阌酶翷SA來撤銷
也就是seq+1撤銷。

如圖, 在R1 上創(chuàng)建loopback 0 1.1.1.1 宣告進(jìn)OSPF1 area 0, 其他所有設(shè)備都宣告進(jìn)OSPF 1 area 0
我們?cè)赗2/3 之間抓包, 在R1 的OSPF 進(jìn)程下反復(fù)的network 宣告和undo network 1.1.1.1 0.0.0.0
查看抓包結(jié)果:



實(shí)驗(yàn)現(xiàn)象描述:
當(dāng)network一個(gè)路由之后,該路由器會(huì)產(chǎn)生一條一類LSA,其中就有剛添加的那個(gè)接口的信息。
該LSA里面包含著link-ID和link-DATA,序列號(hào)是:0x80000009
備注:
loopback接口為stub網(wǎng)絡(luò)類型,所以它的一類LSA的link-ID是接口的地址,link-data是接口地址的掩碼,
普通傳輸網(wǎng)絡(luò)的link-ID則是DR的接口IP,link-data則是本設(shè)備的接口IP
當(dāng)撤銷一條路由后,該路由器仍然會(huì)產(chǎn)生一條LSA,只不過不再包含loopback0接口的信息了,
變化的是序列號(hào),變成了:0x8000000a
物理口的路由撤銷
如圖, 在這個(gè)場(chǎng)景下模擬交換機(jī)這個(gè)接口故障,看下這種場(chǎng)景下的路由撤銷

首先看到, R2-3 之間OSPF 鄰居是好好的, 這樣, R2-3之間就是傳輸路徑TransNet


而當(dāng)關(guān)閉這個(gè)接口時(shí), R2 會(huì)經(jīng)歷一個(gè)hello dead 時(shí)間, , 從鄰居R3 收不到hello, 然后就認(rèn)為鄰居失效,

這個(gè)時(shí)候, R2 給處于同一個(gè)區(qū)域, 但是不同廣播域的R4 發(fā)送更新, 更新的內(nèi)容, 就是說這個(gè)區(qū)域現(xiàn)在
連接的是一個(gè)stub網(wǎng)絡(luò), 因?yàn)槲覀冞@里這個(gè)交換機(jī)所在的網(wǎng)絡(luò)只有兩個(gè)路由器

我們?cè)谶@里再加一個(gè)設(shè)備, 可以看到現(xiàn)在


關(guān)于這個(gè)交換機(jī)所在的網(wǎng)絡(luò)的2類LSA 更新中, 會(huì)攜帶這個(gè)廣播域內(nèi)的成員信息
由于這個(gè)交換機(jī)所在的廣播域內(nèi)還有其他成員,所以這個(gè)transit 信息并沒有更改,圖略
但是,失聯(lián)的這個(gè)成員RID 就會(huì)從2類LSA中消失,

總結(jié):
每個(gè)廣播與都會(huì)產(chǎn)生一條2類LSA 泛洪到本區(qū)域的其他廣播域
物理口撤銷路由,
LSA 2 路由撤銷就是把這個(gè)失聯(lián)的路由器RID 從本廣播域的2類LSA中的成員列表刪除
LSA 1, 如果這個(gè)網(wǎng)絡(luò)只有2個(gè)成員, 其中一個(gè)失聯(lián), 就把這個(gè)網(wǎng)絡(luò)使用更新的方式, 告訴其他廣播域路由器
這里連接 的是一個(gè)STUB網(wǎng)絡(luò), 本廣播域沒有這個(gè)更新。
如果這個(gè)廣播域還有不止一個(gè)鄰居, 那么就不發(fā)1類LSA更新去改這個(gè)STUB, 只是發(fā)LSA 2 去減少成員RID
LSA2撤銷
2類LSA是DR產(chǎn)生的, 用于描述這個(gè)網(wǎng)絡(luò)內(nèi)掩碼的長(zhǎng)度和這個(gè)網(wǎng)絡(luò)內(nèi)的成員RID
環(huán)境如下:


在這個(gè)環(huán)境下,DR是R4, BDR是R2
當(dāng)把DR所在的接口關(guān)閉時(shí), 由BDR首先發(fā)送LSU更新, 發(fā)送給224.0.0.5 , 告訴網(wǎng)絡(luò)內(nèi)的其他設(shè)備,
R2 設(shè)備上最新的1類LSA 內(nèi)容, 以及現(xiàn)在這個(gè)網(wǎng)絡(luò)的2類LSA, 這個(gè)2類LSA包含的內(nèi)容是掩碼的長(zhǎng)度和這個(gè)網(wǎng)絡(luò)內(nèi)的成員RID,其他路由器收到這個(gè)更新之后, 向224.0.0.6發(fā)送確認(rèn),
然后依據(jù)這個(gè)新的BR的1類和2類LSA來計(jì)算自己目前針對(duì)這個(gè)網(wǎng)絡(luò)的信息, 然后將自己計(jì)算之后的結(jié)果也發(fā)送到224.0.0.5 。



可以看到R4接口被關(guān)閉之后, R1 收到R2 發(fā)送的LSA之后計(jì)算的到的更新發(fā)出來了,用的還是之前R4 的2類LSA計(jì)算的, 得到的結(jié)果還是R4是DR,把更新發(fā)出來了。
后來發(fā)現(xiàn)不對(duì), 新的DR應(yīng)該是R2,后來又使用R2 的2類LSA計(jì)算了一遍,
現(xiàn)象描述:由于 DR不支持搶占, 所以我們是采用直接關(guān)閉DR所對(duì)應(yīng)的接口,
當(dāng)關(guān)閉這個(gè)DR接口時(shí), 這個(gè)網(wǎng)絡(luò)內(nèi)的BDR路由器首先會(huì)發(fā)一個(gè)更新報(bào)文, 報(bào)文中會(huì)攜帶BDR的1類LSA和這個(gè)網(wǎng)絡(luò)內(nèi)的2類LSA, 來告訴其他路由器, BDR成為DR路由器
總結(jié):
OSPF的一類、二類LSA在撤銷路由的時(shí)候會(huì)產(chǎn)生一條新的一類、二類LSA,新產(chǎn)出的LSA中不再包含撤銷的那條路由信息,新LSA的序列號(hào)會(huì)在舊的LSA序列號(hào)上加1,發(fā)送給區(qū)域中所有的路由器,當(dāng)其它路由器收到該新的LSA后會(huì)覆蓋舊的LSA,路由器重新計(jì)算路由,以達(dá)到撤銷路由的目的。
而且根據(jù)這現(xiàn)象可以發(fā)現(xiàn),當(dāng)拓?fù)浒l(fā)生改變之后(一類LSA)路由器就會(huì)重新發(fā)送一次LSA,
信息也會(huì)跟著計(jì)算一次,由于二類LSA攜帶的是掩碼等信息,所有路由也會(huì)跟著計(jì)算一遍,簡(jiǎn)而言之:拓?fù)渥兓瘯?huì)引起路由變化。這也是OSPFv2中的一個(gè)缺點(diǎn),在OSPFv3(IPv6)中對(duì)其進(jìn)行了改進(jìn)(一類、二類LSA不在描述路由信息,僅描述拓?fù)湫畔?,?shí)現(xiàn)路由與拓?fù)溆?jì)算分離),否則拓?fù)涞闹貜?fù)變化也會(huì)導(dǎo)致路由頻繁的計(jì)算,不僅對(duì)鏈路帶寬造成影響也會(huì)增加路由器的計(jì)算壓力。
LSA3撤銷
而3LSA是描述路由信息,一條路由信息對(duì)應(yīng)一條LSA-3。所以通過3600s來撤銷
包括LSA5也是通過3600S撤銷。

場(chǎng)景一、AR1上1.1.1.1這條路由撤銷的時(shí)候,直接undo loopback接口

通過seq+1來更新LSA, 撤銷的時(shí)候, 更新中 LSA 老化時(shí)間 3600,
LSA4 撤銷
4類LSA的通告是伴隨路由引入,和5類LSA一起通告給其他鄰居的。
4類LSA是通告ASBR的路徑信息的,告訴其他區(qū)域的路由器, 本ABR去往本ASBR的開銷是多少,
以及ASBR 的router ID是多少
什么時(shí)候發(fā)LSA4:當(dāng)一臺(tái)路由器對(duì)本OSPF做了路由引入操作,
什么時(shí)候撤銷LSA4:當(dāng)一臺(tái)ASBR不再繼續(xù)做ASBR, 即把對(duì)應(yīng)引入的路由undo
這個(gè)時(shí)候也會(huì)出發(fā)本ASBR產(chǎn)生 1類LSA 通告這個(gè)操作。
LSA5 撤銷
這是通告更新

LSA 4類5類撤銷都是 LSA的產(chǎn)生者路由器通告 老化時(shí)間3600 秒的LSA,序列號(hào)+1
而
LSA7 撤銷
第一次做路由引入的操作:
通告的時(shí)候, ASBR先產(chǎn)生LSA1申明自己是一個(gè)ASBR
ASBR 身份已經(jīng)確認(rèn), 現(xiàn)在單獨(dú)引入一條外部路由
總結(jié):
當(dāng)LSA描述多條路由信息的時(shí)候,只能通過seq+1更新來重新計(jì)算, 而這里序列號(hào)沒有改變, 是模擬器問題, 按照理論, 重新產(chǎn)生的LSA, 序列號(hào)是要+1的
LSA一對(duì)一的時(shí)候可以通過3600s來老化。
路由通告, 4類LSA和5類LSA是使用同一個(gè)LSU來發(fā)布的, 而路由撤銷, LSA4 是單獨(dú)發(fā)的, LSA5 可以放一起發(fā)
ISIS 路由撤銷
分通告和路由引入兩種情況
通告路由
我們分兩種情況來通告路由, 圖都是一樣的。
都是L1以L1 形式通告
都是L2以L2 形式通告
現(xiàn)在改都是L2 , 以L2 形式通告
通告路由:
總結(jié):
ISIS 以L1 或者L2 的形式更新和撤銷路由, 形式是一樣的, 都是以序列號(hào)+1 的形式傳遞的,
更新的時(shí)候, 就在LSP中攜帶這個(gè)路由, 撤銷的時(shí)候, 就不攜帶這個(gè)不可達(dá)的路由
路由引入
ISIS中如果是引入的外部,當(dāng)undo import命令后,會(huì)出現(xiàn)life=0的撤銷路由
總結(jié):
忽略這里的序列號(hào)不變, 按照所學(xué)理論, 重新產(chǎn)生LSP, 序列號(hào)是要+1的
由于一條LSP中攜帶了很多路由信息,所以撤銷一條路由也是通過seq+1來撤銷。通過更新LSP重新計(jì)算
當(dāng)撤銷L1 或者L2 的路由的時(shí)候, lifetime 不為0, 只是不攜帶這條不可達(dá)的路由
ISIS中如果是引入的外部,當(dāng)undo import命令后,會(huì)出現(xiàn)life=0的撤銷路由
OSPFv3
在這個(gè)環(huán)境下,R1-2-4 之間運(yùn)行OSPFv3 area 0,R2-3 之間運(yùn)行area 1.

區(qū)域內(nèi)路由:使用LSA1 和LSA9
AR1上有一條loopback0的路由,我們給undo這個(gè)接口后發(fā)現(xiàn)AR1向FF02::6發(fā)了一個(gè)LSU來更新

分別是一個(gè)9-LSA和1-LSA。
因?yàn)橐罁?jù)1-LSA形成的LSA-9是用來描述主機(jī)路由的,所以撤銷的時(shí)候猜想應(yīng)該是LSA-1的seq+1
然后LSA-9為3600s
再次實(shí)驗(yàn),在loopback0接口上配兩個(gè)全球IPV6單播地址,宣告進(jìn)入ospfv3,這次只undo 一條路由
發(fā)現(xiàn)9-LSA只seq+1 而不是3600s

并且也只有一條9-LSA了,所以猜想
剛剛undo loopback接口的時(shí)候,由于刪掉了接口,相當(dāng)于拓?fù)湟灿凶兓⑶衣酚梢彩侨縿h除。
所以情況是LSA-1的seq+1 LSA-9為3600s。
區(qū)域間:
使用LSA 3

區(qū)域間路由撤銷的時(shí)候, 是使用發(fā)送老化時(shí)間為3600 的3類LSA
接下來是測(cè)試5+7
LSA4-5
LSA 4-5 通告路由 如下

LSA 4/5 撤銷路由如下

LSA 4-5 撤銷路由使用老化時(shí)間為 3600 的路由
LSA-7 在NSSA區(qū)域引入路由


都是使用老化時(shí)間為3600 的路由撤銷的
總結(jié):
OSPF v3 路由分區(qū)域內(nèi), 區(qū)域間和外部路由
區(qū)域內(nèi)路由的發(fā)布和撤銷都是基于LSA1和LSA 9 , 撤銷的時(shí)候是序列號(hào)+1 , 老化時(shí)間3600
區(qū)域間路由撤銷的時(shí)候, 是使用LSA 3 類撤銷, 老化時(shí)間 3600, 序列號(hào)+1
外部路由撤銷的時(shí)候, 是 使用LSA 5/7 來撤銷的, 老化時(shí)間 3600, 序列號(hào)+1
當(dāng)ASBR不做ASBR的時(shí)候, 會(huì)出現(xiàn)4類LSA 撤銷,老化時(shí)間 3600, 序列號(hào)+1
是誰通告的, 誰就去發(fā)這個(gè)老化時(shí)間 3600 的LSA去撤銷路由
BGP 路由撤銷
路由通告:


總結(jié):
BGP在通告路由更新的時(shí)候, 是放在NLRI 字段中的,會(huì)攜帶路由的公認(rèn)必遵屬性,
包括起源屬性O(shè)RIGIN,AS-PATH,NEXT-HOP,
撤銷AS內(nèi)部路由的時(shí)候, 是放在Withdrawn Routes 字段中的,是不帶這些路徑屬性的,
BGP的路由撤銷是不分AS內(nèi)的還是AS間的,
總結(jié):路由撤銷的方式
路由撤銷是路由通告的反操作, 誰通告的, 就是誰撤銷
OSPFv2/3中, 都是使用老化時(shí)間 3600秒的LSA去撤銷路由, 序列號(hào)+1
OSPF撤銷路由報(bào)文是LSU
ISIS撤銷路由報(bào)文是LSP
BGP通過update報(bào)文的
withdrawn routes length 撤銷路由長(zhǎng)度
withdrawn routes 撤銷的路由列表
最后
太閣老師的個(gè)人微信
添加太閣老師個(gè)人微信領(lǐng)?。禾w免費(fèi)視頻資料、NA綜合實(shí)驗(yàn)配置文件拓?fù)鋱D及模擬器、太閣獨(dú)家實(shí)驗(yàn)手冊(cè)、網(wǎng)工必讀書籍等
