من خلال فهم الأساليب الحديثة لتنظيم البث المتعدد VPN ، لاحظت أنه لا يوجد الكثير من المواد على الشبكة التي تصف مبادئ وتفاصيل التكنولوجيا. على موقع الويب للمورد يوفر التكوين كافية للتنفيذ، ولكن لا تصف معنى كل الإجراءات التي يتم تنفيذها.
في هذه السلسلة من المقالات ، سأحاول الكشف عن سر كيفية عمل كل شيء تحت الغطاء.
تقريبا. يفترض المؤلف أن القارئ على دراية بالتقنيات التالية: OSPF و BGP و PIM و MPLS.
مهتم - مرحبًا بك تحت القط.
المهمة الرئيسية هي نفق حزم الإرسال المتعدد بين أجهزة توجيه PE (من Ingress PE إلى واحد أو أكثر من PEs Egress). للقيام بذلك ، تحتاج إلى إنشاء شبكة تراكب أعلى البنية التحتية الأساسية.
إذا لجأنا إلى RFC6513 ، فسنجد هناك تفسيرًا مكانيًا واحدًا بدلاً من ذلك حول كيفية نقل حركة المرور بين أجهزة توجيه PE: "يجب استخدام أنفاق P - نفق P هو آلية نقل داخل شبكة مزود الخدمة التي تقوم بإنشاء مثيل واجهة موفر خدمة البث المتعدد (PMSI). PMSI عبارة عن "تراكب" مفاهيمي على شبكة P مع الخاصية التالية: يمكن لـ PE في MVPN معين إعطاء حزمة إلى PMSI ، وسيتم تسليم الحزمة إلى بعض أو كل PEs الأخرى في MVPN ، بحيث يتمكن أي PE يتلقى الحزمة من تحديد MVPN التي تنتمي إليها الحزمة. "
أولئك. إذا اتبعت ما قيل للتو ، فستبدو البنية التحتية لشبكة VPN للبث المتعدد بالكامل كما يلي:

الشيء الوحيد المتبقي هو معرفة كيفية بناء PMSI وكيف يمكن لأجهزة PE التعرف على بعضها البعض.
-:
- Protocol Independent Multicast (PIM, P-PIM, Provider-PIM; PIM GRT)
- Multipoint Label Distribution Protocol (mLDP)
- Resource Reservation Protocol Traffic Engineering (RSVP-TE)
- Ingress Replication (IR)
. PMSI PIM mLDP.
-, / . :
- PIM (C-PIM, Customer-PIM; PIM (VRF))
- BGP.
mVPN :
- . (C-Multicast) .
, .
, , :
- - (Point-to-Point)
- ( , MPLS ), LSP (unicast) .
- - (Point-to-Multipoint)
- ( , root) . (unidirectional).
- - (Multipoint-to-Multipoint)
- (bidirectional), , . , .
- -- (Point-to-Point-to-Multipoint)
- P2P P2MP . P2P LSP , P2MP .
, Partitioned MDT.
- P2P P2MP . P2P LSP , P2MP .
:
- Multi-Directional Inclusive PMSI (MI-PMSI, aka Default MDT)
- Selective PMSI (aka Data MDT)
- Multi-Directional Selective PMSI (aka Partitioned MDT)
( ). , mVPN «Default MDT».
Default MDT
Default MDT PE- VPN (VRF) . Default MDT , PIM .
Default MDT - PE PIM VRF, PIM (Join/Prune, RPT Switchover) Default MDT , LAN .

