Các giao thức định tuyến IP Multicast

Một phần của tài liệu Nghiên cứu IP multicast và các ứng dụng (Trang 28 - 77)

1.4.2.1 PIM

PIM là một tập hợp các giao thức định tuyến multicast, mỗi giao thức đƣợc thiết kế tối ƣu cho một môi trƣờng cụ thể. Có hai giao thức PIM chính là PIM – Dense Mode, còn gọi là PIM – DM (kiểu tập chung) và PIM Sparse Mode, còn gọi là PIM – SM (kiểu phân tán). Giao thức PIM thứ ba là Bi-directional PIM ít khi đƣợc sử dụng. Các Mrouter sử dụng PIM để xác định các Mrouter khác cần nhận đƣợc gói tin multicast. Thông thƣờng, mỗi giao thức PIM – DM hay PIM – SM sẽ đƣợc sử dụng trên một miền multicast riêng. Tuy nhiên, chúng có thể đƣợc sử dụng cùng nhau trong một miền multicast, PIM – DM cho một số nhóm và PIM – SM cho vài nhóm khác. Định tuyến với các giao thức PIM độc lập với các cơ chế của các giao thức định tuyến unicast. Tuy nhiên, bất kỳ sự triển khai nào hỗ trợ PIM đều yêu cầu sự có mặt của một giao thức định tuyến unicast để cung cấp thông tin bảng định tuyến. PIM không gửi

R CR CR R R R R R R R CR R Router lõi Router CBT Backbone

Nguyễn Văn Hưng – D06VT2 26 hoặc nhận các cập nhập định tuyến giữa các router nhƣ thể giao thức định tuyến unicast truyền thống trên mạng IP: Thay vào việc xây dựng bảng định tuyến multicast riêng biệt, PIM sử dụng thông tin định tuyến unicast để hỗ trợ chức năng chuyển tiếp gói tin. Các router hỗ trợ giao thức PIM còn đƣợc gọi là các PIM router. Các router chạy giao thức PIM chọn một router PIM hàng xóm (thông thƣờng là router có địa chỉ IP của giao diện kết nối với nó cao nhất) làm router chỉ định.

Mac Header IP Header PIM Header Data

0 3 4 7 8 15 16 31

Version Type Reserved Checksum

Data Kiểu Mô tả 0 Hello 1 Register 2 Register-Stop 3 Join/Prune 4 Bootstrap 5 Assert 6 Graft (PIM – DM) 7 Graft-Ack (PIM – DM) 8 Candidate-RP-advertisement 9 State Refresh Hình 1.20: Định dạng bản tin PIM

Cả PIM – DM và PIM – SM đều sử dụng các thuật toán chuyển tiếp tuyến đƣờng nghịch đảo nhƣ RPM, RPB, TRPB đã thảo luận ở mục 3.1 để chuyển tiếp gói tin từ nguồn tới nhóm multicast. Một router nhận đƣợc một gói tin multicast, nó sẽ dựa vào bảng định tuyến unicast để tìm nguồn và đƣờng đi tốt nhất tới nguồn. Khi một router nhận đƣợc gói tin multicast trên một giao diện, mà giao diện đó thuộc về tuyến đƣờng ngắn nhất từ nguồn tới router, router sẽ chuyển tiếp một bản sao của gói tin trên tất cả các giao diện khác. Các gói tin đến tại giao diện đầu vào đƣợc xem nhƣ là đƣờng lên của router. Các gói tin đƣợc chuyển tiếp tới giao diện lối ra đƣợc xem nhƣ là đƣờng xuống của router.

Nguyễn Văn Hưng – D06VT2 27 Tất cả các giao thức PIM đều chung định dạng bản tin điều khiển. Hình 1.20 minh họa định dạng của bản tin PIM. Chi tiết các trƣờng nhƣ sau:

- Trƣờng Version dài 4 bit, phiên bản của PIM.

