CCIE學習筆記 5---mpls

MPLS , LDP

MPLS:多協議標籤交換。


中間路由器不在需要完整的路由表可以利用MPLS標籤的方式轉發數據

 

◆應用領域:

            ***

            TE  流量工程

            QOS

            AToM

            BGP


◆ FEC 轉發等價類

        MPLS 是具有分類轉發特點的技術

        將具有相同轉發處理方式如

                                                        相同的目的地

                                                        相同的轉發路徑

                                                        相同的服務等級

        MPLS可以爲各種FEC形成標籤如

                                                                layer 3 ***

                                                                layer 2 circuit

                                                                相同的QoS級別

                                                                同一條IGP路由

◆ MPLS的兩個層面。本身是數據層面的轉發方式

        ◎ control plane

             利用LDP, BGP, RSVP分配標籤

            wKiom1b0p_iR6y5SAABLebU4WAE553.jpg

        ◎ date plane基於標籤轉發報文

wKioL1b0qMeS-dCYAABQ-I_967Y729.jpg

◆ 從 IP 域進入 MPLS 域 ---查FIB表

     從 MPLS 域進入----------查LFIB表

     從MPLS域進入IP域------pop(次末節彈出)

     LIB表所有方向過來的標籤表。

     FLIB表真正用到的標籤表

◆ MPLS封裝

    

       ◎ MPLS標籤報文格式 

            - 在2層報頭和3層報頭之間插入MPLS報頭可以插入多個MPLS頭部

            - 這種標籤模式也被稱爲幀模式


二層報頭MPLS報頭1MPLS報頭2MPLS報頭3IP報頭數據

   最靠近2層的爲頂部

   最靠近3層的爲底部

   轉發過程用頂部標籤轉發

   通過MPLS報頭字段表示自己是在頂部還是底部


     ◎ MPLS標籤格式4byte 32bits

label 20bitsEXP 3bitS 1bitTTL 8bits

     ※  label0-15保留3隱士空標籤

     ※  EXP:用於MPLS轉發做QoS

     ※  S 站底位用於標示當前是否最靠近3層報頭

     ※  TTLMPLS報文每次轉發減1. 與IP的TTL左右一樣


     ◎ LSR(標籤轉發路由器)如何判斷收到的報文是MPLS標籤報文

                根據2層協議字段判斷

                        - 以太網上承載MPLS0x8847

                        - PPP上承載MPLS :       0x8281

                        ※ 以太網上承載 IP   0x0800

                        ※ 以太網上承載 ARP:  0x0806

                        ※ 以太網上承載 ipv6:  0x86dd

                        ※ 以太網上承載 802.1q : 0x8100


        ◎ 信源模式cell mode  (已經淘汰的技術)

             ATM 信元頭中使用VPI/VCI 作爲標籤而不在單獨插入一個新的MPLS標籤頭

ATM Headerpayload

    VPI/VCI



◆ MPLS 轉發時的相關概念

       - 轉發原理

wKiom1b0sLnSHXnSAABa_7wR8kk169.jpg

    - R1-R4根據LDP生成標籤轉發表項

         * 路由與標籤之間要存在映射關係FEC基於相同的IGP路由【BGP不被分標籤】的轉發等價類

         * 需要與IGP 協議的路由表配合


       - 標籤分配過程


         1LSR會爲每一個路由分配標籤不只是自己本地直連的路由形成LFIB表

         2例如上圖PCB的路由R4與其直連所以分配一個隱士空POP標籤

         3R4通過IGPospf傳給R3,R3爲此路由分配一個標籤本地分配的標籤是給鄰居用的。以此類推R1 R2也會爲PCB分配標籤同時傳給鄰居R1 R3都會收到R2的標籤但是R3不要

         

wKiom1bw5sugQUxRAABkx6Ni_yw310.jpg

        - 數據轉發過程

 

            1數據從A到B從IP域進入MPLS域查FIB表

                    幾個關鍵概念

                                        1出入標籤數據轉發的方向定義出入。針對某個LSR入標籤是自己分給上                                                   遊鄰居的出標籤是下游鄰居分給自己的

                                        2LSR 標籤交換路由器

                                        3上下游數據傳輸的方向


             2數據到R1,打上202的出標籤R2給R1的傳給R2.

             3R2收到R1的數據從MPLS域過來的所以查LFIB表看到入標籤是自己的就收下同時                     交換302的出標籤傳給R3

             4R3收到302的入標籤打上R4給的POP標籤彈出。把IP路由傳給R4

             5R4收到一條IP路由查FIB表傳給PCB


      ◎ 使用MPLS使得MTU變大

            MTU2層以上的數據就是MTU

        PC發出來的IP包

