c. Protocol Independant Multicast (PIM)
3.5.1.4 phân phối gói tin và định tuyến multical
Các router multicast có khả năng tạo lập các cây phân phối để kiểm soát đường dẫn đảm bảo lưu lượng IP multicast có thể tới được tất cả các trạm nhận. cây phân phối sẽ tự động cập nhật. Khi tất cả các thành viên trên một nhánh ngừng yêu cầu lưu lượng multicast từ một nhóm, các router bị cắt khỏi cây.
Có hai loại là: cây dựa trên nguồn (source-base trees) và cây chia sẻ (share trees). Cây phân phối là cây dựa trên nguồn với gốc của cây đặt tại nguồn và các nhánh tạo thành 1 cây. Do cây này dùng đường ngắn nhất qua mạng nên nó cũng được gọi là cây đường ngắn nhất (shortest path tree - SPT). Cây chia sẻ dùng một gốc chung, gọi là điểm hội tụ (RP). buộc phải gửi lưu lượng tới gốc sau đó gốc sẽ chuyển lưu lượng tới tất cả các máy nhận theo cây.
Để duy trì cây phân phối đơn giản nhất dùng tràn lụt. Khi router sử dụng thuật toán tràn nó nhận một gói tin được gửi tới nhóm multicast , nó sẽ kiểm tra xem liệu đã nhận được gói này lần nào chưa . Nếu là lần đầu tiên, nó sẽ chuyển tiếp tới tất cả các giao diện trừ giao diện gói tin đến . Nếu router đã từng nhận được gói tin này trước đó, gói tin sẽ bị loại bỏ để tránh các vòng lặp định tuyến.
Các router thực hiện thuật toán tràn không phải lập bảng định tuyến mà chỉ cần giám sát các gói tin nhận được gần nhất. Vì flooding tạo ra rất nhiều gói tin giống nhau và sử dụng tất cả các đường truyền sẵn có, mỗi router phải duy trì một bảng riêng cho mỗi gói tin nhận được mới đây nhất.nên sử dụng bộ nhớ của các router không được hiệu quả
Ngoài sử dụng thuật toán tràn lụt ra còn có thể sử dụng Spanning-tree ngăn chặn sự lặp vòng trong một mạng chuyển mạch dư thừa bằng cách khoá lưu thông trên các đường liên kết dư thừa. Nếu đường liên kết chính có sự cố, thì spanning- tree cho phép các đường dẫn phụ hoạt động. Giao thức spanning-tree hoạt động trong suốt đối với trạm cuối.
Router chạy các giao thức định tuyến multicast sử dụng giao thức IGMP để giám sát thành viên nhóm multicast kết nối trực tiếp với các mạng con . Các router duy trì một cơ sở dữ liệu nhóm nội bộ , cơ sở dữ liệu này liệt kê các nhóm kết n ối trực tiếp và xác định trách nhiệm của router trong việc phân phối các gói multicast tới các nhóm này. Thu thập trạng thái đường truyền và thu thập hội viên nhóm. Cần thu thập thông tin trạng thái đường truyền từ tất cả các router trong miền để tìm kiếm và tính toán một cây thích hợp cho mỗi nhóm multicast. Còn biết về hội viên nhóm để tìm kiếm một cây thích hợp hay thiết lập một cây mới cho một nhóm multicast
Khi có một nhóm mới xuất hiện, nếu một trình quản lý cây không thể tìm thấy một cây đang tồn tại phù hợp, nó cần tính toán một cây mới cho nhóm đó thông qua module định tuyến multicast. Tính toán một cây tối ưu cho một nhóm multicast là NP cứng, sử dụng một vài thuật toán thích hợp, RP tương ứng hay nút lõi có thể được lựa chọn một cách thích hợp để đạt được cân bằng tải. Chúng ta sử dụng những cây sóng hướng thay vì những cây đơn hướng đểm bất kỳ khi nào một cây bao phủ các thành viên của một nhóm, nó có thể được sử dụng để phân phát các gói cho nhóm đó, mà không bị kiểm tra hướng truyền dẫn