Để có cơ sở đánh giá hai giao thức định tuyến DSR, AODV cũng như các thuật toán định tuyến cải tiến được đề xuất trong luận án, tác giả thực hiện đánh giá các kết quả nghiên cứu bằng mô phỏng trên phần mềm OMNeT++, sử dụng mô đun INET-MANET [8] là mô đun đã được thiết kế dành riêng cho việc mô phỏng các thuật toán định tuyến cho mạng MANET và mô đun AdHocSim[8] để phát triển các các chương trình mô phỏng. Kịch bản mô phỏng được xây dựng với các tham số cơ bản thống nhất sử dụng trong các trường hợp mô phỏng, đây cũng là kịch bản chung được áp dụng cho các mô phỏng ở phần sau với một số tham số thay đổi theo yêu cầu của từng trường hợp mô phỏng. Các tham số cơ bản được mô tả như sau:
Tổng số nút mô phỏng là 50 hoặc 60, trong đó thiết lập số lượng nguồn phát thay đổi từ 4 đến 20 hoặc số lượng nguồn phát tối đa tùy theo yêu cầu của từng kịch bản mô phỏng
59
Tốc độ kênh: được thiết lập theo chuẩn IEEE 802.11, cụ thể là 11 Mbit/s, tỷ lệ lỗi bit trung bình trên các kênh là 10-6.
Kích thước vùng mô phỏng: 550m x 700m. Kích thước bộ đệm: 1 Mbyte.
Trễ kênh trung bình: 10 s. Loại lưu lượng: CBR.
Giao thức MAC: MACSimple (một giao thức MAC đã được cài đặt sẵn trong OMNeT++). Sử dụng cơ chế truy nhập cơ bản (basic access) [65].
Vùng phủ sóng (radio range): 230 m Kích thước trung bình của gói tin: 512 byte
Thời gian mô phỏng: 120 phút. Với thời gian mô phỏng này, nếu như các nút di chuyển với tốc độ thấp nhất 2 m/s thì mỗi nút vẫn có thể di chuyển đến biên vùng mô phỏng và quay lại hơn 10 lần, để đảm bảo tính tin cậy của các kết quả mô phỏng.
Kịch bản mô phỏng được trình bày trong Phụ lục 1 trong đó trình bày một số giao diện chính của chương trình mô phỏng và một số đoạn mã chương trình chính về phương thức hoạt động của tác tử FA, BA, thực hiện lấy thông tin và tính toán các hàm trọng số.
3.1.4.2 Đánh giá kết quả mô phỏng
Để đánh giá hoạt động về các giao thức DSR và AODV, tác giả thực hiện mô phỏng với kết quả mô phỏng trên Hình 3.1 là sự thay đổi của tỷ lệ phát gói tin thành công theo số lượng nguồn phát. Trong đó, tỷ lệ phát gói tin thành công được định nghĩa bằng tổng số gói tin được phát thành công đến đích trên tổng số gói tin được phát đi tại tất cả các nút trong mạng.
(a) Tốc độ di chuyển trung bình 5 m/s (b) Tốc độ di chuyển trung bình 20 m/s
60
Từ kết quả mô phỏng trên Hình 3.1 ta thấy rằng, trong hầu hết các trường hợp, thuật toán DSR cho kết quả tổng số gói tin phát thành công cao hơn thuật toán AODV. Bên cạnh đó, tỷ lệ phát gói tin thành công của hai giao thức giảm khi số lượng nguồn phát tăng lên.
DSR cho kết quả tương đối ổn định khoảng 80% trong trường hợp số nguồn phát nhỏ hơn 12, trong trường hợp số nguồn phát lớn hơn 12 thì tỷ lệ này giảm dần. Trong khi đó AODV cho kết quả khoảng 90% trong trường hợp số nguồn phát nhỏ hơn 8, sau đó tỷ lệ giảm dần khi số nguồn phát tăng lên.
Kết quả này cho thấy khả năng thích ứng với môi trường mạng mà các nút ổn định của DSR là tốt hơn AODV. Ngoài ra, khi tốc độ di chuyển trung bình của nút thay đổi thì DSR hoạt động hiệu quả hơn AODV.
(a) Tốc độ di chuyển trung bình 5 m/s (b) Tốc độ di chuyển trung bình 20 m/s Hình 3.2. Xác suất tắc nghẽn của DSR và AODV
Kết quả trên Hình 3.3 cho ta thấy xác suất gói tin rơi của các thuật toán DSR và AODV. Trong đó độ đo về xác suất gói tin rơi được định nghĩa bằng tổng số gói tin bị nghẽn trên toàn mạng trên tổng số gói tin được phát đi. Tác giả thấy rằng, thuật toán DSR cho tỷ lệ tắc nghẽn nhỏ hơn AODV trong cả hai trường hợp tốc độ di chuyển của nút trung bình là 5 m/s và 20 m/s. Tuy nhiên, khi số nguồn phát lớn, xác suất tắc nghẽn của thuật toán AODV tăng cao hơn so với thuật toán DSR. Điều này cho thấy rằng giao thức định tuyến AODV hoạt động không ổn định khi tổng số nguồn phát thay đổi.
61
(a) Tốc độ di chuyển trung bình 5 m/s (b) Tốc độ di chuyển trung bình 20 m/s Hình 3.3. Trễ truyền gói trung bình của DSR và AODV
Kết quả trên Hình 3.3 cho ta thấy độ trễ trung bình toàn bộ hệ thống mạng. Trong trường hợp số lượng nguồn phát cố định, độ trễ trung bình của toàn hệ thống tỷ lệ thuận với số lượng nút, AODV có độ trễ trung bình toàn bộ hệ thống lớn hơn DSR, đặc biệt là trong trường hợp số nguồn phát lớn.
Hình 3.4. Trễ truyền gói trung bình của DSR và AODV khi mật độ lưu lượng thay đổi
Trên Hình 3.4, chúng tôi phân tích trễ truyền gói trung bình của thuật toán DSR và AODV trong trường hợp tốc độ di chuyển trung bình của mỗi nút là 20 m/s, số lượng
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 4 6 8 10 12 14 16 18 20 Số lượng nguồn phát T rể t ru y ề n g ó i tr u n g b ìn h ( g iâ y ) DSR AODV 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 4 6 8 10 12 14 16 18 20 Số lượng nguồn phát T rể t ru yề n g ó i tr u n g b ìn h ( g iâ y) DSR AODV
62
nguồn phát là 15. Trong đó, độ đo mật độ lưu lượng trên trục hoành là một khái niệm cần được xác định để có cơ sở trong các tính toán và đánh giá các kết quả mô phỏng. Đối với mạng không dây nói chung và mạng MANET nói riêng, mật độ lưu lượng có nhiều cách định nghĩa tùy theo giả thiết của bài toán hoặc mô hình mạng. Ví dụ, trong trường hợp các nút mạng không dây cố định và các nút đều thực hiện chức năng phát và nhận, thì mật độ lưu lượng có thể xác định bằng tổng dung lượng đường truyền, trong đó tổng dung lượng đường truyền bằng số nút mạng nhân với dung lượng một kênh [2][66]. Theo [67], mật độ lưu lượng được định nghĩa bằng tổng các gói tin phát ra trên một giây của một nút đến tất cả các nút khác trong mạng. Theo [12], mật độ lưu lượng của mỗi nút được định nghĩa bằng tổng lưu lương đi vào các hàng đợi của các nút láng giềng của nó. Với cách định nghĩa này, mật độ lưu lượng tối đa của một nút bằng tổng dung lượng của tất cả các kênh kết nối từ nút đó đến các nút láng giềng của nó.
Qua những phân tích ở trên, trong luận án này tác giả đưa ra định nghĩa mật độ lưu lượng là lưu lượng phát sinh trung bình của mỗi nút so với dung lượng của một kênh, được thiết lập theo hàm như sau:
P L m n % (3.1)
Trong đó: m là số gói dữ liệu được phát sinh trung bình trong một đơn vị thời gian, L là kích thước trung bình của các gói dữ liệu và P là dung lượng của một kênh truyền. Mật độ lưu lượng được định nghĩa theo hàm (3.1) tương đương với tham số tải lưu lượng/dung lượng kênh. Trong định nghĩa này tác giả đưa ra đơn vị theo % để thấy rõ theo tỷ lệ chiếm kênh thay vì sử dụng giá trị trong khoảng [0,1].
Ví dụ: Xét các mô hình mô phỏng mà tác giả đã thực hiện, dung lượng của mỗi kênh theo chuẩn IEEE 802.11 ( 11 Mbit/s). Giả sử cần phát sinh mật độ lưu lượng đầu vào là 75%, các tham số mô phỏng được thiết lập như sau:
Chọn kích thước trung bình của các gói dữ liệu là 512 byte ) / ( 088 , 16 8 512 10 11 % 75 % 6 s gói L P n m (3.2)
Như vậy, cần thiết lập mỗi nút phát sinh trung bình là 16,088 gói/s.
Kết quả mô phỏng ở Hình 3.4 cho thấy rằng, trễ truyền gói tin của cả hai thuật toán gần như giống nhau. Tuy nhiên, thuật toán DSR có tính ổn định hơn, còn thuật toán AODV có sự thay đổi lớn trong khoảng mật độ lưu lượng từ 65% đến 90%.
63
Vì AODV hoạt động không ổn định khi mật độ lưu lượng cao, nên xác suất gói tin rơi cũng cao hơn thuật toán DSR như cho thấy trên Hình 3.5. Khi mật độ lưu lượng từ 75% đến 90% thì xác suất gói tin rơi tăng lên rất lớn, trong khi đó thuật toán DSR hoạt động ổn định hơn.
Hình 3.5. Xác suất gói tin rơi của DSR và AODV khi mật độ lưu lượng thay đổi
Hình 3.6. Tỷ lệ phát gói tin thành công của DSR và AODV khi mật độ lưu lượng thay đổi
64
Về tỷ lệ phát gói tin thành công thì thuật toán DSR cũng hoạt động hiệu quả hơn thuật toán AODV khi mật độ lưu lượng cao. Kết quả mô phỏng trên Hình 3.6 cho ta thấy rõ điều này. Khi mật độ lưu lượng từ 30 đến 60% thì AODV có tỷ lệ thành công cao hơn, trong khi đó mật độ lưu lượng tăng lên trên 75% thì DSR có tỷ lệ phát gói tin thành công tăng lên nhiều so với AODV.
Qua việc phân tích đánh giá và kết quả của mô phỏng ở phần trên ta thấy rằng, DSR ít bị ảnh hưởng trong trường hợp số lượng nguồn phát thay đổi, điều này cũng phù hợp với đặc điểm của DSR như đã trình bày ở phần trên do DSR thu thập được nhiều đường đi đến đích hơn AODV, chứng tỏ khả năng khám phá lộ trình của DSR là tốt hơn so với AODV. Tuy nhiên, khi các nút di chuyển với tốc độ cao, AODV hoạt động với hiệu suất tăng khá rõ rệt với tỷ lệ phát tin thành công cao hơn, ổn định hơn và thời gian trễ nhỏ hơn đối với DSR, điều này chứng tỏ số lượng đường đi đã khám phá trong DSR bị cũ không còn hiệu lực và DSR không có cơ chế phát hiện kịp thời để loại bỏ các đường đi không còn hiệu lực trong bảng định tuyến. Tuy nhiên khi mật độ lưu lượng gói tin cao thì DSR hoạt động ổn định hơn AODV.
Như vậy giao thức DSR có thể áp dụng trong trường hợp mạng với mức độ di chuyển thấp, AODV có thể áp dụng trong các trường hợp mạng với mức độ di chuyển cao. Từ kết quả nghiên cứu và đánh giá bằng phương pháp mô phỏng này, chúng tôi sẽ nghiên cứu đề xuất các thuật toán cải tiến cho DSR và AODV bằng cách tích hợp tác tử vào điều khiển định tuyến thông qua các nút mạng để cập nhật thông tin trạng thái mạng trong giai đoạn khám phá lộ trình của thuật toán định tuyến. Chi tiết về các đề xuất thuật toán cải tiến này được trình bày trong phần tiếp theo.
3.2 Đề xuất giải pháp cải tiến giao thức định tuyến điều khiển theo yêu cầu 3.2.1 Ý tƣởng của giải pháp đề xuất 3.2.1 Ý tƣởng của giải pháp đề xuất
Trên cơ sở việc phân tích nguyên lý hoạt động của các thuật toán định tuyến theo yêu cầu cho mạng MANET, tác giả nhận thấy rằng cơ sở để khám phá và lựa chọn lộ trình là dựa vào thông tin về tình trạng kết nối của các nút. Để nâng cao hiệu quả của các giao thức định tuyến cho mạng MANET, chúng ta có thể sử dụng thêm thông tin trạng thái nút mạng như mật độ lưu lượng đi qua nút đó, trạng thái tắc nghẽn của nút, số nút láng giềng của mỗi nút để việc chọn lựa đường đi hiệu quả hơn. Một vấn đề chúng ta thấy rằng việc đưa thêm việc tính toán và đưa dữ liệu vào các nút thì gặp phải tình trạng tăng thời gian xử lý do phải tính toán và không gian lưu trữ tăng lên. Một trong những cách thực hiện để giảm thiểu các vấn đề này là sử dụng tác tử. Các thông tin này có thể được cập nhật bằng tác tử và thực hiện tính toán để thay thế thông tin chọn đường bằng các hàm trọng số phù hợp hơn.
65
Trong phần này tác giả tập trung nghiên cứu tích hợp tác tử vào hai thuật toán định tuyến của giao thức định tuyến điều khiển theo yêu cầu DSR và AODV, trong đó tác tử thực hiện hai chức năng cơ bản sau đây:
- Xác định trạng thái của mỗi nút mạng để cập nhật thông tin cho giai đoạn khám phá lộ trình. Trạng thái của nút mạng được xác định qua nhiều tham số, như xác suất tắc nghẽn, mật độ lưu lượng phân phối đến mỗi nút, số nút láng giềng của mỗi nút. Các tham số này được cập nhật bởi tác tử tác động lên hàm trọng số làm cơ sở cho việc chọn đường đi thay vì sử dụng thông tin chọn đường đi theo giao thức định tuyến DSR là ”khoảng cách” hoặc Hop count trong giao thức định tuyến AODV.
- Dựa trên tham số về trạng thái nút mạng thông qua tác tử, thuật toán định tuyến sẽ quyết định lựa chọn lộ trình trong Route cache hay thực hiện khám phá lại lộ trình. Để thực hiện điều này, các tác tử FA, BA sẽ được gửi kèm theo gói điều khiển RREQ và RREP tương ứng để cập nhật trạng thái của nút mạng mỗi khi có yêu cầu khám phá lộ trình.
Giải pháp cải tiến này được thực hiện dựa trên nguyên tắc giữ các thành phần ưu điểm của DSR cũng như AODV và điều chỉnh theo hướng cải tiến tăng khả năng chọn lựa, phán đoán đường đi phù hợp theo hàm trọng số Wsd (Wsd được định nghĩa là trọng số từ nút s đến nút d). Qua nghiên cứu hai giao thức định tuyến DSR và AODV, ngoài tham số chọn đường theo khoảng cách nhỏ nhất của giao thức định tuyến DSR (dựa vào mức độ tín hiệu) hoặc Hop count ít nhất của giao thức định tuyến AODV (gọi chung là L: khoảng cách giữ hai nút); tác giả nhận thấy rằng một tham số quan trọng ảnh hưởng đến việc chọn đường đi là mức độ tắc nghẽn CP (Congestion Probability) tại mỗi nút. Trong đó, giá trị của CP nằm trong khoảng [0,1], khi CP = 0 thì mạng không tắc nghẽn và khi CP = 1 thì mạng tắc nghẽn hoàn toàn. Chúng ta phải thiết lập hàm Wsd theo khoảng cách L và theo tham số CP phù hợp để khi mức độ tắc nghẽn vượt qua ngưỡng cho phép thì giao thức định tuyến không chọn đường đi qua nút đó. Như vậy, chúng ta phải thiết lập hàm tính trọng số Wsd như sau:
Wsd = Lsd + WCP (3.3)
Trong đó, Lsd là khoảng cách giữa nút s đến nút d. WCP là trọng số tắc nghẽn phụ thuộc vào giá trị CP, vì giá trị CP trong khoảng [0,1], do đó để giá trị WCP tăng đột biến khi CP tiến đến 1 thì hàm WCP phải được thiết lập theo dạng hàm mũ dưới dạng tổng quát như sau:
( ) (3.4)
Trong đó n là bậc của hàm (3.4) có giá trị nguyên.
Từ hàm Wsd được thiết lập theo (3.3) và WCP được thiết lập theo (3.4), ta có hàm Wsd như sau:
66
( ) (3.5)
Để xác định bậc n phù hợp theo ngưỡng CP cho trước, tác giả sử dụng mô phỏng trên MATLAB và chọn giá trị n từ 1 đến 5 để đánh giá như Hình 3.7.
Hình 3.7. So sánh giá trị ngưỡng CP theo giá trị của bậc n của hàm (3.5) Theo kết quả trên Hình 3.7, tác giả đánh giá như sau:
Khi n=1, giá trị WCP tăng đột biến khi CP gần bằng 1, đây là trường hợp không thực tế vì CP gần bằng 1 thì mạng gần như tắc nghẽn hoàn toàn.
Khi n=2, giá trị WCP tăng đột biến khi CP lớn hơn 0,85, đây cũng là trường hợp không thực tế do mức độ tắc nghẽn tại ngưỡng này là rất cao.
Khi n=3, giá trị WCP tăng đột biết khi CP lớn hơn 0,75, đây là mức độ phù hợp trong thực tế.
Khi n=4, giá trị WCP tăng đột biết khi CP lớn hơn 0,65, đây là mức độ phù hợp tuy