Implémentation d'un VPN multicast sur Cisco IOS (Partie 3 - Découverte automatique BGP)

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:



Profil 0

Profil 1



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.




All Articles