Thuật toán triển khai hàm Fitness trong giao thức FF-AOMDV được trình bày trong Thuật toán 2.
Input: Topo mạng
Output: Đường tối ưu 1
1: Xác định nút nguồn và nút đích
2 2: Nút nguồn khởi tạo yêu cầu tìm đường bằng gói RREQ 3: Nút nguồn gửi quảng bá gói RREQ tới các nút láng giềng 4: Nút trung gian nhận được gói RREQ
5: Bổ sung đường nghịch đi tới nút nguồn vào bảng Source Routing Table 6: Khởi tạo gói Beacon
7: Quảng bá gói Beacon và gói RREQ tới các nút láng giềng
8: Với mỗi nút trung gian trong mạng khi nhận được gói Beacon và RREQ: 9 9: iffoundnew_route nr then
10: if (Enr >= Ecurrent) and (DTnr <= DTcurrent) then
11: rcurrent = rnr; 1
12: end if 1
13: end if
Thuật toán 2. Cơ chế chọn đường của hàm Fitness của giao thức FF-AOMDV
Trong Thuật toán 2, ngoài cơ chế sử dụng các gói RREQ, RREP và RRER để khai phá đường, trả lời đường và bảo trì đường, giao thức FF- AOMDV còn sử dụng gói Beacon để thu thập thông tin về năng lượng của các nút mạng và khoảng cách đi tới các nút mạng. Khi một nút trung gian trong mạng nhận được gói Beacon và gói RREQ, nếu có thông tin về đường mới (new_route nr) thì đường mới sẽ được hàm Fitness coi là đường tối ưu và được sử dụng để định tuyến dữ liệu khi nó thoả mãn điều kiện: (1) năng lượng của đường mới lớn hơn năng lượng đường hiện tại và (2) độ dài đường mới nhỏ hơn độ dài đường hiện tại.
Để hiểu rõ hơn về hoạt động của hàm Fitness của giao thức định tuyến FF-AOMDV, xét một tình huống cụ thể trong Hình 2.3.
32
Hình 2.1. Ví dụ chọn đường tối ưu trong giao thức FF-AOMDV
Trong Hình 2.1, giao thức FF-AOMDV ban đầu quảng bá một gói RREQ để yêu cầu thu thập thông tin liên quan đến các đường sẵn có hướng tới nút đích, trong đó hàm Fitness thực hiện việc quét trên mạng để xác định vị trí các nút có mức năng lượng cao hơn (các nút màu đỏ ). Nút nguồn sau đó sẽ nhận được một gói RREP chứa thông tin về các đường có đi tới đích cùng mức năng lượng của chúng. Hàm Fitness sẽ thực hiện việc tính toán mức năng lượng của từng con đường, sau đó sẽ tìm đường có mức năng lượng cao nhất. Tiếp theo thông tin về khoảng cách của tuyến đường này sẽ được xem xét.
Đường tối ưu là đường có mức năng lượng cao nhất và khoảng cách ngắn nhất. Nếu đường có mức năng lượng cao nhất, nhưng không có khoảng cách ngắn nhất, nó cũng có thể được chọn nhưng với mức độ ưu tiên ít hơn. Trong một số trường hợp khác, nếu các nút trung gian nằm giữa nguồn và
33
đích có mức năng lượng thấp hơn so với các nút khác trong mạng, hàm Fitness sẽ chọn đường dựa trên khoảng cách ngắn nhất hiện có.
2.4. Tổng kết Chƣơng 2
Hàm Fitness là một kỹ thuật tối ưu trong số nhiều kỹ thuật tối ưu hóa như giải thuật di truyền, thuật toán bầy đàn,... Hàm Fitness tìm kiếm yếu tố các quan trọng nhất trong quá trình tối ưu tùy theo mục đích của nghiên cứu. Trong mạng MANET, yếu tố tối ưu phù hợp thường là năng lượng, khoảng cách, độ trễ và băng thông. Điều này phù hợp với lý do thiết kế giao thức định tuyến, vì chúng nhằm mục đích nâng cao hiệu quả sử dụng tài nguyên mạng.
Hàm Fitness được sử dụng là một phần của thuật toán tối ưu bầy đàn (PSO). Nó được sử dụng với các mạng cảm biến không dây để tối ưu hóa việc tìm kiếm các đường dự phòng trong trường hợp đường chính bị lỗi.
Thuật toán PSO được khởi tạo với một tập hợp các giải pháp ứng viên ngẫu nhiên, được khái niệm dưới dạng các cá thể. Mỗi cá thể được gán một vận tốc ngẫu nhiên và chuyển động lặp đi lặp lại trong không gian bài toán. Nó bị hút về những vị trí mà hàm Fitness của chính nó và hàm fitness của toàn bộ quần thể đạt giá trị tốt nhất. Đã có nhiều nghiên cứu đề xuất sử dụng thuật toán PSO chứa hàm Fitness để chọn đường tối ưu trong bài toán định tuyến dành cho mạng MANET.
Giao thức định tuyến đa đường FF-AOMDV là một giao thức định tuyến đa đường. Đây là giao thức định tuyến kết hợp của hàm Fitness và giao thức định tuyến AOMDV. Giao thức FF-AOMDV sẽ bắt đầu quá trình khám phá đường mới khi tất cả các đường đến đích đều bị lỗi. Trong trường hợp đường hiện tại bị lỗi, nút nguồn sẽ chọn một đường dự phòng từ bảng định tuyến của nó. Đây là đường ngắn nhất với mức tiêu thụ năng lượng tối thiểu. Đường tối ưu với khoảng cách đến đích ngắn hơn sẽ tiêu tốn ít năng lượng hơn.
34
CHƢƠNG 3. ĐÁNH GIÁ HIỆU NĂNG CỦA GIAO THỨC ĐỊNH TUYẾN FF-AOMDV
3.1. Các độ đo đánh giá hiệu năng
Để so sánh, đánh giá hiệu năng 3 giao thức FF-AOMDV, AOMR-LM và AOMDV, có 6 độ đo được sử dụng, bao gồm:
1. Tỷ lệ truyền thành công: là tỷ lệ số gói dữ liệu nút đích nhận được so với số gói dữ liệu được tạo bởi nút nguồn. Độ đo này cho thấy chất lượng của giao thức định tuyến trong việc phân phối các gói dữ liệu từ nguồn đến đích. Tỷ lệ này càng cao, hiệu năng của giao thức định tuyến càng tốt. PDR được tính theo công thức (5).
Trong đó, PDR là tỷ lệ truyền gói thành công, nr là số gói tin nút đích nhận được và ns là số gói tin nút nguồn gửi đi.
2. Thông lƣợng: là lượng dữ liệu mà nút đích đã nhận thành công trong một đơn vị thời gian, có đơn vị là số bit nhận được trong một giây (bps). Thông lượng đo lường hiệu quả của giao thức định tuyến trong việc nhận các gói dữ liệu tại nút đích. Thông lượng được tính theo công thức (6)
Trong đó, TP là thông lượng tính theo đơn vị bps; nr là số gói tin nút đích nhận được; sp là kích thước 1 gói tin tính theo đơn vị byte.
3. Trễ đầu cuối: là thời gian trung bình cần thiết để truyền một gói dữ liệu từ nút nguồn tới nút đích. Thời gian này gồm tất cả các loại trễ như trễ trong hàng đợi, thời gian truyền và chuyển tiếp, trễ truyền lại MAC, trễ tại bộ đệm trong thời gian chờ khám phá đường. Trễ đầu cuối được tính theo công thức (7). ∑ (5) (6) (7)
35
Trong đó, DE2E là trễ đầu cuối (đơn vị giây); tri thời gian nút đích nhận được gói tin thứ i, tsi là thời gian nút nguồn bắt đầu truyền gói tin i; n là số gói tin nhận được.
4. Mức tiêu thụ năng lƣợng: Mức tiêu thụ năng lượng đề cập đến lượng năng lượng mà các nút mạng sử dụng trong thời gian mô phỏng. Giá trị này được xác định tổng chêch lệch năng lượng tại mỗi nút ở cuối mô phỏng so với năng lượng ban đầu của nó và được tính theo công thức (8).
∑ ( )
Trong đó, EC là mức tiêu thụ năng lượng (đơn vị jun); là năng lượng ban đầu của nút thứ k; là năng lượng của nút k khi kết thúc mô
phòng; n là số nút mạng.
5. Thời gian hoạt động của mạng: là thời gian cần thiết để sử dụng hết năng lượng nguồn nuôi của n nút di động, được tính bằng công thức (9).
∑
Trong đó, là thời gian sống của mạng; là năng lượng của nút
i; n là số nút.
6. Chi phí định tuyến: là tỷ lệ tổng số gói tin điều khiển (định tuyến) trên tổng số gói tin dữ liệu đã được phân phối. Giá trị này cho thấy số lượng gói định tuyến trung bình cần thiết để phân phối một gói dữ liệu. Đây chính là chi phí về băng thông bổ sung cần thiết để phân phối dữ liệu, được tính theo công thức (10).
Trong đó, RO là chi phí định tuyến; là số lượng gói tin điều khiển đã sinh ra; là số lượng gói tin dữ liệu đã được gửi.
(8)
(9)
36
3.2. Môi trƣờng và kịch bản mô phỏng
Hiệu quả của hàm Fitness trong giao thức FF-AOMDV đối với hiệu năng mạng MANET được so sánh đánh giá với 2 giao thức AOMR-LM và AOMDV qua 3 kịch bản khác nhau: (1) theo tốc độ nút, (2) theo kích thước gói và (3) theo thời gian mô phỏng. Trong mô phỏng, kiểu phát lưu lượng dữ liệu từ nút nguồn được sử dụng là CBR cho 50 nút di động được phân phối ngẫu nhiên trong vùng mạng có kích thước 1500m x 1500m. Topo mạng được thay đổi ngẫu nhiên vì sự phân bố và chuyển động của các nút mạng là ngẫu nhiên. Phạm vi truyền của mỗi nút được thiết lập là 250 m. Mức năng lượng ban đầu của mỗi nút được thiết lập là 100 jun. Ba kịch bản khác nhau đã được chọn để xem chúng ảnh hưởng như thế nào đến hiệu năng của giao thức FF- AOMDV.
Trong kịch bản đầu tiên, kích thước gói tin được thay đổi lần lượt từ 64 byte đến 128 byte, 256 byte, 512 byte và 1024 byte trong khi tốc độ di chuyển của nút và thời gian mô phỏng được thiết lập cố định tương ứng là 2,5 m/s và 500 giây. Tất cả các thông số mạng khác giống nhau cho tất cả các lần chạy và cho cả 3 giao thức được mô phỏng.
Trong kịch bản thứ hai, tốc độ di chuyển của nút mạng được thay đổi từ 0 m/s đến 2,5 m/s, 5 m/s, 7,5 m/s và 10 m/s trong khi cố định kích thước gói tin là 256 byte và thời gian mô phỏng là 500 giây.
Trong kịch bản thứ ba, thời gian mô phỏng được thay đổi lần lượt là 100 giây tới 200, 300, 400 và 500 giây trong khi thiết lập cố định tốc độ nút được là 2,5 m/s và kích thước gói là 256 byte.
37
Các tham số của mô phỏng được trình bày trong Bảng 3.1.
Tham số Giá trị
Bộ mô phỏng NS-2.34
Tầng MAC 802.11 DCF
Vùng mô phỏng 1500 m x 1500m
Thời gian mô phỏng (100, 200, 300, 400, 500) giây
Giao thức định tuyến FF-AOMDV, AOMR-LM, AOMDV Kiểu lưu lượng dữ liệu CBR (UDP)
Kích thước gói dữ liệu (64, 128, 256, 512, 1024) bytes Năng lượng truyền 0,02 J
Năng lượng nhận 0,01 J
Năng lượng ban đầu 100 J Kích thước hàng đợi 50 gói
Số lượng nút 50
Thời gian tạm dừng 0 giây
Tốc độ di chuyển (0, 2.5, 5.0, 7.5, 10.0) m/s
Mô hình di động Ngẫu nhiên (Random Waypoint) Khoảng cách truyền 250 m
Bảng 3.1. Các tham số của mô phỏng
3.3. Kết quả mô phỏng và phân tích đánh giá hiệu năng
3.4.1. Tỷ lệ truyền thành công
Tỷ lệ truyền thành công được đánh giá theo sự thay đổi về tốc độ di chuyển của các nút mạng, theo sự thay đổi về kích thước gói tin và theo sự thay đổi về thời gian mô phỏng. Kết quả mô phỏng được thể hiện trong Hình 3.1, Hình 3.2 và Hình 3.3.
38
Hình 3.1. Tỷ lệ truyền thành công theo tốc độ nút di chuyển
Hình 3.1 cho thấy sự thay đổi của tỷ lệ truyền thành công cho FF- AOMDV, AOMR-LM và AOMDV. Khi tốc độ nút tăng lên như (0; 2,5; 5,0; 7,5; 10,0) m/s, tỷ lệ truyền thành công giảm. Giao thức FF-AOMDV giảm từ 97,55% xuống 77,8%, AOMR-LM giảm từ 97,7% xuống 74,7% và AOMDV giảm từ 96,79% xuống 67,35%. FFAOMDV có tỷ lệ truyền thành công cao hơn cả AOMRLM và AOMDV. Giao thức định tuyến FF-AOMDV chọn tuyến đường ổn định nhất đến đích. Tuyến đường được chọn có thể là tuyến có mức năng lượng cao nhất và tiêu tốn ít năng lượng hơn các tuyến khác, có lộ trình ngắn nhất. Điều này làm giảm khả năng bị lỗi liên kết và giảm thiểu mất gói.
Hình 3.2. Tỷ lệ truyền thành công theo kích thước gói tin
60 70 80 90 100 0 2,5 5 7,5 10 T ỉ l ệ tr u y ề n th àn h c ô n g ( % ) Tốc độ nút (m/s)
FF-AOMDV AOMR-LM AOMDV
70 80 90 100 64 128 256 512 1024 T ỉ l ệ tr u y ề n th àn h c ô n g ( % )
Kích thước gói tin (byte)
39
Hình 3.2 cho thấy sự thay đổi của tỷ lệ truyền thành công của các giao thức FF-AOMDV, AOMR-LM và AOMDV. Khi kích thước gói tăng lên (64, 128, 256, 512, 1024) bytes, tỷ lệ truyền thành công của cả 3 giao thức định tuyến đều giảm. Cụ thể, giao thức FF-AOMDV giảm từ 95,45% xuống 81,06%, AOMR-LM giảm từ 93,12% xuống 79,9% và AOMDV giảm từ 89,56% xuống 70,67%. Hiệu năng của giao thức FF-AOMDV vượt trội hơn cả giao thức định tuyến AOMR-LM và AOMDV về tỷ lệ truyền thành công vì giao thức FF-AOMDV giảm thiểu việc mất gói bằng cách chọn các đường có độ tin cậy cao hơn (năng lượng lớn hơn) và khoảng cách nhỏ hơn.
Hình 3.3. Tỷ lệ truyền thành công theo thời gian mô phỏng
Hình 3.3 cho thấy ảnh hưởng của thời gian mô phỏng đối với tỷ lệ truyền thành công của các giao thức định tuyến FF-AOMDV, AOMR-LM và AOMDV. Thời gian mô phỏng thay đổi trong khoảng (100, 200, 300, 400 và 500) giây. Khi thời gian mô phỏng tăng lên, tỷ lệ truyền thành công tin cũng tăng lên. Giao thức FF-AOMDV có hiệu suất tốt hơn về tỷ lệ truyền thành công so với cả hai giao thức AOMR-LM và AOMDV. Giao thức FF- AOMDV đạt 75,36% tỷ lệ truyền thành công trong 100 giây thời gian mô phỏng và 77,91% trong 500 giây mô phỏng, giao thức AOMR-LM đạt 74,8% tỷ lệ truyền thành công trong thời gian mô phỏng 100 giây và 77,3% trong
70 72 74 76 78 80 100 200 300 400 500 T ỉ l ệ tr u y ề n th àn h c ô n g ( % ) Thời gian mô phỏng (s)
40
500 giây thời gian mô phỏng và cuối cùng, giao thức AOMDV đạt được 70,23% trong thời gian mô phỏng 100 giây và 76,22% trong thời gian mô phỏng 500 giây. Kết quả chứng minh rõ ràng rằng Giao thức FF-AOMDV có hiệu năng tốt hơn do sử dụng các tuyến đường ngắn và có năng lượng cao để chuyển tiếp lưu lượng dữ liệu, giúp giảm mất gói.
3.4.2. Thông lượng
Tương tự như tỷ lệ truyền thành công, thông lượng cũng được đánh giá theo sự thay đổi về tốc độ di chuyển của các nút mạng, theo sự thay đổi về kích thước gói tin và theo sự thay đổi về thời gian mô phỏng. Kết quả về thông lượng từ các mô phỏng được thể hiện trong Hình 3.4, Hình 3.5 và Hình 3.6.
Hình 3.4. Thông lượng theo tốc độ nút di chuyển
Kết quả sau khi thực hiện mô phỏng chứng minh rõ ràng sự thay đổi của thông lượng đối với FF-AOMDV, AOMR-LM và AOMDV. Các giao thức này có thông lượng khác nhau khi tăng tốc độ nút. Khi tốc độ của các nút di động tăng lên là (0, 2,5, 5, 7,5, 10) m/s, thông lượng của FF-AOMDV giảm từ 1133,08 Kbps xuống 965,94 Kbps, AOMR-LM giảm từ 1129,68 Kbps xuống 923,41 Kbps và AOMDV giảm từ 1130,64 Kbps xuống 721,31 Kbps. Giao thức định tuyến FF-AOMDV có thông lượng cao hơn cả giao thức
700 800 900 1000 1100 1200 0 2,5 5 7,5 10 Th ô n g l ượ n g (k p b s) Tốc độ nút (m/s)
41
AOMDV và AOMR-LM. Trong trường hợp này, các nút không di chuyển (tốc độ bằng 0) hoặc ở tốc độ con người khác nhau. Chuyển động ngẫu nhiên làm cho các nút di chuyển theo các hướng khác nhau cho mỗi lần chạy, giao thức định tuyến FF-AOMDV có thông lượng tốt hơn vì nó chọn các đường hoạt động nhiều nhất đến đích. Các đường này có khoảng cách ít hơn hoặc mức năng lượng nhiều hơn các tuyến khác; do đó liên kết ổn định hơn dẫn đến có ít gói tin bị mất hơn. Điều này dẫn đến thông lượng được tăng lên (Hình 3.4).
Hình 3.5. Thông lượng theo kích thước gói tin
Hình 3.5 cho thấy sự thay đổi của thông lượng của giao thức FF- AOMDV, AOMR-LM và AOMDV. Khi kích thước gói tăng lên (64, 128, 256, 512, 1024) byte, thông lượng các giao thức đều giảm. Thông lượng của giao thức FF-AOMDV giảm từ 1134,78 kbps xuống 981,26 kbps, AOMR-