mVPN Profile 0
mVPN «Profile 0», «Draft Rosen».
:
- Default MDT
- PIM
- PIM
- C-multicast GRE (mGRE )
, , . :
- BGP ( , VPNv4), unicast RPF .
- OSPF IS-IS ( ) IP- Loopback0 , BGP
- PIM ASM ( Global Routing Table, GRT)
- Bootstrap Router (BSR)
- LDP / .
:
router ospf 1
router-id X.X.X.X
!
ip mutlicast-routing
!
ip pim register-source Lo0
!
interface Loopback0
ip address X.X.X.X 255.255.255.255
ip ospf 1 area 0
ip pim sparse-mode
!
interface Gi2.Y
encapsulation dot1q Y
ip address 10.X.Y.Z 255.255.255.0
ip ospf 1 area 0
ip pim sparse-mode
!
router bgp 65001
bgp router-id X.X.X.X
no bgp default ipv4 unicast
neighbor Y.Y.Y.Y remote-as 65001
neighbor Y.Y.Y.Y update-source Loopback0
!
address-family vpnv4
neighbor Y.Y.Y.Y activate
neighbor Y.Y.Y.Y send-community-both
!
#############################################
########## ##########
#############################################
!
ip pim rp-candidate Lo0
ip pim bsr-candidate Lo0
, , ( Provider RP (P-RP) – ). , show ip int brief. ? : Tunnel (encap) PIM-Register P-RP. P-RP Tunnel (decap) Register .
.
PE1#show int tu2 | i Descr|destination|Tunnel2
Tunnel2 is up, line protocol is up
Description: **Pim Register Tunnel (Encap)** for RP 8.8.8.8
Tunnel source 1.1.1.1 (Loopback0), destination 8.8.8.8
>RR#show int tu0 | i Descr|destination|Tunnel0
Tunnel0 is up, line protocol is up
Description: **Pim Register Tunnel (Encap)** for RP 8.8.8.8
Tunnel source 8.8.8.8 (Loopback0), destination 8.8.8.8
Tunnel0 source tracking subblock associated with Loopback0
RR#show int tu1 | i Descr|destination|Tunnel1
Tunnel1 is up, line protocol is up
Description: Pim Register Tunnel (**Decap**) for RP 8.8.8.8
Tunnel source 8.8.8.8 (Loopback0), destination 8.8.8.8
Tunnel1 source tracking subblock associated with Loopback0
Profile 0 C-multicast mGRE . () IP . ( GRT). PIM GRT. :
ip vrf C-ONE
mdt default 239.1.1.1
, ingress PE - VRF, ingress mGRE, destination IP 239.1.1.1 .
, egress PE . . .
PE2#show ip igmp membership
Flags: A - aggregate, T - tracked
L - Local, S - static, V - virtual, R - Reported through v3
I - v3lite, U - Urd, M - SSM (S,G) channel
1,2,3 - The version of IGMP, the group is in
Channel/Group-Flags:
/ - Filtering entry (Exclude mode (S,G), Include mode (G))
Reporter:
<mac-or-ip-address> - last reporter if group is not explicitly tracked
<n>/<m> - <n> reporter in include mode, <m> reporter in exclude
Channel/Group Reporter Uptime Exp. Flags Interface
*,239.1.1.1 2.2.2.2 1d20h stop 2VA Lo0
, 2 (*, 239.1.1.1) Loopback0. , , PIM Join RP .
, 2 mRIB. PIM ASM (shared tree source-based tree):
P2#show ip mroute 239.1.1.1
IP Multicast Routing Table
(*, 239.1.1.1), 2d00h/00:03:09, RP 8.8.8.8, flags: S
Incoming interface: GigabitEthernet2.68, RPF nbr 10.6.8.8
Outgoing interface list:
GigabitEthernet2.67, Forward/Sparse, 2d00h/00:03:09
GigabitEthernet2.26, Forward/Sparse, 2d00h/00:03:05
(2.2.2.2, 239.1.1.1), 05:22:26/00:01:55, flags: T
Incoming interface: GigabitEthernet2.26, RPF nbr 10.2.6.2
Outgoing interface list:
GigabitEthernet2.56, Forward/Sparse, 05:22:26/00:02:46
GigabitEthernet2.67, Forward/Sparse, 05:22:26/00:03:09
, MDT vrf C-ONE , :
P2#show ip mroute 239.1.1.1
IP Multicast Routing Table
(*, 239.1.1.1), 2d00h/00:03:09, RP 8.8.8.8, flags: S
Incoming interface: GigabitEthernet2.68, RPF nbr 10.6.8.8
Outgoing interface list:
GigabitEthernet2.67, Forward/Sparse, 2d00h/00:03:09
GigabitEthernet2.26, Forward/Sparse, 2d00h/00:03:05
(4.4.4.4, 239.1.1.1), 05:21:57/00:02:16, flags: T
Incoming interface: GigabitEthernet2.56, RPF nbr 10.5.6.5
Outgoing interface list:
GigabitEthernet2.26, Forward/Sparse, 05:21:57/00:03:15
(3.3.3.3, 239.1.1.1), 05:22:22/00:01:46, flags: T
Incoming interface: GigabitEthernet2.67, RPF nbr 10.6.7.7
Outgoing interface list:
GigabitEthernet2.26, Forward/Sparse, 05:22:22/00:03:05
(2.2.2.2, 239.1.1.1), 05:22:26/00:01:55, flags: T
Incoming interface: GigabitEthernet2.26, RPF nbr 10.2.6.2
Outgoing interface list:
GigabitEthernet2.56, Forward/Sparse, 05:22:26/00:02:46
GigabitEthernet2.67, Forward/Sparse, 05:22:26/00:03:09
(1.1.1.1, 239.1.1.1), 2d00h/00:03:15, flags: T
Incoming interface: GigabitEthernet2.56, RPF nbr 10.5.6.5
Outgoing interface list:
GigabitEthernet2.26, Forward/Sparse, 2d00h/00:03:05
GRT. ? — C-VRF! .
PMSI. Cisco IOS ( Profile 0) MDT BGP. MDT , PMSI .
MDT Route Reflector (R8).
PE1#sh run | s bgp
router bgp 65001
!
address-family ipv4 mdt
neighbor 8.8.8.8 activate
exit-address-family
Tunnel:
*Nov 12 11:27:45.131: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up
PE1#show int Tu0 | i transport|source|Tunnel0
Tunnel0 is up, line protocol is up
Tunnel source 1.1.1.1 (Loopback0)
Tunnel0 source tracking subblock associated with Loopback0
Set of tunnels with source Loopback0, 2 members (includes iterators), on interface <OK>
Tunnel protocol/transport multi-GRE/IP
Tunnel transport MTU 1476 bytes
Tunnel0 — , PMSI C-VRF.
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 Tunnel0 v2/S 3 30 1 4.4.4.4
PIM Hello ( 224.0.0.13) , VRF Default MDT.
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 Tunnel0 v2/S 3 30 1 4.4.4.4
PE1#show ip pim vrf C-ONE neighbor
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,
L - DR Load-balancing Capable
Neighbor Interface Uptime/Expires Ver DR
Address Prio/Mode
172.1.11.11 GigabitEthernet2.111 4d20h/00:01:25 v2 1 / DR S P G
172.1.15.15 GigabitEthernet2.115 4d21h/00:01:25 v2 1 / DR S P G
3.3.3.3 Tunnel0 00:07:25/00:01:41 v2 1 / S P G
2.2.2.2 Tunnel0 00:07:25/00:01:41 v2 1 / S P G
4.4.4.4 Tunnel0 00:08:24/00:01:41 v2 1 / DR S P G
PIM Hello, 1. , ( VRF) IP-, .


