Friday, December 21, 2018

CCIE SPv4 MPLS Multicast VPN - Profile 9 Default MDT - MLDP - MP2MP - BGP-AD - PIM C-mcast Signaling

In this post we'll be taking a look at the next mLDP profile, Profile 9 leveraging BGP AD to discover the PE routers. The configuration for the profile is very straightforward. This migration from profile 1 to profile 9 is the same as migrating from profile 0 to profile 3. Enabling BGP AD for PE discovery.



R1, R3 and R7
vrf definition MVPN
 address-family ipv4
  mdt auto-discovery mldp

XR1
multicast-routing
 !
 vrf CORE
  address-family ipv4
   bgp auto-discovery mldp

With the configuration in place, we can now take a look at verifying R1 and XR1 BGPs MVPN tables.

R1#show bgp ipv4 mvpn all | b Network
     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 100:100 (default for vrf MVPN)
 *>  [1][100:100][192.0.2.1]/12
                       0.0.0.0                            32768 ?
 *>i [1][100:100][192.0.2.3]/12
                       192.0.2.3                0    100      0 ?
 *>i [1][100:100][192.0.2.7]/12
                       192.0.2.7                0    100      0 ?
 *>i [1][100:100][192.0.2.21]/12
                       192.0.2.21                    100      0 i
 *>i [3][100:100][100.64.204.16][227.1.2.3][192.0.2.21]/22
                       192.0.2.21                    100      0 i
 *>  [3][100:100][192.0.2.15][232.15.15.15][192.0.2.1]/22
                       0.0.0.0                            32768 ?
 *>i [3][100:100][192.0.2.16][227.1.2.3][192.0.2.21]/22
                       192.0.2.21                    100      0 i
 *>i [3][100:100][192.0.2.16][232.16.16.16][192.0.2.21]/22


RP/0/0/CPU0:XR1#sh bgp ipv4 mvpn | b Network
Fri Dec 21 21:30:12.543 UTC
   Network            Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 100:100 (default for vrf CORE)
*>i[1][192.0.2.1]/40  192.0.2.1                0    100      0 ?
*>i[1][192.0.2.3]/40  192.0.2.3                0    100      0 ?
*>i[1][192.0.2.7]/40  192.0.2.7                0    100      0 ?
*> [1][192.0.2.21]/40 0.0.0.0                                0 i
*> [3][32][100.64.204.16][32][227.1.2.3][192.0.2.21]/120
                      0.0.0.0                                0 i
*>i[3][32][192.0.2.15][32][232.15.15.15][192.0.2.1]/120
                      192.0.2.1                0    100      0 ?
*> [3][32][192.0.2.16][32][227.1.2.3][192.0.2.21]/120
                      0.0.0.0                                0 i
*> [3][32][192.0.2.16][32][232.16.16.16][192.0.2.21]/120
                      0.0.0.0                                0 i

Processed 8 prefixes, 8 paths

We can see that all of the PE routers have discovered each other and populated the MRIB.

