一、了解MPLS背景
1、傳統的 IP 數據轉發是基于逐跳式的,每個轉發數據的路由器都要根據 IP 包頭的目的地址查找路由表來獲得下一跳的出口,這是個繁瑣又效率低下的工作,主要的原因是兩個:1、有些路由的查詢必須對路由表進行多次查找,這就是所謂的遞歸搜索;2、由于路由匹配遵循最長匹配原則,所以迫使幾乎所有的路由器的交換引擎必須用軟件來實現,用軟件實現的交換引擎和 ATM 交換機上用硬件來實現的交換引擎在效率上無法相 抗衡。當今的互聯網應用需求日益增多,對帶寬、對時延的要求也越來越高。如何提高轉發效率,各個路由器生產廠家做了大量的改進工作,如 Cisco 在路由器上提供 CEF(Cisco Express Forwarding)功能、修改路由表搜索算法等等。但這些修補并不能完全解決目前互聯網所面臨的問題。
2、IP 和 ATM 曾經是兩個互相對立的技術,各個 IP 設備制造商和 ATM 設備制造商都曾努力想吃掉對方,想 IP 一統天下,或者 ATM一家獨秀!但是最終是這兩種技術的融合,那就是 MPLS(Multi-Protocol Label Switching)技術的誕生!MPLS 技術結合和 IP 技術信令簡單和 ATM 交換引擎高效的優點!
二、MPLS標簽
1、標簽結構
IP 設備和 ATM 設備廠商實現 MPLS 技術是在各自原來的基礎上做的,對于 IP 設備商,它修改了原來 IP 包直接封裝在二層鏈路幀中的規范,而是在二層和三層包頭之間插了一個標簽(Label),而 ATM 設備制造商利用了原來 ATM 交換機上的 VPI/VCI 的概念,在使用 Label 來代替了 VPI/CVI,當然 ATM 交換機上還必修改信令控制部分,引入了路由協議,ATM 交換使用了路由協議來和其他設備交換三層的路由信息。
1)、20 比特的 LABEL 字段用來表示標簽值,由于標簽是定長的,所以對于路由器來說,可以分析定長的標簽來做數據包的轉發,這是標簽交換的最大優點,定長的標簽就意味這可以用硬件來實現數據轉發,這種硬件轉發方式要比必須用軟件實現的路由最長匹配轉發方式效率要高得多!
2)、3 比特的 EXP 用來實現 QOS
3)、1 比特 S 值用來表示標簽棧是否到底了,對于 VPN,TE 等應用將在二層和三層頭之間插入兩個以上的標簽,形成標簽棧。
4)、8 比特 TTL 值用來防止數據在網上形成環路
2、LSR設備及MPLS架構
能支持標簽交換的路由器為 LSR(Label Switch Router)
LSR 的體系結構分為兩塊:
1). 控制平面(Control Plane)
該模塊的功能是用來和其他 LSR 交換三層路由信息,以此建立路由表;和交換標簽對路由的綁定信息,以此建 LabelInformation Table(LIB)標簽信息表。同時再根據路由表和 LIB 生成 Forwarding InformationTable(FIB)表和 Label Forwarding Information Table(LFIB)表。控制平面也就是我們一般所說的路由引擎模塊!
2).數據平面(Data Plane)
數據平面的功能主要是根據控制平面生成的 FIB 表和 LFIB 表轉發 IP 包和標簽包。對于控制平面中所使用的路由協議,可以使用以前的任何一種,如 OSPF、RIP、BGP 等等,這些協議的主要功能是和其他設備交換路由信息,生成路由表。這是實現標簽交換的基礎。在控制平面中導入了一種新的協議—LDP,該協議的功能是用來針對本地路由表中的每個路由條目生成一個本地的標簽,由此生成 LIB 表,再把路由條目和本地標簽的綁定通告給鄰居 LSR,同時把鄰居LSR 告知的路由條目和標簽幫定接收下來放到 LIB 表里,最后在網絡路由收斂的情況下,參照路由表和 LIB 表的信息生成 FIB 表和 LFIB 表。
3、MPLSVPN
1)、為了讓 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).有了虛擬路由器就能隔離不同 VPN 用戶之間的路由,也能解決不同 VPN 之間 IP 地址空間重疊的問題。
2)、BGP/MPLS IP VPN是一種L3VPN(Layer 3 Virtual Private Network)。它使用BGP(Border Gateway Protocol)在服務提供商骨干網上發布VPN路由,使用MPLS(Multiprotocol Label Switch)在服務提供商骨干網上轉發VPN報文。這里的IP是指VPN承載的是IP(Internet Protocol)報文。
3)、BGP/MPLS IP VPN的基本模型由三部分組成:CE、PE和P。
CE(Customer Edge):用戶網絡邊緣設備,有接口直接與服務提供商網絡相連。CE可以是路由器或交換機,也可以是一臺主機。通常情況下,CE“感知”不到VPN的存在,也不需要支持MPLS。
PE(Provider Edge):是服務提供商網絡的邊緣設備,與CE直接相連。在MPLS網絡中,對VPN的所有處理都發生在PE上,對PE性能要求較高。
P(Provider):服務提供商網絡中的骨干設備,不與CE直接相連。P設備只需要具備基本MPLS轉發能力,不維護VPN信息。
PE和P設備僅由服務提供商管理;CE設備僅由用戶管理,除非用戶把管理權委托給服務提供商。