Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
1
MỤC LỤC
THUẬT NGỮ VIẾT TẮT 2
DANH MỤC HÌNH 4
LỜI MỞ ĐẦU 5
CHƯƠNG I: TỔNG QUAN VỀ MẠNG MANET 6
1.1 Giới thiệu về mạng Manet 6
1.2 Đặc điểm 7
1.2.1 Một mạng MANET bao gồm các hạ tầng di động 7
1.2.2 Thay đổi đồ hình mạng liên tục 7
1.2.3 Tính tự thiết lập 8
1.2.4 Môi trường mạng không dây 8
1.3 Phân loại 9
1.4 Các giao thức định tuyến 10
1.4.1 Khái niệm định tuyến 10
1.4.2 Một số yêu cầu định tuyến 10
1.4.3 Các giao thức định tuyến theo bảng 11
1.4.4 Các giao thức định tuyến theo yêu cầu 12
1.4.5 Giao thức định tuyến lai ghép 12
1.5 Ứng dụng mạng Manet 13
CHƯƠNG II: TÌM HIỂU VỀ GIAO THỨC AODV 14
2.1 Khái quát 14
Giao thức AODV (Ad hoc On Demand Distance Vector): 14
Cơ chế tạo thông tin định tuyến (Route Discovery): 14
Cơ chế duy trì thông tin định tuyến: 17
2.2 Bảng định tuyến 17
2.2.1 Xây dựng bảng định tuyến 17
2.2.2 Quản lý bảng định tuyến 20
2.2.3 Bảo trì 22
2.2.4 Quản lý kết nối 23
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
2
2.3 Ví dụ 24
CHƯƠNG III: MÔ PHỎNG HOẠT ĐỘNG CỦA GIAO THỨC AODV TRONG
MẠNG MANET 28
3.1 GIỚI THIỆU MÔI TRƯỜNG MÔ PHỎNG NS 28
3.1.1 Tổng quan về NS2 28
3.1.2 Kiến trúc của NS2 29
3.2 MÔ PHỎNG MẠNG KHÔNG DÂY TRONG MÔI TRƯỜNG NS 31
Tạo MobileNode trong NS: 31
KẾT LUẬN 48
TÀI LIỆU THAM KHẢO 49
THUẬT NGỮ VIẾT TẮT
AODV Ad-hoc on-
demand distance vector routing
Định tuyến cự ly véc tơ theo yêu cầu
tùy biến
MANET Mobile Adhoc Network Mạng di động tùy biến không dây
DSR Dynamic Soure Ruoting Định tuyến nguồn động
HTTP Hypertext Transfer Protocol Giao thức truyền dẫn siêu văn bản
ICMP Internet Control Message Giao thức điều khiển truyền tin trên
mạng
MAC Medium Access Control Điều khiển truy nhập môi trường
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
3
RREP Router Reply Hồi đáp truyền tin
RREQ Router Request Yêu cầu truyền tin
RM Router Maintenance Duy trì tuyến
TC Topology Control Điều khiển cấu hình mạng
WLAN Wireless Local Area Network Mạng cục bộ không dây
TORA Temporally Ordered Routing
Algorithm
Thuật toán thứ tự định tuyến tạm
thời
DSDV Destination-Sequenced Distance
Vector routing
Điểm đến sắp xếp trình tự Distance
Vector tuyến
NS Network Simulator
Mạng Similator
RRER Router Error Lỗi định tuyến
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
4
DANH MỤC HÌNH
CHƯƠNG I: TỔNG QUAN VỀ MẠNG MANET 6
Hình 1.1: Mạng Manet 9
Hình 1.2: Phân loại các giao thức định tuyến trong Manet. 11
CHƯƠNG II: TÌM HIỂU VỀ GIAO THỨC AODV 14
Hình 2.1 Các trường trong gói tin RREQ 15
Hình 2.2: Các trường trong gói tin RREP 16
Hình 2.3: Ví dụ một cơ chế route discovery 25
Hình 2.5 : Tin nhắn RREP 27
CHƯƠNG III: ĐÁNH GIÁ HIỆU NĂNG CỦA GIAO THỨC AODV TRONG MẠNG MANET 28
Hình 3.1: Tổng quan về NS dưới góc độ người dùng 29
Hình 3.2: Ví dụ về giao thức AODV 45
Hình 3.3: Hoạt động của AODV 46
Hình 3.4: Kết quả mô phỏng Error! Bookmark not defined.
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
5
LỜI MỞ ĐẦU
Ngày nay cùng với xu hướng phát triển chung mạng không dây đã và đang được ứng
dụng rộng rãi trong cuộc sống bởi lợi ích mà nó mang lại . Số lượng các thiết bị dùng
cho mạng không dây sẽ sớm vượt qua số lượng các thiết bị dùng cho mạng có dây, điều
này cũng đồng nghĩa với sự nghiên cứu, tìm hiểu về mạng không dây cũng tăng trưởng
tương tự và sau đây thì em xin được trình bày về đề tài công nghệ mạng không dây
Manet và tìm hiểu rõ hơn về một trong những giao thức định tuyến trên mạng này đó là
giao thức AODV. Để hoàn thành bài khóa luận này em xinh chân thành cảm ơn thầy
giáo Hoàng Thanh Hải, giảng viên khoa CNTT – Trường Cao Đẳng Công Nghiệp Huế
đã chỉ bảo tận tình và giúp đỡ em trong suốt quá trình làm bài khóa luận. Trong quá trình
làm khóa luận do điều kiện về thời gian và trình độ có hạn nên không tránh khỏi những
thiếu sót. Vì vậy em rất mong nhận được những ý kiến, chỉ bảo của các thầy cô, các ý
kiến đóng góp của bạn bè để em có thể kịp thời bổ sung, sữa chửa những thiếu sót của
mình.
Em xin chân thành cảm ơn.
Huế, tháng 4/ 2013
Sinh viên
Phan Cảnh Hợp
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
6
CHƯƠNG I: TỔNG QUAN VỀ MẠNG MANET
1.1 Giới thiệu về mạng Manet
Ta cần hiểu Manet là từ viết tắt của cụm từ Mobile Adhoc Network ( mạng di
động tùy biến không dây)
Mobile:
+ Hình trạng mạng có thể thay đổi được
+ Các nút mạng có thể di chuyển linh động
Adhoc:
+ Hình trạng mạng có thể được thiết lập tùy ý
+ Không hạ tầng mạng, không server, không Accesspoint
Network:
+ Tất cả các nút mạng đều có chức năng và hoạt động như một router.
Mạng di động không dây Adhoc ( Mobile Adhoc Network, viết tắt là Manet ) là
một loại mạng không dây trong đó các nút mạng (node) có thể di chuyển tự do và không
lệ thuộc vào bất kỳ nút mạng hay thiết bị mạng nào. Môi trường mạng này có thể thiết
lập dễ dàng ở bất kỳ nơi nào và không tốn nhiều chi phí.
Trong môi trường mạng không dây ad-hoc, hai nút mạng có thể liên lạc trực tiếp
với nhau nếu như chúng nằm trong vùng phủ sóng của nhau (radio communication
range). Ngược lại, nếu hai nút mạng xa nhau muốn trao đổi dữ liệu với nhau thì chúng
cần sự hỗ trợ của các nút mạng lân cận để chuyển tiếp thông tin.
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
7
Hiện có rất nhiều ứng dụng được triển khai trong môi trường mạng ad-hoc như:
ứng dụng trong mạng sensor (sensor network) - phân bố các sensor trên 1 cánh đồng,
một thành phố,… để thu thập dữ liệu (nhiệt độ, thời tiết, độ ẩm, ) gởi về trung tâm,
home network – người dùng có thể điều khiển các thiết bị trong nhà của mình khi đang
di chuyển trên đường, …
1.2 Đặc điểm
1.2.1 Một mạng MANET bao gồm các hạ tầng di động
Ví dụ một router với nhiều host và thiết bị truyền thông vô tuyến, ở đây được gọi
là các nốt (node), đang di chuyển tự do. Các nốt có thể được đặt trên máy bay, tầu thủy,
xe kéo, ô tô hoặc được mang theo người hay các thiết bị nhỏ, và có thể bao gồm nhiều
host trên một router. Một mạng MANET là một hệ thống các nốt di động tự trị. Hệ thống
có thể hoạt động độc lập hoặc có thể có cổng để giao tiếp với mạng cố định. Trong chế
độ tiếp với mạng cố định, mạng MANET hoạt động như một mạng “đuôi” liên kết với
một mạng internet cố định. Các mạng “đuôi” truyền lưu lượng xuất phát hoặc đến các
nốt trong mạng, nhưng không cho phép truyền lưu lượng ngoài chuyển tiếp qua mạng.
Các nốt mạng MANET bao gồm các bộ phát và bộ thu sử dụng ăng ten mọi hướng để
phát quảng bá hoặc ăng ten định hướng để phát điểm-điểm, có thể điều chỉnh được, hoặc
kết hợp các loại ăng ten này. Tại một thời điểm nào đó, tùy thuộc vào vị trí của các nốt
và vùng phủ sóng bộ thu và bộ phát của chúng, mức công suất phát và mức nhiễu đồng
kênh, một kết nối vô tuyến dưới dạng ngẫu nhiên, đồ thị nhiều chặng hay mạng ad hoc
tồn tại giữa các nốt. Cấu hình adhoc này có thể thay đổi theo thời gian khi các nốt di
chuyển hoặc điều chỉnh các thông số thu phát của chúng.
1.2.2 Thay đổi đồ hình mạng liên tục
Một trong những đặc trưng quan trọng của môi trường mạng không dây di động
ad-hoc là sự thay đổi trạng thái thường xuyên và nhanh chóng của các nút mạng cũng
như các liên kết giữa các nút mạng. Một nút mạng có thể gia nhập hoặc tách khỏi mạng
tại bất kỳ thời điểm nào. Các nút mạng có thể di chuyển tự do dẫn đến các liên kết giữa
các nút mạng thay đổi liên tục. Vì vậy, đồ hình mạng (network topology) trong môi
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
8
trường mạng không dây di động ad-hoc thay đổi liên tục làm ảnh hưởng đến các hoạt
động trao đổi thông tin giữa các nút mạng. Đây chính là một trong những thử thách
chính khi xây dựng một giao thức định tuyến trong mạng không dây di động ad-hoc.
Giao thức định tuyến phải có khả năng tương thích cao với đặc trưng này sao cho
có khả năng tự thiết lập và tái thiết lập thông tin định tuyến một cách nhanh chóng và
hiệu quả.
1.2.3 Tính tự thiết lập
Mạng không dây di động ad-hoc không phụ thuộc vào bất kỳ một cấu trúc mạng
nào sẵn có cũng như sự quản lý tập trung tại bất kỳ một nút mạng nào. Các nút mạng có
vai trò ngang nhau và hoạt động độc lập nhau. Các nút mạng phải tự thiết lập các thông
tin cần thiết cho chính mình (địa chỉ mạng, thông tin định tuyến, ) khi gia nhập vào
mạng cũng như tự điều chỉnh thông tin khi mạng thay đổi. Do đó, giao thức định tuyến
trong môi trường mạng này phải hỗ trợ cơ chế tự thiết lập, cập nhật và quản lý các thông
tin cần thiết cho các nút mạng.
1.2.4 Môi trường mạng không dây
Nhìn chung, các nút mạng trong môi trường mạng không dây sử dụng tần số radio
hoặc hồng ngoại (infrared) để trao đổi dữ liệu với nhau. Các thiết bị không dây như thế
có thể kể đến là: laptop, pocket PC, PDA, điện thoại di động, sensor, các thiết bị vệ tinh,
… Mặc dù, các thiết bị khác nhau ở tầng vật lý nhưng khi cùng tham gia trong cùng một
môi trường mạng không dây thì dùng chung một băng tần để trao đổi dữ liệu. Trong môi
trường không dây này, các thiết bị đều chịu những hạn chế như:
• Băng thông thấp
• Môi trường tuyền thông có độ tin cậy thấp
• Hạn chế về năng lượng, bộ nhớ, khả năng tính toán
Điều đặc biệt là mỗi node trong mạng đóng vai trò như một Router-điều này đồng
nghĩa với việc chia sẻ mạng ngang hàng của mỗi node và khả năng mở rộng phạm vi
hoạt động của mạng.
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
9
1.3 Phân loại
Do các đặc điểm của mạng MANET (di động, vô tuyến, không dự tính trước) nên
việc xác định các thành phần của một mạng MANET là rất khó khăn, nếu không nói là
không thể trong một số trường hợp nhất định.
Thay đổi
theo thời
gian
Hình 1.1: Mạng Manet
Tại một thời điểm mạng MANET có thể bao gồm một số nốt nào đó, nhưng tại
thời điểm sau đó mạng này có thể chia thành nhiều mạng MANET. Sau đó nó lại có thể
nhập lại thành một nhóm mới các node và tạo thành mạng MANET lớn hơn.
Các router nhất định trong một mạng MANET có thể kết nối với các vùng định
tuyến khác nhau. Các router này được gọi là router biên BR (border router), và chúng
thường chạy nhiều giao thức định tuyến. Các router biên có nhiệm vụ lựa chọn thông tin
định tuyến để thông báo giữa các vùng định tuyến liên quan đến nhau. Router biên cũng
cho thấy các router có thể tiếp cận được thông qua nó. Khi các thành viên trong mạng
MANET thay đổi, thì kết nối của các router biên trong mạng MANET cũng thay đổi. Do
vậy, rất khó để router biên có thể thể hiện tập hợp cố định các nốt tiếp cận được
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
10
(reachable node). Nó có thể lựa chọn không thông báo bất kì thông tin định tuyến nào về
mạng MANET đó cho các vùng định tuyến khác.
1.4 Các giao thức định tuyến
1.4.1 Khái niệm định tuyến
Định tuyến là cách thức mà Router (bộ định tuyến) hay PC (hoặc thiết bị mạng
khác) sử dụng để truyền phát các gói tin tới địa chỉ đích trên mạng. Các giao thức định
tuyến thông thường dựa trên các thuật toán vectơ khoảng cách (distance vector) hoặc
thuật toán trạng thái liên kết (link state).
1.4.2 Một số yêu cầu định tuyến
• Định tuyến theo kiểu phân bố
• Tiết kiệm công suất
• Định tuyến đa đường
• Giảm vòng lặp
• Bảo mật
Vấn đề luôn được đặt ra đối với các mạng MANET chính là phương pháp gửi
thông tin giữa các node không có liên kết trực tiếp, khi mà các node trong mạng di
chuyển không theo các dự đoán và dẫn tới cấu hình mạng thường xuyên thay đổi. Vì
vậy, cách tiếp cận định tuyến trong các mạng cố định truyền thống không thể áp dụng
được đối với các mạng tùy biến di động không dây. Một phương pháp phổ biến để phân
biệt các giao thức định tuyến trong mạng MANET dựa trên cách thức trao đổi thông tin
định tuyến giữa các node theo phương pháp này, các giao thức định tuyến được chia
thành: định tuyến theo bảng, định tuyến theo yêu cầu và định tuyến lai ghép. Sự khác
biệt của các giao thức này xuất phát từ tính chuyên biệt đối với các khía cạnh định tuyến
như phương pháp tìm đường ngắn nhất, thông tin tiêu đề định tuyến hay đặc tính cân
bằng tải, v v.
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
11
Hình 1.2: Phân loại các giao thức định tuyến trong Manet.
1.4.3 Các giao thức định tuyến theo bảng
Trong phương pháp định tuyến theo bảng, các node trong mạng MANET liên tục
đánh giá các tuyến tới các node để duy trì tính tương thích, cập nhật của thông tin định
tuyến. Vì vậy, một node nguồn có thể đưa ra một đường dẫn định tuyến ngay lập tức khi
cần. Trong các giao thức định tuyến theo bảng, tất cả các node cần duy trì thông tin về
cấu hình mạng. Khi cấu hình mạng thay đổi, các cập nhật được truyền lan trong mạng
nhằm thông báo sự thay đổi. Hầu hết các giao thức định tuyến theo bảng đều kế thừa và
sửa đổi đặc tính tương thích từ các thuật toán chọn đường dẫn ngắn nhất trong các mạng
hữu tuyến truyền thống. Các thuật toán định tuyến theo bảng được sử dụng cho các node
cập nhật trạng thái mạng và duy trì tuyến bất kể có lưu lượng hay không. Vì vậy, tiêu đề
thông tin để duy trì cấu hình mạng đối với các giao thức này thường là lớn. Một số giao
Các giao thức định tuyến trong
Manet
Theo yêu
cầu
Theo bảng Lai ghép
AODV
WPR ZPR ZHLS HARP CLSR DSDV
DSR TORA
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
12
thức định tuyến điển hình theo bảng trong MANET gồm: Giao thức định tuyến không
dây WRP (Wireless Routing Protocol), định tuyến vector khoảng cách tuần tự đích
DSDV (Destination Sequence Distance Vector), định tuyến trạng thái tối ưu liên kết
OLSR (Optimized Link State Routing), định tuyến trạng thái góc rộng (fisheye (Fisheye
State Routing), v.v.
1.4.4 Các giao thức định tuyến theo yêu cầu
Trong phương pháp định tuyến theo yêu cầu, các đường dẫn được tìm kiếm chỉ
khi cần thiết, hoạt động tìm tuyến bao gồm cả thủ tục xác định tuyến. Thủ tục tìm tuyến
kết thúc khi một tuyến không được tìm thấy hoặc không có tuyến khả dụng sau khi xác
minh toàn bộ tập hoán vị tuyến. Trong mạng MANET, các tuyến hoạt động có thể ngừng
do tính di động của node.
Vì vậy, thông tin duy trì tuyến là tối quan trong đối với các giao thức định tuyến
theo yêu cầu. So với các giao thức định tuyến theo bảng, các giao thức định tuyến theo
yêu cầu thường có tiêu đề trao đổi thông tin định tuyến nhỏ hơn. Vì vậy, về mặt nguyên
tắc, các giao thức này có khả năng mở rộng tốt hơn đối với các giao thức định tuyến theo
bảng. Tuy nhiên, vấn đề lớn nhất của các giao thức định tuyến theo yêu cầu là trễ do tìm
kiếm tuyến trước khi chuyển tiếp thông tin dữ liệu. Ví dụ về một số giao thức định tuyến
theo yêu cầu gồm: giao thức định tuyến nguồn động DSR (Dynamic Source Routing),
giao thức định tuyến vector khoảng cách theo yêu cầu AODV (Ad hoc On- demand
Distance Vector routing) và giao thức định tuyến theo thứ tự tạm thời TORA
(Temporally Ordered Routing Algorithm).
1.4.5 Giao thức định tuyến lai ghép
Các giao thức định tuyến lai ghép được đề xuất để kết hợp các đặc tính ưu điểm
của các giao thức định tuyến theo bảng và theo yêu cầu. Thông thường, các giao thức
định tuyến lai ghép MANET được sử dụng trong kiến trúc phân cấp. Các giao thức định
tuyến theo bảng và theo yêu cầu được triển khai trong các cấp thích hợp. Một số ví dụ về
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
13
giao thức định tuyến lai ghép: giao thức định tuyến vùng ZRP (Zone Routing Protocol),
giao thức định tuyến trạng thái liên kết dựa trên vùng ZHLS (Zone-based Hierarchical
Link State routing) và giao thức định tuyến mạng tùy biến lai HARP (Hybrid Ad hoc
Routing Protocol), v.v
1.5 Ứng dụng mạng Manet
Công nghệ mạng adhoc di động tương tự như mạng vô tuyến gói di động (Mobile
Packet Radio Networking), mạng lưới di động (Mobile Mesh Networking) và kết nối
mạng vô tuyến, nhiều chặng, di động (Mobile, Multihop, Wireless etworking). Vấn đề
nổi trội của kết nối mạng di động với sự nhấn mạnh về hoạt động của giao thức IP di
động sẽ được mở rộng dần và yêu cầu công nghệ kết nối di động có khả năng tương
thích cao để có thể quản lý hiệu quả các nhóm mạng ad hoc nhiều chặng, trong đó các
nhóm mạng có thể hoạt động độc lập hoặc cũng có thể kêt nối với một số điểm Internet
cố định. Các ứng dụng của công nghệ MANET có thể bao gồm các ứng dụng công
nghiệp và thương mại liên quan đến trao đổi dữ liệu di động có tính chất cộng tác lẫn các
máy. Ngoài ra, các mạng di động cấu hình lưới có thể được vận hành một cách hiệu quả
dưới dạng mạng thay thế hoặc mạng mở rộng của mạng di động tổ ong. Việc kết nối
mạng trong quân đội cũng yêu cầu các dịch vụ dữ liệu IP trong các mạng truyền thông di
động vô tuyến, nhiều mạng trong số này bao gồm các phần với cấu hình mạng tự trị với
tính động cao. Bên cạnh đó, sự phát triển của các công nghệ tính toán và truyền thông có
thể cung cấp các ứng dụng cho các mạng MANET. Khi được kết hợp một cách hợp lý
với truyền thông vệ tinh, mạng MANET có thể cung cấp các phương thức cực kỳ linh
hoạt trong việc thiết lập truyền thông cho hoạt động cứu hỏa, cứu thương, khắc phục sự
cố tai nạn hoặc các trường hợp cần triển khai mạng thật nhanh chóng để phục vụ tức thì.
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
14
CHƯƠNG II: TÌM HIỂU VỀ GIAO THỨC AODV
2.1 Khái quát
Giao thức AODV (Ad hoc On Demand Distance Vector):
Giao thức định tuyến AODV là một trong những giao thức định tuyến theo cơ chế
phản ứng trong hệ thống mạng MANET. Tương tự như giao thức DSR, AODV cũng
phát gói tin broadcast để yêu cầu tìm đường khi có nhu cầu. Tuy nhiên điểm khác biệt cơ
bản đối với giao thức DSR là AODV sử dụng nhiều cơ chế khác để duy trì thông tin
bảng định tuyến, chẳng hạn như nó sử dụng bảng định tuyến truyền thống để lưu trữ
thông tin định tuyến với mỗi entry cho một địa chỉ đích.
Không sử dụng cơ chế Source Routing và cũng không cần biết thông tin về các
node 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ề node nguồn và node 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 đị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 node sẽ có một bộ tăng số Sequence Number riêng cho nó.
Tương tự như cơ chế hoạt động của DSR, 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.
Cơ chế tạo thông tin định tuyến (Route Discovery):
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. Trong hệ thống mạng MANET
hoạt động theo giao thức AODV, 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,
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
15
REQ_ID> là định danh duy nhất cho một gói tin RREQ. Cặp thông tin này sẽ bị thay đổi
giá trị khi:
Đối với Sequence Number:
Trước khi một node khởi động tiến trình route discovery, đều này nhằm chống
sự xung đột với các gói tin RREP trước đó.
Khi nhận được một gói tin RREP gửi từ nút đích để trả lời gói tin RREQ, nó
sẽ cập nhật lại giá trị Sequence number lớn nhất của một trong 2 giá trị: Sequence
number hiện hành mà nó lưu giữ đối với Sequence number trong gói RREQ
Đối với REQ_ID: Khi có một sự thay đổi trong toàn bộ các nút lân cận của nó
dẫn đến sẽ có một số tuyến đường trong bảng định tuyến sẽ không còn hiệu lực. Số
REQ_ID sẽ được tăng lên khi node khởi động một tiến trình route discovery mới.
Hình 2.1 Các trường trong gói tin RREQ
Tiến trình Route Discovery được khởi động khi nào một node muốn trao đổi dữ
liệu với một node khác mà trong bảng định tuyến của nó không có thông tin định tuyến
đến node đích đó. Khi đó tiến trình sẽ phát broadcast một gói RREQ cho các node láng
giềng của nó. Thông tin trong RREQ ngoài địa chỉ đích, địa chỉ nguồn, số hop-count
(được khởi tạo giá trị ban đầu là 0),… còn có các trường: số sequence number của node
nguồn, số broadcast ID, giá trị sequence number được biết lần cuối cùng của node đích.
Khi các node láng giềng nhận được gói RREQ, nó sẽ kiểm tra tuần tự theo các bước:
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.
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
16
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 node nguồn mà nó sẽ tiếp tục
phát Broadcast gói RREQ đó đến cho các node 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 node 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 node nguồn bằng cách ghi nhận lại địa chỉ của node 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
node nguồn, sau đó entry này sẽ được xóa đi.
Hình 2.2: Các trường trong gói tin RREP
Quá trình kiểm tra này sẽ lặp tuần tự cho đến khi gặp node đích hoặc một node
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 node
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.
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
17
Cơ chế duy trì thông tin định tuyến:
Như đã nhận xét ở trê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 node 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 node láng giềng
đang ở trạng thái active, những node đó sẽ tiếp tục chuyển gói tin đó đến các node láng
giềng của nó, và cứ như vậy cho đến khi tất cả các node 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 node sẽ xóa tất cả các đường đi có chứa node
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 node 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
node láng giềng để tìm đến địa chỉ đích.
2.2 Bảng định tuyến
2.2.1 Xây dựng bảng định tuyến
AODV (Ad hoc On-Demand Distance Vector) là sự kết hợp giữa hai giao thức
định tuyến DSDV và DSR. Cũng giống DSR , trong giao thức định tuyến khi các node
có nhu cầu trao đổi dữ liệu.
AODV vẫn sử dụng cơ chế tìm đường như trong DSR là sử dụng tiến trình route
discovery. Tuy nhiên, AODV còn sử dụng nhiều cơ chế khác để duy trì thông tin bảng
định tuyến. Nó sử dụng bảng định tuyến truyền thống để lưu trữ thông tin định tuyến
với mỗi entry cho một địa chỉ đích. Điều đó trái ngược với giao thức DSR , có thể duy
trì nhiều entry cho một điạ chỉ đích.
Không sử dụng source route và chỉ cần biết thông tin về các node 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 RREP về node nguồn và
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
18
node 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 định tuyến là mới nhất thì AODV sử dụng khái niệm destination sequence number
của giao thức định tuyến DSDV để loại bỏ những đường đi không còn giá trị trong bảng
định tuyến. Mỗi node sẽ có một bộ tăng số sequence number riêng cho nó. Các cơ chế
chính của AODV :
Cơ chế tạo thông tin định tuyến (route discovery)
Mỗi node luôn có hai bộ đếm (counter): bộ đếm số sequence number và bộ đếm
aREQ_ID. Số sequence number được tăng lên trong các trường hợp
+ Trước khi một node khởi động tiến trình route discovery , điều này chống sự
xung đột với các gói RREP trước đó.
+Trước khi một node đích gởi gói RREP trả lời gói RREQ , nó sẽ cập nhật lại giá
trị sequence number lớn nhất của số sequence number hiện hành mà nó lưu giữ với số
sequence number trong gói RREQ .
+ Khi có một sự thay đổi trong mạng cục bộ của nó (mạng cục bộ là mạng các
node láng giềng). Số REQ_ID được tăng lên khi node khởi động một tiến trình route
discovery mới.
Tiến trình Route Discovery được khởi động khi nào một node muốn trao đổi dữ
liệu với một node khác mà trong bảng định tuyến của nó không có thông tin định tuyến
đến node đích đó. Khi đó tiến trình sẽ phát broadcast một gói RREQ cho các node láng
giềng của nó. Thông tin trong RREQ ngoài địa chỉ đích, địa chỉ nguồn, số hop-count
,… Còn có các trường : số sequence number của node nguồn, số broadcast ID, số
sequence number của node đích. Cặp thông tin <địa chỉ nguồn, số REQ_ID> là số định
danh duy nhất cho một gói RREQ .Khi các node láng giềng nhận được gói RREQ, thì nó
sẽ kiểm tra tuần tự theo các bước :
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
19
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.
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ố sequence 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 node nguồn mà nó sẽ tiếp tục phát
broadcast gói RREQ đó đến cho các node 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 node láng giềng của nó đã 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.
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 node nguồn bằng cách ghi nhận lại địa chỉ của node 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 node nguồn, sau đó entry
này sẽ được xóa đi. Các thông tin bao gồm :
+ Địa chỉ đích
+ Địa chỉ nguồn
+ Số REQ_ID
+ Thời gian timeout cho việc chờ đợi thời gian nhận gói RREP
+ Số sequence number của node nguồn
Sau đó phát broadcast đến các node láng giềng của nó.
Và quá trình trên cứ lặp lại cho đến khi gặp node đích hoặc một node trung gian
mà có các điều kiện thỏa bước 2.
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
20
Trong quá trình trả về gói RREP, một node 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.
Cơ chế duy trì thông tin định tuyến (Route Maintenance )
Khi một node nhận thấy rằng next hop của nó không thể tìm thấy, thì nó sẽ phát
một gói RREP khẩn cấp với số sequence number bằng số sequence number trước đó
cộng với 1, và hop count bằng và gởi đến tất cả các node láng giềng đang ở trạng thái
active, những node đó sẽ tiếp tục chuyển gói tin đó đến các node láng giềng,… và cứ
như vậy cho đến khi tất cả các node trong mạng mà ở trạng thái active nhận được gói tin
này.
Sau khi nhận thông báo đó, các node 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 node bị hỏng đó, để biết node cần
có nhu cầu định tuyến đến đích hay không thì nó sẽ kiểm tra ở các giao thức bên dưới có
kết nối nào đến node đích mà còn mở hay không ?Nếu thấy cần có nhu cầu định tuyến
nó sẽ gởi một gói 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 node láng giềng để tìm đến địa chỉ đích. Để kiểm tra trạng
thái một node có active hay không ? ADOV sử dụng một bộ timer.Một emtry của bảng
định tuyến sẽ bị xem là không active nếu nó không được sử dụng thường xuyên.
2.2.2 Quản lý bảng định tuyến
Ngoài nguồn và số thứ tự đích, thông tin hữu ích khác cũng được lưu giữ trong
các mục bảng định tuyến, và được gọi là cái ft-nhà nước liên quan đến nhập cảnh. Liên
kết với đường dẫn ngược lại mục định tuyến là một bộ đếm thời gian, được gọi là yêu
cầu tuyến đường bộ đếm thời gian hết hạn. Mục đích của bộ đếm thời gian này là để tẩy
các mục con đường định tuyến đảo ngược từ những nút không nằm trên con đường từ
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
21
nguồn đến đích. Thời gian hết hạn phụ thuộc vào kích thước của mạng ad-hoc. Một
thông số quan trọng khác liên quan đến mục định tuyến là các tuyến đường bộ nhớ đệm
iimeoui, hoặc thời gian sau đó, tuyến đường được coi là không hợp lệ.
Trong mỗi mục nhập bảng định tuyến, địa chỉ của các nước láng giềng hoạt động
mà qua đó các gói tin cho các điểm đến nhất định nhận được cũng được duy trì. Hàng
xóm được coi là hoạt động (cho điểm đến đó) nếu nó bắt nguồn hoặc chuyển tiếp ít nhất
một gói tin cho rằng điểm đến trong khoảng thời gian hoạt động thời gian chờ gần đây
nhất. Thông tin này được duy trì để tất cả các nút nguồn hoạt động có thể được thông
báo khi một liên kết dọc theo một con đường để phá vỡ đích. Một mục nhập tuyến
đường được coi là hoạt động nếu nó được sử dụng bởi bất kỳ hàng xóm hoạt động. Các
đường dẫn từ một nguồn tới một điểm đến, tiếp theo là các gói dữ liệu dọc theo mục
tuyến đường hoạt động, được gọi là một đường dẫn hoạt động. Lưu ý rằng, với DSDV,
tất cả các tuyến trong bảng định tuyến được gắn thẻ với số thứ tự đích, đảm bảo rằng
không có vòng lặp định tuyến có thể hình thành, ngay cả dưới điều kiện khắc nghiệt của
cung cấp gói out-of-trật tự và tính di động nút cao.
Một nút di động duy trì một mục bảng định tuyến cho mỗi điểm đến quan tâm.
Mỗi mục bảng định tuyến có chứa các thông tin sau:
• Điểm đến
• Next Hop
• Số lượng hoa bia (metric)
• Trình tự số cho điểm đến
• hàng xóm đăng nhập cho tuyến đường này
• hết hạn thời gian cho các mục nhập bảng định tuyến
Mỗi khi một mục tuyến đường được sử dụng để truyền tải dữ liệu từ một nguồn
tới đích, thời gian chờ cho mục được thiết lập lại đến thời điểm hiện tại cộng với hoạt
động -roui e-tim eoui.
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
22
Nếu một tuyến đường mới được cung cấp cho một nút điện thoại di động, các nút
di động so sánh số thứ tự điểm đến của các tuyến đường mới để các điểm đến số thứ tự
cho các tuyến đường hiện tại. Tuyến có số thứ tự lớn hơn được chọn. Nếu số thứ tự là
như nhau, sau đó các tuyến đường mới đã được chọn chỉ khi nó có nhỏ hơn (số ít hoa
bia) số liệu đến đích.
2.2.3 Bảo trì
Phong trào của các nút không nằm dọc theo một con đường hoạt động không ảnh
hưởng đến việc định tuyến đến đích của con đường đó. Nếu nút nguồn di chuyển trong
một phiên hoạt động, nó có thể bắt đầu lại các thủ tục khám phá tuyến để thiết lập một
tuyến đường mới đến đích. Khi một trong hai điểm đến hoặc di chuyển một số nút trung
gian, một RREP đặc biệt được gửi đến các nút nguồn bị ảnh hưởng. Thông điệp chào
định kỳ có thể được sử dụng để đảm bảo các liên kết đối xứng, cũng như để phát hiện
các lỗi liên kết. Ngoài ra, với độ trễ ít, thất bại đó có thể được phát hiện bằng cách sử
dụng link-layer lời cảm ơn (LLACKS). Một thất bại liên kết cũng được chỉ định nếu nỗ
lực để chuyển tiếp một gói tin đến thất bại hop tiếp theo.
Khi hop tiếp theo sẽ trở thành không thể kết nối, nút thượng nguồn của giờ nghỉ
truyền một RREP không mong muốn với một số thứ tự tươi (ví dụ, một số thứ tự lớn hơn
số thứ tự trước đây được biết) và hop count oo để tất cả các nước láng giềng hoạt động
thượng nguồn.Những nút sau đó chuyển tiếp tin nhắn đó đến các nước láng giềng hoạt
động của họ và do đó trên.Quá trình này tiếp tục cho đến khi tất cả các nút nguồn hoạt
động được thông báo, nó chấm dứt bởi vì AODV chỉ duy trì các tuyến đường miễn phí
và chỉ có một số hữu hạn các nút trong mạng ad-hoc.
Khi nhận được thông báo của một liên kết bị hỏng, nút nguồn có thể khởi động lại
quá trình phát hiện nếu họ vẫn yêu cầu một tuyến đường đến đích. Để xác định xem một
tuyến đường vẫn còn cần thiết, một nút có thể kiểm tra xem tuyến đường đã được sử
dụng gần đây, cũng như kiểm tra cấp trên khối điều khiển giao thức để xem liệu connec
cuộc tranh tài chính vẫn mở bằng cách sử dụng các điểm đến chỉ định. Nếu nút nguồn
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
23
(hoặc bất kỳ nút khác dọc theo tuyến đường trước đó) quyết định sẽ xây dựng lại các
tuyến đường đến đích, nó sẽ gửi một RREQ với một số thứ tự điểm đến của một lớn hơn
số thứ tự trước đây được biết, để đảm bảo rằng nó xây dựng một tuyến đường mới, khả
thi, và rằng không có các nút trả lời nếu họ vẫn coi các tuyến đường trước đó là hợp lệ.
2.2.4 Quản lý kết nối
Nodes học của các nước láng giềng của họ trong một trong hai cách. Bất cứ khi
nào một nút nhận được một phát sóng từ một người hàng xóm, nó cập nhật thông tin kết
nối địa phương để đảm bảo rằng nó bao gồm hàng xóm. Trong trường hợp một nút đã
không gửi bất kỳ gói dữ liệu cho tất cả các nước láng giềng của hoạt động hạ lưu của nó
trong HelloInterval, chương trình phát sóng với các nước láng giềng tin hello (đặc biệt
không được yêu cầu RREP), có bản sắc của mình và số thứ tự. Số thứ tự của nút là
không thay đổi cho việc truyền tải tin nhắn chào. Thông điệp này xin chào bị ngăn cản
không được phát sóng lại bên ngoài vùng lân cận của các nút bởi vì nó có chứa một thời
gian sống (TTL) giá trị là 1. Hàng xóm nhận được gói tin này cập nhật thông tin kết nối
địa phương để nút. Nhận phát sóng hoặc hello từ một người hàng xóm mới, hoặc không
nhận được thông điệp liên tiếp allowed.Jh.elloJ.oss hello từ một nút trước đó trong khu
phố, là một dấu hiệu cho thấy các kết nối địa phương đã thay đổi. Không nhận được tin
nhắn chào từ các nước láng giềng không hoạt động không kích hoạt bất kỳ hành động
giao thức. Nếu thông điệp chào không nhận được từ hop tiếp theo cùng một con đường
hoạt động, những người hàng xóm đang hoạt động bằng cách sử dụng mà hop tiếp theo
được gửi thông báo lỗi liên kết.
Việc quản lý kết nối địa phương với những thông điệp chào cũng có thể được sử
dụng để đảm bảo rằng các nút duy nhất với kết nối hai chiều được coi là hàng xóm. Đối
với mục đích này, mỗi hello được gửi bởi một nút liệt kê các nút mà từ đó nó đã nghe.
Mỗi nút kiểm tra để chắc chắn rằng nó sử dụng các tuyến đường duy nhất cho những
người hàng xóm đã nghe tin nhắn chào của nút. Để tiết kiệm băng thông địa phương,
kiểm tra như vậy cần phải được thực hiện chỉ khi cấu hình một cách rõ ràng vào các nút.
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
24
2.3 Ví dụ
Node 1 muốn trao đổi thông tin đến node 4 nhưng không có tuyến đường đi đến
đó, node 1 sẽ gởi một RREQ với những thông tin :
RREQ ID để nhận biết gói tin RREQ là đã này đã được xử lí chưa, nếu đã có
nó sẽ loại bỏ gói tin (số RREQ ID được tăng lên khi node gởi một gói RREQ mới).
Địa chỉ ip và số sequence number node 4 (đích).
Địa chỉ ip và số sequence number đã được tăng thêm của node 1(nguồn)
Số hop count = 0.
Một danh sách đường dẫn, sẽ được cập nhật bởi những node nhận RREQ vì
vậy gói RREP sẽ biết được tuyến đương đi đên node nguồn.
Khi một RREQ phát sinh node sẽ lưu thông tin trong bộ nhớ đệm để tránh sự xử
lí hay chuyển tiếp lại gói RREQ mà nó nhận từ các node láng giềng
Đề tài Tìm hiểu về giao thức định tuyến AODV trong mạng Manet
Sinh viên: Phan Cảnh Hợp Giáo viên hướng dẫn: Hoàng Thanh Hải
25
Hình 2.3: Ví dụ một cơ chế route discovery