Sổ tay kỹ thuật

Multicast – IGMP, PIM-SM/SSM, RP và RPF

concept#multicast#pim#iosxr#junos· cập nhật 2026-11-06

Hiểu cách receiver báo tham gia nhóm (IGMP/MLD), cách PIM-SM và PIM-SSM dựng cây phân phối, vai trò của RP và kiểm tra RPF khi IPTV hoặc multicast VPN không chạy.

Sửa trang này
Mục lục

Multicast gửi một luồng tới nhiều receiver, router nhân bản gói tại điểm rẽ nhánh. Ba câu hỏi cần trả lời: receiver nào muốn nhận (IGMP/MLD), cây phân phối dựng thế nào (PIM), và gói đến có đúng hướng không (RPF). Ứng dụng điển hình trong ISP: IPTV, phân phối dữ liệu thị trường, multicast VPN.

Luồng hoạt động (PIM-SM)

flowchart LR S["Source 198.51.100.10"] --> FHR["FHR: Register tới RP"] FHR --> RP["RP 192.0.2.100"] RP -->|"(*,G) shared tree"| LHR["LHR"] FHR -.->|"(S,G) SPT sau khi switchover"| LHR LHR -->|"IGMP report G"| R["Receiver"]
  1. Receiver gửi IGMP Membership Report cho nhóm G. Router cuối (LHR) gửi PIM (*,G) Join về phía RP.
  2. Source gửi gói, router đầu (FHR) đóng gói Register unicast tới RP. RP join (S,G) về phía source.
  3. LHR nhận gói đầu tiên qua RP rồi mặc định chuyển sang SPT (S,G) đi thẳng tới source, prune nhánh qua RP.

Địa chỉ multicast

Dải Dùng cho
224.0.0.0/4 Toàn bộ IPv4 multicast
224.0.0.0/24 Link-local, không route (OSPF 224.0.0.5/6, PIM 224.0.0.13, IGMP 224.0.0.22)
232.0.0.0/8 SSM (mặc định)
233.252.0.0/24 MCAST-TEST-NET, dùng cho tài liệu (RFC 5771)
239.0.0.0/8 Administratively scoped (tương tự private)
ff3x::/32 IPv6 SSM
MAC 01:00:5e + 23 bit thấp Ánh xạ IPv4 multicast sang MAC: 32 nhóm IP trùng một MAC

IGMP và MLD

Phiên bản Tương đương IPv6 Đặc điểm
IGMPv1 — Cũ, không có Leave
IGMPv2 MLDv1 Có Leave, chỉ chọn nhóm (*,G)
IGMPv3 MLDv2 Chọn cả nguồn (S,G): bắt buộc cho SSM

Trên switch L2, IGMP snooping chỉ đẩy multicast tới port có receiver, tránh flood toàn VLAN.

PIM-SM và PIM-SSM

Tiêu chí PIM-SM (ASM) PIM-SSM
Receiver chỉ định Chỉ nhóm G Nguồn S và nhóm G
Cần RP Có Không
Cây Shared tree qua RP rồi SPT SPT ngay từ đầu
Dải nhóm Ngoài 232/8 232.0.0.0/8
Yêu cầu phía receiver IGMPv2 trở lên IGMPv3 / MLDv2 (hoặc SSM mapping trên router)
Độ phức tạp Cao: RP, Register, Anycast RP/MSDP Thấp
Hợp với Nhiều nguồn không biết trước IPTV: nguồn cố định, biết trước

Tìm RP

Cách Ghi chú
Static RP Cấu hình tay trên mọi router, đơn giản và đáng tin
BSR Chuẩn (RFC 5059), candidate RP quảng bá qua bootstrap router
Auto-RP Của Cisco, dùng 224.0.1.39/40
Anycast RP Nhiều RP cùng một địa chỉ loopback, đồng bộ source bằng MSDP hoặc PIM Anycast RP (RFC 4610) để dự phòng

RPF

Router chỉ nhận gói multicast trên interface mà chính nó dùng để đi unicast về source (hoặc về RP với cây shared). Gói đến interface khác bị bỏ để chống loop. Hầu hết sự cố "có join mà không có traffic" là RPF fail: route unicast về source đi một đường, PIM neighbor hoặc luồng thực tế đi đường khác.

Mục đích IOS XR Junos
PIM neighbor show pim neighbor show pim neighbors
Bảng (S,G) / (*,G) show pim topology show pim join extensive
Bảng chuyển tiếp multicast show mrib route show multicast route extensive
RP đang dùng show pim rp mapping show pim rps
Kiểm tra RPF tới source show pim rpf 198.51.100.10 show multicast rpf 198.51.100.10
Receiver IGMP show igmp groups show igmp group

Khi nào dùng

  • SSM: IPTV và mọi trường hợp nguồn cố định. Không cần RP, ít trạng thái, dễ vận hành. Receiver/STB cần IGMPv3, hoặc dùng SSM mapping trên router biên.
  • PIM-SM với Anycast RP: ứng dụng nhiều nguồn động (hội nghị, trading nội bộ).
  • Multicast qua MPLS VPN (mVPN): dựa trên PIM hoặc mLDP/P2MP RSVP-TE trong core, xây trên kiến thức của trang này và MPLS LDP và RSVP-TE.
  • Lab IPv6: cùng mô hình, thay IGMP bằng MLD, xem IPv6 cheatsheet.