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.
Nguyên tắc hoạt động của FA, BA: Khi có yêu cầu khám phá lộ trình, thuật toán điều khiển định tuyến sẽ gửi gói RREQ, RREP và tác tử FA, BA tương ứng cùng theo gói điều khiển trên và thực thi các nhiệm vụ như sau:
Đối với tác tử FA, đây là tác tử yêu cầu khám phá lộ trình với nhiệm vụ là lấy thông tin yêu cầu phám phá lộ trình, để xác nhận được vị trí nút nguồn, vị trí nút đích để giúp cho quá trình thực hiện khám phá lộ trình. Việc thực thi của FA chỉ yêu cầu thông tin từ nút hiện tại đến nút láng giềng là thông tin nút nguồn và nút đích.
Đối với tác tử BA, đây là tác tử lấy thông tin và tính toán trọng số làm cơ sở cho việc chọn đường thông qua các hàm trọng số để tính toán Wsd theo các thuật toán cải tiến đề xuất được định nghĩa theo hàm (3.6). Nhiệm vụ của BA gửi theo cùng gói RREP sẽ thực thi việc tính toán trọng số Wsd dựa trên các hàm đề xuất trong từng bài toán cụ thể theo tham số CP trong đó mỗi thuật toán cải tiến được đề xuất một hàm cụ thể với hàm tính mức độ tắc nghẽn CP khác nhau như thuật toán cải tiến DSR thì hàm tính toán CP là (3.7), thuật toán cải tiến AODV là (3.8) và (3.9). Với phương thức hoạt động BA từ nút hiện tại (nút trung gian) thực thi việc tính toán tình trạng nút láng giềng từ phía đích trả về phía nguồn cho đến khi hoàn thành tác vụ, lúc này BA sẽ được hủy cùng với RREP. Khác với RREP, tác tử BA được khởi tạo tại nút đích và nó được yêu cầu di trú lần lượt đến các nút trung gian theo lộ trình đã gửi RREQ, tại các nút trung gian thông tin của các trường trong tác tử BA được cập nhật mới sau khi đã cập nhật thông tin trạng thái của nút. Vì vậy, số tác tử phát sinh trong mỗi lần khám phá lộ trình ít hơn nhiều so với số gói RREP, chỉ ứng với số đường đi được khám phá trong thuật toán định tuyến. Với nguyên lý hoạt động như đã mô tả, tác tử BA là một tác tử thực hiện việc xử lý tính toán trọng số lộ trình cho cho thuật toán điều khiển định tuyến, như được trình bày trong mục 1.4.2.2 Chương 1.
3.2.3 Thiết kế, cài đặt tác tử FA, BA trên OMNeT++
Theo phần trình bày ở mục 3.2.2 về cấu trúc của tác tử FA, BA. Để thực hiện cài đặt trong phần mềm mô phỏng để thực hiện theo chức năng được mô tả, tác giả thực hiện việc thiết lập các thông số cho các tác tử như sau:
Cấu trúc của FA: gồm 3 trường và kích thước của các trường được chọn như Hình 3.9, trong đó trường Src_ID và Dest_ID được thiết lập độ dài 8 bit để mô hình có thể mô phỏng tối đa 28=256 nút. Ngoài ra, có thể tăng kích thước của các trường nếu cần mô phỏng với tổng số nút hớn hơn.
69