VRF技术白皮书
VRF技術(shù)白皮書(shū)
1??原理簡(jiǎn)介
近年來(lái)網(wǎng)絡(luò)VPN技術(shù)方興未艾,日益成為業(yè)界關(guān)注的焦點(diǎn)。根據(jù)VPN實(shí)現(xiàn)的技術(shù)特點(diǎn),可以把VPN技術(shù)分為以下三類(lèi):
傳統(tǒng)VPN:FR和ATM
CPE-based VPN:L2TP和IPSec等
Provider Provisioned VPNs ( PP-VPN ):MPLS L2VPN和MPLS L3VPN。
本文介紹的VRF特性是MPLS VPN中經(jīng)常使用的技術(shù),中文含義為VPN路由轉(zhuǎn)發(fā)實(shí)例。鑒于VRF與MPLS VPN密切相關(guān),下面首先對(duì)MPLS VPN作簡(jiǎn)要介紹。
?
圖1是一個(gè)典型的MPLS L3VPN的組網(wǎng)圖,運(yùn)營(yíng)商通過(guò)自己的IP/MPLS核心網(wǎng)絡(luò)為BLUE和YELLOW兩個(gè)客戶提供VPN服務(wù)。SITE1和SITE3分別為VPN BLUE的兩個(gè)站點(diǎn),SITE2和SITE4分別為VPN YELLOW的兩個(gè)站點(diǎn)。VPN BLUE兩個(gè)站點(diǎn)內(nèi)的主機(jī)可以互訪,但不能訪問(wèn)VPN YELLOW內(nèi)的主機(jī)。同樣,VPN YELLOW兩個(gè)站點(diǎn)內(nèi)的主機(jī)可以互訪,但不能訪問(wèn)VPN BLUE內(nèi)的主機(jī)。從而實(shí)現(xiàn)了兩個(gè)VPN間的邏輯劃分和安全隔離。
CE設(shè)備的作用是把用戶網(wǎng)絡(luò)連接到PE,與PE交互VPN用戶路由信息:向PE發(fā)布本地路由并從PE學(xué)習(xí)遠(yuǎn)端站點(diǎn)路由。
PE作用是向直連的CE學(xué)習(xí)路由,然后通過(guò)IBGP與其他PE交換所學(xué)的VPN路由。PE設(shè)備負(fù)責(zé)VPN業(yè)務(wù)的接入。
P設(shè)備是運(yùn)營(yíng)商網(wǎng)絡(luò)中不與CE直接相連的設(shè)備,只要支持MPLS轉(zhuǎn)發(fā),并不能感知到VPN的存在。
?
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????圖1
?
上面組網(wǎng)中VPN的設(shè)計(jì)思想是很巧妙的,但存在如下幾個(gè)問(wèn)題:
1、????本地路由沖突問(wèn)題,即:在BLUE和YELLOW兩個(gè)VPN中可能會(huì)使用相同的IP地址段,比如10.1.1.0/24,那么在PE上如何區(qū)分這個(gè)地址段的路由是屬于哪個(gè)VPN的。
2、????路由在網(wǎng)絡(luò)中的傳播問(wèn)題,上述問(wèn)題會(huì)在整個(gè)網(wǎng)絡(luò)中存在。
3、????PE向CE的報(bào)文轉(zhuǎn)發(fā)問(wèn)題,當(dāng)PE接收到一個(gè)目的地址在10.1.1.0/24網(wǎng)段內(nèi)的IP報(bào)文時(shí),他如何判斷該發(fā)給哪個(gè)VPN?
?
針對(duì)上述3個(gè)問(wèn)題,分別有以下解決方案:
1、???為了解決本地路由沖突問(wèn)題,我們引入了VRF的概念:把每臺(tái)PE路由器在邏輯上劃分為多臺(tái)虛擬路由器,即多個(gè)VPN路由轉(zhuǎn)發(fā)實(shí)例VRF,每個(gè)VRF對(duì)應(yīng)一個(gè)VPN,有自己獨(dú)立的路由表、轉(zhuǎn)發(fā)表和相應(yīng)的接口。這就相當(dāng)于將一臺(tái)各VPN共享的PE模擬成多臺(tái)專(zhuān)用PE。這樣PE與CE交互的路由信息只是該VPN的路由,從而實(shí)現(xiàn)了VPN路由的隔離。由于不同VPN的路由存放在不同的VRF中,所以VPN路由重疊的問(wèn)題也解決了。
?
2、????VPN重疊路由在網(wǎng)絡(luò)中的傳播問(wèn)題,可以在路由傳遞的過(guò)程中為這條路由再添加一個(gè)標(biāo)識(shí),用以區(qū)別不同的VPN。正常的BGP4協(xié)議只能傳遞IPv4的路由,由于不同VPN用戶具有地址空間重疊的問(wèn)題,必須修改BGP協(xié)議。BGP最大的優(yōu)點(diǎn)是擴(kuò)展性好,可以在原來(lái)的基礎(chǔ)上再定義新的屬性,通過(guò)對(duì)BGP修改,把BGP4擴(kuò)展成MP-BGP。在MP-IBGP鄰居間傳遞VPN用戶路由時(shí)打上RD標(biāo)記等VPN信息,這樣CE傳來(lái)的VPN用戶的IPv4路由被PE轉(zhuǎn)換為VPN-IPv4路由,這樣就能保證對(duì)端PE能夠區(qū)分開(kāi)屬于不同VPN用戶的地址重疊的路由。
?
3、????PE向CE的報(bào)文轉(zhuǎn)發(fā)問(wèn)題,由于IP報(bào)文的格式不可更改,沒(méi)有什么文章可以做,但可以在IP頭之外加上一些信息(標(biāo)簽),由始發(fā)的VPN打上標(biāo)記,這樣PE在接收?qǐng)?bào)文時(shí)可以根據(jù)這個(gè)標(biāo)記進(jìn)行轉(zhuǎn)發(fā)。
?
???????每一個(gè)VRF可以看作一臺(tái)虛擬的路由器,好像是一臺(tái)專(zhuān)用的PE設(shè)備。該虛擬路由器包括如下元素:
一張獨(dú)立的路由表/轉(zhuǎn)發(fā)表,當(dāng)然也包括了獨(dú)立的地址空間。
一組歸屬于這個(gè)VRF的接口集合。
一組只用于本VRF的路由協(xié)議。
?
對(duì)于每個(gè)PE,可以維護(hù)一個(gè)或多個(gè)VRF,同時(shí)維護(hù)一個(gè)公網(wǎng)的路由表(也叫全局路由表),多個(gè)VRF實(shí)例相互分離獨(dú)立。實(shí)現(xiàn)VRF并不困難,關(guān)鍵在于如何在PE上使用特定的策略規(guī)則來(lái)協(xié)調(diào)各VRF和全局路由表之間的關(guān)系。
?
在VRF中定義的和VPN業(yè)務(wù)有關(guān)的兩個(gè)重要參數(shù)是RT和RD,RT和RD長(zhǎng)度都是64bit。
RT是Route Target的縮寫(xiě),RT的本質(zhì)是每個(gè)VRF表達(dá)自己的路由取舍及喜好的方式,主要用于控制VPN路由的發(fā)布和安裝策略。分為import和export兩種屬性,前者表示了我對(duì)那些路由感興趣,而后者表示了我發(fā)出的路由的屬性。當(dāng)PE發(fā)布路由時(shí),將使用路由所屬VRF的RT export規(guī)則,直接發(fā)送給其他的PE設(shè)備。對(duì)端PE接收路由時(shí),首先接收所有的路由,并根據(jù)每個(gè)VRF配置的RT的import規(guī)則進(jìn)行檢查,如果與路由中的RT屬性match,則將該路由加入到相應(yīng)的VRF中。以下圖為例:
SITE-1:我發(fā)的路由是藍(lán)色的,我也只接收藍(lán)色的路由。
SITE-2:我發(fā)的路由是黃色的,我也只接收黃色的路由。
SITE-3:我發(fā)的路由是藍(lán)色的,我也只接收藍(lán)色的路由。
SITE-4:我發(fā)的路由是黃色的,我也只接收黃色的路由。
這樣,SITE-1與SITE-3中就只有自己和對(duì)方的路由,兩者實(shí)現(xiàn)了互訪。同理SITE-2與SITE-4也一樣。這時(shí)我們就可以把SITE-1與SITE-3稱(chēng)為VPN BLUE,而把SITE-2與SITE-4稱(chēng)為VPN YELLOW。
?
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????圖2
?
RD是Route Distinguisher的縮寫(xiě),是說(shuō)明路由屬于哪個(gè)VPN的標(biāo)志。理論上可以為每個(gè)VRF配置一個(gè)RD,通常建議為每個(gè)VPN的VRF都配置相同的RD,并且要保證這個(gè)RD全球唯一。如果兩個(gè)VRF中存在相同的地址,但是由于RD不同,這兩個(gè)路由在PE間發(fā)布過(guò)程中也不會(huì)混淆,因?yàn)?span lang="EN-US" style="word-wrap:normal; word-break:normal">MP BGP把RD和路由一起發(fā)送,對(duì)端PE可以根據(jù)RD確定路由所屬的VPN,從而把路由安裝到正確的VRF中。
RD并不會(huì)影響不同VRF之間的路由選擇以及VPN的形成,這些事情由RT搞定。
PE從CE接收的標(biāo)準(zhǔn)的路由是IPv4路由,如果需要發(fā)布給其他的PE路由器,此時(shí)需要為這條路由附加一個(gè)RD。在IPv4地址加上RD之后,就變成VPN-IPv4地址族了。VPN-IPv4地址僅用于服務(wù)供應(yīng)商網(wǎng)絡(luò)內(nèi)部。在PE發(fā)布路由時(shí)添加,在PE接收路由后放在本地路由表中,用來(lái)與后來(lái)接收到的路由進(jìn)行比較。CE不知道使用的是VPN-IPv4地址。
?
?
總結(jié)
- 上一篇: LeetCode 32. Longest
- 下一篇: HALCON示例程序color_segm