Hướng dẫn cấu hình Multicast PIM Sparse Mode trên Router Cisco
Trong lĩnh vực mạng máy tính, Multicast PIM Sparse Mode (PIM-SM) là một giao thức quan trọng giúp tối ưu hóa việc truyền tải lưu lượng multicast, đặc biệt trong các mạng có số lượng người nhận phân tán rộng. Việc triển khai PIM-SM đúng cách không chỉ giúp tiết kiệm băng thông mà còn nâng cao hiệu suất và độ ổn định của hệ thống mạng.
Hãy cùng CNTTShop tìm hiểu chi tiết cách cấu hình Multicast PIM Sparse Mode trên Router Cisco trong bài viết dưới đây!
1. Tổng quan về Multicast PIM Sparse Mode
PIM Sparse Mode (PIM-SM) là một giao thức định tuyến multicast trong mạng IP, giúp tối ưu hóa việc truyền tải dữ liệu bằng cách chỉ thiết lập đường truyền khi có yêu cầu từ người nhận. PIM-SM sử dụng RP (Rendezvous Point) làm trung gian để kết nối giữa nguồn phát và các thiết bị nhận.
PIM Sparse Mode không tự động chuyển tiếp lưu lượng multicast mà chỉ truyền khi có yêu cầu từ người nhận. Các thiết bị downstream phải gửi PIM Join Message để tham gia nhóm multicast. Ban đầu, lưu lượng multicast được chuyển qua Rendezvous Point (RP) theo Shared Tree. Sau đó, để tối ưu hóa đường truyền, router có thể chuyển sang Shortest Path Tree (SPT), giúp dữ liệu đi trực tiếp từ nguồn đến người nhận.
Trong PIM-SM, chúng ta cũng có khái niệm về PIM Register là cơ chế giúp Router biên (FHR) gửi gói tin multicast ban đầu đến RP. Nếu có người nhận, RP thiết lập đường dẫn và FHR chuyển sang SPT, nếu không thì RP gửi PIM Register-Stop để dừng quá trình.
2. Multicast PIM Sparse Mode hoạt động như thế nào?

Giả sử có một máy chủ video truyền dữ liệu multicast đến nhóm 231.1.1.1 (H1). R5 đã nhận được yêu cầu IGMP từ một thiết bị đầu cuối muốn nhận dữ liệu này. Tuy nhiên, làm thế nào để R5 biết được địa chỉ nguồn?
Không giống như giao thức PIM Dense Mode, dữ liệu multicast sẽ được gửi đi trên toàn mạng. PIM Sparse Mode (PIM-SM) sử dụng một Rendezvous Point (RP) để tối ưu hóa việc truyền tải.
- Router nhận multicast từ nguồn sẽ gửi dữ liệu đến RP.
- Router muốn nhận multicast sẽ gửi yêu cầu đến RP để nhận dữ liệu.
- RP đóng vai trò là điểm gặp gỡ, giúp các router kết nối và truyền dữ liệu hiệu quả.
Như ở mô hình trên, R1 gửi multicast đến RP, sau đó R5 nhận multicast từ RP và chuyển tiếp đến thiết bị đầu cuối.
Tìm RP trong mạng
Chúng ta sẽ có 2 cách phổ biến để thiết lập RP trong PIM-SM:
- Cấu hình thủ công trên từng router.
- Cấu hình RP tự động theo giao thức Auto-RP hoặc BSR.

Trong mô hình trên, khi R3 đã được xác định là RP trong mạng. R1 tiếp nhận lưu lượng multicast từ máy chủ video và chuyển tiếp đến RP. Trong khi đó, R5 nhận lưu lượng multicast từ RP và tiếp tục chuyển đến máy chủ nhận.
Khi máy chủ video gửi lưu lượng multicast, R1 nhận và chuyển tiếp gói đầu tiên đến RP dưới dạng PIM Register. Khi nhận, RP chấp nhận nếu có ít nhất một thiết bị quan tâm và sẽ từ chối nếu không có người nhận nào bằng cách gửi thông báo PIM Register-Stop. Lúc này, R1 vẫn duy trì việc kiểm tra định kỳ bằng PIM Register Null để phát hiện nếu có thiết bị mới tham gia vào nhóm multicast.

