Dans les numéros précédents, nous nous sommes familiarisés avec les concepts de MDT par défaut, les types d'arbres racines et avons analysé deux options pour implémenter mVPN basé sur mGRE et mLDP:
Aujourd'hui, la famille d'adresses BGP MDT (qui a déjà été discutée) est obsolète. Il a été remplacé par un nouveau - SAFI = VPN multicast (mVPN). Quoi de neuf avec cette famille d'adresses? Quels cas d'utilisation peut-il y avoir? Essayons de le comprendre.
Intéressé - bienvenue sous chat.
Les auteurs de l'idée ont proposé de diviser le message de mise à jour BGP en deux parties:
- Directement mvpn NLRI. Les informations suivantes sont transmises en interne:
- Type d'itinéraire (valeur de 1 à 7). Chaque itinéraire a sa propre fonction.
- Attribut de tunnel PMSI (PTA). Responsable de transmettre les informations sur le type de l'arbre enraciné.
Types de route BGP mVPN
Type d'itinéraire | Nom | Objectif |
1 | AD intra-AS I-PMSI | déclarer PE comme membre mVPN pour un VPN spécifique. Il s'agit de la détection automatique BGP. |
2 | AD Inter-AS I-PMSI | déclarant ASBR comme membre mVPN pour un VPN spécifique. Utilisé pour construire Inter-AS mVPN. |
3 | S-PMSI AD | déclarer PE comme un routeur d'entrée pour un groupe C- (S, G) spécifique Basculement vers Data MDT (plus d'informations à ce sujet plus tard) |
4 | Feuille AD | Inter-AS PMSI A-D S-PMSI A-D Leaf Information (LI) |
5 | Source Active A-D | Source Active |
6 | Shared Tree Join | PIM (*, G) Join ( Prune) |
7 | Source Tree Join | PIM (S, G) Join ( Prune) |
PTA
:
0 —
1 — RSVP-TE P2MP LSP
2 — mLDP P2MP LSP
3 — PIM-SSM
4 — PIM-SM
5 — BIDIR-PIM
6 — Ingress Replication
7 — mLDP MP2MP LSP
community
, BGP VRF, .
VRF Route Import ( vpnv4/vpnv6 )
: ( vpnv4 Route-Target)
Route Target Constraint (RTC)
: RTC, Route-Reflector ( ) «» vpnv4/vpnv6 . «» , VRF, .
. RTC RFC4684
Source-AS Extended Community ( vpnv4/vpnv6 )
: AS Inter-AS mVPN
PE Distinguisher Label
: PPMP Partitioned MDT ( ).
SAFI mVPN BGP , SAFI , :
- Auto-Discovery
- PIM BGP
, , -.
PIM, BGP. GRE. «Profile 3».
, :
:
- :
- OSPF
- P-PIM SSM
access-list 99 permit 239.1.1.0 0.0.0.255 ip pim ssm range 99
- VRF:
- C-PIM
- VRF
ip vrf C-ONE rd 1.1.1.1:1 route-target export 65001:1 route-target import 65001:1
, vrf C-ONE C-PIM SSM.
access-list 99 permit 230.1.1.0 0.0.0.255
ip pim ssm range 99 |
access-list 98 permit 230.1.1.0 0.0.0.255
ip pim vrf C-ONE ssm range 98 |
:
ip vrf C-ONE
mdt auto-discovery pim
mdt default 239.1.1.1
PMSTI:
*Nov 24 20:44:40.941: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel2, changed state to up
*Nov 24 20:44:42.872: %PIM-5-DRCHG: VRF C-ONE: DR change from neighbor 0.0.0.0 to 1.1.1.1 on interface Tunnel2
PE1#show int tu2
Tunnel2 is up, line protocol is up
Interface is unnumbered. Using address of Loopback0 (1.1.1.1)
Tunnel source 1.1.1.1 (Loopback0)
Tunnel protocol/transport multi-GRE/IP
PIM (.. ):
*Nov 24 20:44:42.872: %PIM-5-DRCHG: VRF C-ONE: DR change from neighbor 0.0.0.0 to 1.1.1.1 on interface Tunnel2
ipv4 mvpn:
router bgp 65001
!
address-family ipv4 mvpn
neighbor MPLS_PE send-community extended
neighbor MPLS_PE route-reflector-client
neighbor 1.1.1.1 activate
neighbor 2.2.2.2 activate
neighbor 3.3.3.3 activate
neighbor 4.4.4.4 activate
exit-address-family
C-VRF:
PE1#show ip pim vrf C-ONE neighbor
172.1.11.11 GigabitEthernet2.111 2w3d/00:01:19 v2 1 / DR S P G
172.1.15.15 GigabitEthernet2.115 2w3d/00:01:35 v2 1 / DR S P G
4.4.4.4 Tunnel2 00:00:17/00:01:27 v2 1 / DR S P G
3.3.3.3 Tunnel2 00:00:17/00:01:27 v2 1 / S P G
2.2.2.2 Tunnel2 00:00:47/00:01:27 v2 1 / S P G
(S, G) :
PE1#show ip mroute 239.1.1.1
(1.1.1.1, 239.1.1.1), 00:00:45/00:02:44, flags: sT
Incoming interface: Loopback0, RPF nbr 0.0.0.0
Outgoing interface list:
GigabitEthernet2.15, Forward/Sparse, 00:00:45/00:02:44
(4.4.4.4, 239.1.1.1), 00:00:49/00:02:10, flags: sTIZ
Incoming interface: GigabitEthernet2.15, RPF nbr 10.1.5.5
Outgoing interface list:
MVRF C-ONE, Forward/Sparse, 00:00:49/00:02:10
(3.3.3.3, 239.1.1.1), 00:00:53/00:02:06, flags: sTIZ
Incoming interface: GigabitEthernet2.15, RPF nbr 10.1.5.5
Outgoing interface list:
MVRF C-ONE, Forward/Sparse, 00:00:53/00:02:06
(2.2.2.2, 239.1.1.1), 00:01:19/00:01:40, flags: sTIZ
Incoming interface: GigabitEthernet2.15, RPF nbr 10.1.5.5
Outgoing interface list:
MVRF C-ONE, Forward/Sparse, 00:01:19/00:01:40
«» ? BGP :
PE1#show bgp ipv4 mvpn all
BGP table version is 258, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i — internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
t secondary path,
Origin codes: i — IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1.1.1.1:1 (default for vrf C-ONE)
*> [1][1.1.1.1:1][1.1.1.1]/12
0.0.0.0 32768 ?
*>i [1][1.1.1.1:1][2.2.2.2]/12
2.2.2.2 0 100 0 ?
*>i [1][1.1.1.1:1][3.3.3.3]/12
3.3.3.3 0 100 0 ?
*>i [1][1.1.1.1:1][4.4.4.4]/12
4.4.4.4 0 100 0 ?
Route Distinguisher: 2.2.2.2:1
*>i [1][2.2.2.2:1][2.2.2.2]/12
2.2.2.2 0 100 0 ?
Route Distinguisher: 3.3.3.3:1
Network Next Hop Metric LocPrf Weight Path
*>i [1][3.3.3.3:1][3.3.3.3]/12
3.3.3.3 0 100 0 ?
Route Distinguisher: 4.4.4.4:1
*>i [1][4.4.4.4:1][4.4.4.4]/12
4.4.4.4 0 100 0 ?
, BGP IPv4 mvpn ,
PE1#show bgp ipv4 mvpn all route-type 1 4.4.4.4
BGP routing table entry for [1][1.1.1.1:1][4.4.4.4]/12, version 262
Paths: (1 available, best #1, table MVPNv4-BGP-Table, not advertised to EBGP peer)
Not advertised to any peer
Refresh Epoch 1
Local, imported path from [1][4.4.4.4:1][4.4.4.4]/12 (global)
4.4.4.4 (metric 3) from 8.8.8.8 (8.8.8.8)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Community: no-export
Extended Community: RT:65001:1
Originator: 4.4.4.4, Cluster list: 8.8.8.8
PMSI Attribute: Flags: 0x0, Tunnel type: 3, length 8, label: exp-null, tunnel parameters: 0404 0404 EF01 0101
rx pathid: 0, tx pathid: 0x0
BGP routing table entry for [1][4.4.4.4:1][4.4.4.4]/12, version 265
Paths: (1 available, best #1, table MVPNv4-BGP-Table, not advertised to EBGP peer)
Not advertised to any peer
Refresh Epoch 1
Local
4.4.4.4 (metric 3) from 8.8.8.8 (8.8.8.8)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Community: no-export
Extended Community: RT:65001:1
Originator: 4.4.4.4, Cluster list: 8.8.8.8
PMSI Attribute: Flags: 0x0, Tunnel type: 3, length 8, label: exp-null, tunnel parameters: 0404 0404 EF01 0101
rx pathid: 0, tx pathid: 0x0
PTA:
- Tunnel type: 3 , vrf SSM PIM
- tunnel parameters (EF01 0101 = 239.1.1.1)
:
CE4(config-if)#ip igmp join-group 230.1.1.1 source 11.11.11.11
:
PE4#show ip mroute vrf C-ONE
(11.11.11.11, 230.1.1.1), 00:00:11/00:03:18, flags: sT
Incoming interface: Tunnel0, RPF nbr 1.1.1.1
Outgoing interface list:
GigabitEthernet2.414, Forward/Sparse, 00:00:11/00:03:18
RPF nbr 1.1.1.1 — PE4 ? . BGP next-hop = 11.11.11.11
PE4#show ip route vrf C-ONE 11.11.11.11
Routing Table: C-ONE
Routing entry for 11.11.11.11/32
Known via "bgp 65001", distance 200, metric 0
Tag 65011, type internal
Last update from 1.1.1.1 01:02:10 ago
Routing Descriptor Blocks:
* 1.1.1.1 (default), from 8.8.8.8, 01:02:10 ago
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 65011
MPLS label: 10018
MPLS Flags: MPLS Required
, 4 PIM Join Default MDT:
PIM Join , 1 (.. Join RPF )
PE1#show ip mroute vrf C-ONE | b \(
(11.11.11.11, 230.1.1.1), 00:01:16/00:03:11, flags: sT
Incoming interface: GigabitEthernet2.111, RPF nbr 172.1.11.11
Outgoing interface list:
Tunnel2, Forward/Sparse, 00:01:16/00:03:11
PE2#show ip mroute vrf C-ONE | b \(
PE2#
:
CE1#ping
Target IP address: 230.1.1.1
Repeat count [1]: 5
Extended commands [n]: y
Interface [All]: GigabitEthernet2.111
Source address or interface: 11.11.11.11
Sending 5, 100-byte ICMP Echos to 230.1.1.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, 7 ms
Reply to request 1 from 14.14.14.14, 7 ms
Reply to request 2 from 14.14.14.14, 8 ms
Reply to request 3 from 14.14.14.14, 8 ms
Reply to request 4 from 14.14.14.14, 7 ms
, . , , Profile0. .. Default MDT .
, (vlan id = 37 R3 R7):
PIM SSM C-VRF. -, PIM ASM?
CE4(config-if)#interface Lo0
CE4(config-if)#ip igmp version 2
CE4(config-if)#no ip igmp join-group 230.1.1.1 source 11.11.11.11
CE4(config-if)#ip igmp join-group 231.1.1.1
!
CE15(config)#no ip pim bsr-candidate Loopback0 0
CE15(config)#no ip pim rp-candidate Loopback0
!
CE15(config)#access-list 1 permit 231.1.1.0 0.0.0.255
CE15(config)#ip pim bsr-candidate Lo0
CE15(config)#ip pim rp-candidate Lo0 group-list 1
PIM encap:
PE1#
*Nov 24 21:39:32.938: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to up
C-VRF RP BSR :
CE1#show ip pim bsr-router
PIMv2 Bootstrap information
BSR address: 15.15.15.15 (?)
Uptime: 00:01:54, BSR Priority: 0, Hash mask length: 0
Expires: 00:01:16
Tant qu'il n'y a pas de source de trafic active, seules les routes (*, G) seront observées à l'intérieur du C-VRF selon la logique PIM ASM habituelle:
PE4#show ip mroute vrf C-ONE
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 231.1.1.2), 00:00:46/00:02:43, RP 15.15.15.15, flags: S
Incoming interface: Tunnel0, RPF nbr 1.1.1.1
Outgoing interface list:
GigabitEthernet2.414, Forward/Sparse, 00:00:46/00:02:43
Dans le même temps, aucun préfixe mvpn supplémentaire n'apparaît dans le domaine BGP:
PE4#show bgp ipv4 mvpn all
Route Distinguisher: 1.1.1.1:1
*>i [1][1.1.1.1:1][1.1.1.1]/12
1.1.1.1 0 100 0 ?
Route Distinguisher: 2.2.2.2:1
*>i [1][2.2.2.2:1][2.2.2.2]/12
2.2.2.2 0 100 0 ?
Route Distinguisher: 3.3.3.3:1
*>i [1][3.3.3.3:1][3.3.3.3]/12
3.3.3.3 0 100 0 ?
Route Distinguisher: 4.4.4.4:1 (default for vrf C-ONE)
*>i [1][4.4.4.4:1][1.1.1.1]/12
1.1.1.1 0 100 0 ?
*>i [1][4.4.4.4:1][2.2.2.2]/12
Network Next Hop Metric LocPrf Weight Path
2.2.2.2 0 100 0 ?
*>i [1][4.4.4.4:1][3.3.3.3]/12
3.3.3.3 0 100 0 ?
*> [1][4.4.4.4:1][4.4.4.4]/12
"Pourquoi?" - tu demandes? Parce que la signalisation du trafic multicast C-VRF utilise le protocole PIM.
Nous parlerons du remplacement possible de la signalisation par BGP la prochaine fois.