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 nhiên ngưỡng CP hơi thấp.
Khi n=5, ngưỡng CP để WCP tăng đột biến tiếp tục giảm dưới 0,55, đây là mức độ xem như chưa tắc nghẽn.
Theo nguyên lý ở trên, với các giá trị n cao hơn, thì CP tiếp tục giảm do vậy tác giả không mô phỏng các trường hợp này.
67
Như vậy, trong luận án này, tác giả chọn ngưỡng tắc nghẽn CP của mỗi nút (ký hiệu CPd là mức độ tắc nghẽn tại nút d) là 0,75, do đó bậc của n được chọn là 3. Như vậy, hàm trọng số của các thuật toán cải tiến được đề xuất là:
( ) (3.6)
3.2.2 Mô hình tác tử trong đề xuất cải tiến
Theo mô hình hoạt động của tác tử đã được trình bày mục 1.4.2.2 Chương 1, tác giả áp dụng tác tử cụ thể vào mô hình thuật toán định tuyến DSR và AODV trên nguyên tắc tác động vào quá trình khám phá lộ trình và duy trì lộ trình. Khi thực hiện việc đưa tác tử vào quá trình khám phá lộ trình thì sẽ đưa được các thông tin chúng ta cần tính toán kèm theo với các gói yêu cầu đường đi RREQ để chọn đường đi phù hợp trong đó những tham số cần đưa vào sẽ được đưa vào thông qua hàm trọng số đã được đề xuất ở mục 3.2.1.
Mô hình tác tử để điều khiển khám phá lộ trình trong định tuyến điều khiển theo yêu cầu cho mạng MANET được mô tả như Hình 3.8. Giải pháp này sử dụng hai tác tử FA và BA để điều khiển quá trình khám phá lộ trình của giao thức định tuyến. Trong đó, tác tử FA được gửi kèm theo gói yêu cầu khám phá lộ trình RREQ, tác tử BA được gửi kèm theo gói phản hồi RREP để xác định lộ trình. Chức năng chính của hai tác tử này là cập nhật thông tin trạng thái mạng (thông tin đường đi) khi đi qua mỗi nút trung gian và tính toán giá trị hàm trọng số để cho thuật toán định tuyến chọn đường đi phù hợp.
Hình 3.8. Mô hình hoạt động của FA, BA trong điều khiển giao thức định tuyến theo yêu cầu
Cấu trúc các tác tử được định nghĩa bao gồm các trường sau: Tác tử FA: FA<Request (ID, Src_ID, Dest_ID)>, Với:
ID là số thứ tự của yêu cầu khám phá lộ trình,
Src_ID là địa chỉ nút nguồn của lộ trình cần khám phá, Dest_ID là địa chỉ nút đích của lộ trình cần khám phá.
Nút nguồn Nút đích
Nút trung gian Nút trung gian
RREQ, FA RREQ, FA RREQ, FA RREP, BA RREP, BA RREP, BA RREP, BA …… …… …… …… …… ……
68
Tác tử BA: BA< LinkStatus (ID, Intermediate_ID, CP); Wsd >, Với: ID là Số thứ tự của yêu cầu khám phá lộ trình,
Intermediate_ID là địa chỉ của các nút trung gian trên lộ trình cần khám phá, CP là mức độ tắc nghẽn của nút trung gian đang xét,
Wsd là trọng số đường đi từ nút s đến d.