Home » Multicast Routing: PIM-SM, PIM-SSM, IGMP, MLD, RP และ Multicast VPN
Multicast Routing: PIM-SM, PIM-SSM, IGMP, MLD, RP และ Multicast VPN
Multicast Routing: PIM-SM, PIM-SSM, IGMP, MLD, RP และ Multicast VPN
Multicast Routing ส่ง traffic จาก source เดียวไปยัง group ของ receivers โดยไม่ต้อง duplicate ที่ source PIM-SM (Protocol Independent Multicast Sparse Mode) สร้าง shared tree ผ่าน RP, PIM-SSM (Source-Specific Multicast) สร้าง shortest-path tree โดยตรงจาก source, IGMP ให้ hosts แจ้ง router ว่าต้องการ join/leave group, MLD ทำหน้าที่เดียวกันสำหรับ IPv6, RP (Rendezvous Point) เป็น meeting point สำหรับ sources และ receivers และ Multicast VPN extend multicast ข้าม MPLS/VPN networks
ถ้าไม่มี multicast การส่ง video stream ไปยัง 1,000 receivers ต้อง: unicast = 1,000 copies (ใช้ bandwidth 1,000×) หรือ broadcast = ส่งทุกคนในทุก subnet (waste bandwidth + ไม่ข้าม router) Multicast = ส่ง 1 copy ที่ replicate เฉพาะจุดที่ receivers อยู่ → ประหยัด bandwidth อย่างมหาศาล
Multicast Basics
| Concept |
รายละเอียด |
| Multicast Address |
224.0.0.0 – 239.255.255.255 (Class D) สำหรับ IPv4 |
| ff00::/8 |
IPv6 multicast range |
| Source (S) |
ผู้ส่ง multicast traffic |
| Group (G) |
Multicast group address ที่ receivers join |
| (*,G) |
Any source, specific group (shared tree via RP) |
| (S,G) |
Specific source, specific group (shortest-path tree) |
| RPF (Reverse Path Forwarding) |
Check ว่า multicast packet มาจาก interface ที่ shortest path กลับไป source → ป้องกัน loops |
IGMP (Internet Group Management Protocol)
| Version |
Feature |
Detail |
| IGMPv1 |
Basic join |
Host join group → router learns (no explicit leave) |
| IGMPv2 |
+ Explicit leave |
Host send leave message → router prune faster (ลด leave latency) |
| IGMPv3 |
+ Source filtering |
Host specify ต้องการ traffic จาก specific source (S,G) → SSM support |
PIM-SM (Sparse Mode)
| Feature |
รายละเอียด |
| คืออะไร |
Multicast routing protocol ที่ใช้ shared tree (RP-based) + switchover to SPT |
| RP (Rendezvous Point) |
Central point ที่ sources register + receivers join → RP เชื่อม source กับ receiver |
| Shared Tree (*,G) |
Traffic flow: Source → RP → Receivers (shared tree ผ่าน RP) |
| SPT Switchover |
เมื่อ receiver ได้ traffic → switch ไป shortest-path tree (S,G) โดยตรงจาก source |
| RP Discovery |
Static RP, Auto-RP (Cisco), BSR (Bootstrap Router — standard) |
| Anycast RP |
Multiple RPs share same IP → MSDP sync → redundancy + load sharing |
PIM-SSM (Source-Specific Multicast)
| Feature |
PIM-SM |
PIM-SSM |
| Tree Type |
Shared tree (*,G) → SPT switchover (S,G) |
SPT only (S,G) — no shared tree |
| RP Required |
Yes (RP is central point) |
No (no RP needed — simpler) |
| Source Knowledge |
Receivers ไม่ต้องรู้ source ล่วงหน้า |
Receivers ต้องรู้ source address (IGMPv3) |
| Security |
Any source สามารถ send ไป group ได้ |
Only specified source → ป้องกัน spoofing |
| Address Range |
224.0.0.0/4 |
232.0.0.0/8 (SSM range) |
| Best For |
Many-to-many, unknown sources |
One-to-many (IPTV, live streaming, financial feeds) |
RP (Rendezvous Point) Options
| Method |
How |
Pros/Cons |
| Static RP |
Configure RP address manually บนทุก router |
Simple แต่ no redundancy, manual update |
| Auto-RP |
RP announce ตัวเอง → Mapping Agent distribute (Cisco proprietary) |
Dynamic แต่ Cisco only |
| BSR (Bootstrap Router) |
BSR collect RP candidates → distribute RP-to-group mapping (standard) |
Standard, multi-vendor, automatic |
| Anycast RP + MSDP |
Multiple RPs share same IP → MSDP sync source registrations |
HA + load sharing, complex setup |
| Embedded RP |
RP address embedded ใน IPv6 multicast group address |
IPv6 only, simple, no extra protocol |
Multicast VPN (mVPN)
| Type |
How |
Use Case |
| Draft Rosen (GRE) |
GRE tunnel ระหว่าง PEs สำหรับ multicast → MDT (Multicast Distribution Tree) |
Legacy, widely deployed |
| mVPN Profile 0 |
Default MDT — all PE routers join default MDT (GRE) |
Small-scale multicast VPN |
| mVPN Profile 6 |
PIM over mLDP (Multicast LDP) — P-tunnel built by mLDP |
Label-based (no GRE), scalable |
| mVPN Profile 7 |
PIM over mLDP with BGP signaling — BGP for C-multicast routes |
Most scalable, BGP-based control plane |
| mVPN Profile 14 |
Ingress Replication — unicast copies to each PE (no P-multicast tree) |
Simple, works everywhere (even without multicast in core) |
ทิ้งท้าย: Multicast = Efficient One-to-Many Delivery
Multicast Routing Basics: source (S) → group (G), RPF check, (*,G) shared tree, (S,G) shortest-path tree IGMP: v1 (join), v2 (+leave), v3 (+source filtering for SSM) PIM-SM: RP-based shared tree → SPT switchover (most common multicast protocol) PIM-SSM: no RP needed, (S,G) only, IGMPv3, more secure (one-to-many: IPTV, streaming) RP: static, Auto-RP (Cisco), BSR (standard), Anycast RP + MSDP (HA) mVPN: Draft Rosen (GRE), Profile 6/7 (mLDP), Profile 14 (ingress replication) Key: multicast saves massive bandwidth for one-to-many — essential for video, streaming, financial feeds
อ่านเพิ่มเติมเกี่ยวกับ Data Center Interconnect DCI VXLAN EVPN และ MPLS Deep Dive Labels LSP LDP ที่ siamlancard.com หรือจาก icafeforex.com และ siam2r.com