Đồ án Tìm hiểu Multitst

IP Multicast là giao thức dùng để truyền gói tin IP từ một nguồn đến nhiều đích khác nhau trong mạng LAN hay WAN. Nhóm những thành viên muốn nhận thông tin này thì phải tham gia vào một nhóm Multicast. Với IP Multicast, ứng dụng gửi một bản sao của thông tin đến một nhóm. Thông tin này đến tất cả những người nào muốn nhận nó. Kĩ thuật Multicast đánh địa chỉ các gói là địa chỉ nhóm thay vì địa chỉ của từng người nhận; Các gói tin này phụ thuộc vào các mạng chuyển tiếp để chuyển đến mạng cần nhận nó. Multicast là kĩ thuật đẩy thông tin, trong đó một máy chủ sẽ gửi dữ liệu đến người sử dụng mà không cần người sử dụng phải yêu cầu trước. Chuẩn IP Multicast hỗ trợ hàng ngàn người có thể nhận thông tin đồng thời mà không ảnh hưởng đến băng thông chung. Thêm vào đó, giao thức định tuyến IP multicast cung cấp một phương thức truyền hiệu quả cho dữ liệu từ một nguồn đi qua các mạng khác nhau và không đồng nhất như là Internet. Nếu các thiết bị mạng hỗ trợ Multicast, chỉ cần gửi một gói tin duy nhất vào mạng cho nhiều người nhận.

