HCIE面試:三大路由協(xié)議的撤銷(xiāo)。
三大路由協(xié)議的撤銷(xiāo)
OSPF的路由撤銷(xiāo)
?????? OSPF的路由發(fā)布和撤銷(xiāo)都是通過(guò)發(fā)送LSU報(bào)文來(lái)實(shí)現(xiàn)的,LSU報(bào)文中的LSA包含了具體的要發(fā)布或者撤銷(xiāo)的路由信息,那么OSPF路由的撤銷(xiāo)其實(shí)就是LSA的更新。
?????? 在OSPF中常用的LSA主要有以下類(lèi)型:LSA1、LSA2、LSA3、LSA4、LSA5、LSA7;
下面講講一下各個(gè)LSA的更新方式。

上圖中,R1、R2、R3、R4運(yùn)行ospf協(xié)議,所有設(shè)備都在運(yùn)行在區(qū)域0中,R1/2/3的互聯(lián)網(wǎng)段為123.1.1.0/24,R3/4的互聯(lián)網(wǎng)段為34.1.1.0/30,R3的兩個(gè)接口各為兩個(gè)MA網(wǎng)絡(luò)的DR;
LSA1的撤銷(xiāo):1類(lèi)LSA,所有運(yùn)行了ospf協(xié)議的設(shè)備都會(huì)產(chǎn)生一類(lèi)LSA,用于描述自身的鏈路狀態(tài)信息,如網(wǎng)絡(luò)信息和拓?fù)湫畔ⅲ诒緟^(qū)域內(nèi)泛洪;
1類(lèi)LSA的撤銷(xiāo)方式為在原先LSA的序列號(hào)的基礎(chǔ)上序列號(hào)加1,如下圖當(dāng)前R1的loop0口宣告在area0中,通過(guò)LSA1的link type為stub類(lèi)型來(lái)承載路由信息,當(dāng)前的序列號(hào)為80000006;

現(xiàn)在在R1上undo network 1.1.1.1 0.0.0.0,再次觀察R1產(chǎn)生的LSA1;

R1的1類(lèi)LSA信息
上圖中可以看出,R1產(chǎn)生的LSA中序列號(hào)變成了80000007,LSA的身體中不再包含link type為stub的關(guān)于1.1.1.1網(wǎng)段的路由信息;從下圖的抓包也可以看出,123.1.1.1(R1)向224.0.0.6發(fā)送了一條LSU,更新的內(nèi)容就是序列號(hào)加1,身體中不再包含1.1.1.1的網(wǎng)絡(luò)信息;此外還可以看到123.1.1.3(DR)向224.0.0.5發(fā)送了一條LSU,LSA內(nèi)容和R1發(fā)出的一樣,就是源目IP變了,因?yàn)镈R other(R1和R2)間是不能直接通信的,他們之間只是two-way狀態(tài),不交互LSDB信息,需要通過(guò)DR當(dāng)作反射器,反射鏈路狀態(tài)信息;經(jīng)過(guò)反射后,R2才能知道R1撤銷(xiāo)了1.1.1.1的路由;



LSA2的撤銷(xiāo):2類(lèi)LSA,由DR產(chǎn)生,用于描述MA網(wǎng)絡(luò)中的網(wǎng)絡(luò)信息和拓?fù)湫畔?,在本區(qū)域內(nèi)泛洪。2類(lèi)LSA的撤銷(xiāo)分為序列號(hào)加1的情況和Ls Age=3600的情況;
如下圖,是123.1.1.3產(chǎn)生的2類(lèi)LSA,內(nèi)容包含了MA的網(wǎng)絡(luò)信息和拓?fù)湫畔?。網(wǎng)絡(luò)信息使用LS id和netmask做與運(yùn)算即可得出MA的網(wǎng)絡(luò)信息,拓?fù)湫畔⒕褪莂ttached router 使用router-id來(lái)填充;

?????? 如下圖,中斷R1的互聯(lián)鏈路,再次查看LSA2信息;


? ?
?????? 可以看出序列號(hào)加1變成了8000000a,拓?fù)湫畔ttached router中不再包含1.1.1.1;
?????? 如下圖,中斷R1、R2的鏈路,再次查看LSA2;

