Cơ chế hoạt động và các giao thức định tuyến IPv6 Multicast (phần 2)

Diễn đàn - Ngày đăng : 21:42, 03/11/2015

Để giảm thiểu xây dựng các router Multicast và chuyển tiếp lưu lượng Multicast qua mạng unicast ta sử dụng giải pháp đường hầm. Đường hầm kết nối 2 Mrouter, khi đó nó tạo ra một liên kết ảo điểm-điểm giữa chúng. Khi một gói tin IP Multicast gửivào đường hầm, nó được đóng gói trong một gói sử dụng IP Unicast với địa chỉ đích IP Unicast của Mrouter ở đầu kia của đường hầm. Khi rời khỏi đường hầm, nó được bóc tách gói trở lại gói tin IP Multicast.

Giải thuật RPF

IPv6 When creating IPv6 multicast routing table entries, an IPv6 multicast routing protocol uses the reverse path forwarding (RPF) to ensure IPv6 multicast data delivery along the correct path.Multicast sử dụng giải thuật RPF (RPF-Reverse Path Forwarding) để đảm bảo gói tin IPv6 Multicast được chuyển tiếp chính xác và chống vòng lặp dữ liệu. Nó được sử dụng kết hợp với các giao thức khác như PIM, MBGP. Trong định tuyến Multicast, quyết định chuyển tiếp gói tin dựa trên địa chỉ nguồn mà không phải là địa chỉ đích (như trong định tuyến unicast). The RPF mechanism enables routers to correctly forward IPv6 multicast packets based on the multicast route configuration.ViêVViệc chuyển tiếp gói tin Multicast dựa trên nguồn (S) của gói tin Multicast và đích của địa chỉ nhóm Multicast (G). Với mỗi gặp (S,G), Router chấp nhận gói tin Multicast trên cổng tiếp nhận, và hoàn thành kiểm tra RPF. Router sẽ loại bỏ gói tin nhận trên cổng tiếp nhận khác, trừ giao diện tiếp nhận được kiểm tra RPF và thông báo cho các giao thức định tuyến rằng gói tin Multicast đã chuyển sai cổng tiếp nhận. Router tiếp tục chuyển tiếp gói tin Multicast  tới các giao diện cổng chuyển đi, các cổng này được xác định bởi thông tin định tuyến và thông tin thành viên nhóm cục bộ, router sẽ ánh xạ các thông tin đó trong bảng định tuyến Multicast .

Đường hầm Multicast

Để giảm thiểu xây dựng các router Multicast và chuyển tiếp lưu lượng Multicast qua mạng unicast ta sử dụng giải pháp đường hầm. Đường hầm kết nối 2 Mrouter, khi đó nó tạo ra một liên kết ảo điểm-điểm giữa chúng. Khi một gói tin IP Multicast gửivào đường hầm, nó được đóng gói trong một gói sử dụng IP Unicast với  địa chỉ đích IP Unicast của Mrouter ở đầu kia của đường hầm. Khi rời khỏi đường hầm, nó được bóc tách gói trở lại gói tin IP Multicast. Như vậy, một đường hầm cho phép lưu lượng Multicast  truyền liên tục giữa 2 Mrouter thông qua các mạng Unicast.


a1lu4

CÁC GIAO THỨC ĐỊNH TUYẾN

Tùy thuộc vào vị trị node mạng ta có các giao thức tương ứng.

Trong Local Area Network:

-          Multicast  Listener Discovery Protocol (MLD);

Trong miền Multicast (Multicast  Domain):

-          Protocol Independent Multicast  (PIM):

Dense mode (DM);

Sparse mode (SM);

Source Specific Multicast (SSM);

Giữa AS khác nhau :

-          MBGP
http://www.cisco.com/en/US/i/000001-100000/95001-100000/95001-96000/95365.jpg

Giao thức Multicast Listener Discovery (MLD)

Router cần nhận biết các nhóm Multicast trên phạm vi một đường kết nối mà nó muốn nhận gói tin. Khi một ứng dụng Multicast cài đặt trên một máy tính được đưa vào một nhóm, máy tính đó phải thông báo đến router biết sự có mặt của nó. MLD (RFC 2719) là giao thức được dùng giữa các host với router trên phạm vi kết nối để thực hiện mục đích đó.

MLD tương tự với giao thức IGMPv2 trong IPv4.