Khi nhận được PIM Register-Stop, R1 kích hoạt bộ đếm thời gian chặn mặc định là 60 giây. Khi bộ đếm hết hạn, R1 gửi một gói tin kiểm tra để xác định lại trạng thái multicast và nếu như vẫn không có thiết bị nào quan tâm thì R1 tiếp tục thiết lập bộ đếm thời gian.

Máy chủ kết nối với R5 muốn nhận multicast nên gửi IGMP Membership Report. R5 kiểm tra bảng định tuyến, xác định địa chỉ RP và gửi PIM Join qua giao diện kết nối đến RP, chuyển tiếp đến R4. Khi R4 nhận PIM Join, nó cũng gửi yêu cầu đến RP để bắt đầu nhận multicast.

Khi RP nhận PIM Join, nó bắt đầu chuyển tiếp lưu lượng multicast theo RPT (Root Path Tree). Mỗi nhóm multicast có thể có RPT riêng tùy vào nguồn và người nhận.
Lưu lượng multicast hiện chảy từ R1 đến RP, qua R4, R5 và đến máy thu H1. Quan sát sơ đồ, có thể thấy R5 có nhiều đường dẫn đến nguồn.

Hiện tại, lưu lượng đi theo tuyến R1 > R3 > R4 > R5, nhưng tuyến R1 > R2 > R5 ngắn hơn một router, có thể tối ưu hơn nếu các giao diện tương đương. Khi nhận lưu lượng qua RP, ta có thể chuyển sang SPT (Shortest Path Tree) để tối ưu đường truyền. Sau đó, các router R5, R4 sẽ gửi bản tin PIM prune tới RP để loại bỏ lưu lượng multicast không mong muốn.

Như vậy là chúng ta hiểu được cách mà Multicast PIM-SM hoạt động. Sau đây, chúng ta sẽ đi chi tiết vào bài Lab cấu hình để hiểu tường tận cách triển khai nhé!
3. Cấu hình Multicast PIM-SM
3.1. Mô hình Lab

