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ó
Trang 1MỤ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
Trang 22.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
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
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
Trang 3RREP Router Reply Hồi đáp truyền tin
WLAN Wireless Local Area Network Mạng cục bộ không dây
TORA Temporally Ordered Routing
Trang 4DANH 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
Trang 5LỜ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
Trang 6CHƯƠ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
Trang 7Hiệ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.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
Trang 8trườ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
Trang 91.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
Trang 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
Trang 11Hì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ác giao thức định tuyến trong
Trang 12thứ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ề
Trang 13giao 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ì
Trang 14CHƯƠ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,
Trang 15REQ_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
Trang 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
Trang 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
Trang 18node 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 :
Trang 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
Trang 20Trong 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ừ
Trang 21nguồ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
Trang 22Nế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
Trang 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,
Trang 242.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