以太網IP

        LSR發出來的  


以太網MPLS 4ByteIP 最大1500Byte

            所以一層MPLS的MTU最大就是15042層MPLS的MTU最大就是15083層最大是1512


            默認最大MTU是1500,如果是IP的話可以切片。如果不是IP不能切片就會丟棄。

            也可以手動修改MTU避免切片


###############################################################

LDP協議基本原理


    LDP簡介

        - label distribution proocal :標籤分發協議

        - 在RFC 3036 中定義

        - LDP 建立鄰居階段1發現鄰居階段2回話建立階段

        - LDP協議報文除了hello報文基於UDP外其他報文都是在TCP之上。端口號646

                tcp,3層源目IP都是單播。


◆ LDP鄰居發現

      ◎ 發現鄰居階段使用UDP報文

 

src:本地接口IP

dst:224.0.0.2

所有路由器監聽的組播地址

UDPsrc port 646dst port 646LDPhello

HELLO包中的關鍵字段 LSR-id。只能指定某個接口鄰居互相知道對端LSR-id.

trans address (使用與LSR-ID相同)建立tcp連接的地址由於互相知道地址所以可以自動建立TCP連接

    ◎ LDP協議鄰居建立過程

            - 鄰居發現階段使用UDP報文自動發現對方並確定TCP連接的IP地址

            - 鄰居建立階段由trans address大的一方主動發起TCP連接。所以LSR-ID地址一定要路由可達


               ★ show mpls ldp discovery // 查看LSR ID

                    可以手動修改trans address接口下.一定要手動配置

              ★ ldp discovery transport-address interface


                  R1 -------------------------------------------------------- ------------------R2

                1.1.1.1 <-----initialization messade初始化----------              2.2.2.2

                                ----初始化的 keep alive ------------------->

                            < ---------------- keep alive ---------------------

                            < ---本地IP和 label mapping message---

                               ---- 本地IP和 label mapping message-->

                            < ---------------- keep alive ---------------------

                            ---------------- keep alive ------------------------>

            保活過程除了使用keep alive外還使用hello報文跟蹤鏈路保活。·

               ★ show mpls ldp neighbor //查看TCP回話建立情況 一定是transADD大的主動發起TCP


◆ LDP 配置

        全局配置

                        ip cef

                        mpls label protocal ldp

                        mpls ip  //用於路由器具備MPLS能力

                        mpls ldp route-id 

                        mpls label range xxx  //使用用觀察標籤

        j接口配置

                        mpls ip

        ★  show mpls ldp discovery //查看發現的LDP鄰居不一定建立了TCP連接

        ★  show mpls ldp neighbor //查看建立了TCP連接的LDP鄰居

        ★  show mpls ldp binding //  查看LIB表收到的所有標籤

        ★  show mpls fowarding-table // 查看LFIB表

        ★  show ip cef 12.1.1.1  //查看具體路由的FIB表。從IP域進入MPLS域

        ★  show mpls forwarding-table detial //注意其中一串數字是2層封裝

        2層格式

目標MAC源MACtype


        ◎ LDP 部署建議

            - 首先部署IGP協議

            - 必須保證LDP的router ID 路由可達


◆  LDP 必須與IGP路由協議配置使用

        - 在幀模式下我每一個路由分配一個標籤並通告給LDP鄰居

        - 爲本地直連路由分配 POP 標籤

◆  標籤映射格式

            FEC TLV    轉發等價類

            label TLV  標籤表 。3POP 隱士空標籤次末跳彈出


◆  次末跳彈出提高轉發效率避免末節LSR查2次表

        最末節LSR 會爲本地的直連末節路由分配一個POP標籤即次末節的出標籤。

        下圖R1會爲PCA的路由分配POP標籤作爲R2的出標籤

wKiom1b0sLnSHXnSAABa_7wR8kk169.jpg


       POP 標籤僅彈出頂層最靠近2層的標籤頭經過該動作後報文可以是IP報文也可以是MPLS標                              簽報文

       untag:   會將所有標籤頭都移除變成一個純IP報文發出去。


###############################################################

MPLS標籤處理方式


    - 分配模式 label allocation

    - 分發模式 label distribution

    - 保留模式 label retention

    - 標籤空間 label space


◆ 分配模式2種

     1獨立分配模式 independent control (LDP)

            只要本地通過IGP學習到路由前綴就會爲這條路由前綴分配標籤爲直連分配POP

     2有序分配模式 Odered control

            通過IGP學習的路由在收到下一跳路由器分配的標籤後纔會爲該前綴分配標籤