Mô hình lab cấu hình PIM Sparse Mode
Bài Lab được thực hiện trong môi trường giả lập PnetLab. Trong đó, các router Cisco R1 đến R6 đóng vai trò là Multicast Router. S1 sẽ là nguồn gửi lưu lượng Multicast, H1 và H2 là 2 bộ thu (S1, H1, H2 vẫn là Router Cisco để giải lập thành các bộ thu và bộ phát Multicast). Các phần đặt IP, các bạn đặt theo hình trên hoặc có thể tự quy hoạch và nhớ no shutdown trên tất cả interface của các thiết bị nhé!
3.2. Cấu hình định tuyến OSPF
Trước tiên, chúng ta cấu hình OSPF trên tất cả các Multicast Router và S1, H1, H2 để chúng có thể thông mạng với nhau. Bảng định tuyến Multicast sẽ sử dụng thông tin từ OSPF để xác định đường đi cho lưu lượng Multicast trong mạng.
Cấu hình định tuyến OSPF trên router R1
R1(config)# router ospf 1
R1(config-router)# router-id 1.1.1.1
R1(config-router)# network 1.1.1.1 0.0.0.0 area 0
R1(config-router)# network 192.168.1.0 0.0.0.255 area 0
R1(config-router)# network 192.168.12.0 0.0.0.255 area 0
R1(config-router)# network 192.168.13.0 0.0.0.255 area 0 |
Cấu hình định tuyến OSPF trên router R2
R2(config)# router ospf 1
R2(config-router)# router-id 2.2.2.2
R2(config-router)# network 192.168.12.0 0.0.0.255 area 0
R2(config-router)# network 192.168.24.0 0.0.0.255 area 0 |
Cấu hình định tuyến OSPF trên router R3
R3(config)# router ospf 1
R3(config-router)# router-id 3.3.3.3
R3(config-router)# network 192.168.13.0 0.0.0.255 area 0
R3(config-router)# network 192.168.35.0 0.0.0.255 area 0 |
Cấu hình định tuyến OSPF trên router R4
R4(config)# router ospf 1
R4(config-router)# router-id 4.4.4.4
R4(config-router)# network 192.168.2.0 0.0.0.255 area 0
R4(config-router)# network 192.168.24.0 0.0.0.255 area 0
R4(config-router)# network 192.168.45.0 0.0.0.255 area 0 |
Cấu hình định tuyến OSPF trên router R5
R5(config)# router ospf 1
R5(config-router)# router-id 5.5.5.5
R5(config-router)# network 192.168.35.0 0.0.0.255 area 0
R5(config-router)# network 192.168.45.0 0.0.0.255 area 0
R5(config-router)# network 192.168.56.0 0.0.0.255 area 0 |
Cấu hình định tuyến OSPF trên router R6
R6(config)# router ospf 1
R6(config-router)# router-id 6.6.6.6
R6(config-router)# network 192.168.3.0 0.0.0.255 area 0
R6(config-router)# network 192.168.56.0 0.0.0.255 area 0 |
Cấu hình định OSPF trên S1, H1, H2
S1(config)# router ospf 1
S1(config-router)# router-id 1.0.0.0
S1(config-router)# network 192.168.1.0 0.0.0.255 area 0
H1(config)# router ospf 1
H1(config-router)# router-id 2.0.0.0
H1(config-router)# network 192.168.2.0 0.0.0.255 area 0
H2(config)# router ospf 1
H2(config-router)# router-id 3.0.0.0
H2(config-router)# network 192.168.3.0 0.0.0.255 area 0
|
3.3. Cấu hình PIM Sparse Mode
Để cấu hình PIM Sparse Mode, chúng ta sẽ cấu hình trên các interface của tất cả các Router, bộ thu và phát đang tham gia vào mạng Multicast.
R1(config)# interface range e0/0-2
R1(config-if)# ip pim sparse-mode
R2(config)# interface range e0/0-1
R2(config-if)# ip pim sparse-mode
R3(config)# interface range e0/0-1
R3(config-if)# ip pim sparse-mode
R4(config)# interface range e0/0-2
R4(config-if)# ip pim sparse-mode
R5(config)# interface range e0/0-2
R5(config-if)# ip pim sparse-mode
R6(config)# interface range e0/0-1
R6(config-if)# ip pim sparse-mode
S1(config)# interface e0/0
S1(config-if)# ip pim sparse-mode
H1(config)# interface e0/0
H1(config-if)# ip pim sparse-mode
H2(config)# interface e0/0
H2(config-if)# ip pim sparse-mode
|
3.4. PIM Sparse Neighbors
Sau khi đã cấu hình PIM Sparse Mode, ta tiến hành kiểm tra PIM Sparse Neighbors.