- Trƣờng Type dài 4 bit xác định loại bản tin PIM. Có các loại bản tin PIM nhƣ sau:

 Hello: Các router gửi bản tin Hello cho các router hàng xóm để khám phá lẫn nhau.

 Register: Khi một nguồn lần đầu tiên gửi luồng multicast tới một nhóm, gói tin sẽ đƣợc đóng gói trong bản tin Register và gửi tới RP để đăng ký với RP việc luồng lƣu lƣợng sẽ chuyển qua RP.

 Register-Stop: Bản tin Register-Stop gửi đến nguồn để thông báo dừng việc đăng ký.

 Join/Prune: Router gửi bản tin Join cho router hàng xóm theo đƣờng lên để thông báo nó muốn nhận lƣu lƣợng multicast. Nó cũng gửi bản tin Prune khi không muốn nhận lƣu lƣợng multicast nữa.

 Bootstrap: Sử dụng để phân phối thông tin RP trong trạng thái ổn định.

 Assert: Dùng để ngăn ngừa những nỗ lực vô ích khi có nhiều router kết nối vào cùng mạng LAN (multiaccess). Thay vì gửi nhiều bản sao của những gói multicast vào LAN, bản tin Assert cho phép các router bắt tay thỏa thuận với nhau. Router thắng sẽ chịu trách nhiệm chuyển tiếp lƣu lƣợng multicast vào LAN.

 Graft (chỉ sử dụng trong PIM – DM): một router gửi bản tin Graft cho router hàng xóm theo đƣờng lên để thông báo rằng nó muốn quay trở lại một nhánh mà trƣớc đó đã bị cắt bỏ khỏi cây phân phối lƣu lƣợng.

 Candidate-RP-Advertisement: Quảng bá router tham gia ứng cử RP.

 State-Refresh: Yêu cầu cập nhập lại trạng thái của cây phân phối hiện tại. - Trƣờng Checksum dài 16 bit, để kiểm tra lỗi ở tiêu đề.

- Trƣờng Data dài 32 bit.

a) PIM – Dense Mode

Các PIM router có thể đƣợc cấu hình theo kiểu Dense Mode (còn gọi là PIM – DM) nếu các host tham gia vào nhóm multicast nằm ở khắp mọi nơi trên các subnet. Địa chỉ multicast nguồn trở thành gốc của cây phân phối, và cây này đƣợc xây dựng từ

Nguyễn Văn Hưng – D06VT2 28 nguồn đến đích. Cơ chế này còn đƣợc ký hiệu là (S,G) trong đó đƣờng đi từ nguồn S đến các thành viên trong nhóm G là duy nhất.

Giao thức PIM – DM hiệu quả khi máy gửi và nhận là gần nhau, ít máy gửi và nhiều máy nhận, mật độ lƣu lƣợng multicast cao, luồng lƣu lƣợng multicast là không đổi. Cây phân phối multicast đƣợc xây dựng bằng cách cho phép phát tán lƣu lƣợng multicast từ nguồn đến tất cả các router trong mạng. Cây phân phối sẽ phát triển từ trên xuống dƣới. Trong một thời gian ngắn, lƣu lƣợng không cần thiết sẽ đƣợc lƣu chuyển giốn nhƣ trong truyền thông Broadcast. Tuy nhiên, khi các router nhận đƣợc luu lƣợng cho một nhóm, router sẽ quyết định các subnet của nó có máy nào muốn nhận dữ liệu hay không? Nếu muốn, router sẽ duy trì trạng thái im lặng và để luồng lƣu lƣợng multicast tiếp tục truyền. Nếu không có host nào đăng ký cho nhóm multicast đó (thông qua IGMP), router sẽ gửi bản tin Prune đến các router hàng xóm theo đƣờng lên. Nhánh của cây phân phối sau đó sẽ bị cắt bỏ sao cho các lƣu lƣợng không cần thiết sẽ không đƣợc phát tán về hƣớng đó nữa.

