MPLS原理與配置


MPLS原理與配置

傳統IP路由轉發:
       傳統的IP轉發采用的是逐跳轉發。數據報文經過每一台路由器,都要被解封裝查看報文網絡層信息,然后根據路由最長匹配原則查找路由表指導報文轉發。各路由器重復進行解封裝查找路由表和再封裝的過程,所以轉發性能低。
       傳統IP路由轉發的特點:
              所有路由器需要知道全網的路由。
              IP頭部不定長,處理效率低。
              傳統IP轉發是面向無連接的,無法提供較好的端到端QoS保證。

MPLS基本概念:
       MPLS位於TCP/IP協議棧中的數據鏈路層和網絡層之間,可以向所有網絡層提供服務。
       通過在數據鏈路層和網絡層之間增加額外的MPLS頭部,基於MPLS頭部實現數據快速轉發。
       MPLS起源於IPv4(Internet Protocol version 4),其核心技術可擴展到多種網絡協議,包括IPv6(Internet Protocol version 6)、IPX(Internet Packet Exchange)、Appletalk、DECnet、CLNP(Connectionless Network Protocol)等。MPLS中的“Multiprotocol”指的就是支持多種網絡協議。
       MPLS以標簽交換替代IP轉發。標簽是一個短而定長的、只具有本地意義的標識符。

MPLS術語介紹 - LSR與MPLS域
       MPLS域(MPLS Domain):一系列連續的運行MPLS的網絡設備構成了一個MPLS域。
       LSR(Label Switching Router,標簽交換路由器):支持MPLS的路由器(實際上也指支持MPLS的交換機或其他網絡設備)。位於MPLS域邊緣、連接其它網絡的LSR稱為邊沿路由器LER(Label Edge Router),區域內部的LSR稱為核心LSR(Core LSR)。
MPLS術語介紹 - LSR分類
       除了根據LSR在MPLS域中的位置進行分類之外,還可以根據對數據處理方式的不同進行分類:
              入站LSR(Ingress LSR):通常是向IP報文中壓入MPLS頭部並生成MPLS報文的LSR。
              中轉LSR(Transit LSR):通常是將MPLS報文進行例如標簽置換操作,並將報文繼續在MPLS域中轉發的LSR。
              出站LSR(Egress LSR):通常是將MPLS報文中MPLS頭部移除,還原為IP報文的LSR。
MPLS術語介紹 - FEC
       FEC(Forwarding Equivalence Class,轉發等價類)是一組具有某些共性的數據流的集合,這些數據流在轉發過程中被網絡節點以相同方式處理。
              在MPLS網絡中,FEC可以通過多種方式划分,例如基於目的IP地址及網絡掩碼、DSCP等特征來划分。
              數據屬於哪一個LSP,由數據進入MPLS域時的Ingress LSR決定。
              MPLS標簽通常是與FEC相對應的,必須有某種機制使得網絡中的LSR獲得關於某FEC的標簽信息。
              在傳統的采用最長匹配算法的IP轉發中,匹配到同一條路由的所有報文就是一個轉發等價類。
              在MPLS中,關於FEC最常見的例子是:目的IP地址匹配同一條IP路由的報文被認為屬於同一個FEC。
MPLS術語介紹 - LSP
       LSP(Label Switched Path,標簽交換路徑)是標簽報文穿越MPLS網絡到達目的地所走的路徑。
       同一個FEC的報文通常采用相同的LSP穿越MPLS域,所以對同一個FEC,LSR總是用相同的標簽轉發。
       一條LSP包含一台入站LSR、一台出站LSR以及數量可變的中轉LSR,因此LSP也可以看做是這些LSR的有序集合。
       LSP需要在數據轉發開始前建立完成,只有這樣報文才能順利穿越MPLS域。
       LSP可通過靜態和動態兩種方式建立。
       需要注意的是,LSP是一個從“起點”到“終點”的單向路徑,若需要雙向數據互通,則需要在雙方之間建立雙向的LSP。

MPLS標簽
       IP報文進入MPLS域之前,會被入站LSR壓入MPLS頭部(又叫MPLS標簽),形成一個MPLS標簽報文。一個標簽報文可以包含一個或多個MPLS標簽。

               標簽(Label):用於攜帶標簽值,長度20bit。
              EXP(Experimental Use):主要用於CoS(Class of Service),長度3bit。
              S(Bottom of Stack):棧底位,用於指示該標簽頭部是否為最后一層標簽,長度1bit。如果該字段為1,則表示當前標簽頭部為棧底;如果該字段為0,則表示當前標簽頭部之后依然還有其他標簽頭部。
              TTL(Time To Live):用於當網絡出現環路時,防止標簽報文被無限制轉發,與IP報文頭部中的TTL具有相同的意義,長度8bit。
              EXP字段在早期的MPLS標准中被定義,意為試驗性的字段,但實際上該字段主要被用於CoS。為了避免歧義,RFC5462重新定義了該字段,命名為流分類(Traffic Class)。