Lệnh show ip pim neighbor trên R1 hiển thị danh sách các router láng giềng PIM, cùng với thông tin về giao diện, thời gian hoạt động, phiên bản, vai trò DR và các khả năng hỗ trợ.
3.5. Cấu hình Multicast Routing
Mặc định, Multicast routing sẽ bị vô hiệu hóa trên router Cisco và chúng ta phải bật nó lên trên tất cả các Multicast Router và cả bộ phát, thu (vì các bộ phát và thu vẫn là router Cisco giả lập để phục vụ cho bài Lab).
Thực hiện lệnh show bảng định tuyến trên R1:
R1# show ip mroute
(*, 224.0.1.39), 01:12:08/stopped, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Loopback0, Forward/Sparse, 01:12:08/stopped
Ethernet0/2, Forward/Sparse, 01:12:08/stopped
Ethernet0/1, Forward/Sparse, 01:12:08/stopped
Ethernet0/0, Forward/Sparse, 01:12:08/stopped
(*, 224.0.1.40), 01:12:08/stopped, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/2, Forward/Sparse, 00:24:31/stopped
Loopback0, Forward/Sparse, 01:12:08/stopped
Ethernet0/1, Forward/Sparse, 01:12:08/stopped
Ethernet0/0, Forward/Sparse, 01:12:08/stopped
|
Tại thời điểm này, chúng ta không truyền/nhận bất kỳ lưu lượng đa hướng nào nhưng chúng ta vẫn thấy một cái gì đó trong bảng định tuyến đa hướng. Ta thấy có địa chỉ group multicast 224.0.1.40 và 224.0.1.39 được sử dụng cho Auto RP discovery, một giao thức học RP động trên mạng.
3.6. Cấu hình RP
RP (Rendezvous Point) là một thiết bị hoặc nút trong mạng multicast, hoạt động như một điểm trung gian để kết nối các nguồn phát dữ liệu và các thiết bị nhận dữ liệu trong giao thức PIM Sparse Mode. RP chịu trách nhiệm tiếp nhận dữ liệu từ nguồn multicast và phân phối nó đến các nhóm máy thu theo yêu cầu.
3.6.1. Static RP
Cách để các router khác trong mạng tìm được RP là cấu hình thủ công địa chỉ IP của RP trên mỗi Multicast Router:
R1:
R1(config)# interface Loopback0
R1(config-if)# ip address 1.1.1.1 255.255.255.255
R1(config-if)# ip pim sparse-mode |
Cấu hình lệnh sau trên tất cả các Multicast Router:
ip pim rp-address 1.1.1.1 |
>> Với 1.1.1.1 là IP interface Loopback0 của R1.
3.6.2. Auto-RP
Auto-RP là giao thức multicast độc quyền của Cisco, giúp tự động phân phối thông tin RP trong mạng. Khi có nhiều Router chạy multicast, việc cấu hình Static RP không phải là lựa chọn tối ưu, do không có phương án dự phòng khi RP gặp sự cố và yêu cầu cấu hình thủ công trên từng Router, gây tốn nhiều công sức.
Bước 1: Cấu hình Interface loopback 0 và khai báo định tuyến OSPF trên trên R1:
R1:
R1(config)# interface Loopback0
R1(config-if)# ip address 1.1.1.1 255.255.255.255
R1(config-if)# ip pim sparse-mode |
Bước 2: Bật chức năng Auto-RP cho Router ứng viên R1:
R1(config)# ip pim send-rp-announce loopback0 scope 10 |
Khi bầu chọn RP, interface nào có IP lớn hơn sẽ trở thành RP. Tham số scope xác định phạm vi TTL (Time-To-Live) của gói tin RP-Announce, sẽ giới hạn số lượng hop mà gói tin này có thể truyền trong mạng để tránh lan rộng ngoài vùng mong muốn.
Bước 3: Gửi thông tin về RP, được đặt trên tất cả các RP Router (R1). Các Router khác (non-RP) ko cần đặt, vì chúng chỉ cần nhận thông tin RP, không cần gửi.
R1(config)# ip pim send-rp-discovery loopback0 scope 10 |
Bước 4: Cấu hình chức năng forward thông báo ai là RP. Lệnh này được đặt trên tất cả các router tham gia vào mạng multicast PIM Sparse Mode.
Trên tất cả các Multicast Router:
Lệnh ip pim autorp listener sẽ gửi thông tin đến các nhóm Multicast auto RP 224.0.1.39 và 224.0.1.40 trên các giao diện Sparse mode, cho phép tất cả các Router nhận được thông tin ánh xạ nhóm tới RP.