?????? 可以看到,123.1.1.3不再產(chǎn)生LSA2,從抓包的數(shù)據(jù)可以看出,區(qū)域0中產(chǎn)生一條LS Age=3600的2類(lèi)LSA撤銷(xiāo)。那么此時(shí)再看R3產(chǎn)生的LSA1,可以看出原先的123.1.1.0.24的MA網(wǎng)絡(luò)信息以stub類(lèi)型承載在R3的1類(lèi)LSA中;



?????? LSA3的撤銷(xiāo):3類(lèi)LSA,由ABR產(chǎn)生,用于描述區(qū)域間的路由信息,在本區(qū)域內(nèi)泛洪。3類(lèi)LSA的撤銷(xiāo)是以Ls Age=3600的方式來(lái)實(shí)現(xiàn);
?????? 如下圖,我們將拓?fù)渥鲆恍┬⌒〉母膭?dòng),將R3和R4之間的區(qū)域變更為area1;

?????? 先查看一下目前R3的LSDB,如下圖,可以看到在一共有5條3類(lèi)LSA(原本應(yīng)該有6條,1.1.1.1被undo掉了,所以只剩5條),接下來(lái),我們?cè)赗2的area0中undo network 2.2.2.2 0.0.0.0;

?????? 根據(jù)在區(qū)域1抓包結(jié)果可以看出,在區(qū)域1內(nèi)產(chǎn)生一條關(guān)于2.2.2.2網(wǎng)段撤銷(xiāo)的3類(lèi)LSA
Ls Age=3600,序列號(hào)不變;

?????? LSA4:4類(lèi)LSA由ASBR所在區(qū)域的ABR產(chǎn)生,描述ASBR的信息,在除ASBR所在的區(qū)域泛洪;4類(lèi)LSA的撤銷(xiāo)也是以Ls Age=3600,序列號(hào)不變的方式撤銷(xiāo);
?????? LSA5:5類(lèi)LSA由ASBR產(chǎn)生,描述外部路由信息,在所有OSPF區(qū)域泛洪,除了特殊區(qū)域;5類(lèi)LSA的撤銷(xiāo)也是以Ls Age=3600,序列號(hào)不變的方式撤銷(xiāo);
?????? 如下圖,在之前的拓?fù)浠A(chǔ)上,在R4上新增一條靜態(tài)路由,并引入OSPF;

?????? 在R4上引入靜態(tài)路由后,R4產(chǎn)生一條5類(lèi)LSA,描述外部路由信息,同時(shí)產(chǎn)生一條1類(lèi)LSA用來(lái)描述自己是ASBR,R3會(huì)產(chǎn)生一條4類(lèi)LSA,用來(lái)描述ASBR的信息;
?????? 如圖,在區(qū)域1中,R4產(chǎn)生兩條LSU,一條包含1類(lèi)LSA,用來(lái)表示自己是ASBR,一條包含5類(lèi)LSA,用來(lái)描述外部路由信息;



?????? 如下圖,在區(qū)域0中,R3產(chǎn)生一條LSU信息,包含4類(lèi)LSA,用來(lái)描述ASBR的信息,
Link state id用ASBR的router-id填充,使用netmask做與運(yùn)算,得出指向ASBR的主機(jī)路由;

?????? 現(xiàn)在,我們?cè)赗4的OSPF的進(jìn)程下undo import-route static,接著抓包分析;
如下圖,在區(qū)域0中抓到一條4類(lèi)LSA,Ls Age=3600,序列號(hào)不變(仍為0x8000001),在區(qū)域0和區(qū)域1都可以抓到一條5類(lèi)LSA,Ls Age=3600,序列號(hào)不變(仍為0x8000001)。(當(dāng)然在區(qū)域1還會(huì)產(chǎn)生一條LSA1,是R4產(chǎn)生的,序列號(hào)加1來(lái)撤銷(xiāo)自己ASBR的角色,這個(gè)1類(lèi)LSA的撤銷(xiāo)之前分析過(guò)了,這里不再贅述;)


