Implementing Multicast VPN on Cisco IOS (Part 2 - Profile 1)

In the last article, we met you with the historically first way to organize the construction of a multicast VPN using PIM and mGRE technologies ( Part 1, Profile 0 ).



Today, there are alternatives to running P-PIM on the backbone. In particular, mLDP can be used to organize multicast trees. Let's see how it works. But first, let's remember the basic concepts of LDP.



  • LDP peers find each other by sending Hello messages to 224.0.0.2. As part of Hello, the “transport address” parameter is transmitted (which, by default, in Cisco IOS matches the IP address of the LDP router-id)
  • Routers establish a TCP session and exchange labels for FEC (read - IP prefixes from the routing table)
  • The exchange result is a unidirectional Point-to-Point LSP.




  • In addition, peers within the TCP session exchange messages of the Initialization type, within which information about the supported capabilities (Capabilities) is transmitted. Capabilities TLV are responsible for information exchange.

    • Those. you can exchange not only information about P2P LSP, but also something else ...


The whole point of mLDP is that for this protocol, FEC is not a single specific prefix, but rather a combination of four elements:



  • Tree type
  • (IPv4/IPv6)
  • IP
  • — , mLDP LSP
  • , «Opaque Value».

    • ( C-VRF) MPLS .


mLDP FEC:



  • P2MP FEC ( = 0x06)
  • MP2MP Upstream FEC ( = 0x07)
  • MP2MP Downstream FEC ( = 0x08)


P2MP , () . . .. . LSP P2MP :





MP2MP , (, ). : , . LSP MP2MP :





, MP2MP LSP mLDP (P2MP ).



MP2MP LSP



unicast LSP, ( ) .



( PIM ASM ):



  • Downstream

    • ,
  • Upstream

    • ,




, , Downstream, Upstream . ( , ). ( ) - , ( ).



Default MDT BGP ipv4 MDT mLDP :





R8.



(, 1- ):



  • PIM:



    interface Gi2.X
    no ip pim sparse-mode
    <br>
  • BGP MDT ( ):



    router bgp 65001
    no address-family ipv4 mdt
  • MDT



    ip vrf C-ONE
    no mdt default 239.1.1.1


FEC IP Opaque Value. 1:



PE1(config)#mpls mldp logging notifications
PE1(config)#!
PE1(config)#ip vrf C-ONE
PE1(config-vrf)# vpn id 65001:1
PE1(config-vrf)# mdt default mpls mldp 8.8.8.8
PE1(config-vrf)#
*Nov 21 22:41:03.703: %MLDP-5-ADD_BRANCH: [mdt 65001:1 0] Root: 8.8.8.8, Add MP2MP branch MDT(Lspvif0) remote label , local label no_label
*Nov 21 22:41:03.742: MLDP: Reevaluating peers for nhop: 10.1.5.5
PE1(config-vrf)#
*Nov 21 22:41:04.647: %LINEPROTO-5-UPDOWN: Line protocol on Interface Lspvif0, changed state to up
PE1(config-vrf)#
*Nov 21 22:41:05.840: %PIM-5-DRCHG: VRF C-ONE: DR change from neighbor 0.0.0.0 to 1.1.1.1 on interface Lspvif0
PE1(config-vrf)#


PE1 Lspvif0 (LSP virtual interface, PMSI) MDT Opaque Value = [65001:1 0] PIM C-VRF.



. Opaque Value : vpn id . , Default MDT.



:



PE1#show ip interface Lspvif0
Lspvif0 is up, line protocol is up
  Interface is unnumbered. Using address of Loopback0 (1.1.1.1)
  Multicast reserved groups joined: 224.0.0.1 224.0.0.2 224.0.0.22 224.0.0.13
  VPN Routing/Forwarding "C-ONE"


PE1#show ip pim vrf C-ONE interface 

Address          Interface                Ver/   Nbr    Query  DR         DR
                                          Mode   Count  Intvl  Prior
172.1.11.1       GigabitEthernet2.111     v2/S   1      30     1          172.1.11.11
172.1.15.1       GigabitEthernet2.115     v2/S   1      30     1          172.1.15.15
1.1.1.1          Lspvif0                  v2/S   0      30     1          1.1.1.1


:



PE1#show mpls mldp neighbors 

 MLDP peer ID    : 5.5.5.5:0, uptime 2w0d Up, 
  Target Adj     : No
  Session hndl   : 1
  Upstream count : 1
  Branch count   : 0
  Path count     : 1
  Path(s)        : 10.1.5.5          LDP GigabitEthernet2.15
  Nhop count     : 1
  Nhop list      : 10.1.5.5 


PE1#show mpls mldp database 
  * For interface indicates MLDP recursive forwarding is enabled
  * For RPF-ID indicates wildcard value
  > Indicates it is a Primary MLDP MDT Branch