PIM – DM sẽ nhận biết các thiết bị hàng xóm bằng cách trao đổi các gói tin Hello. Thông tin hàng xóm này sẽ đƣợc sử dụng trƣớc để xây dựng cây đến tất cả các hàng xóm. Sau đó, các nhánh cây không cần thiết sẽ bị cắt bỏ. Khi một luồng multicast bắt đầu, cây sẽ đƣợc xây dựng. Cây sẽ chỉ tồn tại khi các thành viên tích cực còn tồn tại. Nếu một host mới đăng ký tham gia nhóm, nhánh của phân đoạn mạng đó sẽ đƣợc đính thêm vào cây.

b) PIM – Sparse Mode

Giao thức định tuyến multicast PIM – DM hữu ích khi các ứng dụng multicast là dày đặc và ta cần phân phối lƣu lƣợng đến hầu nhƣ toàn bộ mạng. Tuy nhiên, nếu chỉ cần phân phối lƣu lƣợng đến một vài subnet, PIM – DM vẫn phát tán lƣu lƣợng trên toàn bộ liên mạng, điều này gây ra lãng phí băng thông và tại nguyên. Trƣờng hợp này, PIM – SM có thể đƣợc dùng để giảm lãng phí tài nguyên mạng. Trong PIM – SM, cây multicast không mở rộng đến router cho đến khi một host đã tham gia vào một nhóm. Cây phân phối đƣợc xây dựng từ các node lá và mở rộng về phía gốc. Hay nói cách khác, cây đƣợc xây dựng từ dƣới lên. Một router yêu cầu đƣợc nhận gói tin chỉ khi:

- Router đã nhận đƣợc một yêu cầu nhận gói tin từ một vài router hàng xóm.

- Có ít nhất một host trên một subnet của router đó đã gửi bản tin Membership Report thông báo muốn tham gia nhóm.

Nguyễn Văn Hưng – D06VT2 29 SM hoạt động dựa trên ý tƣởng cấu trúc cây chia sẻ, trong đó gốc của cây không nhất thiết phải là nguồn multicast. Thay vào đó, gốc là các router PIM – SM thƣờng đƣợc đặt ở trung tâm của mạng. Router làm gốc này gọi là Rendezvous Point (RP). Cây từ RP đến các thành viên thực chất là một cây con của cây từ nguồn đến các thành viên. Nếu một router ở bất kỳ đâu trong mạng có thể đăng ký với RP, cấu trúc cây này sẽ hoàn tất. Các luồng multicast đƣợc mô tả bởi ký hiệu (*,G) bởi vì cây luôn cho phép bất cứ nguồn nào gửi đến một nhóm.

Khi một host tham gia vào một nhóm multicast dùng IGMP, router cục bộ sẽ chuyển các thông điệp Membership Report về gốc của cây multicast. Mỗi router dọc theo tuyến đƣờng sẽ thêm nhánh đó vào cây chia sẻ. Quá trình loại bỏ nhánh đƣợc thực hiện khi tất cả các thành viên của một nhóm rời khỏi nhóm đó.

c) PIM Sparse – Dense Mode

PIM có khả năng hỗ trợ của hai chế độ Dense và Sparse vì cả hai tồn tại trên những nhóm multicast khác nhau trên một mạng. Cisco cho phép chế độ lai Sparse – Dense Mode cho phép một PIM router sử dụng chế độ Dense hay chế độ Sparse tùy thuộc vào từng nhóm. Nếu một nhóm có RP đƣợc định nghĩa, Sparse – Mode đƣợc sử dụng. Còn nếu không, Dense – Mode sẽ đƣợc sử dụng.

1.4.2.2 DVMRP

