【实战】MPLS单域通信过程详解
一、背景說明
?
本文專門從路由傳輸與數(shù)據(jù)傳輸兩個(gè)維度詳細(xì)講解傳輸?shù)倪^程,上文實(shí)驗(yàn)拓?fù)淙缦聢D所示,為了簡單起見,只已客戶A為例(紫色)進(jìn)行描述
?
二、路由傳輸層面
?
R5與R1之間通過ospf 1學(xué)習(xí)到5.5.5.5/32網(wǎng)絡(luò)?
?
將5.5.5.5/32路由導(dǎo)入R1上的instance A中,在bgp路由表中能看到5.5.5.5/32的起源路由器為R1,起源方式為incomplete?
由于R1和R3底層已經(jīng)通過ospf建立鄰居關(guān)系,bgp協(xié)議的update包可以直接通過“一跳”的方式將路由從R1傳到R3?
由于R3上也創(chuàng)建了VRF,所以R1將5.5.5.5/32傳給R3時(shí)將普通的bpg報(bào)文變成mp-bgp報(bào)文傳送給R3,其中通過rd值來表示路由的唯一性,rt值告訴R3該路由應(yīng)該放進(jìn)R3上哪個(gè)VRF中,rt值信息粘附在R1傳給R3的bgp update報(bào)文community擴(kuò)展屬性中?
一并傳給R3的還有R1通過mp-bgp為5.5.5.5/32分配的標(biāo)簽值,此處為1028?
這一點(diǎn)也可以從R1上看到?
?
最后,R3將5.5.5.5/32由mp-bgp引入ospf1,在通過ospf1發(fā)給R7,至此路由信息傳送完成?
?
由上述可知,在整個(gè)過程中,PE(R1,R3)設(shè)備的任務(wù)最為繁重,他需要將普通的bgp路由條目轉(zhuǎn)換成mp-bgp的4路由條目,再通過lsp隧道發(fā)出,pe路由器的功能模塊在此過程中如下圖所示?
可以看到BGP除了本身的4路由表外,還單獨(dú)為每個(gè)vrf實(shí)例維護(hù)了一張路由表
?
三、數(shù)據(jù)傳輸層面
?
首先數(shù)據(jù)包從R7出來,目的地址是5.5.5.5/32?
?
由于R1,R2,R3之間還運(yùn)行了ldp協(xié)議,所以當(dāng)數(shù)據(jù)包到達(dá)R3時(shí),棧底先壓上R1的mp-bgp為5.5.5.5/32分配的標(biāo)簽1028,外層再壓上R2為1.1.1.1/32分配的標(biāo)簽1025傳送給R2?
之所以壓上R2為1.1.1.1/32分配的標(biāo)簽,是因?yàn)樵赗3的fib表中,去往5.5.5.5/32走的是0x3隧道?
而在0x3隧道中目的地址變成了1.1.1.1,下一跳是R2的g0/0/1接口,標(biāo)簽為1025?
?
數(shù)據(jù)包到達(dá)R2后,剝離外層標(biāo)簽,再發(fā)給R1?
?
R1根據(jù)MP-BGP分配的標(biāo)簽值放入相應(yīng)的VRF中,最后以ip報(bào)文的形式發(fā)送給R5,至此數(shù)據(jù)傳輸完成?
整個(gè)過程可以在R7上進(jìn)行標(biāo)簽路徑查看?
?
四、RD、RT與MP-BGP label詳解
1.RT詳解
當(dāng)R1要把路由傳給R3時(shí),由于R3上也運(yùn)行了vrf,所以就需要有一種判斷機(jī)制來確定將路由存放到那一個(gè)vrf中,而rt的引入就是結(jié)局這個(gè)問題,他作為只對(duì)vrf感興趣的判斷依據(jù),存放于BGP updata的擴(kuò)展community屬性中,所以rt屬于控制(路由傳輸)層面的參數(shù)
2.RD詳解
關(guān)于rd值,以R1為例,很多解釋說他是為了在R1上標(biāo)識(shí)路由的唯一性,其實(shí)這個(gè)說法并不準(zhǔn)確,再往深層次的挖,就算R1上instance A與instance B使用了相同的路由,但BGP updata報(bào)文中的rt值已經(jīng)判斷出要傳輸?shù)穆酚蓪儆谀膫€(gè)vrf,所以rd值的作用并不是在此體現(xiàn)
還是以R1為例,假設(shè)instance A與instance B上都有5.5.5.5/32,發(fā)送給R3后,由于有rt這個(gè)擴(kuò)展屬性,所以R3使能分辨出該放到哪個(gè)vrf中的,但之后如果R1給R3發(fā)的是一種撤銷報(bào)文(route reserve),這種報(bào)文與BGP的updata不同,他不會(huì)去查看屬性,所以此時(shí)的R3就不知道該撤銷那個(gè)vrf中的5.5.5.5/32,rd也只是在這種場景下發(fā)揮作用。這也是為什么rd是粘附在路由前綴之前,而rt在擴(kuò)展屬性中,rd與rt一樣屬于控制(路由傳輸)層面的參數(shù)
3.Label詳解
首先要說明的是,label屬于轉(zhuǎn)發(fā)(數(shù)據(jù)傳輸)層面的參數(shù)。當(dāng)R1將路由傳遞個(gè)R3后,R3將數(shù)據(jù)要發(fā)送給R1,此時(shí)他知道如何去往R1,但數(shù)據(jù)包送到R1的那個(gè)vrf中卻無法判定,所以bgp在通過rt值將路由發(fā)送過來時(shí),一并附帶一個(gè)label值,就是用于告訴R3將數(shù)據(jù)發(fā)往哪個(gè)vrf的。
總結(jié)
以上是生活随笔為你收集整理的【实战】MPLS单域通信过程详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【教程】Linux 系统下对目录扩容的方
- 下一篇: 99%网工都会遇到的10道经典面试问题