深入講解BGP/MPLS VPN轉(zhuǎn)發(fā)和分發(fā)過程
向大家介紹深入講解BGP/MPLS VPN轉(zhuǎn)發(fā)和分發(fā)過程,可能好多人還不了解BGP/MPLS VPN是怎么回事的,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。
BGP/MPLS VPN的體系結(jié)構(gòu)
體系結(jié)構(gòu)主要分成數(shù)據(jù)面和控制面。數(shù)據(jù)面定義了BGP/MPLS VPN數(shù)據(jù)的轉(zhuǎn)發(fā)過程;控制面則定義了LSP的建立和VPN路由信息的分發(fā)過程。在此,我們主要討論一下數(shù)據(jù)的轉(zhuǎn)發(fā)過程和路由信息的分發(fā)過程。
數(shù)據(jù)轉(zhuǎn)發(fā)過程
在MPLS網(wǎng)絡(luò)中傳輸?shù)腣PN數(shù)據(jù)采用外標(biāo)簽(又稱隧道標(biāo)簽)和內(nèi)標(biāo)簽(又稱VPN標(biāo)簽)兩層標(biāo)簽棧結(jié)構(gòu),它們分別對(duì)應(yīng)于兩個(gè)層面的路由:域內(nèi)路由和VPN路由。域內(nèi)路由即BGP/MPLS VPN中的LSP是由PE路由器和P路由器通過運(yùn)行標(biāo)簽分發(fā)協(xié)議(Label Distribution Protocol:LDP)或資源預(yù)留協(xié)議(Resource Reservation Protocol:RSVP)建立的,它所產(chǎn)生的標(biāo)簽轉(zhuǎn)發(fā)表用于VPN分組外層標(biāo)簽的交換。
VPN路由是由PE路由器之間通過運(yùn)行MP-iBGP建立的,該協(xié)議跨越骨干網(wǎng)的P路由器分發(fā)VPN標(biāo)簽形成VPN路由。在PE路由器上除了VRF表外,還有MPLS路由表,該表用于存放VPN標(biāo)簽和子接口的對(duì)應(yīng)關(guān)系,為出口PE路由器到CE路由器之間的數(shù)據(jù)轉(zhuǎn)發(fā)提供依據(jù)。
具體數(shù)據(jù)轉(zhuǎn)發(fā)過程如下:當(dāng)CE路由器通過某個(gè)子接口將一個(gè)VPN分組發(fā)給入口PE路由器后,PE路由器查找該子接口對(duì)應(yīng)的VRF表,從VRF表中得到VPN標(biāo)簽、初始外層標(biāo)簽以及到出口PE路由器的輸出接口。
當(dāng)VPN分組被打上兩層標(biāo)簽之后,就通過輸出接口發(fā)送到相應(yīng)LSP上的第一個(gè)P路由器。骨干網(wǎng)中P路由器根據(jù)外層標(biāo)簽逐跳轉(zhuǎn)發(fā)VPN分組,直至最后一個(gè)P路由器彈出外層標(biāo)簽,將只含有VPN標(biāo)簽的分組轉(zhuǎn)發(fā)給出口PE路由器。
出口PE路由器根據(jù)VPN標(biāo)簽,查找MPLS路由表得到對(duì)應(yīng)的輸出接口,在彈出VPN標(biāo)簽后通過該接口將VPN分組發(fā)送給正確的CE路由器,從而實(shí)現(xiàn)了整個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)過程。特別的,當(dāng)出口PE路由器和入口PE路由器是同一個(gè)路由器時(shí),PE路由器對(duì)收到的VPN分組將不經(jīng)過任何處理直接轉(zhuǎn)發(fā)給目的CE路由器。
路由信息分發(fā)過程
在BGP/MPLS VPN中,因?yàn)椴捎昧藘蓪訕?biāo)簽棧結(jié)構(gòu),所以P路由器并不參與VPN路由信息的交互,客戶路由器是通過CE和PE路由器之間、PE路由器之間的路由交互知道屬于某個(gè)VPN的網(wǎng)絡(luò)拓?fù)湫畔ⅰ?/p>
CE-PE路由器之間通過采用靜態(tài)/缺省路由,或采用IGP(RIPv2、OSPF)等動(dòng)態(tài)路由協(xié)議,或建立EBGP連接等方式進(jìn)行路由信息的交互。當(dāng)入口PE路由器從某個(gè)子接口接收到來自CE路由器的路由信息時(shí)。
除了將該路由導(dǎo)入對(duì)應(yīng)的VRF表,PE路由器還要為該路由分配一個(gè)VPN標(biāo)簽。該VPN標(biāo)簽用以識(shí)別接收路由信息的子接口,因此從同一個(gè)子接口接收到的路由信息將被分配同樣的VPN標(biāo)簽,從而PE路由器可以將收到的VPN分組轉(zhuǎn)發(fā)到合適的子接口。
PE-PE之間通過采用MP-iBGP進(jìn)行路由信息的交互。PE路由器通過維持iBGP網(wǎng)狀連接或使用路由反射器來確保路由信息被分發(fā)給所有的PE路由器。當(dāng)入口PE路由器分發(fā)路由信息時(shí),將同時(shí)攜帶路由所在VRF表的RD。
即將路由的IPv4地址轉(zhuǎn)化為VPN-IPv4地址。分發(fā)的具體路由信息包括該路由的VPN-IPv4地址前綴、下一跳BGP即入口PE路由器的VPN-IPv4地址(其中RD=0)、分配給該路由的VPN標(biāo)簽和該路由所在VRF表的Export RT。該路由信息我們稱為帶有標(biāo)簽的VPN-IPv4路由信息。
當(dāng)出口PE路由器收到路由信息時(shí),將查看該路由的RT,如果RT和其任意VRF表中任意一個(gè)Import RT相符時(shí),就將該路由存入VPN-IPv4.RIB表。在進(jìn)行路由選擇之后,將最優(yōu)路由中的VPN-IPv4地址轉(zhuǎn)化成IPv4地址,即去掉地址中的RD,導(dǎo)入到相應(yīng)的VRF表中。
跨越多個(gè)運(yùn)營商網(wǎng)絡(luò)的BGP/MPLS VPN的實(shí)現(xiàn)
在某個(gè)客戶的BGP/MPLS VPN跨越多個(gè)運(yùn)營商網(wǎng)絡(luò)的情況下,如果假定運(yùn)營商所用地址域不重疊,那么可以通過下述方法來解決:①為了分發(fā)帶有標(biāo)簽的IPv4路由信息,在邊緣路由器上建立EBGP連接;②為了分發(fā)帶有標(biāo)簽的VPN-IPv4路由信息,在屬于不同運(yùn)營商的PE路由器之間建立多跳的EBGP連接。值得注意的是,這種用于不同運(yùn)營商之間的EBGP解決方案同樣適用于一個(gè)具有多個(gè)AS值的運(yùn)營商。
BGP/MPLS VPN的特點(diǎn):
◆作為PP-VPN,提高了用戶網(wǎng)絡(luò)管理效率,降低了用戶在網(wǎng)絡(luò)管理方面投入的費(fèi)用。
◆解決了純?nèi)龑覫P VPN所不能解決的地址重疊和重疊VPN的問題。
◆具有較好的網(wǎng)絡(luò)拓展性,解決了傳統(tǒng)VPN在實(shí)現(xiàn)用戶節(jié)點(diǎn)全網(wǎng)狀連接時(shí)的N2問題。
◆不需要采用加密、認(rèn)證等手段,通過路由隔離、地址隔離等多種方式,實(shí)現(xiàn)與傳統(tǒng)VPN相結(jié)合。