◆ 分發模式2種

    1主動模式:downstream unsolicited (LDP)

                主動將所有的標籤映射消息通告給所有LDP鄰居

    2,   下游按需模式 downstream on demand

                只有鄰居向本地請求某條前綴的標籤映射消息時本地纔會通告標籤映射消息給鄰居


◆ 保留模式2種

    1自由模式liberal retention (LDP)

            將從鄰居接收的所有標籤映射消息都保存在數據庫中

    2,  保守模式conservation retention

            本地僅保存最優路由下一跳鄰居通告的該路由前綴的標籤映射消息


◆ 標籤空間

        本地所通告出去的標籤是對局部接口有意義還是對全局有意義


    1基於平臺;per-platform (ldp)

              本地通告出去的標籤映射消息對全局有意義從不同接口通告出去的同一FEC所對應的標籤相同

            sho mpls ldp discovery //中的 0 表示基於平臺

    2,   基於接口 per-interface (ATM)

            從不同接口通告出去的同一FEC所對應的標籤不同


◆ LDP 協議的標籤行爲

        分配模式獨立分配

        分發模式下游主動分發

        保留模式自由模式

        標籤空間基於平臺

◆TE 分配方式

        分配有序控制模式

        發發下游按需模式

        保留保守模式

        標籤空間 基於接口

◆ MPLS 轉發與LDP 標籤數據庫的關係

    

    LDP 標籤數據庫包含所有鄰居所通告的標籤映射消息

    LSR 只會選擇最優路由嚇一跳路由器所通告的標籤映射消息進入MPLS轉發表


###############################################################

MPLS 轉發與BGP的交互(解決路由黑洞)


    ◆ MPLS 不會爲BGP的路由分配標籤

            回顧路由黑洞的產生原因IBGP中中間的路由器沒有到達目標網絡的路由。

            可以通過RR或聯邦解決


    ◆ MPLS不給BGP路由打標籤那BGP路由如何傳遞

            遞歸

            BGP路由的下一跳是一個IGP路由MPLS會給IGP路由打標籤


    ◆ LSP 標籤交換路徑爲一條IGP路由轉發所使用的標籤轉發通道


◆實驗1:用loopback口建IBGP鄰居

wKiom1b0_rnjU7XQAACmCS8r47k458.png

1R1-R6運行ospf並啓用LDP

2,   R5和R6使用loopback口建立ibgp鄰居

3R5另起loopback1 55.1.1.1宣告進BGP (等60秒才能最優)

      R6另起loopback1 66.1.1.1宣告進BGP

4觀察

            R5 可以ping通 R6

            R1 R2 R3 沒有lo1 的路由

            lo1 是BGP路由 沒有打標籤通過遞歸通信

            sho ip ro bgp 查看LO1的嚇一跳是lo0而lo0運行在IGP中。LDP會爲lo0打標籤

            R5 R6lo0的LSP。

            trace 66.1.1.1 看到的標籤 是爲lo066.1.1.1的嚇一跳IGP路由分的標籤

            sho mpls forwarding 看標籤路由映射表


◆ 實驗2 上圖使用F口建立BGP

     實驗結果就不能通信。

     原因

                R5 R6使用F口建立BGP鄰居。R2就是次末節LSR就會彈出標籤到達R3就是目的去66.1.1.1                    的IP 路由。但是R3沒有該路由。    

           R5: show ip bgp    //下一跳是36.1.1.6

                 即通信要考36.1.1.6的LSP。

                 sho mpls forward  //R2次末彈出

            R3sho ip ro bgp  // R3沒有啓用BGP。

            所以不通


###############################################################

不連續的 LSP


    ◆IP彙總對LSP的影響

wKioL1b1C6WxVVK2AAIQ1xx3vhc146.png       



    ◆ OSPF的24位掩碼迴環口對LSP 的影響


            沒有路由所以會分配一個no label。彈出所有標籤


###############################################################

環路檢測

    LDP 的環路檢測機制依賴IGP協議

         如果產生一個環路(如錯誤配置靜態路由),標籤頭的TTL字段防止報文無限制循環

         TTL功能與IP頭中的TTL功能一致

          默認情況下TTL將會從IP 頭中複製


◆進制TTL值的複製

        TTL複製功能可以禁用。命令 no mpls ip propagate-ttl

        IP TTL 值將不會被複制到MPLS,MPLS的TTL值也不會被複制到IP 

        此時,LSP的入口處,MPLS的TTL值是 255

        整個MPLS域的 trace route 不顯示任何核心路由器,禁用TTL的複製可以隱藏MPLS域的核心路由器

 

