Thuật toán MAR-AODV

Một phần của tài liệu Nghiên cứu nâng cao hiệu năng giao thức định tuyến cho mạng MANET (Trang 94 - 103)

3.3.2.1 Ý tƣởng của thuật toán

Một trong những vấn đề gây ra tình trạng nghẽn lưu lượng trong mạng MANET là do mật độ lưu lượng phân phối đến các nút trung gian không đồng đều. Nguyên nhân là do cơ chế khám phá lộ trình của thuật toán định tuyến, có nhiều nút chứa nhiều lộ trình đi qua nó. Để khắc phục điều này, tác giả tích hợp tác tử vào các thuật toán điều khiển định tuyến để tính toán trọng số của nút mạng để cập nhật thông tin về mật độ lưu lượng tại nút đó. Mật độ lưu lượng của một nút được xác định theo một hàm nhiều biến, trong đó các biến được đưa vào là những tham số liên quan đến trạng thái của nút mạng, như số nút láng giềng, tổng số lộ trình đi qua nút đó. Ý tưởng của giải pháp cải tiến thuật toán AODV sử dụng tác tử là đưa các tham số này vào hàm tính toán trọng số (3.6) trong đó đưa các tham số trên vào trong quá trình tính toán CP của quá trình điều khiển khám phá lộ trình. Các tham số này được cập nhật bởi tác tử FA và BA. Thuật toán cải tiến sẽ lựa chọn lộ trình

80

sao cho tỷ lệ này là nhỏ nhất nghĩa là tham số tắc nghẽn CP tại nút càng nhỏ thì chọn đường qua nút đó nhằm hạn chế tắc nghẽn tại các nút trung gian.

Với tưởng trên, tác giả đã đề xuất thuật toán cải tiến có tên là MAR-AODV, thuật toán này được trình bày chi tiết trong các phần tiếp theo dưới đây.

3.3.2.2 Mô tả thuật toán

Thuật toán MAR-AODV được thực hiện trên cơ sở cải tiến thuật toán AODV, quá trình định tuyến cũng được thực hiện qua 2 giai đoạn là khám phá lộ trình và duy trì lộ trình. Ở mỗi giai đoạn thuật toán cũng sử dụng tác tử để điều khiển định tuyến để chọn đường đi phù hợp theo thông tin trạng thái của nút mạng.

Giai đoạn khám phá lộ trình được thực hiện theo các bước như thuật toán AODV đã được mô tả chi tiết ở mục 2.2.2 của Chương 2. Trong giai đoạn khám phá lộ trình, tác giả cũng tích hợp tác tử bằng tác tử FA gửi kèm theo gói RREQ và tác tử BA gửi kèm theo gói RREP để cập nhật thông tin trạng thái nút mạng. Cấu trúc của tác tử FA và BA được mô tả như mục 3.2.3. Các bước của giai đoạn khám phá lộ trình trong thuật toán MAR-AODV được mô tả như sau:

Bƣớc 1: Xét các gói RREQ và tác tử FA được gửi kèm đã được xử l chưa? Nếu đã

được xử lý thì nó sẽ loại bỏ gói RREQ và không xử l thêm. Ngược lại chuyển qua bước 2.

Bƣớc 2: Nếu trong bảng định tuyến của nó chứa đường đi đến đích, thì sẽ kiểm tra

giá trị DSN trong nút chứa thông tin về đường đi với số DSN trong gói RREQ, nếu số DSN trong RREQ lớn hơn số DSN trong thông tin tại nút thì nó sẽ không sử dụng thông tin trong của bảng định tuyến để trả lời cho nút nguồn mà nó sẽ tiếp tục phát quảng bá gói RREQ đó đến cho các nút láng giềng của nó. Ngược lại nó sẽ phát đơn hướng gói RREP kèm theo tác tử BA ngược trở lại cho nút láng giềng của nó để báo đã nhận gói RREQ. Gói RREP ngoài các thông tin như: địa chỉ nguồn, địa chỉ đích còn chứa các thông tin: DSN, Hop count, TTL. Tác tử BA được gửi kèm chứa thông tin là mức độ tắc nghẽn của nút đang xét trong trường CP. Ngược lại thì qua bước 3.

