CHƢƠNG 2 : HỆ THỐNG LUỒNG VIDEO QUA MẠNG NGANG HÀNG
3.2 Q trình truyền tin multicast trong nhóm Scribe
3.2.4 Truyền tin multicast tới mạng
Khi một nút nào đó muốn truyền multicast tới các điểm trong một nhóm nào đó thì nó sẽ gửi thông điệp multicast tới “điểm gặp” (route (MULTICAST,rootId). Sau khi điểm gặp nhận được thơng điệp này nó sẽ gửi trả lại nút kia IP của nó (rootIP), sau đó nút này sẽ truyền thông tin muốn gửi tới điểm gặp. Điểm gặp này sẽ sao chép gói tin multicast này và gửi cho các con của nó trong cây multicast ( nếu có ). Các điểm con này khi nhận được dữ liệu cũng lại tiếp tục sao chép dữ liệu đó và gửi tới các con của nó trong cây ( nếu có ). Cứ lặp đi lặp lại như vậy và chỉ dừng lại việc này khi dữ liệu tới các nút là nút lá của cây.
Hình 3.4 Truyền tin multicast trong nhóm Scribe
Giả sử như hình vẽ ở trên, Sender là nút cần gửi dữ liệu cho cây multicast có gốc là 1100. Nó sẽ gửi gói tin route (MULTICAST, 1100). Nút 1100 nhận được gói tin và
Lê Ngọc Anh – D09VT2 60
trả lại cho sender địa chỉ IP của nó. Từ lúc này sender giao tiếp với nút gốc này thông qua IP (bây giờ là quan hệ trong giao thức TCP/IP chứ không liên quan tới Pastry hay P2P). Sender gửi dữ liệu cho nút gốc 1100. Nút này sẽ tạo ra một bản sao dữ liệu và gửi cho con của nó là 1101. Nút 1101 nhận được dữ liệu từ root, nó cũng sẽ tạo ra một bản sao và gửi cho 1001 là con của nó. Nút 1001 lại sao chép dữ liệu và gửi cho 0111 và 0100 là thành viên trong children table của nó. Khi các nút 0100 và 0111 nhận được dữ liệu, do nó là lá của cây multicast nên nó khơng làm gì nữa.
Trong vấn đề truyền dữ liệu multicast này có một điểm thú vị là khi sender muốn gửi dữ liệu multicast tới nhóm của nó lại phải xin và nhận IP của nút gốc rồi để sau đó giao tiếp với nút này dựa vào IP mà không sử dụng giao thức Pastry để gửi dữ liệu. Đơn giản là việc định tuyến cũng như việc gửi thông tin qua Pastry là một việc làm rất tốn thời gian và tai nguyên mạng, mà bình thường một sender khơng chỉ gửi một gói tin multicast tới mạng mà nó gửi một số hoặc nhiều gói tin. Do đó việc sender lưu IP của nút root và gửi gói tin trực tiếp sẽ tiết kiệm được thời gian cũng như tài nguyên mạng. Tuy nhiên nếu nút gốc bị lỗi hoặc bị rời khỏi mạng thì sender phải tìm lại IP của nút root mới và tiếp tục truyền thông tin.