DVMRP là một giao thức định tuyến distance-vector đƣợc thiết kế để hỗ trợ việc chuyển tiếp lƣu lƣợng multicast qua một liên mạng. DVMRP xây dựng cây phân phối lƣu lƣợng sử dụng thuật toán TRPB. DVMRP đƣợc phát triển từ giao thức định tuyến RIP. Sự khác biệt giữa RIP và DVMRP đó là RIP tính toán số lƣợng hop tới đích, trong khi DVMRP lại tính toán số lƣợng hop quay trở lại nguồn. Khi thiết lập cây phân phối lƣu lƣợng, DVMRP cho phép router phát flooding (tràn ngập) datagram tới tất cả các giao diện trừ giao diện dẫn ngƣợc về nguồn datagram. Các router DVMRP phải chạy các quá trình định tuyến riêng cho các gói tin multicast và unicast. Để thiết lập cây nguồn, DVMRP sử dụng khái niệm cây broadcast rút gọn TBT (Truncated Broadcast Tree), là cây mở rộng đƣờng đi ngắn nhất từ mạng nguồn tới tất cả các router trong mạng. TBT đƣợc xây dựng cho tất cả các mạng con nhờ việc cập nhập thông tin định tuyến DVMRP định kỳ giữa các router trong mạng. Giống nhƣ RIPv2, thông tin cập nhập DVMRP chứa mặt nạ mạng (subnet mask) cùng metric của tuyến đƣờng (tính theo hop count) cho biết cost để tới một subnet cụ thể trong mạng. Tuy nhiên, khác với RIPv2, router DVMRP cấp dƣới sử dụng quảng bá Roison – Reverse

Nguyễn Văn Hưng – D06VT2 30 (PR) để thông báo cho một router cấp trên liên kết này thuộc TBT của mạng nguồn S. PR này đƣợc tạo ra bằng cách thêm 32 vào metric đƣợc quảng bá và gửi lại về phía router cấp trên.

Hình 1.21: Minh họa quá trình thiết lập cây broadcast rút gọn

Xét ví dụ ở hình 1.21, trong mạng đang diễn ra quá trình trao đổi thông tin cập nhập DVMRP cho mạng nguồn S1.

Hình 1.22: Cây broadcast rút gọn của mạng nguồn S1 thu được

Router A và B quảng bá metric 1 tới router C và D. Với router D, thông báo từ B là đƣờng tốt nhất tới mạng nguồn S1. Router D gửi lại thông báo PR (metric = 33) tới B. Nó thông báo với B rằng router D thuộc TBT của mạng nguồn S1. Với rouer C, nó nhận thông báo từ cả A và B với cùng metric. Căn cứ vào địa chỉ IP thấp nhất, router C gửi thông báo PR trở lại router B. Bây giờ B biết rằng nó có hai nhánh của TBT: một

Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mạng nguồn S1 A B C D X Y E Cây broadcast rút gọn S1 Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mạng nguồn S1 A B C D X Y E 1 33 33 34 35 35 2 2 1 2 3 3

Đƣờng tới mạng nguồn có metric „n‟

Thông báo ngƣợc gửi router cấp trên. Router phụ thuộc vào cấp trên để nhận lƣu lƣợng từ nguồn

Nguyễn Văn Hưng – D06VT2 31 tới router C và một tới router D. Khi luồng thông tin cập nhập DVMRP qua toàn bộ mạng, mỗi router gửi thông tin PR tới router cấp trên trong TBT cho mạng nguồn S1. Kết hợp các bản tin PR, thu đƣợc S1 TBT nhƣ hình vẽ 1.22.

Nếu có một nguồn multicast đƣợc kích hoạt trong mạng S1, router DVMRP trong mạng sẽ bắt đầu phát flooding lƣu lƣợng này qua S1 TBT. Nếu có một mạng nguồn khác S2, cần một TBT cho S2 nhƣ sau:

Hình 1.23: Cây broadcast rút gọn của mạng nguồn S2 thu được

Ví dụ quá trình flooding và rút gọn:

Nguồn S bắt đầu gửi lƣu lƣợng multicast tới nhóm G. Ban đầu lƣu lƣợng đƣợc flooding tới tất cả các rouer trong mạng qua TBT và tới máy thu 1.

Hình 1.24: Flooding các gói multicast (S,G) qua TBT

Do router C là node lá trong TBT và không cần nhận lƣu lƣợng, nó gửi bản tin rút gọn (S,G) DVMRP tới router B. Tƣơng tự với router X,Y.

Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Nguồn S A B C D X Y E