Bƣớc 3: Nếu trong bảng định tuyến của nó không có đường đi đến đích thì nó sẽ tăng số Hop count lên 1, đồng thời nó sẽ tự động thiết lập một đường đi ngược từ nó đến nút nguồn bằng cách ghi nhận lại địa chỉ của nút láng giềng mà nó nhận gói RREQ lần đầu tiên. Bảng thông tin chứa đường đi ngược này sẽ được tồn tại trong một khoảng thời gian đủ để gói RREQ tìm đường đi đến đích và gói RREP phản hồi cho nút nguồn, sau đó thông tin này sẽ được xóa đi.

81

Quá trình kiểm tra này sẽ lặp tuần tự cho đến khi gặp nút đích hoặc một nút trung gian mà có các điều kiện theo yêu cầu của bước 2. Trong quá trình trả về gói RREP và tác tử BA, một nút có thể nhận cùng lúc nhiều gói RREP và tác tử BA, khi đó nó sẽ chỉ xử lý gói RREP có số DSN lớn nhất, hoặc nếu cùng số DSN thì nó sẽ chọn gói RREP có số giá trị CP trong tác tử BA gửi kèm nhỏ nhất. Sau đó nó sẽ cập nhật các thông tin cần thiết vào trong bảng định tuyến của nó, sau đó chuyển gói RREP và tác tử BA đi đến nút kế tiếp.

Điểm khác biệt của thuật toán MAR-AODV so với thuật toán AODV là lựa chọn lộ trình dựa trên tham số CPd trong tác tử BA khi một nút nhận được nhiều gói tin phản hồi RREP. Giá trị của CPd được ước lượng bằng tỷ lệ giữa tổng số lộ trình đi qua nút đang xét và tổng số lộ trình đã thiết lập trong mạng. CPd được tính theo hàm sau:

A d d R R CP  (3.8)

Với Rd là tổng số lộ trình đi qua nút trung gian đang xét, RA là tổng số lộ trình trên toàn mạng.

Để thấy rõ nguyên lý hoạt động và việc cập nhật trọng số của các kết nối theo hàm (3.6) với các tham số CPd được tính theo hàm (3.8) được thực hiện bởi tác tử FA và BA của thuật toán MAR-AODV. Tác giả đưa ra ví dụ như Hình 3.20 trong đó giả sử có một yêu cầu khám phá lộ trình để truyền từ nút 1 đến nút 6 và đây là yêu cầu thứ 50. Tình trạng tắc nghẽn và trọng số của các kết nối ở thời điểm hiện tại và các giá trị được ghi tại nút mạng và trên các đường kết nối. Giá trị CPd được tính theo hàm (3.8) và trọng số đường đi Wsd được tính toán theo hàm (3.6) với kết quả như trên Bảng 3.5. Cơ chế cập nhật thông tin trạng thái của các nút mạng bằng tác tử được thực hiện theo các bước như sau:

- Đầu tiên, nút nguồn (nút 1) gửi các tác tử FA đến các nút láng giềng của nó với cấu trúc FA(50, 1, 6), nghĩa là khám phá lộ trình cho yêu cầu thứ 50 từ nút 1 đến nút 6;

- Các nút láng giềng sau khi nhận được tác tử FA sẽ phân tích thông tin để xem chính nó có phải là nút đích hay không, nếu không, tiếp tục gửi FA đến các nút láng giềng tiếp theo. Lặp lại cho đến khi gửi đến nút đích (Hình 3.21a);

- Sau khi tác tử FA được gửi đến đích, nút đích sẽ thực hiện gửi về nút nguồn các tác tử BA theo các lộ trình đã chọn để cập nhật thông tin về tình trạng tắc nghẽn tại mỗi nút tại thời điểm hiện tại (Hình 3.21b);

82

Hình 3.20 Minh họa các lộ trình truyền dữ liệu trong mạng MANET Bảng 3.4 Mô tả các lộ trình trong tô pô theo Hình 3.20

Lộ trình Đƣờng đi chi tiết của lộ trình

1→6 1→4→7→6 3→1 3→2→1 3→4 3→2→1→4 1→7 1→2→6→7 1→3 1→2→3 6→1 6→3→5→1

