在Cisco IOS上实施多播VPN(第3部分-BGP自动发现)

在先前的问题中,我们熟悉了默认MDT的概念,根树的类型,并分析了基于mGRE和mLDP实施mVPN的两个选项:



配置文件0

配置文件1



今天,BGP MDT地址族(已经讨论过)已过时。一个新的替代它-SAFI =组播VPN(mVPN)。这个地址族有什么新功能?会有什么用例?让我们尝试找出答案。



感兴趣-欢迎在猫之下。



这个想法的作者建议将BGP更新消息分为两部分:



  • 直接mvpn NLRI。以下信息在内部传输:

    • 路由类型(值从1到7)。每条路线都有其自己的功能。
  • PMSI隧道属性(PTA)。负责传递有关根树类型的信息。


BGP mVPN路由类型



路线类型 名称 目的
1个 AS内I-PMSI AD 宣布PE为特定VPN的mVPN成员。这是BGP自动发现。
2 跨域I-PMSI AD 将ASBR声明为特定VPN的mVPN成员。用于构建跨域mVPN。
3 S-PMSI广告 将PE声明为特定C-(S,G)组的入口路由器切换到数据MDT(稍后会详细介绍)
4 叶广告 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


只要没有活动的流量源,根据常规PIM ASM逻辑,在C-VRF内部将仅观察到(*,G)路由:



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


同时,在BGP域内没有其他mvpn前缀出现:



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




“为什么?” - 你问?因为PIM协议用于发信号C-VRF多播流量。



下次我们将讨论用BGP替换信​​令的可能性。




All Articles