Home » Multicast Routing: IGMP, PIM-SM และ PIM-SSM
Multicast Routing: IGMP, PIM-SM และ PIM-SSM
Multicast Routing: IGMP, PIM-SM และ PIM-SSM
Multicast Routing ช่วยส่งข้อมูลจาก 1 source ไปหา multiple receivers พร้อมกันโดยไม่ต้อง duplicate traffic ที่ source ใช้สำหรับ IPTV, video conferencing, stock ticker feeds และ software deployment IGMP จัดการ group membership บน local segment ส่วน PIM (Protocol Independent Multicast) จัดการ multicast routing ข้าม network
Unicast ส่งข้อมูลแยกชุดให้ทุก receiver — ถ้ามี 100 receivers ก็ต้องส่ง 100 copies เปลืองทั้ง bandwidth และ CPU ของ source Multicast แก้ปัญหานี้: source ส่งแค่ 1 copy → network replicate ไปตาม distribution tree ใกล้ receivers bandwidth usage ลดลงมหาศาล
Multicast vs Unicast vs Broadcast
| Type |
Source |
Destination |
Copies |
| Unicast |
1 |
1 |
1 copy per receiver (N copies for N receivers) |
| Broadcast |
1 |
All |
1 copy → all hosts in broadcast domain |
| Multicast |
1 |
Group (interested receivers only) |
1 copy → replicated at branch points |
Multicast Addresses
| Range |
Purpose |
| 224.0.0.0/24 |
Local network control (not forwarded): 224.0.0.1 (all hosts), 224.0.0.2 (all routers), 224.0.0.5 (OSPF), 224.0.0.13 (PIM) |
| 224.0.1.0/24 |
Internetwork control (can be forwarded) |
| 232.0.0.0/8 |
SSM (Source-Specific Multicast) range |
| 239.0.0.0/8 |
Administratively scoped (private multicast) |
| MAC: 01:00:5e:xx:xx:xx |
L2 multicast MAC (map 23 bits of IP group address) |
IGMP (Internet Group Management Protocol)
| Version |
Features |
Use Case |
| IGMPv1 |
Join only (no explicit leave, timeout-based) |
Legacy |
| IGMPv2 |
Join + Leave messages (faster leave) |
Most common |
| IGMPv3 |
Source filtering (include/exclude sources) |
Required for PIM-SSM |
IGMP Operations
| Message |
Direction |
Purpose |
| Membership Query (General) |
Router → Hosts |
ถามว่ามี host ไหนต้องการ multicast group ไหมบ้าง (ทุก 60s default) |
| Membership Query (Group-specific) |
Router → Hosts |
ถามว่ายังมีใครต้องการ group นี้อยู่ไหม (หลัง leave) |
| Membership Report |
Host → Router |
ตอบว่าต้องการ join group (IGMPv2: 224.0.0.2, IGMPv3: 224.0.0.22) |
| Leave Group |
Host → Router |
แจ้งว่าไม่ต้องการ group แล้ว (IGMPv2+) |
IGMP Snooping
| Feature |
รายละเอียด |
| คืออะไร |
Switch inspect IGMP messages → forward multicast เฉพาะ ports ที่มี receivers |
| ไม่มี snooping |
Switch flood multicast ไปทุก port เหมือน broadcast (เปลืองมาก) |
| มี snooping |
Switch สร้าง MAC table สำหรับ multicast → forward เฉพาะ interested ports |
| Querier |
ต้องมี IGMP querier (router หรือ switch) สำหรับ snooping ทำงาน |
PIM-SM (Sparse Mode)
| Feature |
รายละเอียด |
| Model |
Explicit join — receivers ต้อง join ก่อนจะได้ multicast |
| RP (Rendezvous Point) |
Central point ที่ sources register + receivers join |
| Shared Tree (*,G) |
Tree จาก RP ไป receivers (RP-based, initial path) |
| Source Tree (S,G) |
Tree จาก source ไป receivers (shortest path, สร้างหลัง SPT switchover) |
| SPT Switchover |
เปลี่ยนจาก shared tree → source tree เมื่อ traffic ถึง threshold |
| RP Discovery |
Static RP, Auto-RP (Cisco), BSR (standard) |
PIM-SSM (Source-Specific Multicast)
| Feature |
รายละเอียด |
| Model |
Receiver specify source (S,G) — ไม่ใช้ RP |
| Range |
232.0.0.0/8 (SSM range) |
| ข้อดี |
ไม่ต้องมี RP, simpler, more secure (specify source) |
| Requirement |
IGMPv3 บน hosts (source filtering) |
| Use Case |
IPTV, live streaming (known source) |
PIM-SM vs PIM-SSM
| Feature |
PIM-SM |
PIM-SSM |
| RP Required |
Yes |
No |
| Tree Type |
Shared (*,G) → Source (S,G) |
Source (S,G) only |
| IGMP Version |
IGMPv2 sufficient |
IGMPv3 required |
| Security |
Any source can send to group |
Only specified source |
| Complexity |
Higher (RP, SPT switchover) |
Lower (no RP) |
| Address Range |
224.0.0.0/4 (all multicast) |
232.0.0.0/8 (SSM range) |
Multicast Troubleshooting
| Issue |
Check |
Command (Cisco) |
| No multicast received |
IGMP snooping, IGMP join, PIM neighbor |
show ip igmp groups, show ip pim neighbor |
| RP issues |
RP reachability, RP mapping |
show ip pim rp mapping |
| Multicast tree |
Check (S,G) and (*,G) entries |
show ip mroute |
| RPF failure |
Reverse Path Forwarding check fails |
show ip rpf [source] |
| Switch flooding |
IGMP snooping disabled |
show ip igmp snooping |
ทิ้งท้าย: Multicast = Efficient One-to-Many
Multicast 1 source → many receivers (1 copy, replicated at branch points) IGMP: host ↔ router group management (v2 common, v3 for SSM) PIM-SM: RP-based, shared tree → source tree (SPT switchover) PIM-SSM: no RP, source-specific (S,G), IGMPv3 required IGMP snooping: switch forward multicast เฉพาะ interested ports
อ่านเพิ่มเติมเกี่ยวกับ OSPF Advanced และ QoS Classification ที่ siamlancard.com หรือจาก icafeforex.com และ siam2r.com