MPLS標簽棧
       MPLS支持一層或多層標簽頭部,這些標簽頭部的有序集合被稱為標簽棧(Label Stack)。
       當標簽棧中存在多個標簽時,這些標簽的順序是非常講究的:
              最靠近二層頭部的標簽是棧頂標簽,標簽中的S字段為0。
              最靠近IP頭部的標簽是棧底標簽,標簽中的S字段為1。

        當上層為MPLS標簽棧時,以太網頭部中的Type字段為0x8847,PPP頭部中的Protocol字段為0x8281。
       標簽空間
              標簽是一個短而定長的、只具有本地意義的標識符。標簽空間就是指標簽的取值范圍。標簽值的范圍及規划如下:

         只具有本地意義說明每一台LSR之間的標簽空間是相互獨立的,即每台路由器都可以使用完整的標簽空間。
MPLS標簽的處理
        LSR對標簽的操作類型包括標簽壓入(Push)、標簽交換(Swap)和標簽彈出(Pop)。

  MPLS轉發概述
       MPLS轉發的本質就是將數據歸到對應的FEC並按照提前建立好的LSP進行轉發。
              對於整個MPLS域,LSP是某一給定的FEC進入域和離開域的路徑,可以看成是LSR的有序集合。
              對於單台LSR,需要建立標簽轉發表,用標簽來標識FEC,並綁定相應的標簽處理和轉發等行為。

               同一個FEC,若進入MPLS域的Ingress LSR(入站LSR)不同,轉發時的LSP也不相同。
              同一個FEC,LSR的處理方式相同,不論這個FEC來自哪里(進入設備的接口)。
              LSR的轉發動作決定了LSP,而標簽轉發表確定轉發動作,所以建立標簽轉發表也可以理解為建立LSP。
              如圖所示,因為有着相同的目的地,所以這三份數據屬於同一個轉發等價類FEC1。同時由於入站LSR不同,這些數據將分別在LSP1、LSP2和LSP3上被轉發。因為標簽僅具有本地意義,所以每台LSR上給同一FEC分配的標簽,可以相同,也可以不同。

MPLS體系結構:
       MPLS的體系結構由控制平面 (Control Plane)和轉發平面 (Forwarding Plane)組成。

       控制平面:
              控制平面是無連接的,主要功能是負責產生和維護路由信息以及標簽信息。
              控制平面包括:
                     路由信息表RIB(Routing Information Base):由IP路由協議(IP Routing Protocol)、靜態路由和直連路由共同生成,用於選擇路由。
                     標簽信息表LIB(Label Information Base):用於管理標簽信息,LIB中的表項可由標簽交換協議(LDP、RSVP等協議)或靜態配置生成。
       轉發平面:
              轉發平面也稱為數據平面,是面向連接的, 主要功能是負責普通IP報文的轉發以及帶MPLS標簽報文的轉發。
              轉發平面包括:
                     轉發信息表FIB(Forwarding Information Base):從RIB提取必要的路由信息生成,負責普通IP報文的轉發。
                     標簽轉發信息表LFIB(Label Forwarding Information Base):簡稱標簽轉發表,負責帶MPLS標簽報文的轉發。

控制平面與轉發平面

LSP建立原則
       當網絡層協議為IP協議時,FEC所對應的路由必須存在於LSR的IP路由表中,否則該FEC的標簽轉發表項不生效。
       LSR用標簽標識指定FEC,所以該FEC的數據被發送至LSR時,必須攜帶正確的標簽,才能被LSR正確的處理。

LSP建立方式
       MPLS需要為報文事先分配好標簽,建立一條LSP,才能進行報文轉發。LSP分為靜態LSP和動態LSP兩種。
       靜態LSP
              基本概念:
                     靜態LSP是用戶通過手工為各個FEC分配標簽而建立的。
                     靜態LSP不使用標簽發布協議,不需要交互控制報文,因此消耗資源比較小。
                     通過靜態方式建立的LSP不能根據網絡拓撲變化動態調整,需要管理員干預。
              應用場景:
                     適用於拓撲結構簡單並且穩定的小型網絡。
              標簽分配原則:
                     前一節點出標簽的值等於下一個節點入標簽的值。
       動態LSP
              基本概念:
                     動態LSP通過標簽發布協議動態建立。
                     標簽發布協議是MPLS的控制協議(也可稱為信令協議),負責FEC的分類、標簽的分發以及LSP的建立和維護等一系列操作。
              常用標簽發布協議:標簽分發協議 (LDP)
                     全稱:Label Distribution Protocol。
                     定義:LDP是多協議標簽交換MPLS的一種控制協議,負責轉發等價類FEC的分類、標簽的分配以及標簽交換路徑LSP的建立和維護等操作。LDP規定了標簽分發過程中的各種消息以及相關處理過程。
                     應用場景:LDP廣泛地應用在VPN服務上,具有組網、配置簡單、支持基於路由動態建立LSP、支持大容量LSP等優點。
       靜態LSP:
              由於靜態LSP各節點上不能相互感知到整個LSP的情況,因此靜態LSP是一個本地的概念。
       動態LSP:
              其他標簽分布協議:
                     RSVP-TE:Resource Reservation Protocol Traffic Engineering,它是對RSVP的擴展,用於建立基於約束的LSP。它擁有普通LDP LSP沒有的功能,如發布帶寬預留請求、帶寬約束、鏈路顏色和顯式路徑等。
                     MP-BGP:Multiprotocol Border Gateway Protocol,MP-BGP是在BGP協議基礎上擴展的協議。MP-BGP支持為MPLS VPN業務中私網路由和跨域VPN的標簽路由分配標簽。

