4. Kết cấu của luận văn
2.3.6 Chuyển từ cây chia sẻ sang cây đƣờng đi ngắn nhất
PIM-SM hỗ trợ khả năng cho phép router DR ở chặng cuối (là router kết nối trực tiếp với các máy nhận dữ liệu) có thể chuyển từ cây chia sẻ sang cây SPT cho một nguồn multicast. Điều này đƣợc thực hiện tự động thông qua việc đặt ra một ngƣỡng SPT-Threshold của băng thông mạng, khi giá trị băng thông đạt ngƣỡng router DR sẽ tham gia vào cây SPT.
Xét mạng có hai nguồn và hai máy nhận nhƣ trên hình 2.30, bởi vì router C là router DR chặng cuối nó có một lựa chọn để chuyển sang cây SPT cho nguồn S1 và S2. Để làm đó router C gửi thông điệp (S1, G) Join tới nguồn G nhƣ đƣợc thể hiện bằng mũi tên đứt nét trên hình 2.30.
Hình 2.30: Chuyển sang cây SPT bƣớc 1
Khi router A nhận thông điệp Join, nó thêm cổng nhận thông điệp vào danh sách cổng ra cho thực thể (S1, G) vào bảng multicast của nó. Lúc này đƣờng đi từ router A đến router C đƣợc thiết lập và dữ liệu có thể truyền trực tiếp tới router C theo cây (S1, G) SPT.
Chúng ta có thể thấy tại thời điểm này có hai đƣờng đi đối với luồng dữ liệu multicast (S1, G) đến router C, đó là thông qua cây chia sẻ và cây SPT điều này gây trùng lặp dữ liệu cũng nhƣ lãng phí băng thông mạng. Vì thế cần có cơ chế thông báo với router RP để cắt bỏ dữ liệu multicast (S1, G) khỏi cây chia sẻ. Để thực hiện điều này một kiểu đặc biệt của thông điệp Prune đƣợc sử dụng. Thông điệp này có tên là (S, G) RP-bit Prune bởi vì nó có cờ RP đƣợc gán trong danh sách các thực thể Prune. Nhƣ phần trƣớc ta đã biết cờ RP chỉ ra rằng thông điệp là phù hợp với cây chia sẻ và cần đƣợc gửi lên trên để tới router RP. Sử dụng cờ này trong thông điệp (S1, G) Prune và gửi nó lên cây chia sẻ để thông báo tới các router trên cây loại bỏ nguồn dữ liệu multicast S1 ra khỏi cây.
Trên hình 2.32 router C gửi một thông điệp (S1, G) RP-bit Prune tới router RP để loại bỏ nguồn dữ liệu S1 khỏi cây multicast. Sau khi nhận đƣợc thông điệp router RP trạng thái gửi dữ liệu multicast của nó vì thế dữ liệu (S1, G) sẽ không đƣợc gửi xuống nhánh cây đến router C. Tuy nhiên sau khi loại bỏ đƣờng đi tới router C danh sách cổng ra cho trạng thái (S1, G) trên router RP là rỗng vì thế nó không cần nhận dữ liệu multicast từ nguồn nữa.
Hình 2.32: Cắt bỏ nguồn khỏi cây chia sẻ bƣớc 3
Để ngừng luồng dữ liệu không cần thiết từ nguồn gửi tới, router RP gửi thông điệp (S1,G) Prune trở lại nguồn. Thông điệp Prune (đƣợc thể hiện bằng
mũi tên đứt nét trên hình 2.33) đƣợc gửi theo từng chặng và qua router B trƣớc khi đến router A.
Hình 2.33: Cắt bỏ nguồn khỏi cây chia sẻ bƣớc 4
Bây giờ cây (S1, G) SPT đã đƣợc cắt bỏ nhánh chỉ còn đƣờng đi giữa router A và router C. Router E vẫn tiếp tục nhận dữ liệu từ router C và nó không biết router C đã chuyển qua cây đƣờng đi ngắn nhất. Dữ liệu từ nguồn S2 vẫn tiếp tục đƣợc gửi qua cây chia sẻ để tới các máy nhận 1 và 2 nhƣ đƣờng mũi tên trên hình 2.34.