, Default MDT Multipoint-to-Multipoint .. (. PIM Hello) , .
: « MDT? PIM ASM ».
, Cisco IOS , PMSI BGP . , (Tunnel0 UP neighbor activate).
MDT , PIM SSM. , RP, - . MDT :
PE1#show bgp ipv4 mdt all
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1.1.1.1:1 (default for vrf C-ONE)
*> 1.1.1.1/32 0.0.0.0 0 ?
Route Distinguisher: 2.2.2.2:1
*>i 2.2.2.2/32 2.2.2.2 0 100 0 ?
Route Distinguisher: 3.3.3.3:1
*>i 3.3.3.3/32 3.3.3.3 0 100 0 ?
Route Distinguisher: 4.4.4.4:1
*>i 4.4.4.4/32 4.4.4.4 0 100 0 ?
PE1#show bgp ipv4 mdt all 2.2.2.2/32
BGP routing table entry for 2.2.2.2:1:2.2.2.2/32 version 3
Paths: (1 available, best #1, table IPv4-MDT-BGP-Table)
Not advertised to any peer
Refresh Epoch 1
Local
2.2.2.2 from 8.8.8.8 (8.8.8.8)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Originator: 2.2.2.2, Cluster list: 8.8.8.8,
MDT group address: 239.1.1.1
rx pathid: 0, tx pathid: 0x0
Originator MDT group address, (S,G) .
. : The Address Family (AF) IPv4 Multicast Distribution Tree (MDT) must be used for all types of PIM signaling in the core (not only for PIM Source Specific Multicast (SSM)).
.. sAFI MDT , .
.
, CE3 CE4 :
interface Loopback0
ip igmp join-group 230.0.0.1
, 3 4 :
PE3#show ip mroute vrf C-ONE
(*, 230.0.0.1), 05:58:36/00:03:19, RP 15.15.15.15, flags: S
Incoming interface: Tunnel1, RPF nbr 1.1.1.1
Outgoing interface list:
GigabitEthernet2.313, Forward/Sparse, 00:00:10/00:03:19
PE4#show ip mroute vrf C-ONE
(*, 230.0.0.1), 00:00:29/00:03:00, 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:29/00:03:00
2 OIL ( ). , IIL Tunnel (default MDT). .. 2 230.0.0.1 .
PE2#show ip mroute 239.1.1.1
(*, 239.1.1.1), 05:06:26/stopped, RP 8.8.8.8, flags: SJCFZ
Incoming interface: GigabitEthernet2.26, RPF nbr 10.2.6.6
Outgoing interface list:
MVRF C-ONE, Forward/Sparse, 05:06:26/stopped
PE2#show ip mroute vrf C-ONE
(*, 230.0.0.1), 05:59:17/00:01:08, RP 15.15.15.15, flags: SP
Incoming interface: Tunnel1, RPF nbr 1.1.1.1
Outgoing interface list: Null
:
CE1#ping 230.0.0.1 source 11.11.11.11
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, 11 ms
Reply to request 0 from 13.13.13.13, 13 ms
, , PIM ( mGRE):

: MPLS , ( Profile 0) .
(ICMP reply) MPLS L3 VPN:

, Default MDT . , PE-, , C-Receiver . , PE, . ( VLAN ID = 26, R2 (PE2) R6 (P2)).


لتجاوز قيود MDT الافتراضية ، تم تقديم مفهوم Data MDT ، والذي يسمح بتبديل حركة مرور المستخدم C- (S ، G) من MDT الافتراضي إلى Data MDT ، والذي يتضمن فقط هؤلاء PEs حيث توجد مصادر نشطة أو مستقبلات حركة المرور. سنتحدث عن هذا معك في العدد القادم.
يتبع...