http://www.h3c.com/portal/res/201202/29/20120229_1324929_image001_739658_1285_0.png

Bản tin MLD được mang trong gói ICMPv6. Có 3 dạng bản ghi MLD là: truy vấn tên, báo cáo, thực hiện (namely query, report and done). Các dạng bản ghi MLD tương ứng với các giá trị 130, 131, 132 trong ICMPv6. MLD cũng được dùng trong phần mào đầu gói tin thông báo định tuyến, do đó router dễ dàng biết được các thành phần nào cần kiểm tra trong gói tin IP. Ngoài ra, khi sử dụng trên phạm vi local thì địa chỉ IPv6 phạm vi local dùng là địa chỉ nguồn. Thông thường giá trị hop được giới hạn bằng 1.

Khi một router nhận được truy vấn MLD từ một router khác có địa chỉ nhỏ hơn, nó sẽ không tiếp tục gửi truy vấn của nó đến router đó trừ khi sau một thời gian dài nó không nhận được truy vấn. Theo cách này, những router đánh địa chỉ nhỏ hơn sẽ thực hiện truy vấn. Router đóng vai trò truy vấn sẽ độc lập với các router làm nhiệm vụ chuyển tiếp gói tin đến hoặc đi tới một kết nối khác.

Bản tin truy vấn MLD định kỳ gửi đi với mặc định là nhóm tất cả node Multicast . Các host sau đó sẽ gửi lại bản tin reply (ICMPv6 giá trị 131). Một gói tin trả về cho một nhóm thì được gửi đến nhóm đó (phần header chứa địa chỉ đích gói tin IPv6 là địa chỉ nhóm). Khi hop limit được thiết lập giá trị 1, những gói tin sẽ không được chuyển tiếp đi. Khi nhiều host trên một đường kết nối cùng trong một nhóm, mỗi host sẽ nhận được bản tin MLD trả lời của các host khác nó sẽ hủy gói tin đó. Do vậy các router không bị nhận nhầm gói tin.

Khi một ứng dụng đưa vào một nhóm Multicast sẽ thực hiện gửi bản tin MLD thông báo sự có mặt của nó trong nhóm ngay lập tức.

Khi một host không tồn tại trong một nhóm Multicast, ngay lập tức router sẽ gửi một một bản tin ICMPv6 có chứa giá trị 132. Gói tin này được gửi đi đến tất cả nhóm router Multicast có địa chỉ FF02::2. Để xác định còn tồn tại một host trong nhóm đó hay không, router sẽ thực hiện gửi bản tin truy vấn MLD tới địa chỉ nhóm Multicast  đó. Nếu không nhận được phản hồi router sẽ cho rằng không còn host nào trong nhóm Multicast đó nữa.

MLDv2 có thêm tính năng lọc theo địa chỉ nguồn (source filtering). Lọc theo địa chỉ nguồn cho phép một host thông báo sự có mặt của mình trong một tập địa chỉ nguồn xác định và yêu cầu host đó phải có SSM (Source-Specific Multicast  RFC 3569). Lọc nguồn cho phép một host lắng nghe tất cả các gói tin ngoại trừ một tập địa chỉ nguồn xác định. MLDv2 được thiết kế để tương tác vận hành cùng với MLDv1.

Khi giao thức IPv6 Multicast  được hỗ trợ trên tất cả các lớp của mô hình TCP/IP, thông thường nó sẽ thực hiện broadcast ở những lớp thấp hơn. Ví dụ một thiết bị chuyển mạch Ethernet sẽ quảng bá (broadcast) ra tất cả các cổng ngay cả khi chỉ có một host nhận lưu lượng. Để ngăn chặn việc gửi tràn ra toàn bộ một segment, MLD snooping được thiết kế và đưa vào trong các thiết bị chuyển mạch. Giải pháp này tương tự như IGMP snooping trong IPv4.

Khi một thiết bị chuyển mạch có MLD snooping, tất cả các bản tin MLD trao đổi trên phạm vi một link sẽ được phát hiện và MLD thực hiện lưu vào bảng chỉ dẫn cho từng giao diện (thông tin về từng nhóm IPv6Multicast  sẽ được chuyển đi tương ứng với các giao diện). Đây là giải pháp đơn giản để ngăn chặn tràn trên một đường truyền Ethernet.

(còn nữa)