◆MPLS轉發特性 1

            數據在傳遞過程中,如果出現差錯(中間路由器沒有到目的網絡的路由),會將這個差錯報文打             上標籤傳到LSP出口,然後再傳回目的


###############################################################


加快LDP 冗餘鏈路收斂

wKiom1b45N2RXgkBAAGBh_mRGR0277.png

        冗餘鏈路,在鏈路失效的情況下,MPLS 的收斂不會影響整體的收斂時間。

        因爲,在基於自由保留的分配機制下,只要IGP收斂後,LIB表根據路由表匹配就可以生成新的LFIB            表。

        但是,在原鏈路重新UP 後,路由表又變成原來的路由,但是LDP還沒有同步(有路由,但是no                    label),  這種情況,對於BGP網絡(依賴標籤通信的網絡)就會丟包。

        解決方法:思路:讓LDP先同步,有LIB表後,再同步IP路由

                方法一:

                        會話保護。可以避免重建LDP會話,可以對會話進行保護,只要路由可達,LDP session就                                              得到保護。(有路由,標籤就不會從LIB表中消失)

                          在LDP鄰居兩端啓用target session 。實現跨越多跳來維持session。

                        配置方法:

                          1,在所有支持session 保護的路由器上配置 

                                    ★全局  mpls ldp session protection

                                        

                          2,   在不支持session保護的路由器上配置:

                                      ★發送端 mpls ldp nei x.x.x.x targeted ldp 

                                      ★接收端  mpls ldp discovery tageted-hello accept

                            show mpls ldp discovery   //target hello

                            show mpls ldp nei              //target hello


            方法二:LDP與IGP同步(目前只OSPF支持)

                        思路,OSPF鏈路恢復,要等LDP鄰居建立後纔回復ospf鄰居關係

                    平臺區分:

                            7200平臺.  備份鏈路UP後,把被保護的主鏈路的cost置爲最大(65535),等LDP標籤                                                  同步後再把cost值置爲正常值

                            37系列平臺,在等LDP同步後,才發ospf hello纔可以建立鄰居。需要配合配置hold時                                     間,防止在單一鏈路,其他的接口配置了冗餘,而單連璐LDP一直不同步,恢復                                         ospf 鄰居

                    配置:

                            ospf進程下。mpls ldp sync

                            show mpls igp sync   // 查看同步,注意所有接口參與ospf的接口都被開啓了同步

                            

###############################################################

◆  LDP timer

    wKioL1b48pvAVK01AAKxZTS2Zi0327.png



◆  MD5認證

        全局 mpls ldp neighbor x.x.x.x password test              

                clear mpls ldp neighbor *  //清鄰居關係

◆  MPSL 自動配置

        ospf進程下 mpls ldp autoconfig area X  //運行在相應AREA 的接口自動運行LDP

         在不需要運行LDP的接口下,可以no掉。  no mpls ldp igp autoconfig

                          show mpls interface detail

                          show mpls interface all   //查看使能MPLS的接口


◆ 控制標籤的分發

        默認 自由分配

                主動分發

                自由保留


         1,no mpls ldp advertise-labels   //關閉標籤分發能力

         2,mpls ldp advertise-labels for 90 to 91  // for:爲哪些路由分標籤。to: 爲哪個路由器分

               access-list  90  permit 2.1.1.1

               access-list 90 permti 3.1.1.1

               access-list 91 permit 1.1.1.1

            // 只給R1 分路由2.1.1.1和3.1.1.1的標籤

        3, mpls ldp neighbor x.x.x.x labels accept acl_mumber  // 控制接收哪些標籤

            

###############################################################

◆  MPLS 排錯


        show run | in mpls // 排錯用,因mpls配置都是以mpls開頭的

     ※ 默認配置:no 掉默認

                    ip  cef    // sho ip cef查看

                    mpls ip   //  sho run | in mpls 可以看到


     ※ LDP 鄰居不能建立

            1, transs add不可達,loop back更大的地址沒有路由

                  sho mpls ldp discovery  //  LDP id NO ROUTE

                   把LDP id 的環回口地址宣告進IGP路由 就可以解決

                   或者 mpls ldp router-id lo0 force  // 強制LDP ID是lo0 。force:搶佔

            2,更改了默認協議 LDP --> TDP

                    sho run | in mpls   //可以看到

                    mpls label protocol ldp  // 修改協議爲LDP

     

     ※ 標籤控制手段導致收不到標籤


      ※  控制了標籤範圍 ,使得沒有足夠標籤爲路由分配        

            mpls ldbel range 100 101 //  只配置了2個標籤   。sho run | in mpls 可以看到






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章