MPLS標簽轉發
       LSR處理報文時主要根據FTN、 NHLFE和ILM。

       Tunnel ID:為了給使用隧道的上層應用(如VPN、路由管理)提供統一的接口,系統自動為隧道分配了一個ID,也稱為Tunnel ID。該Tunnel ID的長度為32比特,只是本地有效。在MPLS轉發過程中,FIB、ILM和NHLFE表項是通過Tunnel ID關聯的。
Ingress LSR的處理

       在Ingress LSR,通過查詢FIB表(得到FTN信息)和NHLFE表指導報文的轉發。
       當IP報文進入MPLS域時,首先查看FIB表,檢查目的IP地址對應的Tunnel ID值是否為0x0。
              如果Tunnel ID值為0x0,則進入正常的IP轉發流程。
              如果Tunnel ID值不為0x0,則進入MPLS轉發流程。
Transit LSR的處理

        在Transit LSR,通過查詢ILM表和NHLFE表指導MPLS報文的轉發。
Egress LSR的處理

        在Egress LSR,通過查詢ILM表指導MPLS報文的轉發。

MPLS詳細轉發過程

MPLS基本配置命令:
       1、配置LSR ID
              [Huawei] mpls lsr-id lsr-id
              mpls lsr-id命令用來配置LSR的ID。LSR ID用來在網絡中唯一標識一個LSR。LSR沒有缺省的LSR ID,必須手工配置。為了提高網絡的可靠性,推薦使用LSR某個Loopback接口的地址作為LSR ID並在配置前對網絡中所有LSR的LSR ID進行統一規划。
       2、使能MPLS
              [Huawei] mpls
                     mpls命令用來使能本節點的全局MPLS能力,並進入MPLS視圖。
              [Huawei-GigabitEthernet0/0/0] mpls
在接口視圖下,使能當前接口的MPLS功能。需先使能全局MPLS能力后才能執行接口下的MPLS使能命令。

靜態LSP配置命令 (1):
       1、Ingress LSR配置
              [Huawei] static-lsp ingress lsp-name destination ip-address { mask-length | mask } { nexthop next-hop-address | outgoing-interface interface-type interface-number } * out-label out-label
              static-lsp ingress命令用來為入口節點配置靜態LSP。
                     推薦采用指定next-hop的方式配置靜態LSP,確保本地路由表中存在與指定目的IP地址精確匹配的路由項,包括目的IP地址和下一跳IP地址。如果LSP出接口為以太網類型,必須配置nexthop next-hop-address參數以保證LSP的正常轉發。
                     out-label的取值范圍為16~1048575。
       2、Transit LSR配置
              [Huawei] static-lsp transit lsp-name [ incoming-interface interface-type interface-number ] in-label in-label { nexthop next-hop-address | outgoing-interface interface-type interface-number }* out-label out-label
              static-lsp transit命令用來為中間轉發節點配置靜態LSP。
                     下一跳和出接口的配置規則和Ingress LSR保持一致。
                     in-label的取值范圍為16~1023。
                     out-label的取值范圍為16~1048575。
              out-label占用的是下游LSR的標簽空間,而下游空間采用的標簽分發方式不確定,所以out-label的標簽空間為16~1048575。
              in-label占用的是當前LSR的標簽空間,采用靜態LSP時,標簽空間為16~1023。
靜態LSP配置命令 (2):
       3、Egress LSR配置
              [Huawei] static-lsp egress lsp-name [ incoming-interface interface-type interface-number ] in-label in-label
              static-lsp egress命令用來在出口節點配置靜態LSP。
                     in-label的取值范圍為16~1023。
       4、查看靜態LSP配置
              [Huawei] display mpls static-lsp [ lsp-name ] [ { include | exclude } ip-address mask-length ] [ verbose ]
              display mpls static-lsp命令用來查看靜態LSP信息。

       MPLS最初是為了解決傳統IP路由器查表轉發速度慢而被提出的,是一種通過標簽頭部實現快速轉發的技術。
       MPLS標簽是一個短而定長的、只具有本地意義的標識符,用於唯一標識一個分組所屬的FEC。LSR對標簽的操作類型包括標簽壓入、標簽交換和標簽彈出。
       MPLS包含控制平面和數據平面,控制平面主要負責路由信息的傳遞和標簽的分發,數據平面主要負責數據的轉發。
       隨着技術的發展,MPLS在數據轉發速度上的優勢逐漸弱化,但其特性使其在VPN領域得到廣泛應用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM