Home » Multicast Networking: IGMP, PIM, RP, Multicast Routing, Source-Specific Multicast และ Multicast Design
Multicast Networking: IGMP, PIM, RP, Multicast Routing, Source-Specific Multicast และ Multicast Design
Multicast Networking: IGMP, PIM, RP, Multicast Routing, Source-Specific Multicast และ Multicast Design
Multicast Networking ส่งข้อมูลจาก 1 source ไปยังหลาย receivers โดยส่งเพียงครั้งเดียว IGMP (Internet Group Management Protocol) จัดการ membership ของ receivers, PIM (Protocol Independent Multicast) ทำ routing สำหรับ multicast traffic, RP (Rendezvous Point) เป็นจุดนัดพบของ sources และ receivers, Multicast Routing สร้าง distribution tree, Source-Specific Multicast (SSM) เพิ่มประสิทธิภาพ และ Multicast Design วางแผนสำหรับ enterprise
Multicast แก้ปัญหา 1-to-many communication อย่างมีประสิทธิภาพ: ถ้ามี 1,000 receivers ต้องการ video stream เดียวกัน → unicast ต้องส่ง 1,000 copies (1 Gbps × 1,000 = 1 Tbps bandwidth!) → multicast ส่งเพียง 1 copy ที่ network replicate เอง (1 Gbps เท่านั้น) ใช้สำหรับ IPTV, video conferencing, stock market data, OS deployment, live streaming
Unicast vs Broadcast vs Multicast
| Type |
Destination |
Bandwidth |
Use Case |
| Unicast |
1 source → 1 destination |
N copies for N receivers (inefficient for many) |
Web browsing, email, file transfer |
| Broadcast |
1 source → all devices on subnet |
1 copy but reaches everyone (even uninterested) |
ARP, DHCP discover — limited to L2 |
| Multicast |
1 source → group of interested receivers |
1 copy, replicated at branch points only |
IPTV, video conferencing, stock feeds |
IGMP (Internet Group Management Protocol)
| Version |
Features |
Key Difference |
| IGMPv1 |
Join group, leave via timeout |
No explicit leave — wait for timeout (slow) |
| IGMPv2 |
Join + explicit Leave + Group-Specific Query |
Faster leave (seconds vs minutes) |
| IGMPv3 |
Join + Leave + Source filtering (include/exclude) |
SSM support — specify which source to receive from |
IGMP Snooping
| Feature |
รายละเอียด |
| Problem |
Without snooping: switch floods multicast to ALL ports (like broadcast) → wastes bandwidth |
| Solution |
Switch inspects IGMP messages → learns which ports have interested receivers → forwards only to those ports |
| Querier |
One device must send IGMP queries (usually router or configured switch) → triggers reports from hosts |
| Must Enable |
Enable IGMP snooping on ALL L2 switches in multicast path — essential for efficiency |
PIM (Protocol Independent Multicast)
| Mode |
How |
Use Case |
| PIM Dense Mode (DM) |
Flood-and-prune: flood everywhere → prune branches with no receivers |
Small networks with receivers everywhere — rarely used today |
| PIM Sparse Mode (SM) |
Explicit join: receivers join via RP → source registers at RP → build shared tree → optionally switch to shortest path |
Standard for enterprise/ISP — scalable, efficient |
| PIM SSM |
Source-Specific: receiver specifies (S,G) directly → no RP needed → shortest path tree only |
IPTV, known source applications — most efficient |
| BiDir PIM |
Bidirectional shared tree — sources and receivers use same tree via RP |
Many-to-many: video conferencing (all participants are source + receiver) |
Rendezvous Point (RP)
| Method |
How |
Pros/Cons |
| Static RP |
Manually configure RP address on every router |
Simple but doesn’t scale, no redundancy |
| Auto-RP (Cisco) |
RP announces via 224.0.1.39/40 → routers learn RP dynamically |
Cisco-only, legacy, automatic discovery |
| BSR (Bootstrap Router) |
BSR collects RP candidates → distributes RP-to-group mapping via BSR messages |
Standard (RFC 5059), multi-vendor, automatic |
| Anycast RP |
Multiple routers share same RP IP → MSDP syncs state between them |
RP redundancy — if one fails, others continue serving |
Multicast Design Best Practices
| Practice |
Detail |
| PIM Sparse Mode |
Use PIM-SM as default — scalable, explicit join, efficient |
| SSM for Known Sources |
IPTV, stock feeds → use SSM (IGMPv3 + PIM-SSM range 232.0.0.0/8) — no RP needed |
| RP Redundancy |
Always have redundant RP: Anycast RP + MSDP, or BSR with candidate list |
| IGMP Snooping |
Enable on every L2 switch — prevent multicast flooding on access layer |
| RP Placement |
Place RP near sources (not receivers) → optimize shared tree path |
| SPT Switchover |
Allow SPT switchover (default in Cisco) → switch from shared tree to shortest path when threshold met |
| Scoping |
Use TTL scoping or administrative scoping (239.0.0.0/8) to limit multicast domain |
ทิ้งท้าย: Multicast = Efficient 1-to-Many Communication
Multicast Networking Why: 1,000 unicast copies = 1 Tbps vs 1 multicast copy = 1 Gbps — massive bandwidth savings IGMP: v2 (join/leave), v3 (source filtering/SSM) — IGMP snooping on switches = essential PIM: Sparse Mode (standard, RP-based, explicit join), SSM (no RP, source-specific, most efficient), BiDir (many-to-many) RP: static (simple), Auto-RP (Cisco), BSR (standard), Anycast RP (redundancy with MSDP) Design: PIM-SM default, SSM for IPTV/known sources, RP redundancy, IGMP snooping everywhere, RP near sources Key: multicast is complex to troubleshoot but essential for efficient video/streaming delivery at scale
อ่านเพิ่มเติมเกี่ยวกับ QoS Quality of Service Classification Marking Queuing และ Data Center Networking Spine-Leaf VXLAN EVPN ที่ siamlancard.com หรือจาก icafeforex.com และ siam2r.com