Bảng 3.5 Mức độ tắc nghẽn và trọng số của các kết nối của MAR-AODV

Nút Rd RA MAR-AODV CPd Wsd 1 1 6 0,166666667 2,728 2 4 6 0,166666667 28,000 3 1 6 0,166666667 2,728 4 1 6 0,166666667 2,728 5 1 6 0,166666667 2,728 6 1 6 0,166666667 2,728 7 1 6 0,166666667 2,728

Dựa trên thông tin của tác tử BA, thuật toán MAR-AODV sẽ thực hiện tính toán lại trọng số của các kết nối theo hàm (3.8) cho giá trị CP và hàm (3.6) cho giá trị Wsd, sau đó lựa chọn lộ trình có trọng số Wsd nhỏ nhất. Giá trị trọng số được tính toán lại dựa trên tác tử BA được trình bày như Bảng 3.5.

83

Quá trình gửi phản hồi tác tử BA được thực hiện như Hình 3.21b, trọng số được cập nhật theo các bước như sau:

Nút 6 gửi BA đến các nút láng giềng: + 6  2: CP6 = 0,166  W26 = 2,728 (theo Bảng 3.5) + 6  3: CP6 = 0,166  W36 = 2,728 + 6  7: CP6 = 0,166  W76 = 2,728 Nút 2 gửi BA đến các nút láng giềng: + 2  1: CP2 = 0,166  W12 = 28 (theo Bảng 3.5)  W16 = W12 + W26 = 28 + 2,728 = 30,728 Nút 3 gửi BA đến các nút láng giềng: + 3  2: CP3 = 0,166  W23 = 2,728 (theo Bảng 3.5)  W16 = W12 + W23 + W36 = 28 + 2,728 + 2,728 = 33,456 + 3  5: CP3 = 0,166  W53 = 2,728 (theo Bảng 3.5) Nút 7 gửi BA đến các nút láng giềng: + 7  4: CP7 = 0,166  W47 = 2,728 (theo Bảng 3.5) Nút 5 gửi BA đến các nút láng giềng: + 5  1: CP5 = 0,166  W15 = 2,728 (theo Bảng 3.5)  W16 = W15 + W53 + W36 = 2,728 + 2,728 + 2,728 = 8,184 Nút 4 gửi BA đến các nút láng giềng: + 4  1: CP4 = 0,166  W14 = 2,728 (theo Bảng 3.5)  W16 = W14 + W47 + W76 = 2,728 + 2,738 + 2,728 = 8,184

84

(a) Quá trình gửi tác tử FA b) Quá trình gửi tác tử BA Hình 3.21. Quá trình khám phá lộ trình trong thuật toán MAR-AODV Bảng 3.6. Cập nhật trọng số sử dụng tác tử BA của thuật toán MAR-AODV Nút gửi BA Nút nhận BA 1 2 3 4 5 6 7 1 (1;6;2;30,728) (1;6;2;33.456) (1;6;4;8,184) (1;6;5;8,184) 2 (1;6;3;5,456) (1;6;6;2,728) 3 (1;6;6;2,728) 4 (1;6;7;5,456) 5 (1;6;3;5,456) 6 7 (1;6;6;2,728)

Với kết quả về trọng số như trong Bảng 3.6 lộ trình được chọn là 1  5  3  6 với tổng trọng số là 8,184 hoặc lộ trình 1  4  7  6. Nếu không sử dụng tác tử để cập nhật thông tin về trạng thái tắc nghẽn tại các nút thì lộ trình được chọn sẽ là 6  2  1. Vì theo thuật toán AODV, lộ trình có tổng số Hop count nhỏ nhất luôn được chọn. Nếu chọn lộ trình này thì khả năng nghẽn tại nút 2 là rất lớn. Với thuật toán MAR-AODV, lộ trình được chọn luôn tránh những nút có mức tắc nghẽn cao, điều này sẽ giảm được xác suất gói tin rơi.

3.3.2.3 Mô phỏng và đánh giá kết quả

