HCIE面試題——MPLS
1、MPLS vpn有那幾種路由器角色?
(1)CE(CustomEdge):直接與服務(wù)提供商相連的用戶設(shè)備;?
(2)PE(ProviderEdgeRouter):指骨干網(wǎng)上的邊緣路由器,與 CE 相連,主要負(fù)責(zé) vpn 業(yè)務(wù)的接入;?
(3)P(ProviderRouter):指骨干網(wǎng)上的核心路由器,主要完成路由和快速?
轉(zhuǎn)發(fā)功能;
2、RD 和 RT 的作用??
(1)RD(RouteDistinguisher):為了防止一臺 PE 接收到遠(yuǎn)端 PE 發(fā)來的不同?VRF 的相同路由時不知所措,而加在路由前面的特殊信息(RD)。在?PE?
發(fā)布路由時加上,在遠(yuǎn)端?PE?接收到路由后放在本地路由表中,用來與后來接收到的路由進(jìn)行區(qū)分。?
(2)RT(RouteTarget):表明了一個 VRF 的路由喜好,通過他可以實(shí)現(xiàn)不同?VRF 之間的路由互通。他的本質(zhì)就是 BGP 的 community 屬性。(拓展體屬性)。
擴(kuò)展問題1:有RT可以不用RD嗎??
理論上講,是可以的。但 RT 不是一個簡單的數(shù)字,通常是一個列表,而且他?
是一種路由屬性,不是與 IP 前綴放在一起的,這樣在比較的時候不好操作。特別是:BGP 的 Routewithdraw(路由撤銷)報文不攜帶屬性,這樣在這種情況下收到的路由就沒有 RT 了,就會出現(xiàn)兩條相同路由都被撤銷了。?
擴(kuò)展問題2:有RD可以不用RT嗎??
可以,用?RD?完全可以實(shí)現(xiàn)?RT?的功能,但是沒有?RT?靈活(同個?pe?的兩vrf?要進(jìn)行互訪的時候,用 RD 就實(shí)現(xiàn)不了),不便于控制。
擴(kuò)展問題3:BGP/MPLS vpn是如何實(shí)現(xiàn)沖突的地址空間共存的??
在路由的前綴加上 64bit 位的 RD,成為 96bit 的 vpnv4 路由。?
擴(kuò)展問題4:8字節(jié)RD值由哪些內(nèi)容構(gòu)成?沒有RD有什么問題?路由在哪里打上?RD值的??
格式為 AS:NN,總長 64bit。?
由?Type?字段(16bit)、Administrator(管理員)字段、Assigned Nuber(分?配號)字段組成。?
分為 3 種:?
Type 為?0;Administrator 表示公有 AS 號,長度為 16bit;Assigned Number表示私有 AS 號,長度為 32bit。?
Type 為1:Administrator 必須是個 IPv4 地址,通常為公有 IP;Assigned
Number 自定義,長度為 16bit。?
Type 為2:Administrator 表示公有 AS 號,長度為 32bit;Assigned Number 。
自定義,長度為 16bit。?
實(shí)際項(xiàng)目中需要嚴(yán)格按照上面三種格式設(shè)置 RD 值,實(shí)驗(yàn)環(huán)境沒此要求。?
沒有?RD,PE?將兩個?CE?同一條?IPv4?路由引入?BGP?傳遞出去,則會當(dāng)成一條?BGP 路由。?
擴(kuò)展問題5:MP-BGP路由器收到一條vpnv4,如果沒有導(dǎo)入RT,是否會接收這條vpnv4路由??
沒有導(dǎo)入?RT?不會進(jìn)入?vpnv4?路由表,因?yàn)闆]有導(dǎo)入?RT,接收這條路由也沒有用。
3、vpn 實(shí)例的作用??
將?PE?設(shè)備的路由表邏輯的隔開來,實(shí)現(xiàn)私網(wǎng)路由和公網(wǎng)路由的隔離?
同時也可以通過?vpn?實(shí)例中的?RD?值,在私網(wǎng)路由存在沖突時,對私網(wǎng)路由進(jìn)?
行區(qū)分。
4、PE 設(shè)備控制層面和數(shù)據(jù)層面的作用??
(1)控制層面:?
各個設(shè)備角色之間的路由信息交換?
CE------>PE:?
a)PE?配置相應(yīng)的?vpn?實(shí)例?
b)PE?和?CE?之間運(yùn)行相應(yīng)的路由協(xié)議?
c)將?CE?的私網(wǎng)路由引入?PEBGP?中,并加上?RD,成為?BGPvpnv4?路由?
PE------>PE:?
a)PE?與?PE?建立?vpnv4?的鄰居關(guān)系?
b)通過?update?攜帶?vpnv4?路由,Update?報文中攜帶 ExportvpnTarget 屬性及 MPLS 標(biāo)簽。?
c)出口?PE?收到?vpn-IPv4?路由后,在下一跳可達(dá)的情況下進(jìn)行,根據(jù)?RT?導(dǎo)入到相應(yīng)的?vpn?實(shí)例路由表?
d)本地?PE?為其保留如下信息以供后續(xù)轉(zhuǎn)發(fā)報文時使用:
1).MP-BGPUpdate?消息中攜帶的?MPLS?標(biāo)簽值?
2).TunnelID?
PE------>CE:?
a)PE?將?BGP?路由引入到相應(yīng)的路由協(xié)議中?
(2)數(shù)據(jù)層面:?
○1 CE 查找 FIB,根據(jù) IP 轉(zhuǎn)發(fā)把數(shù)據(jù)發(fā)送給 PE。?
○2?PE?從?vpn?實(shí)例收到的數(shù)據(jù)包,先匹配目的?IPv4?前綴查找vpn?實(shí)例FIB,得到?Tunnel-ID、私網(wǎng)標(biāo)簽、下一跳,然后根據(jù)下一跳找到公網(wǎng) LSP 并壓入公網(wǎng)標(biāo)簽。?
○3 中間的 P 設(shè)備根據(jù)外層標(biāo)簽進(jìn)行轉(zhuǎn)發(fā)。?
○4?應(yīng)用了倒數(shù)第二跳彈出,則此標(biāo)簽會在到達(dá)?Egress PE?之前的一跳彈出,Egress PE 只能收到帶有內(nèi)層標(biāo)簽的報文。?
○5?對端?PE?設(shè)備收到私網(wǎng)標(biāo)簽,發(fā)現(xiàn)該標(biāo)簽處于棧底,剝離標(biāo)簽在送入相應(yīng)的 vpn 實(shí)例的路由表中,再根據(jù) FIB 轉(zhuǎn)發(fā)。
擴(kuò)展問題1:MPLS vpn的LSP隧道有幾種實(shí)現(xiàn)方式?分別在什么情況下使用?(1)靜態(tài)
中心到節(jié)點(diǎn)的幀中繼網(wǎng)絡(luò),結(jié)構(gòu)簡單及拓?fù)浔容^穩(wěn)定的小型網(wǎng)絡(luò)?
(2)LDP?
結(jié)構(gòu)比較復(fù)雜,拓?fù)浣?jīng)常變動的大型網(wǎng)絡(luò)?
擴(kuò)展問題2:MPLS vpn有兩層標(biāo)簽,如果第二跳彈出mpls標(biāo)簽,最后一跳路由器?怎么知道這個標(biāo)簽是mpls的還是bgp的??
最后一臺路由器查看自己的標(biāo)簽轉(zhuǎn)發(fā)表就能分辨是公網(wǎng)標(biāo)簽還是私網(wǎng)標(biāo)簽。?
因?yàn)?MPLS?和?BGP?都是使用基于?LSR?平臺的標(biāo)簽空間,所以最后一臺路由器的公網(wǎng)標(biāo)簽和私網(wǎng)標(biāo)簽對應(yīng)的標(biāo)簽號不同。?
擴(kuò)展問題3:路由器怎么確定是mpls轉(zhuǎn)發(fā)還是ip轉(zhuǎn)發(fā)?(從設(shè)備讀取數(shù)據(jù)包的角度)首先要確定數(shù)據(jù)包為?MPLS?報文還是?IP?報文,?主要查看看二層報文頭部中的 type 字段。?
如果為?0x0800,則為 ip 報文;?
如果為?0x8847 或者?0x8848,則為 mpls 報文。?
(常見的?type?字段有?0x86dd?為?ipv6 0x0806?為?arp)?
還有就是查看 FIB 表中去往目的地址的 tunnel-id 是否為?0X0;
擴(kuò)展問題4:PE之間可以通過物理接口來建立MP-BGP 鄰居嗎?PE上的環(huán)回口一?定要是32?位的掩碼嗎??
華為 VRP 系統(tǒng)規(guī)定:PE 之間必須使用 32 位掩碼的 Loopback 接口地址來建?
立 MP-IBGP 對等體關(guān)系,以便能夠迭代到隧道。以 Loopback 接口地址為目的地?址的路由通過 MPLS 骨干網(wǎng)上的 IGP 發(fā)布給對端 PE。?
骨干網(wǎng)內(nèi)做路由聚合會對 MPLS vpn 產(chǎn)生什么樣的影響?

如圖,在P設(shè)備上將3.3.3.9/32匯總為3.3.3.0/24?
當(dāng)?PE1?收到一條?vpnv4?的路由,首先需要查看下一跳是否存在對應(yīng)的?LSP,如果不存在則直接不裝 vpn 實(shí)例路由表中。?
在路由匯總后,PE1 并沒有關(guān)于下一跳的 LSP。所以下一跳不可達(dá),該路由被?
丟棄。?
如果在?P?設(shè)備添加一條匯總后的靜態(tài)路由并指向?null0,結(jié)果還是?PE1?不會將?
vpnv4 的路由放入 vpn 實(shí)例路由表中。因?yàn)?PE 只使用下一跳的 32 位路由的LSP。而匯總后是 24 位路由的 LSP,所以該路由還是被丟棄。