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)
...