3.1 VPN的歷史

VPN服務是很早就提出的概念,不過以前電信提供商提供VPN是在傳輸網上提供的覆蓋型的VPN服務。電信運營商給用戶出租線路,用戶上層使用何種的路由協議、路由怎么走等等,這些電信運營商不管。這種租用線路來搭建VPN的好處是安全,但是價格昂貴,線路資源浪費嚴重。
后來隨著ip網絡的全面鋪開,電信服務提供商在競爭的壓力下,不得不提供更加廉價的VPN服務,也就是三層VPN服務。通過提供給用戶一個IP平臺,用戶通過IP Over IP的封裝格式在公網上打隧道,同時也提供了加密等等的手段提供安全保障。這類VPN用戶在目前的網絡上數量還是相當巨大的!但是這類VPN服務因大量的加密工作、傳統路由器根據IP包頭的目的地址轉發效率不高等等的原因不是非常令人滿足。
MPLS技術的出現和BGP協議的改進,讓大家看到了另一種實現VPN的曙光。
3.2 MPLS/VPN體系結構
3.2.1 PE路由器的改造和VRF的導入
為了讓PE路由器上能區分是哪個本地接口上送來的VPN用戶路由,在PE路由器上創建了大量的虛擬路由器,每個虛擬路由器都有各自的路由表和轉發表,這些路由表和轉發表統稱為VRF(VPN Routing and Forwarding instances)。一個VRF定義了連到PE路由器上的VPN成員。VRF中包含了IP路由表,IP轉發表(也成為CEF表),使用該CEF表的接口集和路由協議參數和路由導入導出規則等等。
在VRF中定義的和VPN業務有關的兩個重要參數是RD(Route Distinguisher)和RT(Route Target)。RD和RT長度都是64比特。
有了虛擬路由器就能隔離不同VPN用戶之間的路由,也能解決不同VPN之間IP地址空間重疊的問題。

正常的BGP4協議能只傳遞IPv4的路由,由于不同VPN用戶具有地址空間重疊的問題,必須修改BGP協議。BGP最大的優點是擴展性好,可以在原來的基礎上再定義新的屬性,通過對BGP修改,把BGP4擴展成MP-BGP。在MP-IBGP鄰居間傳遞VPN用戶路由時打上RD標記,這樣VPN用戶傳來的IPv4路由轉變為VPNv4路由,這樣保證VPN用戶的路由到了對端的PE上,能夠使對端PE區分開地址空間重疊但不同的VPN用戶路由。例子如下:
在PE1、PE2、PE3上分別配置VRF參數,其中VPN1用戶的RD=6500:1,RT=100:1,VPN2用戶的RD=6500:2、RT=100:2。所有VRF可以同時 導入和導出所定義的RT。
以PE2為例,PE2從接口S0上獲得由CE4傳來的有關10.1.1.0/8的路由,PE2把該路由放置到和S0有關的VRF所管轄的IP路由表中,并且分配該路由的本地標簽,注重該標簽是本地唯一的。通過路由重新發布把VRF所管轄的IP路由表中的路由重新發布到BGP表中,此時通過參考VRF表的RD、RT參數,把正常的IPv4路由變成VPNv4路由,如10.1.1.0/8變成6500:1:10.1.1.0/8,同時把導出(EXPort)RT值和該路由的本地標簽值等等的屬性全部加到該路由條目中去。通過MP-IBGP會話,PE2把這條VPNv4路由發送的PE1處,PE1收到了兩條有關10.1.1.0/8的路由,其中一條是由PE3發來的,由于RD的不同,導致該兩條路由沒有可比性。MP-BGP接受到該兩條路由后的后繼工作是:去掉VPN4路由所帶的RD值,使之恢復IPv4路由原貌,并且根據各VRF配置的答應導入(Import)的RT值,把IPv4倒到各個VRF管轄的路由表和CEF表中,也就是說帶有RT=100:1的10.1.1.0/8的路由倒到VRF1所管的路由表和CEF表中,帶有RT=100:2的10.1.1.0/8的路由倒到VRF2所管轄的路由表和CEF表中。再通過CE和PE之間的路由協議,PE把不同的VRF管轄的路由表內容通告的各自的相聯的CE中去。
目前PE和CE之間可支持的路由協議只有四種BGP、OSPF、RIP2或者靜態路由。
新聞熱點
疑難解答