Để đánh giá hiệu quả thực thi của thuật toán MAR-AODV, tác giả thực hiện mô phỏng trên OMNeT++[8], so sánh với các thuật toán AODV đã được cài đặt trong mô đun adHocSim[8]. Kịch bản mô phỏng được thực hiện như mô tả ở mục 3.1.4.1 và mục 3.3.1.3

85

trong đó khối Router thực thi thuật toán MAR-AODV, khối MobileAgent thực thi việc điều khiển các tác tử FA, BA. Trong đó, tất cả các nút đều thực hiện phát và nhận dữ liệu.

Kết quả mô phỏng trên Hình 3.22 đánh giá xác suất gói tin rơi của thuật toán AODV và MAR-AODV theo tốc độ di chuyển trung bình của nút mạng. Ta thấy rằng, thuật toán MAR-AODV thực thi hiệu quả hơn thuật toán AODV về mặt xác suất gói tin rơi trong trường hợp tốc độ di chuyển của mỗi nút là trung bình (khoảng từ 6 m/s đến 21 m/s). Vì vậy, trong trường hợp này, tỷ lệ phát gói tin thành công của MAR-AODV cao hơn AODV và được thể hiện rõ trên Hình 3.22.

Hình 3.22. Xác suất gói tin rơi của AODV và MAR-AODV theo tốc độ di chuyển của nút

Kết quả mô phỏng trên Hình 3.23 là xác suất gói tin rơi của thuật toán AODV và MAR-AODV theo mật độ lưu lượng trung bình trong mạng. Ta thấy rằng, thuật toán MAR-AODV thực thi hiệu quả hơn thuật toán AODV về mặt xác suất gói tin rơi trong trường hợp mật độ lưu lượng trung bình trên mạng trong khoảng từ 40% đến 80%.

Vì vậy, trong trường hợp này, tỷ lệ phát gói tin thành công của thuật toán MAR- AODV cao hơn thuật toán AODV và được thể hiện rõ trên Hình 3.24. Đây là một kết quả có nghĩa trong việc áp dụng tác tử vào điều khiển quá trình định tuyến của giao thức định tuyến AODV.

86

Hình 3.23. Xác suất gói tin rơi của AODV và MAR-AODV theo mật độ lưu lượng

Hình 3.24. Tỷ lệ phát gói tin thành công của AODV và MAR-AODV theo tốc độ di chuyển của nút mạng 0.00 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10 0.11 0.12 0.13 0.14 10 20 30 40 50 60 70 80 90 Mật độ lưu lượng (%) c su ất g ó i ti n r ơ i AODV MAR_AODV

87

Hình 3.25 Tỷ lệ phát gói tin thành công của AODV và MAR-AODV theo mật độ lưu lượng

Tiếp theo, phân tích trễ truyền gói tin trung bình của AODV và MAR-AODV. Từ kết quả trên Hình 3.26 ta thấy rằng, trễ truyền gói tin trung bình của hai thuật toán là tương đương khi tốc độ di chuyển trung bình của các nút thay đổi. Ngoài ra, khi mật độ lưu lượng trung bình trong mạng tăng thì trễ truyền gói tin cũng tăng như Hình 3.27 thuật toán MAR- AODV tăng cao hơn so với thuật toán AODV, tuy nhiên mức độ tăng là không đáng kể.

Hình 3.26. Trễ truyền gói tin trung bình của AODV và MAR-AODV theo tốc độ di chuyển của nút mạng

88

Hình 3.27. Trễ truyền gói tin trung bình của AODV và MAR-AODV theo mật độ lưu lượng của nút mạng

Qua những kết quả mô phỏng được trình bày ở trên tác giả đánh giá rằng, việc tích hợp tác tử vào điều khiển định tuyến trong thuật toán MAR-AODV làm giảm xác suất gói tin rơi, nâng cao tỷ lệ phát gói tin thành công, đồng thời cũng không làm ảnh hưởng nhiều đến độ trễ truyền gói tin trung bình trong mạng so với thuật toán AODV.

3.3.3 Thuật toán MAR2-AODV 3.3.3.1 Mô tả thuật toán

Một phần của tài liệu Nghiên cứu nâng cao hiệu năng giao thức định tuyến cho mạng MANET (Trang 94 - 103)