3.6.3. PIM Bootstrap (BSR)
BSR là giao thức tiêu chuẩn bao gồm trong PIMv2 và nó cũng tương tự như AutoRP của Cisco.
Cơ chế hoạt động của BSR:
- Candidate RP gửi thông tin của mình đến BSR.
- BSR tập hợp danh sách RP và phân phối đến tất cả các Router trong mạng multicast.
- Các Router sử dụng danh sách RP này để định tuyến lưu lượng multicast.
Bước 1: Chỉ định R1 là RP, cấu hình Interface loopback 0 và khai báo định tuyến OSPF.
R1:
R1(config)# interface Loopback0
R1(config-if)# ip address 1.1.1.1 255.255.255.255
R1(config-if)# ip pim sparse-mode |
Bước 2: Chỉ định một router làm BSR Candidate để phân phối thông tin về RP.
R1(config)# ip pim bsr-candidate Loopback0 1 |
- Loopback0: Địa chỉ IP được sử dụng làm ID của BSR.
- 1: Độ ưu tiên của BSR (từ 0-32), giá trị thấp hơn sẽ được chọn nếu có nhiều BSR.
Chỉ có thể có 1 BSR hoạt động trong mạng. Các Router BSR sẽ lắng nghe tin nhắn từ các Router BSR khác, Router BSR có mức ưu tiên cao nhất sẽ trở thành BSR hoạt động. Khi mức ưu tiên giống nhau thì Router có địa chỉ IP cao nhất sẽ trở thành BSR.
Bước 3: Cấu hình router làm Candidate RP
R1(config)# ip pim rp-candidate Loopback0 |
Kiểm tra thông tin BSR và RP trên router:
show ip pim bsr-router
show ip pim rp mapping
|
4. Kiểm tra cấu hình
4.1. Join-Group Multicast
Một nhóm multicast là một tập hợp các thiết bị hoặc máy tính trong mạng, trong đó các thiết bị này có thể nhận dữ liệu được gửi đến 1 địa chỉ multicast duy nhất. Thay vì gửi dữ liệu đến từng thiết bị riêng biệt (unicast), hoặc gửi đến tất cả các thiết bị (broadcast), dữ liệu multicast chỉ được gửi đến các thiết bị trong nhóm đã đăng ký nhận dữ liệu đó.
Thực hiện: Cho các máy thu H1 vào group Multicast 231.1.1.1 và H2 vào group Multicast 232.1.1.1.
H1:
H1(config)# int e0/0
H1(config-if)# ip igmp join-group 231.1.1.1 |
H2:
H2(config)# int e0/0
H2(config-if)# ip igmp join-group 232.1.1.1 |
4.2. Test ping để kiểm tra
Thực hiện ping từ S1 tới group multicast 231.1.1.1 và 232.1.1.1:
Kết quả: Có 1 Request từ máy H1: 192.168.2.2

Thực hiện ping từ S1 tới group multicast 232.1.1.1:
Kết quả: Có 1 Request từ máy H2: 192.168.3.3

Nhưng vậy là chúng ta đã biết cách cấu hình PIM Sparse Mode trên môi trường giả lập PnetLab. Trong thực tế, các bạn có thể áp dụng các bước tuần tự như vậy để có thể thiết lập mạng Multicast của mình. Chúc các bạn thành công!
5. Kết luận
Multicast PIM Sparse Mode là một giao thức định tuyến multicast hiệu quả, sử dụng mô hình đăng ký theo yêu cầu để tối ưu hóa việc truyền dữ liệu đến các nhóm người nhận. PIM-SM có khả năng mở rộng tốt và hỗ trợ nhiều ứng dụng multicast quan trọng như truyền video, hội nghị trực tuyến và phân phối dữ liệu theo thời gian thực.
CNTTShop là đơn vị chuyên phân phối các dòng router Cisco và các thiết bị hỗ trợ Multicast PIM Sparse Mode, đáp ứng nhu cầu xây dựng hệ thống mạng tối ưu và ổn định. Với đội ngũ kỹ thuật chuyên nghiệp, tận tâm và thân thiện. CNTTShop cam kết mang đến giải pháp tối ưu, hỗ trợ cấu hình và triển khai hiệu quả cho khách hàng.
>> Tham khảo 1 số dòng router Cisco tại: https://cnttshop.vn/router-cisco
Công Ty TNHH Công Nghệ Việt Thái Dương
VP HN: NTT03, Line1, Thống Nhất Complex, 82 Nguyễn Tuân, Thanh Xuân, Hà Nội.
VP HCM: Số 31B, Đường 1, Phường An Phú, Quận 2 (Thủ Đức), TP HCM
Điện Thoại: 0906 051 599
Email: kd@cnttshop.vn
Website: cnttshop.vn
Bình luận bài viết!