??????
?????? LSA7的撤銷(xiāo):7類(lèi)LSA,是由NSSA區(qū)域的ASBR產(chǎn)生,也是用來(lái)描述區(qū)域外部路由信息,在本NSSA區(qū)域泛洪;其撤銷(xiāo)方式和LSA5一致,這里不再贅述;
?
?
isis的路由撤銷(xiāo)
?????? isis路由的更新和撤銷(xiāo)都是通過(guò)更新LSP報(bào)文來(lái)實(shí)現(xiàn)的,此外isis的路由撤銷(xiāo)分內(nèi)部撤銷(xiāo)和外部撤銷(xiāo),外部撤銷(xiāo)又分為部分撤銷(xiāo)和全部撤銷(xiāo);
?????? isis的內(nèi)部路由撤銷(xiāo)方式,isis的內(nèi)部路由是有TLV 128 ip internal reachability承載,在路由撤銷(xiāo)時(shí),發(fā)送LSP的序列號(hào)加1,TLV128不再攜帶被撤銷(xiāo)的路由信息來(lái)完成路由的撤銷(xiāo);
?????? 如下圖,R1和R2運(yùn)行isis路由協(xié)議,并建立了L2的鄰接關(guān)系,R1將loop0口宣告進(jìn)isis中;
??????

?????? 當(dāng)R1的將Loop0是發(fā)布到isis時(shí),我們抓包分析,查看抓包數(shù)據(jù),可以看出當(dāng)前LSP的序列號(hào)為0x0000000a,在TLV128中包含兩條IPv4前綴信息,一個(gè)互聯(lián)口的網(wǎng)段12.1.1.0/30,一個(gè)loop0口的1.1.1.1/32;

?????? 此時(shí),我們?cè)赗1的loop0口下undo isis enable,并抓包分析數(shù)據(jù),可以看到LSP的序列號(hào)變成了0x0000000b,TLV128中不再包含被撤銷(xiāo)的1.1.1.1的相關(guān)前綴信息;

?????? isis外部路由撤銷(xiāo)方式:分部分撤銷(xiāo)和全部撤銷(xiāo),部分撤銷(xiāo)使用序列號(hào)加1的方式撤銷(xiāo)路由,全部撤銷(xiāo)使用remaining lifetime=0,序列號(hào)不變來(lái)實(shí)現(xiàn)外部路由的撤銷(xiāo);
?????? 如下圖,在R1上新增兩條靜態(tài)路由,然后在isis中引入靜態(tài),然后抓包進(jìn)行分析;

?????? 可以看到生成一條LSP,并且以分片號(hào)1來(lái)承載(isis引入外部路由一定使用新的分片承載),序列號(hào)為0x00000001,TLV130承載兩條靜態(tài)路由前綴信息;

?????? 此時(shí)我們?cè)赗1上刪除一條靜態(tài)路由undo ip route-static 9.9.9.9 32,再分析抓包數(shù)據(jù);
可以看出,LSP的序列號(hào)變?yōu)?x00000002,TLV130中不再包含9.9.9.9的前綴信息;

此時(shí)我們?cè)賹?.8.8.8的靜態(tài)路由也刪除,再分析抓包數(shù)據(jù);可以看出LSP的remaining lifetime被置為0,序列號(hào)不變,并且不再攜帶TLV130字段,也就不攜帶任何路由前綴;

isis默認(rèn)為窄帶寬,使用TLV128承載內(nèi)部路由信息,使用TLV130承載外部路由信息;寬帶寬使用TLV135承載內(nèi)部和外部路由信息,TLV135的內(nèi)部撤銷(xiāo)方式和TLV128一致,TLV135的外部撤銷(xiāo)方式和TLV130的撤銷(xiāo)方式一致,這里不再贅述;
?
?
?
BGP路由的撤銷(xiāo)方式
?????? BGP路由的發(fā)布和撤銷(xiāo)都是通過(guò)update報(bào)文來(lái)實(shí)現(xiàn)的,主要通過(guò)update報(bào)文中的NLRI和witedrawn-routes來(lái)發(fā)布和撤銷(xiāo)路由;
?????? 如下圖,R1和R2建立IBGP鄰居關(guān)系,R1將network 1.1.1.1 32 ,抓包分析數(shù)據(jù);

通過(guò)抓包數(shù)據(jù)可以看出,BGP在更新路由時(shí),發(fā)送update報(bào)文,報(bào)文中攜帶一些路徑屬性,如origin、as_path、next-hop等,NLRI(網(wǎng)絡(luò)層可達(dá)信息)中攜帶具體的路由前綴信息;

下面,我們?cè)赗1的BGP進(jìn)程下undo network 1.1.1.1 32 繼續(xù)抓包分析,可以看到,撤銷(xiāo)后的update報(bào)文里沒(méi)有攜帶BGP的路徑屬性,只使用withdrawn-routes字段,攜帶撤銷(xiāo)的路由信息;