LSM ID : 5 (RNR LSM ID: 6)   Type: MP2MP   Uptime : 00:07:53
  FEC Root           : 8.8.8.8 
  Opaque decoded     : [mdt 65001:1 0] 
  Opaque length      : 11 bytes
  Opaque value       : 02 000B 0650010000000100000000
  RNR active LSP     : (this entry)
  Upstream client(s) :
    5.5.5.5:0    [Active]
      Expires        : Never         Path Set ID  : 6
      Out Label (U)  : 1013          Interface    : GigabitEthernet2.15*
      Local Label (D): 10017         Next Hop     : 10.1.5.5
  Replication client(s): 
>   MDT  (VRF C-ONE)
      Uptime         : 00:07:53      Path Set ID  : 7
      Interface      : Lspvif0       RPF-ID       : *


1 Upstream , 10017. , 1 R8 1013 1.



1 ( — ):



P1#show mpls mldp neighbors 

 MLDP peer ID    : 4.4.4.4:0, uptime 2w0d Up, 
  Target Adj     : No
  Session hndl   : 1
  Upstream count : 0
  Branch count   : 0
  Path count     : 1
  Path(s)        : 10.4.5.4          LDP GigabitEthernet2.45
  Nhop count     : 0

 MLDP peer ID    : 1.1.1.1:0, uptime 2w0d Up, 
  Target Adj     : No
  Session hndl   : 2
  Upstream count : 0
  Branch count   : 1
  Path count     : 1
  Path(s)        : 10.1.5.1          LDP GigabitEthernet2.15
  Nhop count     : 0

 MLDP peer ID    : 8.8.8.8:0, uptime 2w0d Up, 
  Target Adj     : No
  Session hndl   : 3
  Upstream count : 1
  Branch count   : 0
  Path count     : 1
  Path(s)        : 10.5.8.8          LDP GigabitEthernet2.58
  Nhop count     : 1
  Nhop list      : 10.5.8.8 

 MLDP peer ID    : 6.6.6.6:0, uptime 2w0d Up, 
  Target Adj     : No
  Session hndl   : 4
  Upstream count : 0
  Branch count   : 0
  Path count     : 1
  Path(s)        : 10.5.6.6          LDP GigabitEthernet2.56
  Nhop count     : 0

 MLDP peer ID    : 7.7.7.7:0, uptime 2w0d Up, 
  Target Adj     : No
  Session hndl   : 5
  Upstream count : 0
  Branch count   : 0
  Path count     : 1
  Path(s)        : 10.5.7.7          LDP GigabitEthernet2.57
  Nhop count     : 0

 MLDP peer ID    : 9.9.9.9:0, uptime 1w5d Up, 
  Target Adj     : No
  Session hndl   : 6
  Upstream count : 0
  Branch count   : 0
  Path count     : 1
  Path(s)        : 10.5.9.9          LDP GigabitEthernet2.59
  Nhop count     : 0


P1#show mpls mldp database 
  * For interface indicates MLDP recursive forwarding is enabled
  * For RPF-ID indicates wildcard value
  > Indicates it is a Primary MLDP MDT Branch

LSM ID : 3   Type: MP2MP   Uptime : 00:13:23
  FEC Root           : 8.8.8.8 
  Opaque decoded     : [mdt 65001:1 0] 
  Opaque length      : 11 bytes
  Opaque value       : 02 000B 0650010000000100000000
  Upstream client(s) :
    8.8.8.8:0    [Active]
      Expires        : Never         Path Set ID  : 9
      Out Label (U)  : 8017          Interface    : GigabitEthernet2.58*
      Local Label (D): 1014          Next Hop     : 10.5.8.8
  Replication client(s): 
    1.1.1.1:0 
      Uptime         : 00:13:23      Path Set ID  : A
      Out label (D)  : 10017         Interface    : GigabitEthernet2.15*
      Local label (U): 1013          Next Hop     : 10.1.5.1


, 1 C-VRF , MP2MP - recursive fec.



1 Upstream (, ) Downstream . 1, , 10017. mLDP 10017, 1 1014 Upstream .





: , Downstream MP2MP , Upstream MP2MP Upstream .



ROOT.



1014, ROOT 8017 1 Upstream . 8017, 1 Downstream 1013 PE1.





4:



PE4(config-subif)#ip vrf C-ONE
PE4(config-vrf)# vpn id 65001:1
PE4(config-vrf)# mdt default mpls mldp 8.8.8.8


*Nov 21 23:25:03.638: %PIM-5-NBRCHG: VRF C-ONE: neighbor 1.1.1.1 UP on interface Lspvif0


, mLDP R8 (ROOT) . - , 1 4 , 4 FEC, PE1.



1 ( , .. 4 ):



P1#show mpls mldp database             
  * For interface indicates MLDP recursive forwarding is enabled
  * For RPF-ID indicates wildcard value
  > Indicates it is a Primary MLDP MDT Branch