TBT dựa vào metric route DVMRP Luồng multicast (S,G) Máy thu 1 (Nhóm G) Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r A B C D X Y E

Cây broadcast rút gọn S2 Địa chỉ mạng của D<C<B<A

Mạng nguồn S2 Địa chỉ mạng

của

D<C<B<A Cây broadcast rút gọn S2 Địa chỉ mạng của D<C<B<A

Nguyễn Văn Hưng – D06VT2 32 Router B nhận bản tin rút gọn (S,G) và cắt bỏ luồng cảu lƣu lƣợng (S,G) tới router C. Router E nhận bản tin rút gọn từ tất cả router DVMRP lân cận trong subnet, nó bỏ giao diện Ethernet nối với router X và Y. Lúc này, tất cả các giao diện luồng xuống của router E trong TBT đã bị loại bỏ và nó không còn nhu cầu nhận lƣu lƣợng. Nó gửi bản tin rút gọn (S,G) tới router D trong TBT.

Hình 1.25: Minh họa quá trình rút gọn

Router D nhận đƣơc bản tin này, nó cắt giao diện và lƣu tới router E.

Hình 1.26: Minh họa trạng thái rút gọn cuối cùng

Tuy nhiên vì DVMRP là giao thức flood và rút gọn, các nhánh đƣợc cắt giảm của TBT sẽ timeout và khi lƣu lƣợng đƣợc phát flooding theo các nhánh của TBT, lại tiếp

Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Nguồn S A B C D X Y E

TBT dựa vào metric route DVMRP Luồng multicast (S,G) Máy thu 1 (Nhóm G) Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Mrouter r Nguồn S A B C D X Y E

TBT dựa vào metric route DVMRP Luồng multicast (S,G) Máy thu 1 (Nhóm G) Prune Prune Prune Prune

Nguyễn Văn Hưng – D06VT2 33 tục quá trình gửi các bản tin rút gọn tới TBT nhằm làm giảm lƣu lƣợng không mong muốn.

Các chức năng của router DVMRP:

Khi một router DVMRP khởi tạo, nó tự coi là router chủ cho mạng con nội hạt cho tới khi nhận bản tin Host Membership Query từ router hàng xóm có địa chỉ IP thấp hơn. Để tránh nhân bản các gói tin multicast khi có nhiều router DVMRP trong một subnet, thì một router đƣợc chọn là router bổ nhiệm cho mạng con nguồn cụ thể.

Nếu có nhiều router DVMRP trong các subnet, các router chọn router có địa chỉ IP thấp nhất làm router bổ nhiệm. Router này chị trách nhiệm truyền định kỳ bản tin IGMP Host Membership Query.

1.4.2.3 MOSPF

Nhƣ chúng ta đã biết, OSPF là giao thức định tuyến dạng link-state thƣờng dùng để triển khai trên hệ thống mạng phức tạp. OSPF tự xây dựng cơ chế đảm bảo độ tin cậy chứ không sử dụng các giao thức truyền tải nhƣ TCP để đảm bảo độ tin cậy. OSPF là giao thức định tuyến classless (giao thức định tuyến classless chứa mặt nạ mạng kèm địa chỉ mạng trong các cập nhập định tuyến) nên có hỗ trợ VLSM và các mạng không liên tục (discontiguous network). OSPF sử dụng thuật toán Dijkstra để xây dựng bảng định tuyến. Đây là thuật toán xây dựng đƣờng đi ngắn nhất SPT để đi tới đích. Bản tin quảng bá LSA mang thông tin của router và trạng thái hàng xóm lân cận. Dựa trên các thông tin học đƣợc khi trao đổi các bản tin LSA, OSPF sẽ xây dựng topology mạng. MOSPF là mở rộng của giao thức định tuyến OSPF và do đó đòi hỏi OSPF nhƣ là giao thức định tuyến cơ sở. Cùng với unicast OSPF, tất cả các MOSPF router trong cùng

Một phần của tài liệu Nghiên cứu IP multicast và các ứng dụng (Trang 28 - 77)

Tải bản đầy đủ (PDF)

(77 trang)