天天看點

Cisco ❀ VRF(虛拟路由轉發表)

VRF-(Virtual Routing Forwarding)虛拟路由轉發表

VPN虛拟路由轉發表,也稱VPN-instance(VPN執行個體),是PE為直接相連的site建立并維護的一個專門實體

每個site在PE上都有自己的VPN-instance,每個VPN-instance包含到一個或多個與該PE直接相連的CE的路由和轉發表,另外如果要實作同一VPN各個Site間的互通,該VPN-instance還就應該包含連接配接在其他PE上的發出該VPN的Site的路由資訊。

一、VRF的介紹

MPLS VPN網絡主要由CE、PE和P等3部分組成:

  1. CE(Customer Edge Router,使用者網絡邊緣路由器)裝置直接與服務提供商網絡(圖1中的MPLS骨幹網絡)相連,它“感覺”不到VPN的存在;
  2. PE(Provider Edge Router,骨幹網邊緣路由器)裝置與使用者的CE直接相連,負責VPN業務接入,處理VPN-IPv4路由,是MPLS三層VPN的主要實作者;
  3. P(Provider Router,骨幹網核心路由器)負責快速轉發資料,不與CE直接相連。在整個MPLS VPN中,P、PE裝置需要支援MPLS的基本功能,CE裝置不必支援MPLS。

PE是MPLS VPN網絡的關鍵裝置,根據PE路由器是否參與客戶的路由,MPLS VPN分成Layer3 MPLS VPN和Layer2 MPLS VPN。

其中Layer3 MPLS VPN遵循RFC2547bis标準,使用MBGP在PE路由器之間分發路由資訊,使用MPLS技術在VPN站點之間傳送資料,因而又稱為 BGP/MPLS VPN。

本文主要闡述的是Layer3 MPLS VPN。

在MPLS VPN網絡中,對VPN的所有處理都發生在PE路由器上,為此,PE路由器上起用了VPNv4位址族,引入了RD(Route Distinguisher)和RT(Route Target)等屬性。

  1. RD具有全局唯一性,通過将8byte的RD作為IPv4位址字首的擴充,使不唯一的IPv4位址轉化為唯一的VPNv4位址。VPNv4位址對用戶端裝置來說是不可見的,它隻用于骨幹網絡上路由資訊的分發。PE對等體之間需要釋出基于VPNv4位址族的路由,這通常是通過 MBGP實作的。正常的BGP4能隻傳遞IPv4的路由,MP-BGP在BGP的基礎上定義了新的屬性。MP-iBGP在鄰居間傳遞VPN使用者路由時會将 IPv4位址打上RD字首,這樣VPN使用者傳來的IPv4路由就轉變為VPNv4路由,進而保證VPN使用者的路由到了對端的PE上以後,即使存在位址空間重疊,對端PE也能夠區分開分屬不同VPN的使用者路由。
  2. RT使用了BGP中擴充團體屬性,用于路由資訊的分發,具有全局唯一性,同一個RT隻能被一個 VPN使用,它分成Import RT和Export RT,分别用于路由資訊的導入和導出政策。在PE路由器上針對每個site都建立了一個虛拟路由轉發表VRF(VPN Routing & Forwarding),VRF為每個site維護邏輯上分離的路由表,每個VRF都有Import RT和Export RT屬性。當PE從VRF表中導出VPN路由時,要用Export RT對VPN路由進行标記;當PE收到VPNv4路由資訊時,隻有所帶RT标記與VRF表中任意一個Import RT相符的路由才會被導入到VRF表中,而不是全網所有VPN的路由,進而形成不同的VPN,實作VPN的互訪與隔離。通過對Import RT和Export RT的合理配置,營運商可以建構不同拓撲類型的VPN,如重疊式VPN和Hub-and-spoke VPN。

整個MPLS VPN體系結構可以分成控制面和資料面

控制面定義了LSP的建立和VPN路由資訊的分發過程,

資料面則定義了VPN資料的轉發過程。

  1. 在控制層面,P路由器并不參與VPN路由資訊的互動,客戶路由器是通過CE和PE路由器之間、PE路由器之間的路由互動知道屬于某個VPN的網絡拓撲資訊。CE-PE路由器之間通過采用靜态/預設路由或采用IGP(RIPv2、OSPF)等動态路由協定。PE-PE之間通過采用MP-iBGP進行路由資訊的互動,PE路由器通過維持iBGP網狀連接配接或使用路由反射器來確定路由資訊分發給所有的PE路由器。除了路由協定外,在控制層面工作的還有 LDP,它在整個MPLS網絡中進行标簽的分發,形成資料轉發的邏輯通道LSP。

在資料轉發層面,MPLS VPN網絡中傳輸的VPN業務資料采用外标簽(又稱隧道标簽)和内标簽(又稱VPN标簽)兩層标簽棧結構。當一個VPN業務分組由CE路由器發給入口PE 路由器後,PE路由器查找該子接口并轉發VPN業務資料。

RD:區分VRF給進入VRF路一個X:X RD的辨別,在一個路由器有效

RT:router-target分為import RT與export RT區分在不同路由器上的VRF路由,import覺得接收那些VRF RT辨別的路由,export決定發出那些VRF RT辨別的路由

RD與RT的export RT值都是傳遞的

RT入方向可以存在多個值,可以接收多個VRF的路由

RT出方向隻能存在一個值

MPLS标簽配置設定範圍:MPLS label range 100-199

檢視雙标簽:

show ip cef vrf x y.y.y.y/24
(帶V辨別該路由由VPNV4傳遞)      
Show ip cef 
檢視CEF表
Show ip bgp vpnv4 all 
檢視VPNV4所有路由
show mpls forwarding-table 
檢視CEF的标記      

二、VRF解決的問題

  1. 實作類似專用PE的功能,用路由隔離不同的vpn使用者。
  2. 解決位址重疊的問題

    即同時支援使用公有位址的用戶端裝置和私有位址的用戶端裝置,或者多個VPN使用同一個位址空間;

    也可以支援建立重疊VPN,所謂重疊VPN是指同一個站點同時屬于多個VPN的情況。

三、為何引入RT與RD

1. 引入RT的概念

在PE 中,存在全局路由表、vrf 等,從全局路由表選擇路由到vrf 稱為export導出;從vrf 中選擇路由到全局路由表稱為import。RT 用于路由資訊的分發,它分成Import RT和Export RT,分别用于路由資訊的導入、導出政策。當從全局路由表中導出路由到vrf 時,要用Export RT對VPN路由進行标記;在往全局路由導入VPNv4 路由時,隻有所帶RT 标記與VRF 表中任意一個Import RT相符的路由才會被導入到全局路由表中。RT使得PE路由器隻包含和其直接相連的VPN的路由,而不是全網所有ipvpnv4 的路由,進而節省了PE路由器的資 源,提高了網絡拓展性。在一個VRF中,在釋出路由時使用RT 的export 規則。直接發送給其他的PE裝置。在接收端的PE上,接收所有的路由,并根據每個VRF 配置的RT 的import 規則進行檢查,如果與路由中的RT屬性match,則将該路由加入到相應的VRF中。

Export Target: 我這個VRF 發出的路由打上什麼标記;

Import Target:我這個VRF 接受什麼标記的路由。