doc40 trang | Chia sẻ: ngtr9097 | Lượt xem: 2547 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Tìm hiểu Multitst, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ KHOA CÔNG NGHỆ THÔNG TIN MẠNG MÁY TÍNH ĐỒ ÁN CƠ SỞ TÌM HIỂU MULTICAST Giáo viên hướng dẫn: Dương Thiên Tứ Sinh viên thực hiện: Võ Chinh Phục MSSV: 105102121 TP. HỒ CHÍ MINH Năm 2008 LỜI CẢM ƠN Em xin cảm ơn Khoa Công Nghệ Thông Tin trường Đại Học Kỹ Thuật Công Nghệ đã tạo điều kiện cho em thực hiện đồ án cơ sở này. Em xin chân thành cảm ơn thầy Dương Thiên Tứ đã tận tình hướng dẫn, chỉ bảo em trong suốt thời gian thực hiện đồ án. MỤC LỤC Chương 1 GIỚI THIỆU MULTICAST 1.1. Giới Thiệu IP Multicast là giao thức dùng để truyền gói tin IP từ một nguồn đến nhiều đích khác nhau trong mạng LAN hay WAN. Nhóm những thành viên muốn nhận thông tin này thì phải tham gia vào một nhóm Multicast. Với IP Multicast, ứng dụng gửi một bản sao của thông tin đến một nhóm. Thông tin này đến tất cả những người nào muốn nhận nó. Kĩ thuật Multicast đánh địa chỉ các gói là địa chỉ nhóm thay vì địa chỉ của từng người nhận; Các gói tin này phụ thuộc vào các mạng chuyển tiếp để chuyển đến mạng cần nhận nó. Multicast là kĩ thuật đẩy thông tin, trong đó một máy chủ sẽ gửi dữ liệu đến người sử dụng mà không cần người sử dụng phải yêu cầu trước. Chuẩn IP Multicast hỗ trợ hàng ngàn người có thể nhận thông tin đồng thời mà không ảnh hưởng đến băng thông chung. Thêm vào đó, giao thức định tuyến IP multicast cung cấp một phương thức truyền hiệu quả cho dữ liệu từ một nguồn đi qua các mạng khác nhau và không đồng nhất như là Internet. Nếu các thiết bị mạng hỗ trợ Multicast, chỉ cần gửi một gói tin duy nhất vào mạng cho nhiều người nhận. 1.2. Multicast trên các lớp Multicast có thể được cài đặt trên cả hai lớp data-link và network. Tại lớp data-link các giao thức Ethernet, FDDI, và token ring hỗ trợ địa chỉ Multicast trong các trường mở rộng. Multicast tại lớp data-link chỉ được giới hạn trong các ứng ụng tại một mạng LAN. Tuy nhiên, multicast cũng có thể được sử dụng tại lớp network nếu các ứng dụng multicast mở rộng ra khỏi mạng LAN hoặc phát triển trên nền Internet bao gồm các môi trường truyền khác nhau và các cấu trúc mạng khác nhau. Multicast được thực hiện ở lớp này bởi vì các lí do sau: - Quá trình chuyển đổi địa chỉ tại ISO/OSI Layer 3-to-Layer 2 - Một máy tính thuộc một nhóm có thể đăng kí với router để chuyển tiếp thông tin nhóm đến nó.RFC 1112 định nghĩa IGMP. IGMP chỉ rõ phương thức mà một nút mạng thông báo cho mạng biết nó là thành viên của một nhóm multicast. Multicast còn được hỗ trợ trong quá trình định tuyến thông qua liên lạc giữa các router với nhau. Có một số chuẩn cho việc truyền multicast như sau: - RFC 1075 định nghĩa Distance Vector Multicast Routing Protocol (DVMRP) - RFC 1584 định nghĩa giao thức Multicast Open Shortest Path First (MOSPF), một sự mở rộng của OSPF và hỗ trợ IP Multicast. - RFC 2117 định nghĩa giao thức Protocol Independent Multicast-Sparse Mode (PIM-SM). 1.3. Địa chỉ Multicast Một địa chỉ multicast cho phép truyền các gói tin tới một tập hợp các thành viên của cùng một nhóm. Một địa chỉ multicast định danh một nhóm các máy hoặc giao tiếp mạng đại diện cho một nhóm là một địa chỉ lớp D. Trong gói tin multicast địa chỉ đích đến trong trường địa chỉ của gói tin IP luôn là địa chỉ lớp D và có giá trị trong khoảng 224.0.0.0 – 239.255.255.255 Trong lớp này 256 địa chỉ đầu tiên được dùng cho mục đích quản lí và các thành phần cấp thấp trong thao tác. Khoảng địa chỉ giữa được sử dụng cho các ứng dụng multicast trong nhóm, intranet hoặc Internet.Khoảng trên của lớp D được sử dụng cho các các thao tác quản lí cục bộ hoặc các ứng dụng multicast đặc biệt. Khi một router trong một subnet nhận được một gói tin multicast lớp 3, nó có thể ánh xạ một địa chỉ IP multicast này thành một địa chỉ multicast lớp 2, có thể là một địa chỉ Ethernet MAC. Tại nơi nhận thiết bị giao tiếp mạng có thể dễ dàng đọc địa chi lớp 2 này bằng phần cứng. Nếu địa chỉ nhận được là địa chỉ Multicast thì gói tin sẽ được chuyển tiếp lên lớp trên. Ánh xạ IP Multicast đến địa chỉ Ethernet MAC Khối địa chỉ Ethernet MAC bắt đầu với địa chỉ 01:00:5E dạng thập lục phân. Trong khoảng từ 0100.5e00.0000 đến 0100.5e7f.ffff là địa chỉ dành cho IP Multicast. Quá trình chuyển đổi địa chỉ từ IP qua địa chỉ lớp 2 xảy ra bằng cách ánh xạ trực tiếp địa chỉ IP tới địa chỉ MAC Ehernet, lấy 23 bit trọng số thấp trong địa chỉ IP chuyển thành 23 bit có trọng số thấp trong địa chỉ Ethernet. Bởi vì có 5 bit của địa chỉ IP bị mất trong quá trình ánh xạ, do đó địa chỉ nhận được không phải là duy nhất. Trong thực tế, 32 nhóm địa chỉ IP được ánh xạ vào cùng một địa chỉ Ethernet. Địa chỉ 224.1.1.1 và 225.1.1.1 cùng ánh xạ vào địa chỉ MAC. Nếu một máy đăng ký vào nhóm A (224.1.1.1) và một máy khác đăng ký vào nhóm B (225.1.1.1), thì chúng sẽ nhận được cả hai thông điệp từ A và B. Trong trường hợp này tính hiệu quả của multicast bị giới hạn. Quá trình định tuyến Gửi thông tin chỉ cần một lần duy nhất tới nhiều người có thể tiết kiệm rất nhiều băng thông. Các thông điệp chỉ được nhân bản khi đi qua các router, và chỉ xảy ra khi router đó là router chuyển tiếp thay router có chứa nhóm cần gửi. Các router có khả năng multicast chỉ chuyển tiếp các gói tin multicast khi mà có các máy thuộc nhóm multicast nằm trong mạng của nó. Các máy sử dụng giao thức IGMP để thông báo cho router biết các nhóm multicast nào mà nó tham gia. Nếu các thành viên của nhóm trong cùng một phân đoạn mạng đều rời khỏi nhóm đó thì router sẽ không chuyển tiếp các gói tin đến phân đoạn mạng này nữa. Router chỉ nhân bản gói tin IP multicast khi có quá trình rẽ nhánh trong đường đi, còn lại các trường hợp khác router chỉ gửi một gói tin duy nhất cho mỗi mạng. Các giao thức định tuyến cho multicast như: DVMRP, MOSPF, và PIM. 1.4. IGMP Làm thế nào một router biết được các máy cần nghe multicast traffic? Để nhận multicast traffic từ một nguồn, cả nguồn và các máy nhận đầu tiên phải gia nhập (join) vào một nhóm multicast. Nhóm này được xác định thông qua địa chỉ multicast. Một host có thể tham gia vào một nhóm multicast bằng cách gửi các yêu cầu đến router gần nhất. Tác vụ này được thực hiện thông qua giao thức IGMP (Internet Group Management Protocol). - IGMPv1 được định nghĩa trong RFC1112 - IGMPv2 được định nghĩa trong RFC2236. i. IGMPv1 Khuôn dạng thông điệp - Version: Xác định phiên bản của IGMP được gán bằng 1. - Type: Loại thông điệp, trong IGMPv1 thì có 2 loại thông điệp được sử dụng giữa host và router: Membership Report: Thông điệp đăng ký tham gia vào nhóm multicast được gởi từ host đến router. Membership Query: Thông điệp truy vấn được gởi từ router đến các host để kiểm tra xem các host có muốn nhận multicast traffic hay không. - Checksum: Trường này gồm 16 bit, và chứa tổng số bit của thông điệp. - Group Address: Trường này chứa địa chỉ nhóm multicast khi thông điệp Membership Report được gởi, bằng không khi dùng trong thông điệp Membership Query. Quá trình Query-Response IGMP sử dụng mô hình truy vấn – trả lời (Query - Response) cho phép các router multicast xác định nhóm multicast hoạt động (có host tham gia vào nhóm multicast) trên nhánh mạng. Trong mô hình này, Host H1, H2 đăng ký vào nhóm multicast 224.1.1.1, host H3 đăng ký vào nhóm multicast 224.2.2.2 . Router A là IGMPv1 Querier và chức năng của nó là gởi thông điệp Membership Query đến tất cả các host trong nhánh mạng. Router B chỉ lắng nghe và ghi nhận việc trả lời từ các host. 1. Cứ mỗi 60 giây, Router A gởi thông điệp Membership Query đến tất cả các host trên nhánh mạng. 2. Tất cả router sẽ nhận được thông điệp này, và các host(H2) đã đăng ký vào nhóm multicast phải trả lời lại bằng thông điệp Membership Report, thông báo cho router biết rằng trên nhánh mạng có host muốn nhận gói tin từ nhóm 224.1.1.1. 3. Host H1 cũng lắng nghe đến nhóm 224.1.1.1, do đó nó biết được H2 đã gởi thông điệp Membership Report đến router, và hủy(suppress) thông điệp của nó. Cơ chế này (Report Suppression) làm giảm được lưu lượng trên nhánh mạng. 4. Host H3 cũng nhận được thông điệp Membership Query và nó cũng trả lời lại thông điệp Membership Report đến nhóm mà nó đã đăng ký 224.2.2.2. Kết quả của quá trình Query-Response là Router A biết được các máy muốn nhận gói tin từ nhóm 224.1.1.1 và 224.2.2.2 trên nhánh mạng. Ngoài ra, Router B cũng lắng nghe được trên toàn bộ quá trình và cũng biết các thông tin như router A. Cơ chế Report Suppression Cơ chế giúp giảm số lưu lượng IGMP trên một nhánh mạng đến mức tối thiểu. - Khi một host nhận thông điệp Membership Query, host bắt đầu đếm ngược thời gian trả lời (report-timer) đối với nhóm multicast mà nó tham gia vào. Mỗi report-timer được khởi tạo ngẫu nhiên từ 0 đến thời gian trả lời tối đa. Mặc định là 10 giây. - Sau thời gian đó, host gởi thông điệp Membership Report kết hợp với report-timer đến nhóm multicast. - Nếu host nghe một host khác gởi thông điệp Membership Report, thì nó hủy thông điệp Membership Report và report – timer. Bằng cách đó, triệt tiêu được việc gởi thông điệp đến nhóm multicast. IGMPv1 Querier Nếu tất cả router trên một nhánh mạng đều gởi thông điệp Membership Query thì gây ra lãng phí băng thông mạng. Do đó cần phải có 1 router là IGMPv1 Querier. IGMPv1 dựa trên các giao thức định tuyến (PIM, DVMRP, …) để chỉ định 1 router (Designated Router) cho nhánh mạng. Các host có thể gởi một hay nhiều thông điệp Membership Report (unsolicited report) tham gia vào các nhóm multicast ở bất kỳ thời điểm nào mà không cần phải chờ thông điệp Membership Query kế tiếp từ router. IGMPv1 không có cơ chế để cho phép một host rời khỏi một nhóm, khi host đó không còn quan tâm đến nội dung của nhóm multicast đó. Thay vào đó, router sẽ kết luận là một cổng giao tiếp của nó không còn thuộc về một nhóm multicast, nếu router không nhận được Membership Report trong ba chu kỳ truy vấn liên tiếp. Điều này có nghĩa là, ở chế độ mặc định, các multicast traffic vẫn gửi vào một phân đoạn mạng trong ba chu kỳ truy vấn liên tiếp sau khi tất cả các thành viên của nhóm không còn lắng nghe multicast traffic nữa. Ngoài ra, do cơ chế Report Suppression nên các router không giữ một danh sách đầy đủ các host thành viên cho từng nhóm multicast. Thay vào đó, nó cần phải lưu những nhóm multicast nào đang tồn tại trên những cổng của nó. ii. IGMPv2 Khuôn dạng thông điệp - Type: Trong IGMPv2 có 4 loại thông điệp được sử dụng giữa host và router Membership Query (0x11): có hai dạng: + General Query: Dùng để xác định các nhóm multicast hoạt động. General Query được biểu thị bởi giá trị 0 trong Group Address. + Group-Specific Query: Dùng để xác định một nhóm multicast cụ thể chứa các thành viên. Group-Specific Query chứa địa chỉ của nhóm đang được truy vấn. Version 1 Membership Report (0x12): Loại thông điệp này dùng để tương thích với phiên bản IGMPv1. Version 2 Membership Report (0x16) Leave Group (0x17): Loại thông điệp này được dùng khi một host muốn rời khỏi nhóm multicast. - Maximum Response Time: Chỉ dùng trong thông điệp Membership Query, nó chỉ định thời gian tối đa (đơn vị 1/10 giây) mà 1 host có thể chờ để trả lời 1 thông điệp truy vấn. Giá trị mặc định là 100 (10 giây). - Checksum: Trường này gồm 16 bit, và chứa tổng số bit của thông điệp. - Group Address: Khi một thông điệp General Query được gởi đi, trường này được gán giá trị là 0 để phân biệt với thông điệp Group-Specific Query. Khi thông điệp Membership Report hoặc Leave Group gởi đi thì trường này chứa giá trị nhóm multicast được gởi đến. Quá trình Leave Nhờ thông điệp Leave Group, Group-Specific Query và Maximum Response Time mà IGMPv2 giảm được việc các router vẫn gửi truy vấn đến các nhánh mạng dù các host không quan tâm đến gói multicast. Trong mô hình này host H2, H3 đang là thành viên của nhóm 224.1.1.1, host H2 muốn rời khỏi nhóm: - H2 gởi thông điệp Leave Group đến địa chỉ all-router (224.0.0.2) thông báo cho tất cà các router trên nhánh mạng biết nó muốn rời khỏi nhóm. - Router A (IGMP Query Router) lắng nghe thông điệp Leave Group từ host H2. Tuy nhiên, Router A chỉ lưu danh sách các nhóm thành viên hoạt động trên nhánh mạng (không có host nào cụ thể). Do đó, Router A gởi thông điệp Group-Specific Query để xác định host đến nhóm 224.1.1.1 - Host H3 vẫn là thành viên của nhóm 224.1.1.1, do đó nó nhận thông điệp và trả lời lại bằng thông điệp Membership Report thông báo cho router biết rằng trên nhánh mạng vẫn còn Host tham gia vào nhóm. Host H3 là thành viên cuối cùng của nhóm 224.1.1.1, và bây giờ H3 cũng muốn rời khỏi nhóm: - H3 gởi thông điệp Leave Group đến địa chỉ all-router (224.0.0.2) - Router A lắng nghe thông điệp Leave Group từ host H3 và gởi thông điệp Group-Specific Query để xác định host đến nhóm 224.1.1.1 - Và bây giờ không còn thành viên nào trong nhóm 224.1.1.1 trên nhánh mạng. Do đó, không có host trả lời thông điệp Group-Specific Query. Router A đợi 1 giây, sau đó lại gởi một thông điệp khác mà vẫn không nhận được thông điệp trả lời. Lúc này, Router ngừng việc chuyển gói tin multicast đến nhánh mạng này. IGMP Query Router Không như phiên bản IGMPv1 phải phụ thuộc vào các giao thức định tuyến, IGMPv2 sử dụng địa chỉ IP trong thông điệp General Query để chọn IGMP Query Router - Các router gởi thông điệp General Query đến tất cả các router còn lại trong mạng (224.0.0.1) kèm theo địa chỉ cổng của nó trong trường địa chỉ Source IP của thông điệp. - Khi một router nhận được thông điệp General Query, router sẽ so sánh địa chỉ Source IP với địa chỉ cổng của nó. Router có địa chỉ IP nhỏ nhất trên nhánh mạng được chọn là IGMP Query Router. - Cứ sau 250s (querier-timer) các router lại thực hiện quá trình chọn ra 1 IGMP Query Router mới. iii. IGMPv3 IGMP v3 là một dự thảo sơ bộ. Nó giới thiệu bổ sung bản tin Group - Source Report cho phép một host có thể quyết định nhận lưu lượng từ các nguồn riêng biệt của một nhómMulticast. Một bản tin Group - Source Report cho phép một host chỉ ra địa chỉ IP của các nguồn riêng biệt mà nó muốn nhận. Một bản tin Exclusion Group - Source Report cho phép một host nhận dạng chính xác các nguồn mà nó không muốn nhận. Cuối cùng, bản tin Leave Group đã giới thiệu trong IGMPv2 đã nâng cao thành bản tin Group-Source Leave. Đặc điểm này cho phép một host dời khỏi toàn bộ nhóm hay chỉ ra các địa chỉIP riêng biệt của cặp (nguồn, nhóm) mà nó muốn rời khỏi. 1.5. Cây Phân Phối Các router hỗ trợ multicast tạo ra các cây phân phối để quản lý các con đường của lưu lượng IP multicast đến tất cả các máy nhận. Hai loại cây phân phối cơ bản là cây nguồn (Source tree) và cây chia sẻ (Shared tree). 1.5.1 Source Tree Cây nguồn là dạng cây phân phối đơn giản nhất với gốc là nguồn dữ liệu multicast và các nhánh là đường dẫn tới máy nhận dữ liệu. Do loại cây này sử dụng đường đi ngắn nhất nên còn có tên là SPT (Shortest Path Tree). Mô hình sau là ví dụ một SPT đối với nhóm 224.1.1.1 có gốc là nguồn gởi Host A, và các máy nhận Host B, C. Kí hiệu (S,G) là một SPT trong đó S là địa chỉ IP của nguồn và G là địa chỉ nhóm multicast, như trong hình sẽ là (192.1.1.1, 224.1.1.1). (S,G) có nghĩa là một SPT riêng biệt tồn tại cho mỗi nguồn gởi đến mỗi nhóm. Chẳng hạn như host B cũng gởi lưu lượng đến nhóm 224.1.1.1 và host A và C là các máy nhận, thì tồn tại một SPT và được ký hiệu (192.2.2.2, 224.1.1.1). 1.5.2 Shared Tree Không có gốc từng nguồn như các cây nguồn, các cây chia sẻ sử dụng một gốc chung duy nhất tại một điểm đã chọn trên mạng. Gốc của cây chia sẻ được gọi là điểm hẹn (RP, Rendezvous Point). Trong mô hình sau là ví dụ shared tree đối với nhóm 224.2.2.2 với gốc được chỉ định tại Router D. Khi sử dụng cây chia sẻ, nguồn phải gửi lưu lượng của nó tới gốc và sau đó lưu lượng này được chuyển tiếp theo các nhánh của cây đến các máy nhận dữ liệu. Trong ví dụ này, lưu lượng multicast từ nguồn gởi host A và host D đến gốc (Router D) sau đó xuống shared tree đến các host nhận B và C. Bởi vì tất cả các nguồn trong nhóm multicast sử dụng một shared tree, do đó kí hiệu (*, G) đại diện cho cây. Trong đó, * có nghĩa là tất cả các nguồn (all sources) và G đại diện cho một nhóm multicast. Do đó, trong ví dụ shared tree được ký hiệu là (*, 224.2.2.2). Do các thành viên của nhóm có thể tham gia hoặc rời khỏi nhóm bất cứ lúc nào nên các cây phân phối phải cập nhật động. Giải pháp sử dụng source tree có ưu điểm tạo ra đường dẫn tối ưu giữa nguồn dữ liệu và các host nhận dữ liệu, giảm thiểu sự trễ khi truyền dẫn các lưu lượng multicast. Tuy nhiên, các router phải duy trì các thông tin về đường dẫn cho từng nguồn. Với mạng có hàng ngàn nguồn dữ liệu và hàng ngàn nhóm thì vấn đề sẽ trở nên nghiêm trọng đối với các router đặc biệt là vấn đề tiêu thụ không gian lưu trữ các bảng định tuyến multicast. Giải pháp sử dụng shared tree không gặp phải vấn về bộ nhớ cần thiết cho bảng định tuyến nhưng trong một số trường hợp cụ thể đường dẫn giữa nguồn và đích không tối ưu gây trễ trong quá trình phân phát dữ liệu. Lựa chọn điểm hẹn là vấn đề quan trọng nhất khi áp dụng giải pháp này cho mạng multicast. Chương 2 CÁC GIẢI THUẬT ĐỊNH TUYẾN MULTICAST 2.1. Giải thuật Flooding Trong giải thuật này khi router nhận được một gói multicast, đầu tiên nó kiểm tra xem gói tin này đã nhận được trước đó chưa. - Nếu là lần đầu tiên, router sẽ gởi gói tin đến tất cả các cổng của nó, ngoại trừ cổng mà đã gởi gói tin đến. - Nếu gói tin đã được nhận, router sẽ loại bỏ gói tin này. Bằng cách này, chắc chắn rằng tất cả các router sẽ nhận được ít nhất là một gói tin. : (Source ) nguồn gởi. : Router. : Nhánh mạng con có tham gia vào nhóm (Group members). : Nhánh mạng con không tham gia vào nhóm. : Đường chuyển gói chấp nhận : Đường các gói bị loại bỏ Mặc dù giải thuật này đơn giản nhưng có một số bất lợi. Giải thuật flooding tạo ra một số lượng lớn các gói trùng lắp và lãng phí băng thông mạng. Hơn nữa, để các router nhận biết được một gói mà nó nhận được có phải là lần đầu hay không, nó cần phải lưu lại các gói mà đã nhận trước đó, gây tốn bộ nhớ của router. 2.2. Spanning Tree Giải thuật Spanning Tree được đánh giá là tốt hơn giải thuật Flooding. Trong giải thuật này, một nhóm trong mạng được chọn để xác định cấu trúc cây, như vậy chỉ có một con đường hoạt động giữa hai router bất kỳ. Từ cây này mở rộng cho tất cả các nút trong mạng nó được gọi là “cây bao trùm”. Khi một router nhận được một gói multicast, nó sẽ chuyển các gói trên tất cả các đường mà thuộc cây bao trùm ngoại trừ con đường đã các gói, bảo đảm rằng các gói multicast đến tất cả các routers trong mạng. Rõ ràng, các thông tin mà một router cần giữ là một biến boolean cho mỗi cổng mạng cho dù con đường đó có thuộc cây bao trùm hay không. : Đường chuyển gói tin : Cây bao trùm. 2.3. Reverse Path Forwarding Các router thường phải thực hiện một phép kiểm tra trên tất cả các gói multicast mà nó nhận. Reverse Path Forwarding (RPF) là một công cụ để đảm bảo rằng các gói tin không bị đưa ngược trở về cây multicast ở một vị trí bất kỳ nào đó. Khi một gói tin được nhận trên một cổng của router, ví dụ cổng S1 của router, địa chỉ nguồn của gói sẽ được kiểm tra. Sau đó router sẽ so sánh địa chỉ nguồn này với một entry trong bảng định tuyến unicast. Nếu cột out-going interface của bảng định tuyến cũng đúng bằng cổng nhận gói multicast, gói multicast sẽ được xử lý và chuyển ra các nhánh của cây. Nếu cổng là không so trùng, điều này có nghĩa là có một ai đó đã đưa gói vào một vị trí không mong đợi, chuyển gói tin ngược về root. Gói tin lúc này sẽ bị loại bỏ. 2.4. Giải thuật Reverse Path Broadcasting (RPB) Giải thuật RPB là sự cải biến của giải thuật Spanning Tree. Trong giải thuật này, thay vì xây dựng một cây bao trùm toàn mạng, thì chỉ xây dựng cho mỗi nguồn. Dựa trên giải thuật này khi một router nhận được một gói multicast từ con đường “L” và từ nguồn “S”, router sẽ kiểm tra nếu con đường “L” thuộc con đường ngắn nhất từ nguồn “S”, gói tin sẽ được gởi tới các con đường ngoại trừ đường “L”. Ngược lại, gói tin sẽ bị loại bỏ. Nếu một router không nằm trên con đường ngắn nhất giữa nút nguồn v