Trong định tuyến đa phát, gói tin từ một nút gửi thường phải được gửi đến nhiều nút nhận và tạo nên một nhóm đa phát. Tất cả các nút có thể đồng thời gửi dữ liệu, và bất kỳ nút nào cũng có thể tham gia và rời khởi nhóm một cách tùy ý. Trong các mạng tự hợp di động với các nhược điểm đã nêu ở phần trên, định tuyến đa phát trở thành vấn đề rất phức tạp.
Những năm gần đây, nhiều giao thức định tuyến đa phát cho các mạng tự hợp di động đã được phát triển, một số thì dựa trên cơ chế thụ động , các đường đi được khám phá khi có nhu cầu; một số khác lại dựa trên cơ chế chủ động như định kỳ gửi phát tràn hoặc định kỳ cập nhất bảng định tuyến.
3.4.4.1 Multicast Ad hoc On-demand Distance Vector - MAODV
Giao thức MAODV [8] được phát triển từ giao thức AODV. Nó lưu trữ một cây dùng chung chứa các nút nhận và các nút chuyển trung gian cho mỗi nhóm đa phát. Giao thức phát hiện một tuyến đường đa phát khi có yêu cầu thông qua cơ chế gửi gói tin quảng bá.
Thành viên đầu tiên của nhóm đa phát trở thành “ nút leader” của nhóm. Nút leader lưu giữ và quảng bá một số thứ tự cho nhóm đa phát thông qua gói tin HELLO. Các nút sử dụng thông tin trong gói HELLO đề cập nhật bảng yêu cầu của chúng.
Khi một nút muốn tham gia vào nhóm đa phát, nút sẽ gửi gói tin truy vấn tìm đường đi (RREQ) tới nút leader thông qua đơn phát hoặc gửi quảng bá. Chỉ có nút leader hoặc các nút thành viên của nhóm có số thứ tự cao hơn nút truy vấn mới được phép gửi phản hồi cho nó. Khi các nút như thế nhận được gói tin RREQ, nút sẽ chon số thứ tự lớn nhất và số chặng nhỏ nhất để gửi đơn phát gói tin phản hồi RREP cho nút truy vấn. Gói RREP chứa khoảng cách từ nút gửi phản hồi tới nút leader và số thứ tự hiện thời của nhóm. Khi nút truy vấn nhận được nhiều gói RREP nó sẽ chọn gói có số thứ tự lớn nhất và gần nút leader nhất, sau đó nút gửi gói MACT tới chặng tiếp theo để khởi tạo tuyến đường.
(ERS) để duy trì cây đa phát. Khi link lỗi giữa hai nút được phát hiện, nút bị tách rời sẽ gửi gói tin RREQ sử dụng ERS. Các nút gần leader hơn sẽ gửi phản hồi. Nếu nút không nhận được phản hồi, nó tự mình xây dựng cây đa phát mới.
o Nhận xét :
Trở ngại lớn nhất của MAODV là độ trễ cao và overhead lớn. Hơn nữa tỉ lệ nhận gói tin thấp trong các mô phỏng có nút mạng di chuyển nhiều, số lượng nút thành viên lớn, và độ tải cao. Trường hợp tồi tệ nhất xảy ra khi nút leader bị lỗi.
Hình 3.4 – Giao thúc MAODV
3.4.4.2 On-Demand Multicast Routing Protocol
On-demand Multicast Routing Protocol hay ODMRP [8] là giao thức đa phát dựa trên nút nguồn. Ở đây chúng ta quan tâm đến thuật ngữ “nhóm chuyển” – là tập các nút chuyển gói dữ liệu đa phát.
Khi nguồn đa phát có dữ liệu để gửi nhưng không có bất ký thông tin định tuyến nào, nút sẽ phát tràn gói tin JOIN DATA. Khi một nút nhận được một gói tin JOIN DATA gốc, nó lưu lại ID nút gửi và tiếp túc gửi quảng bá gói tin đó. Khi gói JOIN DATA đến được nút nhận, nút nhận sinh gói tin JOIN TABLE và gửi quảng bá cho các hàng xóm của nó. Khi một nút nhận đượcgói JOIN TABLE, nếu ID của nút bằng với giá trị trường next ID của một trong các entry thuộc JOIN TABLE thì nút sẽ quyết định mình nằm trên đường đi tới nguồn, điều này đồng nghĩa với việc nút này thuộc về “nhóm chuyển”. Sau đó nó bắt đầu gửi quảng bá gói JOIN TABLE của chính nó. Gói JOIN TABLE được gửi qua từng thành viên trong nhóm chuyển cho đến khi tới được nguồn đa phát.
Các nút gửi cập nhật thông tin về các nút thành viên bằng cách gửi định kỳ các gói JOIN DATA. Các nút tự do rời khởi nhóm và không cần gửi bất kỳ gói tin nào vào mạng.
o Nhận xét :
Hạn chế chính của quá tải do các gói tin điều khiển gây nên trong quá trình duy trì nhóm chuyển và phát tràn gói tin toàn mạng.
Hạn chế thứ hai chính là hiện tượng nhân bản các gói tin trong mạng
Cuối cùng, các nút nguồn phải là thành viên của mạng lưới đa phát cho dù chúng không muốn nhận các gói đa phát.
Hình 3.5 – Giao thức ODMRP
3.5 Những thách thức khi triển khai công nghệ ngang hàng trong các
mạng tự hợp di động
Kiến trúc các mạng ngang hàng và tự hợp di động có rât nhiều triển vọng để kết hợp với nhau. Mặc dù chúng xây dựng và hoạt động trên các lớp khác nhau, nhưng ý tưởng kết hợp hai kiến trúc có tính khả quan rất cao. Tuy nhiên , để thu được một hệ thống hoạt động hiệu quả khi kết hợp hai kiến trúc thì điều cần thiết là phải xây dựng một tầng kết nối trung gian giữa chúng.
Các ứng dụng ngang hàng có các thuật toán tối ưu để tìm kiếm thông tin trong tầng mạng xếp chồng của chúng, nhưng để gửi dữ liệu chúng dựa trên TCP và các kết nối bền vững. Bất cứ lúc nào kết nối bị lỗi, các nút ngang hàng cho rằng nút đối tác của mình rời khỏi mạng và nút sẽ chuyển sang nút đối tác khác, một nút được chọn ngẫu nhiên.
Trong mạng tự hợp di động, các liên kết thường xuyên bị phá vỡ bởi các nút luôn di chuyển. Bất cứ khi nào hai nút kế nhau di chuyển ra ngoài tầm phủ sóng nhau thì liên kết giữa chúng bị phá vỡ. Một giao thức trong mạng tự hợp di động không biết về các ứng dụng ngang hàng, có gắng khởi tạo lại một đường đi mới tới nút đích cũ. Trong khi đó việc tạo một đường đi mới tới đích cũ sau khi mô hình mạng bị thay đổi, các nguồn khác có thể hiệu quả hơn. Do vậy các nút mạng tự hợp di động phải thông báo những đường đi bị lỗi với nút mạng ngang hàng ở tầng trên.
Bởi vì đa số mạng ngang hàng được triển khai trên cơ sở hạ tầng những mạng cố định, nút trong mạng ngang hàng không phân biệt giữa nút đối tác ở gần hay ở xa. Các mạng ngang hàng chỉ sử những kết nối đa chặng cho quá trình truy vấn tìm kiếm. Và sử dụng kết nối TCP để truyền dữ liệu giữa nút nguồn và nút đích. Khoảng cách giữa các nút không ảnh hưởng đến hoạt động của kết nối. Do vậy, các nút ngang hàng có thể lấy được những dữ liệu ở xa hoàn toàn tương tự ở gần.
Khoảng cách giữa hai đầu kết nối trong mạng tự hợp di động được đo bằng số chặng trung gian giữa chúng. Đây là tham số quan trọng trong định tuyến. Đường di quá dài sẽ làm tăng quá tải định tuyến, cũng như tăng độ trễ phiên truyền gói tin, kéo theo giảm hiệu năng toàn mạng. Do vậy, các ứng dụng máy khách phải sắp xếp các truy vấn đến tùy theo khoảng cách từ chúng tới nút dích. Như vậy, một cơ chế kết hợp giữa mạng ngang hàng và tự hợp di động phải phải phù hợp với kiến trúc tầng bên dưới và cả lớp xếp chồng trên tầng ứng dụng.
Các nút mạng có tài nguyên giới hạn, chẳng hạn năng lượng pin, dung lượng bộ nhớ, tốc độ xử lý, băng thông ….. khiên vấn đề trở nên phức tạp hơn nhiều lần. Hệ quả khiến các hệ thống ngang hàng di động sử dụng những tài nguyên này sao cho hiệu quả nhất.
Chương 4: Giao thức phân bổ nội dung ngang hàng trong các mạng tự
hợp di động P2MAN
Chương này giới thiệu về giao thức phân bổ nội dung P2MAN.
4.1 Giới thiệu chung
P2MAN dựa trên giao thức đa phát PUMA nhằm đạt được phân bổ nội dung tin cậy trên tầng ứng dụng . Trong giao thức PUMA , các nút nhận sẽ khởi tạo một mesh dùng chung để nhận dữ liệu.
Peer-to-MANETs (P2MAN) là một giao thức phân bổ nội dung cho các mạng tự hợp di động. P2MAN sử dụng các nhóm đa phát để phân bổ nội dung, và một nhóm đa phát đặc biệt gọi là “nhóm đa phát dùng chung” - PC để truyền các gói tin điều khiển.
Khi một nút P2MAN khởi động nó tham gia vào nhóm đa phát PC để trao đổi các gói tin điều khiển. Tất cả các nút muốn chia sẻ dữ liệu là thành viên của nhóm PC. Vị trí của dữ liệu không được lưu tại bất kỳ nút mạng nào. Để tìm kiếm một đối tượng dữ liệu nào đó, nút nhận sẽ gửi thông điệp truy vấn đến nhóm đa phát dùng chung mà không cần phát tràn gói tin đó trong toàn mạng. Các nút mang dữ liệu được truy vấn, thông qua nhóm PC sẽ được phát hiện. Và thông qua nhóm PC nút sẽ gửi thông điệp trả lời đến nút yêu cầu đối tượng dữ liệu. Thông điệp trả lời có chứa các chỉ dẫn để nút yêu cầu có thể nhận được dữ liệu mong muốn.
Giống như trong hầu hết các mạng ngang hàng, P2MAN sẽ chia nhỏ dữ liệu để phân bổ. Nút có dữ liệu sẽ quyết định cách thức chia nhỏ dữ liệu thành các mảnh, đồng thời cũng quyết định nhóm đa phát nào sẽ được sử dụng để gửi dữ liệu. Thông điệp phản hồi chứa các thông tin chỉ dẫn như : tên đối tượng dữ liệu, địa chỉ nhóm đa phát sẽ được sử dụng để truyền dữ liệu, số lượng và kích thước các mảnh…. Nút nhận sẽ tham gia vào nhóm đa phát được chỉ định trong gói tin phản hồi , gửi một gói tin xác nhận vào nhóm PC và bắt đầu quá trình nhận dữ liệu. Sau khi nhận được gói tin phản hồi đầu tiên, nút nhận sẽ lờ đi tất cả các gói phản hồi đến sau đó. Như vậy, nút quyết định sẽ chỉ nhận dữ liệu từ một nút gửi duy nhất.
Do đặc tính di động của các nút trong mạng tự động di hợp, chúng ta sẽ không nhận được bất kỳ sự tin cậy nào từ tầng giao vận trong quá trình truyền dữ liệu như ở
thức TCP. Trong P2MAN, phiên truyền tin cậy sẽ được thực thi ở tầng ứng dụng nhờ cơ chế sửa lỗi. Khi một nút khởi động cơ chế sửa lỗi , nó sẽ khởi động lại quá trình truy vấn dữ liệu. Tuy nhiên, trong thông điệp truy vấn lần này sẽ chứa các thông tin hướng dẫn, theo đó nút gửi sẽ chỉ gửi lại các mảnh lỗi.
Kết quả đánh giá cho thấy giao thức phân bổ nội dung P2MAN hoạt động hiệu quả trong trong các trường hợp gia tăng nút truy vấn, gia tăng kích thước đối tượng dữ liệu và các nút mạng di chuyển.