LSM ID : 3   Type: MP2MP   Uptime : 00:46:10
  FEC Root           : 8.8.8.8 
  Opaque decoded     : [mdt 65001:1 0] 
  Opaque length      : 11 bytes
  Opaque value       : 02 000B 0650010000000100000000
  Upstream client(s) :
    8.8.8.8:0    [Active]
      Expires        : Never         Path Set ID  : 9
      Out Label (U)  : 8017          Interface    : GigabitEthernet2.58*
      Local Label (D): 1014          Next Hop     : 10.5.8.8
  Replication client(s): 
    1.1.1.1:0 
      Uptime         : 00:46:10      Path Set ID  : A
      Out label (D)  : 10017         Interface    : GigabitEthernet2.15*
      Local label (U): 1013          Next Hop     : 10.1.5.1
    4.4.4.4:0 
      Uptime         : 00:02:11      Path Set ID  : B
      Out label (D)  : 40017         Interface    : GigabitEthernet2.45*
      Local label (U): 1012          Next Hop     : 10.4.5.4




VRF C-TWO 4, .



PE4(config)#ip vrf C-TWO
PE4(config-vrf)# rd 4.4.4.4:2
PE4(config-vrf)# vpn id 65001:2
PE4(config-vrf)# mdt default mpls mldp 8.8.8.8
PE4(config-vrf)# route-target export 65001:2
PE4(config-vrf)# route-target import 65001:2


RR#show mpls mldp database 
  * For interface indicates MLDP recursive forwarding is enabled
  * For RPF-ID indicates wildcard value
  > Indicates it is a Primary MLDP MDT Branch

LSM ID : 1   Type: MP2MP   Uptime : 00:54:07
  FEC Root           : 8.8.8.8 (we are the root)
  Opaque decoded     : [mdt 65001:1 0] 
  Opaque length      : 11 bytes
  Opaque value       : 02 000B 0650010000000100000000
  Upstream client(s) :
    None
      Expires        : N/A           Path Set ID  : 1
  Replication client(s): 
    5.5.5.5:0 
      Uptime         : 00:54:06      Path Set ID  : 2
      Out label (D)  : 1014          Interface    : GigabitEthernet2.58*
      Local label (U): 8017          Next Hop     : 10.5.8.5

LSM ID : 2   Type: MP2MP   Uptime : 00:00:48
  FEC Root           : 8.8.8.8 (we are the root)
  Opaque decoded     : [mdt 65001:2 0] 
  Opaque length      : 11 bytes
  Opaque value       : 02 000B 0650010000000200000000
  Upstream client(s) :
    None
      Expires        : N/A           Path Set ID  : 3
  Replication client(s): 
    5.5.5.5:0 
      Uptime         : 00:00:48      Path Set ID  : 4
      Out label (D)  : 1019          Interface    : GigabitEthernet2.58*
      Local label (U): 8018          Next Hop     : 10.5.8.5


, 1 4.



CE1#ping 230.0.0.1 source Lo0
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 230.0.0.1, timeout is 2 seconds:
Packet sent with a source address of 11.11.11.11 

Reply to request 0 from 14.14.14.14, 15 ms


, . , — ? ( U-turn) P1 4?



, 1 ROOT Wireshark.



, 1 1013 ( ) ( 802.1Q vlan id = 15). .





1 ?



P1#show mpls forwarding-table labels 1013
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
1013       8017       [mdt 65001:1 0]  198024        Gi2.58     10.5.8.8    
           40017      [mdt 65001:1 0]  184856        Gi2.45     10.4.5.4 


. P1 , . ( show mpls mldp database ). , ROOT, ROOT . , 1, «» 4 ROOT. . U-turn - , 1



  • Downstream 4
  • Upstream 1


1 MPLS , ROOT «» .



ROOT :



RR#show mpls forwarding-table | i 8017
8017       No Label   [mdt 65001:1 0]  0


VRF . Lspvif PIM .



PE1#show ip pim vrf C-ONE neighbor | i Lsp
3.3.3.3           Lspvif0                  00:01:02/00:01:41 v2    1 / S P G
2.2.2.2           Lspvif0                  00:01:09/00:01:40 v2    1 / S P G
4.4.4.4           Lspvif0                  10:49:57/00:01:40 v2    1 / DR S P G


, ROOT , 8017 ( 1) .



RR#show mpls forwarding-table | i 8017
8017       2013       [mdt 65001:1 0]  982           Gi2.68     10.6.8.6 




multicast VPN «Profile 1». :



  • P-PIM
  • PMSTI Lspvif
  • BGP
  • Default MDT
  • Default MDT mLDP.

    • , ( VPN) , Profile 0.
  • C-VRF PIM ( Lspvif)


...




All Articles