R1#show bgp ipv4 mvpn all route-type 1 192.0.2.3                         
BGP routing table entry for [1][100:100][192.0.2.3]/12, version 76
Paths: (1 available, best #1, table MVPNv4-BGP-Table, not advertised to EBGP peer)
  Not advertised to any peer
  Refresh Epoch 1
  Local
    192.0.2.3 (metric 3) from 192.0.2.22 (192.0.2.22)
      Origin incomplete, metric 0, localpref 100, valid, internal, best
      Community: no-export
      Extended Community: RT:100:100
      Originator: 192.0.2.3, Cluster list: 192.0.2.22
      PMSI Attribute: Flags: 0x0, Tunnel type: 7, length 24, label: exp-null, tunnel parameters: 0800 0104 C000 0216 000E 0200 0B00 0100 0000 0100 0000 0000 
      rx pathid: 0, tx pathid: 0x0

Expanding a Type 1 route shows tunnel type 7 which is an mLDP MP2MP LSP connection. Which is the default MDT equivalent.

R1#show bgp ipv4 mvpn all route-type 3 100.64.204.16 227.1.2.3 192.0.2.21
BGP routing table entry for [3][100:100][100.64.204.16][227.1.2.3][192.0.2.21]/22, version 93
Paths: (1 available, best #1, table MVPNv4-BGP-Table, not advertised to EBGP peer)
  Not advertised to any peer
  Refresh Epoch 1
  Local
    192.0.2.21 (metric 3) from 192.0.2.22 (192.0.2.22)
      Origin IGP, localpref 100, valid, internal, best
      Community: no-export
      Extended Community: RT:100:100
      Originator: 192.0.2.21, Cluster list: 192.0.2.22
      PMSI Attribute: Flags: 0x0, Tunnel type: 2, length 24, label: exp-null, tunnel parameters: 0600 0104 C000 0215 000E 0200 0B00 0100 0000 0100 0000 0003 
      rx pathid: 0, tx pathid: 0x0

Also on R1, we expand a Type 3 route and showing a tunnel type 2, which is an mLDP P2MP LSP. The difference between the two is the P2MP is traffic from a source to a receiver, where MP2MP is connections between the PEs.

There is currently no multicast flows in the network, only one MDT exists, the default MDT. However ASM and SSM traffic has been signal which is why the Type 3 routes show up and the Tunnel type of 2 has been setup.

R1#show mpls mldp database | in MP2MP|P2MP|Label
LSM ID : A   Type: P2MP   Uptime : 21:06:01
LSM ID : 8 (RNR LSM ID: 9)   Type: MP2MP   Uptime : 22:58:24
      Out Label (U)  : 4018          Interface    : GigabitEthernet1.14*

      Local Label (D): 1021          Next Hop     : 100.64.14.4

R1#show mpls forwarding-table labels 1021
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
1021  [T]  No Label   [mdt 100:100 0][V]   \
                                       610           aggregate/MVPN 

R1 is a first hop router, it will forward traffic over a signaled LSP to the PE routers that requested it. The local label that is applied is label 1021.

R3#sh mpls mldp database | in MP2MP|P2MP|Label|FEC Root
LSM ID : 4   Type: P2MP   Uptime : 21:22:14
  FEC Root           : 192.0.2.1 
      Out Label (U)  : None          Interface    : GigabitEthernet1.23*
      Local Label (D): 3021          Next Hop     : 100.64.23.2
LSM ID : 6   Type: P2MP   Uptime : 21:20:07
  FEC Root           : 192.0.2.21 
      Out Label (U)  : None          Interface    : GigabitEthernet1.23*
      Local Label (D): 3022          Next Hop     : 100.64.23.2
LSM ID : 7   Type: P2MP   Uptime : 21:14:28
  FEC Root           : 192.0.2.21 
      Out Label (U)  : None          Interface    : GigabitEthernet1.36*
      Local Label (D): 3023          Next Hop     : 100.64.36.6
LSM ID : 1 (RNR LSM ID: 2)   Type: MP2MP   Uptime : 1d05h
  FEC Root           : 192.0.2.22 
      Out Label (U)  : 2009          Interface    : GigabitEthernet1.23*
      Local Label (D): 3020          Next Hop     : 100.64.23.2

R3's MLDP database shows 3 P2MP entries, 1 for each signaled group, 227.1.2.3, 232.15.15.15 and 232.16.16.16. The MP2MP entry is to connect all the PE routers together.

R3#show mpls forwarding-table labels 3020 - 3023
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
3020  [T]  No Label   [mdt 100:100 0][V]   \
                                       7686          aggregate/MVPN 
3021  [T]  No Label   [mdt 100:100 1][V]   \
                                       1464          aggregate/MVPN 
3022  [T]  No Label   [mdt 100:100 2][V]   \
                                       488           aggregate/MVPN 
3023  [T]  No Label   [mdt 100:100 3][V]   \
                                       366           aggregate/MVPN 



RP/0/0/CPU0:XR1#sh mpls mldp database | in "MP2MP|P2MP|Label"
Fri Dec 21 21:52:06.343 UTC
LSM-ID: 0x00003  Type: P2MP  Uptime: 21:06:41
      Local Label     : 91013 (internal)
LSM-ID: 0x00004  Type: P2MP  Uptime: 21:06:41
      Local Label     : 91014 (internal)
LSM-ID: 0x00005  Type: P2MP  Uptime: 21:01:02
      Local Label     : 91015 (internal)
LSM-ID: 0x00001  (RNR LSM-ID: 0x00002)  Type: MP2MP  Uptime: 1d05h
      Local Label (D) : 91012             Remote Label (U): 92019
      Local Label     : 91010 (internal)


RP/0/0/CPU0:XR1#show mpls forwarding labels 91010 91015
Fri Dec 21 21:52:34.942 UTC
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
91010  92019       MLDP: 0x00001      Gi0/0/0/0.112 100.64.112.120  0           
       4009        MLDP: 0x00001      Gi0/0/0/0.114 100.64.114.4    0           
91011  92019       MLDP: 0x00001      Gi0/0/0/0.112 100.64.112.120  0           
91012  4009        MLDP: 0x00001      Gi0/0/0/0.114 100.64.114.4    0           
91013  92020       MLDP: 0x00003      Gi0/0/0/0.112 100.64.112.120  0           
91014  92021       MLDP: 0x00004      Gi0/0/0/0.112 100.64.112.120  0           
91015  92022       MLDP: 0x00005      Gi0/0/0/0.112 100.64.112.120  0         


R7#sh mpls mldp database | in MP2MP|P2MP|Label|FEC Root
LSM ID : 3   Type: P2MP   Uptime : 21:20:41
  FEC Root           : 192.0.2.21 
      Out Label (U)  : None          Interface    : GigabitEthernet1.127*
      Local Label (D): 7021          Next Hop     : 100.64.127.12
LSM ID : 4   Type: P2MP   Uptime : 21:20:41
  FEC Root           : 192.0.2.21 
      Out Label (U)  : None          Interface    : GigabitEthernet1.127*
      Local Label (D): 7022          Next Hop     : 100.64.127.12
LSM ID : 5   Type: P2MP   Uptime : 21:15:02
  FEC Root           : 192.0.2.21 
      Out Label (U)  : None          Interface    : GigabitEthernet1.127*
      Local Label (D): 7023          Next Hop     : 100.64.127.12
LSM ID : 1 (RNR LSM ID: 2)   Type: MP2MP   Uptime : 1d05h
  FEC Root           : 192.0.2.22 
      Out Label (U)  : 92018         Interface    : GigabitEthernet1.127*
      Local Label (D): 7020          Next Hop     : 100.64.127.12


R7#show mpls forwarding-table labels 7020 - 7023
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
7020  [T]  No Label   [mdt 100:100 0][V]   \
                                       6832          aggregate/MVPN 
7021  [T]  No Label   [mdt 100:100 1][V]   \
                                       1464          aggregate/MVPN 
7022  [T]  No Label   [mdt 100:100 2][V]   \
                                       488           aggregate/MVPN 
7023  [T]  No Label   [mdt 100:100 3][V]   \
                                       366           aggregate/MVPN 
           6009       [mdt 100:100 3][V]   \
                                       366           Gi1.67     100.64.67.6 

You'll notice in the MPLS MLDP databases, the FEC Roots point to both R1 and XR1 on R3 and only XR1 on R7. This is because R18 didn't signal traffic from R15 as it's source.

We'll test ASM traffic first from R15 and R15 to 227.1.2.3.

R15#ping 227.1.2.3 repeat 2
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 227.1.2.3, timeout is 2 seconds:

Reply to request 0 from 192.0.2.18, 41 ms
Reply to request 0 from 192.0.2.17, 46 ms
Reply to request 0 from 100.64.211.17, 45 ms
Reply to request 0 from 100.64.214.18, 43 ms
Reply to request 1 from 100.64.214.18, 7 ms
Reply to request 1 from 192.0.2.18, 11 ms
Reply to request 1 from 192.0.2.17, 7 ms
Reply to request 1 from 192.0.2.17, 7 ms
Reply to request 1 from 100.64.211.17, 7 ms
Reply to request 1 from 192.0.2.18, 7 ms

R16#ping 227.1.2.3 repeat 2
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 227.1.2.3, timeout is 2 seconds:

Reply to request 0 from 100.64.214.18, 8 ms
Reply to request 0 from 192.0.2.17, 17 ms
Reply to request 0 from 192.0.2.18, 15 ms
Reply to request 0 from 192.0.2.17, 10 ms
Reply to request 0 from 100.64.211.17, 10 ms
Reply to request 0 from 192.0.2.18, 8 ms
Reply to request 1 from 192.0.2.18, 9 ms
Reply to request 1 from 192.0.2.17, 16 ms
Reply to request 1 from 100.64.211.17, 15 ms
Reply to request 1 from 192.0.2.18, 13 ms
Reply to request 1 from 100.64.214.18, 12 ms
Reply to request 1 from 192.0.2.17, 11 ms


R7#show mpls forwarding-table labels 7019 - 7023
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
7019       No Label   100.64.214.0/24[V]   \
                                       0             aggregate/MVPN 
7020  [T]  No Label   [mdt 100:100 0][V]   \
                                       7198          aggregate/MVPN 
7021  [T]  No Label   [mdt 100:100 1][V]   \
                                       1464          aggregate/MVPN 
7022  [T]  No Label   [mdt 100:100 2][V]   \
                                       732           aggregate/MVPN 
7023  [T]  No Label   [mdt 100:100 3][V]   \
                                       610           aggregate/MVPN 
           6009       [mdt 100:100 3][V]   \
                                       610           Gi1.67     100.64.67.6 


R3#show mpls forwarding-table labels 3020 - 3023
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
3020  [T]  No Label   [mdt 100:100 0][V]   \
                                       8052          aggregate/MVPN 
3021  [T]  No Label   [mdt 100:100 1][V]   \
                                       1464          aggregate/MVPN 
3022  [T]  No Label   [mdt 100:100 2][V]   \
                                       732           aggregate/MVPN 
3023  [T]  No Label   [mdt 100:100 3][V]   \
                                       610           aggregate/MVPN 

The above outputs show incremented bytes label switched which shows that traffic has been forwarded via MPLS.

R15#ping 232.15.15.15 source lo0
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 232.15.15.15, timeout is 2 seconds:
Packet sent with a source address of 192.0.2.15 

Reply to request 0 from 192.0.2.17, 8 ms
Reply to request 0 from 192.0.2.17, 9 ms


R3#show mpls forwarding-table labels 3020 - 3023
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
3020  [T]  No Label   [mdt 100:100 0][V]   \
                                       8052          aggregate/MVPN 
3021  [T]  No Label   [mdt 100:100 1][V]   \
                                       2196          aggregate/MVPN 
3022  [T]  No Label   [mdt 100:100 2][V]   \
                                       732           aggregate/MVPN 
3023  [T]  No Label   [mdt 100:100 3][V]   \
                                       610           aggregate/MVPN 

After sending traffic to the SSM groups, we can see the associated labels, 3021 in this case has incremented label switched counters.

R16#ping 232.16.16.16 source lo0 
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 232.16.16.16, timeout is 2 seconds:
Packet sent with a source address of 192.0.2.16 

Reply to request 0 from 192.0.2.18, 8 ms
Reply to request 0 from 192.0.2.18, 8 ms


R7#show mpls forwarding-table labels 7019 - 7023
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
7019       No Label   100.64.214.0/24[V]   \
                                       0             aggregate/MVPN 
7020  [T]  No Label   [mdt 100:100 0][V]   \
                                       7198          aggregate/MVPN 
7021  [T]  No Label   [mdt 100:100 1][V]   \
                                       1952          aggregate/MVPN 
7022  [T]  No Label   [mdt 100:100 2][V]   \
                                       732           aggregate/MVPN 
7023  [T]  No Label   [mdt 100:100 3][V]   \
                                       610           aggregate/MVPN 
           6009       [mdt 100:100 3][V]   \
                                       610           Gi1.67     100.64.67.6 

After sending traffic to the SSM groups, we can see the associated labels, 7021 in this case has incremented label switched counters.

Thanks for stopping by!
Rob Riker, CCIE #50693

No comments:

Post a Comment