MỘT GIẢI PHÁP NÂNG CAO HIỆU QUẢ CỦA GIAO THỨC ĐỊNH TUYẾN AODV SỬ DỤNG TÁC TỬ DI ĐỘNG Cung Trọng Cường Trường Cao đẳng Công nghiệp Huế 70 Nguyễn Huệ, TP Huế Email: ctcuong@hueic.edu.vn
Trang 1MỘT GIẢI PHÁP NÂNG CAO HIỆU QUẢ CỦA GIAO THỨC ĐỊNH TUYẾN
AODV SỬ DỤNG TÁC TỬ DI ĐỘNG
Cung Trọng Cường
Trường Cao đẳng Công nghiệp Huế
70 Nguyễn Huệ, TP Huế
Email: ctcuong@hueic.edu.vn
Võ Thanh Tú
Trường Đại học Khoa học, ĐH Huế
77 Nguyễn Huệ, TP Huế Email: vothanhtu_hue@yahoo.com
Nguyễn Thúc Hải
Trường Đại học Bách khoa Hà Nội
1, Đại Cồ Việt, Hai Bà Trưng, Hà Nội
Email:haint@soict.hut.edu.vn
Tóm tắt – Để nâng cao chất lượng dịch vụ cũng như khai thác
hiệu quả tài nguyên mạng MANET, việc nghiên cứu cải tiến
các giải pháp, kỹ thuật của mạng MANET, đặc biệt nghiên cứu
các giao thức định tuyến để cải tiến hoạt động là cần thiết và
được nhiều nhóm nghiên cứu tham gia Trong bài báo này,
chúng tôi tập trung nghiên cứu giao thức định tuyến AODV, từ
đó đề xuất giải pháp nâng cao hiệu quả hoạt động của giao
thức định tuyến này về mặt xác suất nghẽn mạng dựa trên
công nghệ tác tử di động Chúng tôi sử dụng phương pháp mô
phỏng để đánh giá hiệu quả thực thi của thuật toán được đề
xuất
Từ khóa: MANET routing, mobile agent, AODV
I GIỚITHIỆU Công nghệ mạng máy tính và truyền thông đang ngày càng
phát triển, đặc biệt là các công nghệ truyền thông không dây
đã được triển khai ứng dụng trong hầu hết các lĩnh vực Đối
với một số ứng dụng đòi hỏi tính di động cao và mật độ
truyền lớn thì khả năng đáp ứng của các cơ chế định tuyến
thích nghi như AODV (Ad hoc On Demand Distance
Vector), DSR (Dynamic Source Routing) [1] vẫn còn một
số hạn chế Vì vậy, trong thời gian gần đây, các nhà nghiên
cứu đã cố gắng nâng cao tính sẵn sàng và tin cậy trong bài
toán định tuyến thích nghi để đáp ứng nhanh với sự di động
của hệ thống Một trong những giải pháp đã được sử dụng là
tác tử di động (Mobile Agent) [2], sử dụng đặc tính tự trị và
khả năng di động từ nút này sang nút khác để hoàn tất tác
vụ Ý tưởng chính của việc ứng dụng tác tử di động là di
chuyển xử lý đến gần nguồn dữ liệu, nhờ đó có thể giảm tải
mạng, khắc phục tình trạng trễ, hỗ trợ xử lý không đồng bộ
và tạo ra sự tương thích mạnh trên các môi trường không
đồng nhất Với các ưu điểm này, công nghệ tác tử di động
hứa hẹn một giải pháp mới, hiệu quả và có nhiều thuận tiện
trong việc ứng dụng vào điều khiển các giao thức mạng
Đặc trưng cơ bản nhất của các mạng di động là mỗi nút
mạng đều có khả năng di chuyển Vì vậy, vấn đề cập nhật
thông tin trạng thái mạng tại mỗi nút và mỗi nhóm di động
để có cơ chế truyền, nhận và định tuyến dữ liệu một cách tối
ưu là điều đặc biệt quan trọng Với phương thức định tuyến điều khiển theo yêu cầu, khi có một yêu cầu từ nguồn đến đích, nút nguồn phải khởi đầu một quá trình định tuyến, quá trình này chỉ hoàn tất khi đã tìm ra một lộ trình sẵn sàng hoặc tất cả các lộ trình khả thi đều đã được kiểm tra Khi một lộ trình đã được tìm ra và thiết lập, nó được duy trì bởi một số dạng thủ tục cho đến khi hoặc là lộ trình đó không thể truy nhập được từ nút nguồn hoặc là lộ trình đó không cần thiết nữa Do vậy, việc tích hợp tác tử di động vào điều khiển các giao thức định tuyến trong mạng MANET nhằm cải thiện hiệu năng của các giao thức định tuyến là điều cần thiết và
có ý nghĩa quan trọng
Các phần tiếp theo của bài báo được tổ chức như sau: Phần 2 trình bày nguyên lý của giao thức định tuyến AODV,
để từ đó phân tích những ưu nhược điểm của giao thức định tuyến này Đồng thời, chúng tôi cũng trình bày một số công trình nghiên cứu đã công bố liên quan đến việc sử dụng tác
tử di động vào điều khiển quá trình định tuyến Phần 3 trình bày giao thức định tuyến cải tiến AODV mà chúng tôi đã đề xuất dựa trên công nghệ tác tử di động Hiệu quả thực thi của thuật toán AODV cải tiến được đánh giá bằng phương pháp
mô phỏng mà chúng tôi trình bày trong phần 4 Cuối cùng là kết luận và hướng phát triển của bài báo
II GIAOTHỨCĐỊNHTUYẾNAODV Giao thức định tuyến AODV dựa trên thuật toán vector khoảng cách nhưng thuộc loại định tuyến theo yêu cầu, nó chỉ yêu cầu đường định tuyến khi cần thiết Giao thức này kông sử dụng cơ chế định tuyến nguồn và cũng không cần biết thông tin về các nút láng giềng của nó, AODV dựa trên các entry của bảng định tuyến để phát gói tin RREP về nút nguồn và nút nguồn dùng thông tin đó để gởi dữ liệu đến đích Để đảm bảo rằng thông tin trong bảng
Trang 2định tuyến là mới nhất thì AODV sử dụng kỹ thuật
Sequence Number (kỹ thuật này dùng để nhận ra các con
đường đi không còn giá trị trong quá trình cập nhật bảng
định tuyến) để loại bỏ những đường đi không còn giá trị
trong bảng định tuyến Mỗi nút sẽ có một bộ tăng số
Sequence Number riêng cho nó
Quá trình định tuyến của AODV cũng bao gồm 2 cơ
chế chính: cơ chế tạo thông tin định tuyến và cơ chế duy trì
thông tin định tuyến [3]
- Cơ chế tạo thông tin định tuyến sẽ được thiết lập khi
một nút nguồn có nhu cầu trao đổi thông tin với một nút
khác trong hệ thống mạng MANET, mỗi nút trong hệ
thống mạng luôn duy trì 2 bộ đếm: Bộ đếm Sequence
Number và Bộ đếm REQ_ID Cặp thông tin <Sequence
Number, REQ_ID> là định danh duy nhất cho một gói
tin RREQ
- Cơ chế duy trì thông tin định tuyến: Cơ chế hoạt động
của AODV là không cần phải biết thông tin về các nút
láng giềng, chỉ cần dựa vào các entry trong bảng định
tuyến Vì vậy, khi một nút nhận thấy rằng Next hop
(chặng kế tiếp) của nó không thể tìm thấy, thì nó sẽ
phát một gói RRER (Route Error) khẩn cấp với số
Sequence number bằng số Sequence number trước đó
cộng thêm 1, Hop count bằng ∞ và gởi đến tất cả các
nút láng giềng đang ở trạng thái active, những nút đó sẽ
tiếp tục chuyển gói tin đó đến các nút láng giềng của
nó, và cứ như vậy cho đến khi tất cả các nút trong
mạng ở trạng thái active nhận được gói tin này
Sau khi nhận thông báo này, các nút sẽ xóa tất cả các
đường đi có chứa nút hỏng, đồng thời có thể sẽ khởi động
lại tiến trình Route discovery nếu nó có nhu cầu định tuyến
dữ liệu đến nút bị hỏng đó, bằng cách gởi một gói tin RREQ
(với số Sequence number bằng số Sequence number mà nó
biết trước đó cộng thêm 1) đến các nút láng giềng để tìm
đến địa chỉ đích
Thuật toán khám phá lộ trình tại mõi nút của giao thức
AODV được thực hiện theo các bước như sau:
- Bước 1: Xem các gói RREQ đã được xử lý chưa? Nếu
đã được xử lý thì nó sẽ loại bỏ gói tin đó 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ị Destination sequence
number trong entry chứa thông tin về đường đi với số Destination sequence number trong gói RREQ, nếu số Destination sequence number trong RREQ lớn hơn số Destination squence number trong entry thì nó sẽ không
sử dụng thông tin trong entry của bảng định tuyến để trả lời cho nút nguồn mà nó sẽ tiếp tục phát Broadcast gói RREQ đó đến cho các nút láng giềng của nó Ngược lại nó sẽ phát Unicast cho gói RREP 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: destination sequence number, hop-count, TTL 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 (Reverse path ) 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 Entry 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 đó entry này sẽ được xóa đi
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 đều kiện thỏa bước 2 Trong quá trình trả về gói RREP, một nút có thể nhận cùng lúc nhiều gói RREP, khi đó nó sẽ chỉ xử lý gói RREP có số Destination Sequence number lớn nhất, hoặc nếu cùng số Destination sequence number thì nó sẽ chọn gói RREP có số Hop-count 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ó và chuyển gói RREP đi
Trong thời gian gần đây, đã có nghiên công trình nghiên cứu đề xuất các thuật toán cải tiến cho AODV để nâng cao hiệu quả hoạt động của chúng Trong đó có một số công trình đã sử dụng tác tử di động để điều khiển quá trình định tuyến Một trong những hướng cải tiến giao thức các giao thức AODV là cải tiến khả năng di động [4], trong đó tập trung vào tính toán tình trạng tắc nghẽn tại nút và chọn lựa đường đi với nút ít tắt nghẽn thay vì chọn nút gần nhất của thuật toán gốc Với việc sử dụng tác tử di động, một số tác tử di động được cọng vào trong trong giao thức AODV,
nó mang thông tin và tình trạng tắt nghẽn của nút mạng khi các tác tử di động chạy qua các nút mạng, nó có thể chọn một nút có ít tải nhất trong các nút xung quanh và cập nhật bảng trạng thái theo hướng phù hợp với tình trạng tắc
Trang 3nghẽn với sự trợ giúp của tác tử di động, các nút có thể lấy
hình trạng mạng động liên tục
Năm 2008, nhóm nghiên cứu Hong L et al đã đề xuất
giải pháp sử dụng tác tử di động để điều khiển tắc nghẽn
trong mạng MANET dựa trên giao thức định tuyến AODV
[5] Tác tử di động được tích hợp vào các nút mạng để cập
nhật thông tin trạng thái và tình trạng tắc nghẽn của mỗi nút
Tình trạng tắc nghẽn được xác định bằng tỷ lệ của chiều dài
bộ đệm hiện hành so với chiều dài cực đại Từ đó, mỗi nút
được phân chia thành 3 trạng thái, đó là: trạng thái không
tắc nghẽn, trạng thái tắc nghẽn trung bình và trạng thái tắc
nghẽn nghiêm trọng Thuật toán định tuyến sẽ lựa chọn lộ
trình tối ưu dựa trên 3 trạng thái này Các tác giả đã sử dụng
phương pháp mô phỏng để đánh giá hiệu quả thực thi của
phương pháp đề xuất Kết quả mô phỏng cho thấy rằng độ
trể trung bình của các gói tin trên mạng nhỏ hơn so với thuật
toán AODV
Một nhóm nghiên cứu khác đã đề xuất một thuật toán
định tuyến mới có tên là ant-AODV dựa trên giao thức
AODV kết hợp với tác tử di động [6] Ant-AODV cung cấp
khả năng kết nối giữa các nút cao, giảm bớt công việc khám
phá lộ trình mỗi khi có một yêu cầu truyền dữ liệu mới
Điều này cho phép làm giảm độ trể truyền thông và được
chứng minh bằng phương pháp mô phỏng
Trong bài báo này, chúng tôi cũng sử dụng tác tử di
động để cập nhận thông tin trạng thái cho giai đoạn khám
phá lộ trình của giao thức AODV Tác tử di động thực hiện
chức năng cập nhật tình trạng tắc nghẽn tại nút mạng dựa
trên thông tin trong các bảng định tuyến của mỗi nút
III THUẬTTOÁNAODVCẢITIẾN
A Ý 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 nhau 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 chúng Để
khắc phục điều này, chúng tôi tích hợp tác tử di động vào các
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 xác định là tổng số lộ trình đi qua
nút đó trên tổng số lộ trình trong mạng Thuật toán AODV
cải tiến sẽ lựa chọn lộ trình sao cho tỷ lệ này là nhỏ nhất nhằm hạn chế nghẽn lưu lượng tại các nút trung gian
B Mô tả thuật toán
Thuật toán AODV cải tiến được thực hiện trên cơ sở thuật toán AODV truyền thống, 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 Tuy nhiên, mỗi giai đoạn đều được điều khiển bởi tác tử di động chứa thông tin trạng thái mỗi nút mạng để tôi
ưu hóa việc định tuyến
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 truyền thống đã được mô tả chi tiết ở phần 2 Trong bước khám phá lộ trình, chúng tôi tích hợp tác tử di động bằng gói tin FA (Forward Agent) gửi kèm cùng gói RREQ và gói BA (Backward Agent) để cập nhật thông tin trạng thái nút mạng Cấu trúc gói tin FA được mô
tả như hình 1, trong đó chức năng của các trường được mô tả như sau:
- ID: Số thứ tự của yêu cầu khám phá lộ trình
- Src_ID: Địa chỉ nút nguồn của lộ trình cần khám phá
- Dest_ID: Địa chỉ nút đích của lộ trình cần khám phá
Hình 1 Cấu trúc của Agent FA
Tình trạng tắc nghẽn của nút mạng được cập nhật bởi tác tử di động BA Cấu trúc của BA được mô tả như ở hình
2 với các trường như sau:
Hình 2 Cấu trúc Agent BA
- ID: Số thứ tự của yêu cầu khám phá lộ trình
- Intermediate_ID: Địa chỉ của các nút trung gian trên
lộ trình cần khám phá
- CP: mức độ tắc nghẽn của nút trung gian đang xét Giá
trị của CP đượ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 CP được tính theo phương trình sau:
Trang 4I
R
R
CP (1)
Với R I là tổng số lộ trình đi qua nút trung gian đang xét,
R A là tổng số lộ trình trên toàn mạng
Khi các nút nguồn nhận được agent phản hồi BA, nó sẽ
lựa chọn lộ trình có mức độ tắc nghẽn thấp nhất dựa trên giá
trị của trường CP được tính theo phương trình (1) chứa trong
agent này
IV MÔPHỎNGVÀĐÁNHGIÁKẾTQUẢ
Để đánh giá hiệu quả thực thi của thuật toán AODV cải
tiến, chúng tôi tiến hành mô phỏng trên nền hệ mô phỏng các
sự kiện rời rạc OMNeT++ [7], so sánh với các thuật toán
truyền thông là AODV đã được cài đặt trong module
adHocSim [8] Giao diện chính của chương trình mô phỏng
như hình 3, chúng tôi mô phỏng trên tôpô có 50 nút Các
được kết nối trên hình biểu thị rằng tại thời điểm đang xét
chúng là các nút láng giềng của nhau
Hình 3 Một topo mô phỏng mạng MANET
Cấu trúc nút mạng được thiết kế như ở hình 4, với chức
năng của các khối được mô tả như sau:
- Khối App: Phát sinh các ứng dụng, tức là các yêu cầu
định tuyến lưu lượng qua mạng
- Khối Router: Thực thi thuật toán định tuyến AODV và
AODV cải tiến
- Khối Mac: Thực hiện đóng gói, truyền lưu lượng qua
các lộ trình tìm được
- Khối Physic: Xác định topo mạng, các kết nối vật lý
giữa các nút láng giềng
- Khối Mobility: Điều khiển quá trình di chuyển của các
nút
- Khối MobileAgent: Phát sinh các agent, cập nhật thông
tin trạng thái mạng và điều khiển quá trình truyền/nhận agent trong mạng
Hình 4 Cấu trúc nút mạng MANET có tích hợp Tác tử di động điều khiển định tuyến
Kết quả mô phỏng trên hình 5 xác suất gói tin rơi của AODV và AODV cải tiến Ta thấy rằng, thuật toán AODV cải tiến thực thi hiệu quả hơn thuật toán AODV truyền thống về mặt xác suất nghẽn mạng trong trường tốc độ di chuyển trung bình của mỗi nút vừa phải (từ 6 m/s đến 22 m/s) Vì vậy, trong trường hợp này, tỷ lệ gói tin truyền thành công của AODV cải tiến cao hơn AODV và được thể hiện rõ trên hình 6 Đây là một kết quả có ý nghĩa trong việc
áp dụng tác tử di động vào điều khiển các giao thức định tuyến trong mạng MANET nhằm nâng cao hiệu quả sử dụng tài nguyên mạng
Trang 5Hình 5 So sánh xác suất gói tin rơi của AODV
và AODV cải tiến
Hình 6 So sánh tỷ lệ gói tin truyền thành công
của AODV và AODV cải tiến
Kết quả mô phỏng trên hình 7 là trễ truyền tải gói tin
trung bình của thuật toán AODV và AODV cải tiến Ta thấy
rằng, trễ truyền tải gói tin trung bình của 2 thuật toán là
tương đương nhau khi tốc độ di chuyển của trung bình của
các nút thay đổi
Hình 7 Trễ truyền tải gói tin trung bình của AODV và
AODV cải tiến
V KẾTLUẬN Công nghệ mạng không dây đang phát triển và được ứng dụng rộng rãi trong nhiều lĩnh vực Việc áp dụng các công nghệ thông minh vào các giao thức điều khiển nhằm nâng cao hiệu quả khai thác tài nguyên mạng là điều cần thiết và có ý nghĩa đặc biệt quan trọng Bài báo đã tập trung nghiên cứu giải pháp sử dụng tác tử di động vào điều khiển các giao thức định tuyến trong mạng MANET nhằm nâng cao hiệu quả của thuật toán định tuyến AODV về mặt xác suất nghẽn mạng Chúng tôi đã đề xuất các thuật toán định tuyến AODV cải tiến trên cơ sở cải tiến thuật toán định tuyến AODV truyền thống, sử dụng tác tử di động để điều khiển quá trình khám phá lộ trình bằng cách cập nhật thường xuyên tình trạng tắc nghẽn trong mỗi nút mạng Kết quả mô phỏng cho thấy rằng việc tích hợp tác tử di động vào thuật toán AODV đã mạng lại hiệu quả về mặt xác xuất nghẽn mạng
Tuy nhiên, chúng tôi chỉ mới tập trung vào cải tiến tình trạng nghẽn mạng Trong hướng nghiên cứu tiếp theo, chúng tôi tiếp tục nghiên cứu để nâng cao hiệu quả về độ trễ trung bình, phân tích trường hợp tốc độ di chuyển của nút mạng cao
Trang 6CÁCTÀILIỆUTHAMKHẢO
[1] C.V Mahapurush, S.S Manvi, M.S.Kakkasageri,
Performance Analysis of AODV, DSR, and Swarm
Intelligence Routing Protocols In Vehicular Ad hoc
Network Environment, International Conference on
Future Computer and Communication, pp.21-25,
2009
[2] Joseph P Macker, William Chao, Ranjam Abramson,
Multi-Agent Systems in Mobile Ad hoc Networks,
Naval Research Laboratory, 2007
[3] Elizabeth M Royer et al., “A Review of Current
Routing Protocols for Ad Hoc Mobile Wireless
Networks”, IEEE Personal Communications, Vol.6
pp.46-55, 1999
[4] Jdrees, M Yousaf, M M Jaffry, S W Pasha, M A
Hussain S A; Punjab University College of
Information Technology, Enhancements in AODV
Routing Using Mobility Aware Agents, The IEEE
International conference on Emerging Tecnology,
pp.98-102, 2005
[5] Hong Li, Chu Dan, Wang Min, Li Shurong,
“Mobile agent based Congestion Control AODV
Routing Protocol”, 4th International Conference on
Wireless Communications, Networking and Mobile
Computing (WiCOM '08), pp.1-4, 2008
[6] Shivanajay Marwaha, Chen Khong Tham, Dipti
Srinivasan, “A novel routing protocol using mobile
agents and reactive route discovery for ad hoc
wireless networks” 10th IEEE International
Conference on Networks (ICON 2002), pp.331-226,
2002
[7] http://www.omnetpp.org/documentation
[8] http://www.omnetpp.org/omnetpp/doc_details/211
8-adhocsim