Đây là thuật toán nâng cao từ các thuật toán RPB và TRPB. RPM tạo một cây phân phối mà nối chỉ:
- Các subnet với các thành viên nhóm, và
- Các router và các subnet dọc theo tuyến đƣờng ngắn nhất tới các subnet tồn tại thành viên của nhóm.
RPM cho phéo cây phân phối cắt xén bớt vì vậy mà gói tin chỉ chuyển tiếp dọc theo các nhánh mà dẫn tới các thành viên của nhóm đích.
Khi một router nhận một gói tin cho một nhóm G, đầu tiên gói tin chuyển tiếp dựa theo thuật toán TRPB tới tất các router trong liên mạng. Các router mà kết nối với các subnet lá đƣợc gọi là các router lá. Thuật toán TRPB đảm bảo rằng mỗi router lá nhận gói tin multicast thứ nhất. Nếu có ít nhất một thành viên nhóm G trong trên một subnet lá, router lá chuyển tiếp gói tin dựa trên thông tin IGMP. Nếu không tồn tại thành viên nào của nhóm G trên subnet lá, router của subnet lá đó (router cha) sẽ gửi một bản tin prune (cắt xén) quay ngƣợc trở lại giao diện đã nhận gói tin trƣớc để đó thông báo với router đã chuyển gói tin cho nó (router cha) rằng không cần thiết phải chuyển gói tin dành cho nhóm G tới đây nữa. Bản tin prune có giá trị TTL = 1. Router cha nhận bản
B A C D Switch hub G1 G3 G1 G2 G3 G1
Nguyễn Văn Hưng – D06VT2 24 tin prune và ghi chép lại thông tin prune trong bộ nhớ. Định kỳ, thông tin prune bị xóa bỏ khỏi bộ nhớ của tất cả các router và gói tin kế tiếp cho nhóm G lại đƣợc chuyển tiếp tới tất cả tới tất cả các router lá. Kết quả là xuất hiện các bản tin prune mới, cho phép cây phân phối multicast thích nghi với việc thay đổi yêu cầu phân phối lƣu lƣợng multicast của liên mạng.
Hình 1.18: Minh họa thuật toán RPM
Vẫn có một số vấn đề cần phải cải biến đối với thuật toán RPM. Giới hạn thứ nhất là các gói tin multicast theo định kỳ phải chuyển tiếp tới tất cả các router trong liên mạng. Nhƣợc điểm thứ hai là mỗi router phải duy trì thông tin trạng thai cho tất cả các nhóm và nguồn. Thông tin này sẽ khuếch đại khi số lƣợng nguồn và nhóm trong liên mạng đƣợc mở rộng.