Chương 1: Tổng quan - Chất lượng liên lạc thấp, băng thông truyền thông còn hạn chế - Khả năng mở rộng phải rất cao vì mạng có nhiều nút mạng tham gia - Khả năng tích hợp các phiên bản h
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
- -
TRƯƠNG VĂN PHÚC
KIẾN TRÚC MỞ CHO THIẾT BỊ ĐỊNH TUYẾN KHÔNG DÂY AD-HOC DỰA TRÊN BỘ PHẦN MỀM ĐỊNH
Trang 2LỜI CẢM ƠN
Tôi xin chân thành cảm ơn Phòng đào tạo Sau Đại học, Bộ môn Khoa học và
Kỹ thuật thông tin, Trường Đại học Công nghệ thông tin TP.HCM đã chấp nhận và tạo điều kiện cho tôi thực hiện đề tài luận văn này
Tôi xin chân thành cảm ơn PGS TS Lê Trung Quân, Trường Đại học Công nghệ Thông tin TP.HCM đã tận tình hướng dẫn, giúp đỡ, định hướng cho tôi trong suốt thời gian thực hiện đề tài này Tôi cũng xin chân thành cảm ơn các Quý Thầy
Cô đã tận tình giảng dạy, trang bị, bổ sung thêm nhiều kiến thức quý báu cho tôi trong suốt hai năm học vừa qua
Mặc dù tôi đã cố gắng hoàn thành đề tài trong phạm vi khả năng bản thân và thời gian cho phép tuy nhiên không tránh khỏi những thiếu sót tồn tại Tôi kính mong nhận được sự thông cảm và tận tình nhận xét chỉ bảo của Quý Thầy Cô
Tháng 03/2017
Học viên
TRƯƠNG VĂN PHÚC
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của tôi và được sự hướng dẫn khoa học của PGS.TS Lê Trung Quân, Trường Đại học Công nghệ Thông tin TP.HCM Các nội dung nghiên cứu và kết quả trong đề tài này là trung thực Các số liệu, hình ảnh, bảng biểu phục vụ cho phân tích, đánh giá được thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo Ngoài ra, trong luận văn còn sử dụng một số nhận xét, đánh giá từ tác giả của các công trình liên quan đều có trích dẫn và chú thích nguồn gốc
Tháng 03/2017
Học viên
TRƯƠNG VĂN PHÚC
Trang 4MỤC LỤC
CHƯƠNG 1: TỔNG QUAN 11
1.1 Tổng quan về đề tài nghiên cứu 11
1.1.1 Giới thiệu đề tài 11
1.1.2 Đặt vấn đề 13
1.2 Phương pháp tiếp cận đề tài 14
1.3 Phương pháp nghiên cứu 16
1.4 Đối tượng và phạm vi nghiên cứu 16
1.4.1 Đối tượng nghiên cứu 16
1.4.2 Phạm vi nghiên cứu 17
1.5 Cấu trúc của luận văn 17
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 19
2.1 Tình hình nghiên cứu ngoài nước 19
2.2 Tình hình nghiên cứu trong nước: 21
2.3 Giao thức định tuyến trong mạng MANET 22
2.3.1 Giới thiệu về thuật toán định tuyến 22
2.3.2 Yêu cầu của thuật toán định tuyến cho mạng không dây ad-hoc 23
2.3.3 Phân loại các giao thức định tuyến trong mạng adhoc 27
2.4 So sánh các giao thức định tuyến trong mạng MANET 30
2.5 Cơ chế hoạt động của giao thức AODV 35
2.5.1 Giới thiệu tổng quan về giao thức AODV 35
2.5.2 Quá trình tìm đường trong giao thức AODV 38
2.5.3 Quản lý bảng định tuyến 40
2.5.4 Duy trì thông tin định tuyến 41
2.5.5 Cấu trúc gói tin điều khiển trong AODV 41
2.6 Các phiên bản hiện thực của các giao thức định tuyến 45
CHƯƠNG 3: PHÂN TÍCH MÃ NGUỒN AODV-UU 49
3.1 Các module của AODV-UU 49
3.1.1 Các thành phần không liên quan đến kernel 49
3.1.2 Các module liên quan đến kernel 53
3.2 Quá trình xử lý gói dữ liệu 53
3.2.1 Gói tin đến 53
3.2.2 Xử lý gói tin 53
3.2.3 Xử lý gói dữ liệu 54
3.2.4 Tiến trình AODV control message 54
3.2.5 Gửi thông điệp AODV control 54
3.3 Luồng xử lý gói tin trong kernel 54
Trang 5CHƯƠNG 4: KIẾN TRÚC MỞ BỘ PHẦN MỀM ĐỊNH TUYẾN QUAGGA/ZEBRA 60
4.1 Bộ phần mềm định tuyến Quagga/Zebra 60
4.1.1 Khái quát về Quagga 60
4.1.2 Các thư viện trong Quagga 61
4.1.3 Giao thức Zebra 64
4.1.4 Deamon Zebra 65
4.2 Phân tích mã nguồn AODV-UU được tích hợp vào Quagga 0.99.22.1 67
4.2.1 Xử lý gói dữ liệu 68
4.2.2 AODV flow 70
4.2.3 Kernel route update 78
4.3 Internetworking 84
4.3.1 Giới thiệu 84
4.3.2 Quản lý tính di động của mạng IP trong MANET 86
4.3.3 Các chức năng quản lý tính di động mạng IP trong MANET 86
4.3.4 AODV-UU tích hợp Internetworking 89
4.3.5 Phân tích mã nguồn AODV-UU trong internetworking 93
CHƯƠNG 5: KỊCH BẢN THỬ NGHIỆM VÀ KẾT QUẢ THỰC TẾ 106
5.1 Cài đặt gói adhoc-iu 106
5.2 AODV routing test case 109
5.2.1 Mục đích 109
5.2.2 Chuẩn bị 109
5.2.3 Tình huống thực tế 109
5.2.4 Kết quả thực hiện 110
5.3 Internet access test case 115
5.3.1 Mục đích 115
5.3.2 Kịch bản 115
5.3.3 Kiểm tra và kết quả 116
5.4 Cài đặt gói AODV-UU trên Linux kernel 3.1.3 118
5.5 Đánh giá hiệu năng giữa hai phiên bản: AODV-UU deamon và AODV-UU được tích hợp vào Quagga 121
5.5.1 Các trường hợp đánh giá được xây dựng 121
5.5.2 Xây dựng Testcase để đánh giá hiệu năng 123
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 134
TÀI LIỆU THAM KHẢO 136
Trang 6DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
1 AODV Ad hoc On-Demand Distance Vector
5 BSD Berkeley Software Distribution
17 DSDV Destina tion SequenceDistance Vector
26 GNU/Linux Hệ điều hành GNU/Linux
29 HARP Hybrid Ad hoc Routing Protocol
33 IEEE Institute of Electrical and Electronics Engineers
37 IPSec Internet Protocol Security
38 IPv4 Internet Protocol version 4
39 IPv6 Internet Protocol version 6
40 IS-IS Intermediate System to Intermediate System
45 MEWLANA-RD Mobile IP Enriched Wireless Local
Trang 7Area Network Architecture- Root Driven
46 MEWLANA-TD Mobile IP Enriched Wireless Local
Area Network Architecture - table driven
48 MID Mutiple Interface Declaration
52 NAPT Network Address and Port Translation
57 OLSR Optimized Link State Routing Protocol
58 OLSRd Optimized Link State Routing Daemon
59 OLSRdq Optimized Link State Routing Daemon Quagga
74 SNMP Simple Network Management Protocol
76 TBBR Tree Based Bidirectional Routing
78 TCP Transmission Control Protocol
79 TORA Temporally Ordered Routing Algorithm
84 VTY Thư việc giao diện thiết bị đầu cuối
87 ZHLS Zone –based Hierarchical Link State routing
Trang 8DANH MỤC CÁC BẢNG
Bảng 1.1 Ứng dụng của mạng Mobile Ad-hoc Network [8] 12
Bảng 1.2 Bảng so sánh Quagga/Zebra với các bộ phần mềm định tuyến [1] 15
Bảng 2.1 So sánh đặc tính của các giao thức định tuyến hướng bảng [16] 30
Bảng 2.2 So sánh đặc tính của các giao thức định tuyến theo yêu cầu[16] 32
Bảng 2.3 So sánh đáp ứng các thông số của các giao thức định tuyến[17] 33
Bảng 2.4 So sánh giữa giao thức thuộc nhóm Proactive và Reactive [17] 34
Bảng 4.1 Loại định tuyến và giá trị khoảng cách trong các thư việc Zebra [29] 666
Bảng 5.1 Các thông số hiệu suất phục vụ cho việc đánh giá 12222
Bảng 5.2 Thống kê dữ liệu tại node A aodvuu-quagga 126
Bảng 5.3 Thống kê dữ liệu tại node B aodvuu-quagga 127
Bảng 5.4 Thống kê dữ liệu tại node A aodvuu trên kernel 3.13.11 128
Bảng 5.5 Thống kê dữ liệu tại node B aodvuu trên kernel 3.13.11 129
Trang 9DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1 Sơ đồ mạng MANET [7] 11
Hình 2.1 Ví dụ về các cụm mạng nhỏ trong mạng ad-hoc [11] 27
Hình 2.2 Phân loại các giao thức định tuyến trong mạng MANET [10] 28
Hình 2.3 Quá trình khám phá tuyến trong AODV [19] 35
Hình 2.4 Quá trình truyền RREQ [19] 36
Hình 2.5 Đường đi của gói tin RREP trở về nguồn [19] 37
Hình 2.6 Quá trình xử lý tìm đường của các node trong mạng MANET [15] 39
Hình 2.7 Cấu trúc thông điệp RREQ [21] 42
Hình 2.8 Cấu trúc thông điệp RREP [21] 43
Hình 2.9 Cấu trúc thông điệp RRER [21] 44
Hình 2.10 Cấu trúc thông điệp RREP- ACK [21] 44
Hình 2.11 Kiến trúc hệ thống của Quagga [18] 46
Hình 2.12 Kiến trúc hệ thống Quagga với AODV-UU [6] 47
Hình 2.13 Kiến trúc liên kết các thành phần trong bộ định tuyến Quagga [6] 48
Hình 3.1 Quá trình xử lý gói dữ liệu [26] 53
Hình 3.2 Luồng gói tin trong kernel [26] 55
Hình 4.1 Kiến trúc hệ thống của Quagga/Zebra [26] 600
Hình 4.2 Header phổ biến của giao thức Zebra của phiên bản 1 [29] 654
Hình 4.3 Quá trình cập nhật định tuyến trên kernel trong Quagga/Zebra [29] 667
Hình 4.4 Quá trình xử lý gói tin của AODV-UU [6] 6868
Hình 4.5 Luồng hoạt động của AODV [1] 711
Hình 4.6 Quá trình xử lý gói tin trong kernel-space của AODV-UU [6] 722
Hình 4.7 Quá trình xử lý gói tin trong user-space [6] 755
Hình 4.8 Sơ đồ Internetworking [31] 85
Hình 4.9 Một kịch bản quản lý tính di động trong mạng MANET [31] 86
Hình 4.10 Chồng giao thức sử dụng trong Internetworking[16] 90
Hình 4.11 Cấu trúc gói tin RREQ mở rộng[15] 90
Hình 4.12 Cấu trúc gói tin RREQ mở rộng [15] 91
Hình 4.13 Tiến trình giao tiếp với gateway[15] 92
Hình 4.14 Gọi hàm route request cho đích đến là Internet[21] 94
Hình 4.15 Quá trình xử lý của node trung gian[21] 96
Hình 4.16 Process Route Resquest cho đích đến là Internet[21] 98
Hình 4.17 Hàm gọi routing table [21] 100
Hình 5.1 Tập tin zebra.conf.sample 107
Hình 5.2 Kết nối telnet đến zebra 10808
Hình 5.3 Kiểm tra thông tin card wlan0 10909
Hình 5.4 Kết quả máy A ping máy B 11010
Hình 5.5 Kết quả máy B ping máy A 11010
Hình 5.6 Khởi chạy aodvuu trên máy A 11010
Hình 5.7 Thông tin bảng định truyến Zebra trên máy A 11111
Hình 5.8 Khởi chạy aodvuu trên máy B 11111
Hình 5.9 Thông tin bảng định tuyến Zebra trên máy B 11212
Hình 5.10 Bread link và gửi yêu càu để Zebra xóa đường trên máy A 11212
Hình 5.11 Break link và gửi yêu cầu để Zebra xóa đường trên máy B 11212
Hình 5.12 Kết quả ping máy A và B khi break link 11313
Hình 5.13 Máy C gửi yêu cầu thêm chỉ mục định tuyến máy B 11313
Hình 5.14 Máy C gửi yêu cầu thêm chỉ mục định tuyến máy A 11313
Hình 5.15 Máy C ping thành công cả máy A và máy B 11414
Hình 5.16 Thông tin bảng định tuyến Zebra trên máy C 11414
Trang 10Hình 5.17 Máy A cập nhật tuyến đường đến máy B 11414
Hình 5.18 Kết quả bảng định tuyến Zebra trên máy A 11515
Hình 5.19 Kết quả ping giữa máy A và máy B 11515
Hình 5.20 Mô hình kiểm tra Internetworking 11515
Hình 5.21 Thông tin bảng định tuyến trên máy A 11616
Hình 5.22 Thông tin bảng định tuyến trên máy B 11717
Hình 5.23 Định tuyến Static Route trên máy B 11818
Hình 5.24 Ping kiểm tra kết nối Internet từ máy B 11818
Hình 5.25 Kiểm tra phiên bản Linux kernel 3.13.11 11919
Hình 5.26 Khởi chạy aodvuu trên Linux kernel 3.13.11 12020
Hình 5.27 Thông tin cập nhật node láng giềng của aodvuu trên Linux kernel 12121
Hình 5.28 Sơ đồ testcase 3 node di chuyển 12323
Hình 5.29 So sánh bandwith tại node A 13030
Hình 5.30 So sánh độ delay tại node A 13030
Hình 5.31 So sánh tỉ lệ packet loss tại node A 13131
Hình 5.32 So sánh Bandwith tại node B 13131
Hình 5.33 So sánh độ trể tại node B 13232
Hình 5.34 So sánh tỉ lệ Packet loss tại máy B 13333
Trang 11MỞ ĐẦU
Ngày nay, cùng với sự bùng nổ, phát triển mạnh mẽ của các thiết bị di động cá nhân như: laptop, smartphone, tablet, thì nhu cầu kết nối giữa các thiết bị này cũng ngày càng đòi hỏi cao hơn về tốc độ và khả năng di chuyển trong khi kết nối Khi mạng không dây ngày càng được quan tâm, đầu tư và phát triển thì ngày càng nhiều mô hình, kiến trúc mạng được đề xuất Các mô hình, kiến trúc mạng này được
đề ra nhằm làm cho mạng không dây dần thoát khỏi hoàn toàn sự phụ thuộc vào cơ
sở hạ tầng Mạng di động đặc biệt – MANET (Mobile Ad-hoc Network) là một trong những công nghệ vượt trội đáp ứng nhu cầu kết nối đó nhờ khả năng hoạt động không phụ thuộc vào cơ sở hạ tầng mạng cố định, với chi phí hoạt động thấp, triển khai nhanh và có tính di động cao Tuy nhiên, hiện nay mạng MANET vẫn chưa được ứng dụng rộng rãi và đang được thúc đẩy nghiên cứu nhằm cải tiến hơn nữa các giao thức định tuyến để mạng đạt được hiệu quả hoạt động tốt hơn
Nhiều giao thức định tuyến đã được đề xuất, hiện thực và phát triển cho mục đích định tuyến trong môi trường mạng MANET Giao thức định tuyến thông thường là một ứng dụng độc lập có chức năng chính là định tuyến Đối với nhu cầu định tuyến hiện nay thì có nhiều yêu cầu hơn là chức năng định tuyến truyền thống như chất lượng dịch vụ, hiệu năng mạng, kịch bản ứng dụng, kiểm soát danh sách điều khiển truy cập, chính sách lưu bản đồ lộ trình, cơ chế phân phối lại lộ trình khi
có nhiều giao thức định tuyến hoạt động trong mạng Ngoài ra, nhằm tạo sự thuận tiện khi tiến hành cấu hình và quản lý đồng thời nhiều giao thức định tuyến, bao gồm cả IP routing và ad-hoc routing thì các bộ phần mềm định tuyến mở củng được
đề xuất và phát triển như Quagga/Zebra, XORP, OpenWrt, CLICK Trong đó, hiện
đã có phiên bản hiện thực của giao thức định tuyến theo bảng ghi OLSR là QUAGGA [pro-active] trên các Linux kernel mới Tuy nhiên, hiện thực của giao thức định tuyến theo yêu cầu AODV là AODVUU-QUAGGA [re-active] vẫn còn là vấn đề mở
OLSRD-Đề tài luận văn với chủ đề để Kiến trúc mở cho thiết bị định tuyến không dây ad-hoc dựa trên bộ phần mềm định tuyến Quagga/Zebra Nội dung của Luận Văn
dự định tiếp cận vấn đề mở này, dự kiến phát triển tiếp phiên bản aodv-iu [1] do tác
Trang 12giả Hồng Vương Anh hiện thực trong việc tích hợp AODV-UU vào bộ phần mềm định tuyến Quagga/zebra Tuy nhiên, do phiên bản aodv-iu được phát triển dựa trên Linux kernel 2.4.x-2.6.x [tương ứng với Ubuntu 10.04], và có sự khác biệt lớn ở kiến trúc kernel hiện nay, việc tiếp tục phát triển giải pháp tích hợp aodv-iu cho phiên bản aodv-iu lên Quagga/Zebra trong các Linux kernel mới là vượt quá khả năng của tác giả, cũng như phạm vi của đề tài Do đó nội dung công việc trong luận văn được hướng tới việc xây dựng các kịch bản thời gian thực (run-time testing scenarios), đo đạc số liệu phục vụ việc xây dựng cơ sở dữ liệu cho mạng MANETs, phục vụ việc so sánh, đánh giá hiệu năng truyền dữ liệu trên mạng MANETs Với nghiên cứu này, nhằm mục đích phân tích mã nguồn của hai phiên bản AODV-UU trên Linux kernel và AODV-UU dựa trên bộ phần mềm định tuyến Quagga/Zebra; xây dựng kịch bản thu thập dữ liệu, đánh giá và so sánh hiệu năng giữa hai phiên bản; bổ sung cơ sở dữ liệu cho mạng MANETs
Trang 13Chương 1: Tổng quan
CHƯƠNG 1: TỔNG QUAN
1.1 Tổng quan về đề tài nghiên cứu
1.1.1 Giới thiệu đề tài
Trong vài năm qua, cùng với sự phát triển nhanh chóng của lĩnh vực điện toán
di động, các thiết bị di động không dây được sử dụng phổ biến và rộng rãi Các thiết
bị di động cá nhân như laptop, smartphone, tablet, sensor, … đang được ứng dụng ngày càng nhiều trong cuộc sống, nhu cầu kết nối giữa các thiết bị này ngày càng đòi hỏi cao hơn về tốc độ và khả năng di chuyển trong khi kết nối Mạng di động ad-hoc MANET (Mobile Ad-hoc Network) [7] là một trong những công nghệ vượt trội đáp ứng nhu cầu kết nối khả năng di động không dây nhờ vào khả năng hoạt động không phụ thuộc vào cơ sở hạ tầng mạng cố định, với chi phí hoạt động thấp, triển khai nhanh và có tính di động cao
Hình 1.1 Sơ đồ mạng MANET [7]
Mạng MANET là một tập hợp các nút mạng di động không dây, nằm phân tán
về mặt địa lý tạo thành một mạng tạm thời mà không sử dụng bất cứ cấu trúc hạ tầng mạng có sẵn hay quản lý tập trung nào Các nút mạng liên lạc với nhau qua môi trường vô tuyến không cần các bộ định tuyến di động có trang bị bộ thu phát không dây Các nút mạng tự do di chuyển ngẫu nhiên, vì vậy cấu hình mạng thay
Trang 14Chương 1: Tổng quan
đổi thường xuyên Mạng MANET được sử dụng ở bất cứ nơi nào có nhu cầu thiết lập môi trường mạng và có thể sử dụng trong nhiều trường hợp đặc biệt như ở những nơi không có cơ sở hạ tầng truyền thông hoă ̣c ở những nơi cần thiết phải thiết lâ ̣p mô ̣t hê ̣ thống ma ̣ng ta ̣m thời để sử du ̣ng trong thời gian ngắn Mô ̣t số lĩnh vực ứ ng du ̣ng ma ̣ng MANET tiêu biểu: [8]
Bảng 1.1 Ứng dụng của mạng Mobile Ad-hoc Network [8]
- Các hoạt động tìm kiếm và cứu hộ
- Thay thế cơ sở hạ tầng cố định trong trường hợp thảm họa môi trường
- Môi trường thương
Trang 15Chương 1: Tổng quan
- Giáo dục - Thiết lập mạng trong khuôn viên trường đại học
- Các lớp học ảo
- Mạng giao tiếp trong các tiết học hoặc hội thảo
- Giải trí - Trò chơi đa người dùng
- Mạng wireless P2P
- Truy cập mạng Internet outdoor
- Trang bị thẻ đeo định vị cho thú nuôi
- Mạng cảm biến - Nhà thông minh: cảm biến thông minh và các bộ truyền
động nhúng trong thiết bị điện tử tiêu dùng
- Cảm biến thông tin sức khỏe con người
- Theo dõi dữ liệu của điều kiện môi trường, hành vi di chuyển của động vật, phát hiện dữ liệu hóa học/sinh học
1.1.2 Đặt vấn đề
Các giao thức định tuyến MANET hiện vẫn đang được tiếp tục nghiên cứu và cải thiện Trên cơ sở các giao thức định tuyến đã đề xuất, một loạt các khía cạnh liên quan tới vấn đề định tuyến như: chất lượng dịch vụ, hiệu năng mạng, kịch bản ứng dụng vẫn đang là các vấn đề mở Vì vậy, để xác định tính tương thích và khả năng triển khai của giao thức định tuyến, việc so sánh và đánh giá giao thức cần có thêm các mô hình và kịch bản ứng dụng tiếp cận được các điều kiện thực tiễn
Tuy nhiên, hiện nay mạng MANET vẫn chưa được ứng dụng rộng rãi và đang được thúc đẩy nghiên cứu nhằm cải tiến hơn nữa các giao thức định tuyến để mạng đạt được hiệu quả hoạt động tốt hơn Một loạt các thách thức với mạng MANET được đặt ra cần giải quyết [8]:
- Năng lượng: các node mạng ad-hoc hoạt động được nhờ nguồn năng lượng là pin Vì vậy vấn đề tuổi thọ của pin, công suất pin cần đặc biệt quan tâm
- Cấu hình mạng không có cấu trúc và biến đổi ngẫu nhiên
- Nhiều giao thức định tuyến được chạy trên nhiều nút mạng
Trang 16Chương 1: Tổng quan
- Chất lượng liên lạc thấp, băng thông truyền thông còn hạn chế
- Khả năng mở rộng phải rất cao vì mạng có nhiều nút mạng tham gia
- Khả năng tích hợp các phiên bản hiện thực của các giao thức định tuyến vào các platform trên các nút thiết bị
Với những bài toán thách thức cơ bản đó, nhiều công trình nghiên cứu đã dành thời gian để nghiên cứu và giải quyết về các giao thức định tuyến và so sánh hiệu năng, khả năng ứng dụng của các giao thức vào thực tế của mạng di động ad-hoc
Có nhiều giao thức đi ̣nh tuyến trên mạng MANET ra đời đã được trình bày ở [9, 10] nhằ m đáp ứng nhu cầu định tuyến của các bài toán đặt ra cho mạng ad-hoc Từ đó
có những sự đánh giá hiê ̣u năng [11, 12, 13] giữa các giao thức định tuyến để không ngừ ng cải thiê ̣n các đô ̣ đo của chúng, làm cơ sở cho các nghiên cứu tiếp theo Vì thế, một số giao thức định tuyến truyền thống không còn phù hợp với mạng MANET mà được thay thế bằng các giao thức đi ̣nh tuyến theo yêu cầu, bảng ghi,
kết hợp Các công trình tập trung nhiều vào nghiên cứu về các giao thức định tuyến điển hình trong mạng MANET [14, 15] Ngoài ra, các hướng nghiên cứu về hiện thực các giao thức định tuyến [16, 17, 18] vào môi trường platform cụ thể nhằm tối
ưu và triển khai thực tế các giao thức định tuyến trên mạng MANET
1.2 Phương pháp tiếp cận đề tài
Nghiên cứu về mạng di động ad-hoc đã có nhiều công trình nghiên cứu về hiệu năng của các giao thức định tuyến Một hướng khác là nghiên cứu tới hướng tiếp cận việc hiện thực thực tế của giao thức định tuyến ad-hoc để được sử dụng trong các ứng dụng thời gian thực Tuy nhiên, cách tiếp cận hiện thực các giao thức định tuyến ad-hoc như daemon độc lập để phục vụ các chức năng định tuyến thuần túy sẽ gặp một số khó khăn về cấu hình mạng khi nhiều giao thức định tuyến được chạy trong mạng Để thực hiện việc hiện thực các giao thức định tuyến ad-hoc, trong luận văn này tôi sử dụng phương pháp tiếp cận khác, trong đó giao thức định tuyến ad-hoc được tích hợp vào bộ phần mềm định tuyến Quagga/Zebra [12] và sử dụng aodv-uu [14] là phiên bản hiện thực dùng để tích hợp
Trang 17Chương 1: Tổng quan
Bảng 1.2 Bảng so sánh Quagga/Zebra với các bộ phần mềm định tuyến [1]
Type Opensource Opensource Opensource Commercial
Platform Linux, BSD Linux, BSD Linux
embedded device
Cisco
Routing Static routing,
RIP, RIPv2, OSPFv2, ISIS, BGP
OLSR, AODV
Static routing, RIP, RIPv2, OSPFv2, BGP
BABEL, OLSR, B.A.T.M.A
N
Static routing, RIP, RIPv2, OSPFv2, BGP, IGRP, EIGRP
đề mở này, dự kiến phát triển tiếp phiên bản aodv-iu [1] do tác giả Hồng Vương Anh hiện thực trong việc tích hợp AODV-UU vào bộ phần mềm định tuyến Quagga/zebra Nội dung công việc trong luận văn được hướng tới việc xây dựng các kịch bản thời gian thực (run-time testing scenarios), đo đạc số liệu phục vụ việc xây dựng cơ sở dữ liệu cho mạng MANETs, phục vụ việc so sánh, đánh giá hiệu
Trang 18Chương 1: Tổng quan
năng truyền dữ liệu trên mạng MANETs Với nghiên cứu này, nhằm mục đích phân tích mã nguồn của hai phiên bản AODV-UU trên Linux kernel và AODV-UU dựa trên bộ phần mềm định tuyến Quagga/Zebra; xây dựng kịch bản so sánh hiệu năng giữa hai phiên bản; bổ sung cơ sở dữ liệu cho mạng MANETs
1.3 Phương pháp nghiên cứu
- Khảo sát, tìm hiểu mạng MANET, các giao thức định tuyến trên mạng MANET, bộ phần mềm định tuyến Quagga/Zebra, phiên bản hiện thực giao thức định tuyến AODV-UU
- Phân tích mã nguồn phiên bản hiện thực giao thức AODV-UU Thực hiện cải tiến cập nhật mã nguồn một số module cho phép chạy trên OS kernel 3.13.11
- Tìm hiểu kiến trúc bộ phần mềm định tuyến Quagga/Zebra Xem quy trình cụ thể các bước để tích hợp một giao thức mạng mới vào Quagga qua Zebra interface
và link tới Linux kernel routing/forwarding tables để cập nhật đường đi
- Thưc hiện cài đặt AODV-UU trên OS linux kernel 3.13.11 [2] và AODV-UU dựa bộ phần mềm định tuyến Quagga/Zebra [1]
- Tìm hiểu về kỹ thuật Internetworking và phân tích mã nguồn AODV-UU để xem quy trình kết nối
- Xây dựng các test cases để đánh giá so sánh hiệu suất hoạt động, phí tổn của hai phiên bản hiện thực giao thức AODV: AODV-UU chạy trên kernel 3.13 và AODVUU-Quagga
- Xây dựng cơ sở dữ liệu mạng MANETs, đánh giá hiệu năng mạng giữa các phiên bản hiện thực cho mạng MANETs
1.4 Đối tượng và phạm vi nghiên cứu
1.4.1 Đối tượng nghiên cứu
- Lý thuyết về mạng MANET và ứng dụng của mạng MANET
- Các giao thức định tuyến và so sánh các giao thức trên mạng MANET
- Các phiên bản hiện thực của các giao thức định tuyến trên mạng MANET
- Phân tích mã nguồn của phiên bản hiện thực AODV-UU, bộ phần mềm định tuyến Quagga/Zebra
Trang 19- Đo đạt và so sánh các thông số mạng (băng thông, độ trễ, tỷ lệ mất gói tin, RAM, CPU…) của các thiết bị chạy giao thức định tuyến AODV-UU và AODVUU-QUAGGA So sánh các thông số mạng với các hiện thực như OSLR chạy trên kernel và OSLR tích hợp vào bộ phần mềm định tuyến Quagga/Zebra
1.5 Cấu trúc của luận văn
Bố cục của bài luận văn được trình bày theo trình tự như sau:
Phần mở đầu
Nêu lên được tình cấp thiết của đề tài và ý nghĩa khoa học cũng như thực tiễn
mà bài luận văn mang lại
Chương 1: Giới thiệu
Giới thiệu tổng thể về đề tài nghiên cứu, trình bày các vấn đề đặt ra, các hướng tiếp cận và giải quyết vấn đề Đồng thời nêu lên được đối tượng và phạm vi hướng đến của đề tài
Trang 20Chương 1: Tổng quan
Chương 2: Cơ sở lý thuyết
Giới thiệu về các lĩnh vực nghiên cứu liên quan đến mạng MANET Chương
đề cập đến các giao thức định tuyến trong mô hình mạng MANET, sự ảnh hưởng của các giao thức đến hiệu suất hoạt động của hệ thống mạng Hơn nữa, chương sẽ
đi sâu vào tìm hiểu cơ chế hoạt động giao thức định tuyến AODV và những ưu nhược điểm của nó so với các giao thức khác trong mạng MANET
Chương 3: Phân tích mã nguồn AODV-UU trên kernel linux 3.13.11
Chương này nghiên cứu phân tích mã nguồn của AODV-UU cho phép thực thi được trên Linux kernel 3.13.11
Chương 4: Kiến trúc mở bộ phần mềm định tuyến Quagga/Zebra
Chương này phân tích hoạt động của bộ phần mềm Quagga/Zebra Chương này đưa ra mô hình dữ liệu quá trình xử lý các hàm khi tích hợp AODV-UU vào Quagga/Zebra Đồng thời phân tích các hàm xử lý khi đã tích hợp AODV-UU vào Quagga/Zebra Phân tích các kỹ thuật Internetworking và phân tích mã nguồn thực thi Internetworking trên mạng MANET
Chương 5: Kịch bản thử nghiệm và kết quả thực tế
Chương này sẽ chia ra thành hai phần chính
Phần thứ nhất tiến hành hiện cài đặt 2 phiên bản: AODV-UU trên kernel và AODV-UU tích hợp vào Quagga/Zebra trên Linux Ubuntu sau đó tiến hành xem hoạt động của 2 phiên bản
Phần thứ hai sẽ tiến hành xây dựng các testcases thu thập thông số mạng, đánh giá và so sánh hiệu suất hoạt động, phí tổn và khả năng vận hành của hai phiên bản hiện thực giao thức định tuyến AODV-UU trên Linux kernel và AODVUU-Quagga
Chương 6: Kết luận
Đưa ra nhận xét chung về các kết quả đạt được, các hạn chế của đề tài, hướng phát triển của đề tài trong tương lai
Trang 21Chương 2: Cơ sở lý thuyết
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tình hình nghiên cứu ngoài nước
Trong [8, 9], tác giả cung cấp các vấn đề về các ứng dụng tiềm năng của mạng ad-hoc và thảo luận về những thách thức về công nghệ mà các nhà thiết kế và nhà phát triển giao thức mạng đang phải đối mặt Những thách thức này bao gồm các hoạt động định tuyến, dịch vụ và phát hiện tài nguyên, kết nối Internet, dịch vụ thanh toán và bảo mật trên mạng ad-hoc
Các giao thức phản ứng theo yêu cầu (Reactive protocols): không giống như các giao thức định tuyến chủ động, giao thức định tuyến phản ứng xác định đường
đi đến một nút đích theo yêu cầu Nếu một node muốn giao tiếp với một nút khác nhưng không có tuyến đường có sẵn đến đích, việc tìm tuyến đường đi được khởi tạo Giao thức định tuyến Ad-hoc On-Demand Distance-Vector (AODV) [15] được
mô tả trong RFC3561
AODV là một thuật toán định tuyến theo yêu cầu để xác định một con đường duy nhất khi một node muốn gửi một gói tin đến đích Nó dựa trên thuật toán Bellman-Ford distante vector routing, nhưng được điều chỉnh để làm việc trong môi trường di động Những tuyến đường được khám phá khi chúng được yêu cầu bởi những nút nguồn AODV có khả năng định tuyến cả hai unicast và multicast 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
Trang 22Chương 2: Cơ sở lý thuyết
đ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 giao thức chủ động (Proactive protocols): định tuyến Proactive dựa trên hướng tiếp cận bảng định tuyến mà mỗi nút tính toán và quản lý bảng định tuyến cho tất cả các nút khác trong cấu trúc liên kết mạng Những bảng này được cập nhật thường xuyên và trao đổi với các nút khác để đảm bảo up-to-date thông tin định tuyến ở mỗi nút cho những nút khác nhau Nhiều giao thức chủ động bắt nguồn từ giao thức định tuyến trạng thái liên kết truyền thống, bao gồm các giao thức Optimized Link State Routing (OLSR) [14] được mô tả trong RFC 3626
Optimized Link State Routing (OLSR) dựa trên giao thức bảng điều khiển truyền thống, là giao thức định tuyến được phát triển dành cho mạng MANETs Đó
là một giao thức tối ưu hóa các liên kết, làm giảm kích thước của các gói điều khiển cũng như số lần truyền tải gói điều khiển cần thiết Các thông tin về topo mạng được duy trì bằng cách định kỳ trao đổi liên kết thông tin với nhau
Mục tiêu chính của luận án thạc sĩ của Bjorn Wiberg [18] là tích hợp phiên bản hiện thực của giao thức AODV là AODV-UU đã được triển khai để chạy trên mạng giả lập ns-2 Tự động khai thác mã nguồn cho phép trong phiên bản giả lập để chuyển sang sử dụng mã nguồn giống như phiên bản Linux thông thường Mô tả công việc phát triển hiện thực các giao thức AODV trong môi trường kernel Linux Công trình này hoàn thiện việc kết hợp giữa giao thức AODV và kernel để cho phép AODV hoạt động một cách chính xác nhất Phần lớn các nghiên cứu về giao thức định tuyến ad-hoc đã được thực hiện bằng cách sử dụng mô phỏng Một trong những lý do thúc đẩy nhất để sử dụng mô hình mô phỏng là sự khó khăn của việc tạo ra một thực hiện thực tế Trong mô phỏng, các mã code được chứa trong một thành phần duy nhất và xác định rõ ràng và dễ tiếp cận Mặt khác, khi triển khai thực hiện đòi hỏi phải sử dụng một hệ thống với nhiều thành phần và không có
nhiều tài liệu hướng dẫn
Nghiên cứu triển khai giao thức định tuyến AODV [13, 14]: Ad hoc Demand Distance Vector (AODV) giao thức định tuyến được thiết kế để sử dụng trong các mạng di động ad-hoc Do khó khăn của thử nghiệm một giao thức định
Trang 23On-Chương 2: Cơ sở lý thuyết
tuyến ad-hoc trong một môi trường thực tế, một mô phỏng được tạo ra để thiết kế giao thức có thể được kiểm tra trong một loạt các kịch bản thử nghiệm Sau khi mô phỏng các giao thức đã gần hoàn thành, các mô phỏng được sử dụng làm cơ sở cho việc thực hiện trong các platform thực tế
Nghiên cứu về kinh nghiệm triển khai các giao thức định tuyến ad-hoc thực tế [15] Trong nghiên cứu này, tác giả đề cập đến việc triển khai thực tế của các giao thức ad-hoc trên các nút cụ thể, di chuyển các nút đến vị trí nhất định Sau đó di chuyển các nút đến các vị trí khác nhau, xác định tín hiệu truyền giữa các nút Nếu các nút ở cách xa nhau thì phải có nút trung gian đảm bảo thông tin liên lạc truyền thông giữa các nút
2.2 Tình hình nghiên cứu trong nước:
Tại Việt Nam, nhóm nghiên cứu của PGS.TS Lê Trung Quân đã nghiên cứu
về "Development of a Quagga/Zebra-based Wireless Ad-Hoc Router" [6] Đề tài này tập trung vào việc nghiên cứu, hiện thực, và phát triển bộ phần mềm nhúng cho thiết bị định tuyến không dây sử dụng công nghệ thông tin di động không dây ad-hoc (Wireless Ad-Hoc Router) được chế tạo từ PC/Laptop có gắn card mạng WLAN hoặc sử dụng chipset tích hợp WLAN được hỗ trợ bởi Linux Cụ thể, bộ phần mềm nhúng sẽ bao gồm giao thức định tuyến ad-hoc, trình điều khiển thiết bị cho card mạng không dây, cũng như các phần mềm nhúng điều khiển việc tích hợp các giao thức định tuyến ad-hoc và trình điều khiển thiết bị vào Linux kernel
Bên cạnh đó, đề tài Luận văn Thạc sĩ về DEVELOPMENT OF A WIRELESS AD-HOC ROUTER [1] củng nghiên cứu về tích hợp giao thức định tuyến OLSR vào bộ phần mềm định tuyến Quagga/Zebra Nghiên cứu bộ phần mềm nhúng Quagga và các giao tiếp giữa trình nền zebra (zebra daemon) với các trình nền định tuyến ad-hoc (ad-hoc routing daemons) như OLSR, cũng như hạt nhân của hệ điều hành Linux (Linux kernel) trong việc cập nhật và đồng bộ bảng tìm đường (Forwarding Information Base - FIB) Trong luận văn này trình bày về phương pháp hiện thực phiên bản OSLRd vào bộ phần mềm định tuyến Quagga/Zebra
Nhóm nghiên cứu của TS Cung Trọng Cường đã nghiên cứu “Một thuật toán cải tiến sử dụng tác tử di động nâng cao hiệu quả giao thức định tuyến AODV” [5]
Trang 24Chương 2: Cơ sở lý thuyết
Để khai thác hiệu quả tài nguyên của hệ thống mạng không dây, việc nghiên cứu các giao thức định tuyến điều khiển là cần thiết Đố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 theo yêu cầu như AODV (Ad hoc On Demand Distance Vector), DSR (Dynamic Source Routing) vẫn còn một số hạn chế Vì vậy, nghiên cứu này đã cố gắng nâng cao tính sẵn sàng và tin cậy trong bài toán định tuyến theo yêu cầu để đáp ứng nhanh với sự di động của hệ thống
Luận văn Thạc sĩ của Phạm Văn Trung về đề tài “Nghiên cứu về các giao thức định tuyến điều khiển theo yêu cầu trên mạng MANET” [3] Nô ̣i dung chính của luận văn đi sâu nghiên cứu, phân tích, so sánh các giao thức định tuyến điều khiển theo yêu cầu trên mạng MANET Đồ ng thời đánh giá hiệu năng của mô ̣t số giao thứ c định tuyến theo yêu cầu tiêu biểu trong mạng MANET
Luận văn Thạc sĩ của Đoàn Cao Thanh nghiên cứu về đề tài “Đánh giá chi phí tìm đường của các giao thức trong mạng MANET” [4] Với nhu cầu sử dụng mạng mọi lúc, mọi nơi và không phụ thuộc vào vị trí vật lý, mạng không dây đặc biệt MANET cho phép các máy tính di động thực hiện các kết nối và truyền thông với nhau không cần dựa trên cơ sở hạ tầng mạng có sẵn Tuy nhiên, bởi cấu trúc của mạng MANET có thể thường xuyên thay đổi do các nút có thể gia nhập hay rời khỏi mạng nên để cho mạng có thể hoạt động thì tất cả các nút cần phải thực hiện chức năng tương đương với một bộ định tuyến Vấn đề định tuyến tại tầng mạng được quan tâm đến nhiều nhất và cần tập trung giải quyết hai vấn đề cơ bản là tìm ra đường đi từ nút phát đến nút nhận và làm thế nào để duy trì đường đi Việc định tuyến trong mạng MANET luôn đòi hỏi các chi phí về tài nguyên như băng thông đường truyền, năng lượng tiêu hao trong quá trình tìm đường, dung lượng bộ nhớ cần thiết cho việc lưu trữ bảng định tuyến và thời gian tìm đường Đề tài nhằm mục đích đánh giá và so sánh chi phí tìm đường của một số giao thức định tuyến điển hình trong mạng MANET với một số mức độ di động khác nhau của các nút mạng
2.3 Giao thức định tuyến trong mạng MANET
2.3.1 Giới thiệu về thuật toán định tuyến
Trang 25Chương 2: Cơ sở lý thuyết
Trong một hệ thống mạng, một trong những yếu tố ảnh hưởng lớn nhất đến hiệu suất của mạng đó là thời gian truyền các gói tin từ điểm đầu đến điểm cuối sao cho nhanh và chính xác nhất Để đạt được điều đó thì tầng mạng có nhiệm vụ là tìm đường đi, xác định các router trung gian để chuyển gói tin từ điểm đầu đến điểm cuối Các thuật toán giúp xác định đường đi như vậy gọi là thuật toán định tuyến Như vậy chức năng của thuật toán định tuyến chính là xác định đường đi tốt nhất cho gói tin từ bên gửi đến bên nhận
Đối với mạng không dây có cơ sở hạ tầng, việc truyền thông giữa các nút mạng trong mạng phụ thuộc rất nhiều vào base station Các nút mạng muốn liên lạc với nhau đều phải nằm trong vùng phủ sóng của base station (nếu một nút mạng mà nằm ngoài vùng phủ sóng của base station thì nó không thể nào liên lạc được với các nút mạng khác) Nhưng với mạng ad-hoc thì lại khác Các nút mạng dù nằm ngoài vùng phủ sóng của nhau vẫn có thể liên lạc được với nhau thông qua các nút mạng trung gian Do đó, việc tìm ra các nút mạng trung gian để truyền gói tin giữa nút mạng đầu và nút mạng cuối là rất quan trọng
Ngoài ra, một số đặc điểm khác biệt của mạng ad-hoc so với các mạng khác như các nút mạng có thể di động, dẫn đến topo mạng thay đổi theo; băng thông của mạng cũng thay đổi liên tục, tốc độ truyền tín hiệu của mạng phụ thuộc nhiều vào tính chất vật lý của các nút mạng và giao diện mạng, Chính những đặc điểm này làm cho việc thiết kế các giao thức định tuyến cho mạng adhoc là một bài toán khó
2.3.2 Yêu cầu của thuật toán định tuyến cho mạng không dây ad-hoc
Mạng MANET là mạng không dây đặc biệt gồm tập hợp các thiết bị di động, giao tiếp không dây, có khả năng truyền thông trực tiếp với nhau hoặc thông qua các nút trung gian làm nhiệm vụ chuyển tiếp Các nút mạng vừa đóng vai trò như thiết bị truyền thông vừa đóng vai trò như thiết bị định tuyến Với nguyên tắc hoạt động như vậy, nó không bị phụ thuộc vào cơ sở hạ tầng mạng cố định nên có tính linh động cao, đơn giản trong việc lắp đặt, chi phí triển khai và bảo trì thấp
Do các đặc điểm khác biệt của mạng ad-hoc, chúng ta không thể áp dụng các thuật toán định tuyến truyền thống như Trạng thái liên kết (Link State) hay Vector khoảng cách (Distance Vector) cho mạng ad-hoc được Cả hai thuật toán này đều
Trang 26Chương 2: Cơ sở lý thuyết
yêu cầu các router quảng bá thông tin định tuyến theo kiểu định kì.Những hoạt động này hạn chế khả năng thích ứng của giao thức với các thay đổi của topo mạng Nếu khoảng thời gian định kỳ khá ngắn, giao thức sẽ hoạt động không hiệu quả bởi nó phải làm việc nhiều hơn so với sự thay đổi của topo mạng và gây lãng phí băng thông và năng lượng của các nút mạng một cách không cần thiết Còn nếu thờigian định kì quá dài, giao thức sẽ không phản ứng kịp với sự thay đổi của topo mạng Với thuật toán Link State, các router sẽ gửi thông tin quảng bá định kì về các hàng xóm và chi phí của đường đi tới các hàng xóm đến tất cả các router trong mạng Từ đó, các router sẽ biết được toàn bộ topo của mạng để tính toán đường đi tới đích ngắn nhất có thể
Còn với thuật toán Distance Vector, mỗi router lại gửi định kì các thông tin khoảng cách từ nó đến các router khác Bằng việc tính toán, so sánh khoảng cách từ mỗi hàng xóm đến một đích nào đó, các router sẽ quyết định tuyến đường đi ngắn nhất đến nút mạng đích
Như vậy, khi sử dụng các giao thức định tuyến thông thường dựa trên các giải thuật Distance-Vector hoặc Link-State trong mạng ad-hoc sẽ dẫn đến một số vấn đề phát sinh: [10]
- Đặc điểm đầu tiên của các thuật toán định tuyến thông thường đã không phù hợp với mạng ad-hoc Đó là việc các router liên tục gửi quảng bá định kì đến các nút mạng trong mạng Việc gửi quảng bá định tuyến định kì gây ra hai vấn đề sau:
Thứ nhất, nó sẽ gây lãng phí băng thông cho các nút mạng trong mạng ad-hoc
Có những khi không có sự thay đổi nào trong mạng nhưng các router tiếp tục gửi các cập nhật thông tin định tuyến theo định kì làm các nút mạng phải tính toán lại các tuyến đường Nếu trong vùng phủ sóng của một nút mạng có quá nhiều nút mạng khác thì nút mạng này phải nhận rất nhiều thông tin cập nhật định tuyến Điều này gây lãng phí băng thông một cách không cần thiết
Thứ hai, việc gửi các cập nhật định tuyến theo định kì cũng gây lãng phí năng lượng không cần thiết cho các nút mạng trong mạng Chúng ta đã biết năng lượng của các nút mạng trong mạng ad-hoc chủ yếu là pin Việc sử dụng năng lượng một cách tiết kiệm và hợp lý là rất cần thiết Nếu các nút mạng phải gửi quảng bá định
Trang 27Chương 2: Cơ sở lý thuyết
tuyến theo định kì sẽ tốn rất nhiều năng lượng, bởi năng lượng để gửi một gói tin không phải là nhỏ Bên cạnh đó, việc nhận một gói tin tốn ít năng lượng nhưng việc phải cập nhật, tính toán các tuyến đường lại cản trở việc tiết kiệm năng lượng của các nút mạng
- Ở các mạng thông thường, liên kết giữa hai nút mạng trong mạng hoặc giữa nút mạng với base station là các liên kết đối xứng Trong khi đó, liên kết giữa hai nút mạng của mạng ad-hoc có thể là liên kết không đối xứng, nghĩa là việc truyền thông giữa hai nút mạng không thể thực hiện tốt trên cả hai hướng Lý do là vì khả năng truyền tín hiệu của các nút mạng là khác nhau: nút mạng nào có năng lượng truyền tín hiệu mạnh thì nút mạng đó có liên kết tốt với các nút mạng nhận tín hiệu của nó, ngược lại, nút mạng có năng lượng truyền tín hiệu yếu thì khả năng không liên kết được với các nút mạng nhận tín hiệu là khó tránh khỏi, nếu có liên kết được thì đó cũng chỉ là những liên kết yếu, không ổn định Do đó, giao thức định tuyến thông thường không thể hoạt động trong môi trường mạng như vậy
- Một đặc điểm nữa của mạng ad-hoc làm chúng ta không thể áp dụng được các thuật toán định tuyến thông thường cho nó Đó là trong mạng ad-hoc tồn tại nhiều liên kết dư thừa Với mạng có dây truyền thống, người ta thường chỉ dùng rất ít các router để nối hai mạng với nhau Vì thế các tuyến đường dư thừa trong mạng có dây
là không nhiều và các thuật toán định tuyến thông thường vẫn tính đến cả những liên kết đó Nhưng với mạng ad-hoc lại khác, mỗi nút mạng lại đóng vai trò như một router, mạng ad-hoc có bao nhiêu nút mạng thì có bấy nhiêu router Điều này làm cho việc truyền dữ liệu từ nút mạng nguồn đến nút mạng đích có thể phải đi qua nhiều hơn một nút mạng trung gian, và tuyến đường mà dữ liệu di chuyển cũng không phải là duy nhất Bên cạnh tuyến đường tốt nhất vẫn có thể tồn tại nhiều tuyến đường khác có thể hoạt động bình thường Với mạng có quá nhiều tuyến đường dư thừa như vậy, các thuật toán định tuyến nếu tính cả đến chúng sẽ làm cho việc cập nhật và tính toán tuyến đường trở lên nhiều hơn Điều đó là không cần thiết
- Một vấn đề cuối cùng quan trọng hơn cả, đó là các thuật toán đó không được thiết kế dành cho mạng có topo động như của mạng ad-hoc Với mạng có dây truyền thống, liên kết giữa các router gần như là không đổi, chi phí (chất lượng) của
Trang 28Chương 2: Cơ sở lý thuyết
một liên kết có thể thay đổi do tắc nghẽn chứ vị trí của các router là cố định trong cấu trúc mạng Nhưng trong mạng ad-hoc, điều đó lại không hề có
Với những vấn đề nêu ra ở trên, chúng ta có thể rút ra được một số yêu cầu với các thuật toán định tuyến cho mạng ad-hoc:
- Thuật toán phải được thiết kế sao cho phù hợp với tính động của topo mạng và các liên kết bất đối xứng
- Hoạt động phân tán: cách tiếp cận tập trung cho mạng ad-hoc sẽ thất bại do sẽ tốn rất nhiều thời gian để tập hợp các thông tin trạng thái hiện tại của mạng để tính toán rồi lại phát tán lại nó cho các nút mạng Trong thời gian đó, cấu hình mạng có thể đã thay đổi rất nhiều
- Tính toán đến vấn đề năng lượng và băng thông của mạng: Do các nút mạng
có nguồn năng lượng hạn chế nên cần phải tính toán đến vấn đề tiết kiệm năng lượng Giao thức định tuyến có thể cung cấp yêu cầu bảo tồn năng lượng ở các nút mạng khi có thể Băng thông của mạng cũng cần được tính đến để tránh gây lãng phí băng thông không cần thiết
- Không để xảy ra hiện tượng lặp định tuyến: Hiện tượng này xảy ra khi một phần nhỏ các gói tin di chuyển vòng vòng quanh mạng trong một khoảng thời gian nào đó Giải pháp đưa ra có thể là sử dụng bộ đếm chặng trong mỗi gói tin Mỗi khi gói tin di chuyển đến một nút mạng mới, bộ đếm chặng sẽ tăng lên một, và đến một giá trị nào đó thì gói tin sẽ bị loại bỏ
- Thiết lập những cụm mạng nhỏ: Nếu giao thức định tuyến có thể xác định được các nút mạng gần nhau và thiết lập chúng thành một cụm mạng nhỏ thì sẽ rất thuận tiện trong định tuyến Nếu các nút mạng đơn di chuyển nhanh hơn thì các cụm mạng lại ổn định hơn Do đó, định tuyến trong các cụm mạng sẽ đơn giản hơn rất nhiều
Trang 29Chương 2: Cơ sở lý thuyết
Hình 2.1 Ví dụ về các cụm mạng nhỏ trong mạng ad-hoc [11]
Bảo mật: giao thức định tuyến của mạng ad-hoc có thể bị tấn công dễ dàng ở một số dạng như đưa ra các cập nhật định tuyến không chính xác hoặc ngăn cản việc chuyển tiếp gói tin, gián tiếp gây ra việc từ chối dịch vụ dẫn đến gói tin không bao giờ đến được đích Chúng cũng có thể thay đổi thông tin định tuyến trong mạng, cho dù các thông tin đó là không nguy hiểm nhưng cũng gây tốn băng thông
và năng lượng, vốn là những tài nguyên “quý hiếm” trong mạng ad-hoc Do vậy cần
có những phương pháp bảo mật thích hợp để ngăn chặn việc sửa đổi hoạt động của giao thức
2.3.3 Phân loại các giao thức định tuyến trong mạng adhoc
Các giao thức định tuyến trong mạng ad-hoc được chia thành 3 loại: Giao thức định tuyến theo bảng ghi (Table-Driven Routing Protocol), giao thức định tuyến điều khiển theo yêu cầu (On-Demand Routing Protocol) và giao thức định tuyến kết hợp (Hybrid Routing Protocol)
- Giao thức định tuyến theo bảng ghi (Table-Driven Routing Protocol) [11]: Giao thức định tuyến theo bảng ghi còn được gọi là giao thức chủ ứng (Proactive) Theo giao thức này, bất kỳ một nút trong mạng đều luôn duy trì trong bảng định tuyến của nó thông tin định tuyến đến tất cả các nút khác trong mạng Thông tin định tuyến được phát broadcast trên mạng theo một khoảng thời gian quy định để giúp cho bảng định tuyến luôn cập nhật những thông tin mới nhất Chính vì vậy, một nút nguồn có thể lấy thông tin định tuyến ngay lập tức khi cần thiết
Trang 30Chương 2: Cơ sở lý thuyết
Hình 2.2 Phân loại các giao thức định tuyến trong mạng MANET [10]
Tuy nhiên, với những mạng mà các node di chuyển nhiều hoặc các liên kết giữa các node bị đứt thì cần phải có cơ chế tìm kiếm hoặc sửa đổi thông tin của nút
bị đứt trong bảng định tuyến, nhưng nếu các liên kết đó không sử dụng thì sẽ trở nên lãng phí tài nguyên, ảnh hưởng đến các băng thông của mạng Chính vì thế giao thức định tuyến theo bảng ghi chỉ áp dụng trong các mô hình mạng MANET mà các nút ít di chuyển
Các giao thức hoạt động theo kiểu giao thức định tuyến theo bảng ghi như: giao thức OLSR (Optimized Link State Routing) [14], giao thức DSDV (Destination Sequenced Distance Vector), giao thức WRP (Wireless Routing Protocol), giao thức GSR (Global State Routing) …
- Giao thức định tuyến điều khiển theo yêu cầu (On-Demand Routing Protocol) [15]:
Một phương pháp khác với phương pháp định tuyến điều khiển theo bảng ghi
đó là định tuyến điều khiển theo yêu cầu còn được gọi là giao thức phản ứng (Reactive) Theo phương pháp này, các con đường đi sẽ được tạo ra nếu như có nhu cầu Khi một nút yêu cầu một tuyến đến đích, nó phải khởi đầu một quá trình khám
Trang 31Chương 2: Cơ sở lý thuyết
phá tuyến để tìm đường đi đến đích (Route Discovery) Quá trình này chỉ hoàn tất khi đã tìm ra một tuyến sẵn sàng hoặc tất cả các tuyến khả thi đều đã được kiểm tra Khi một tuyến đã được khám phá và thiết lập, nó được duy trì thông số định tuyến (route maintenance) bởi một số dạng thủ tục cho đến khi hoặc là tuyến đó không thể truy nhập được từ nút nguồn hoặc là không cần thiết đến nó nữa
Với các cơ chế đó, các giao thức định tuyến điều khiển theo yêu cầu không phát broadcast đến các nút lân cân về các thay đổi của bảng định tuyến theo thời gian, nên tiết kiệm được tài nguyên mạng Vì vậy, loại giao thức này có thể sử dụng trong các mạng MANET phức tạp, các node di chuyển nhiều
Một số giao thức định tuyến điều khiển theo yêu cầu tiêu biểu như: giao thức CBRP (Cluster Based Routing Protocol), giao thức AODV (Ad hoc On Demand Distance Vector) [15], giao thức DSR (Dynamic Source Routing), giao thức TORA (Temporally Ordered Routing Algorihm) …
- Giao thức định tuyến kết hợp (Hybrid Routing Protocol) [10]:
Trong giao thức định tuyến này có kết hợp cả hai cơ chế giao thức định tuyến chủ ứng (Proactive) và giao thức định tuyến phản ứng (Reactive) Giao thức này phù hợp với những mạng quy mô, kích thước lớn, mật độ các nút mạng dày đặc Trong giao thức định tuyến này, mạng được chia thành các vùng (zone) Mỗi node duy trì cả thông tin về kiến trúc mạng trong vùng của nó và thông tin về các vùng láng giềng Đều đó có nghĩa là giao thức Hybrid sử dụng giao thức định tuyến phản ứng (Reactive) giữa các zone và giao thức định tuyến chủ ứng (Proactive) cho các node mạng trong cùng zone Do đó, đường đi đến nỗi node trong cùng một zone được lập mà không cần phải định tuyến ra ngoài zone, trong khi đó các tiến trình khám phá đường và duy trì đường thì được sử dụng để tìm kiếm và duy trì đường đi giữa các zone với nhau
Các giao thức định tuyến tiêu biểu sử dụng kiểu Hybrid: Giao thức ZPR (Zone Routing Protocol), Giao thức ZHLS (Zone-based Hierarchical Link State Routing Protocol) …
Trang 32Chương 2: Cơ sở lý thuyết
2.4 So sánh các giao thức định tuyến trong mạng MANET
Phần này đưa ra các so sánh cho các thuật toán định tuyến được trình bày ở trên Đầu tiên là sự so sánh của các giao thức hướng bảng và sau đó là sự so sánh của các giao thức theo yêu cầu Độ phức tạp thời gian được định nghĩa là số các bước cần thiết để thực thi việc vận hành giao thức và độ phức tạp truyền thông là số lượng các thông báo cần thiết để thực thi việc vận hành giao thức Giá trị của các đơn vị đo này biểu diễn trong trường hợp xấu nhất Đầu tiên chúng ta sẽ thảo luận
về các giao thức hướng bảng được mô tả trong bảng 2.1 Định tuyến DSDV về cơ bản là việc sửa đổi thuật toán định tuyến BellmanFord Các sửa đổi bao gồm việc đảm bảo các tuyến không có các vòng lặp và việc cập nhật tuyến là đơn giản Trong khi chỉ cung cấp một đường đi tới một đích bất kỳ, DSDV lựa chọn đường đi ngắn nhất dựa trên độ đo là số lượng chặng tới đích DSDV cung cấp hai kiểu gói tin thông báo cập nhật, trong đó có một kiểu gói tin thông báo nhỏ hơn đáng kể so với gói tin thông báo còn lại Việc cập nhật bằng gói tin thông báo nhỏ có thể được sử dụng cho các cập nhật bổ sung nhờ đó toàn bộ bảng định tuyến không cần truyền mỗi khi có thay đổi của cấu trúc mạng Tuy nhiên, DSDV là không hiệu quả do có các truyền thông cập nhật theo chu kỳ, bất chấp số lượng các thay đổi trong cấu trúc mạng Điều này giới hạn mạnh tới số lượng các nút có thể kết nối vào mạng vì phụ tải tăng theo số nút mạng có bậc là O(n2) [16]
Bảng 2.1: So sánh đặc tính của các giao thức định tuyến hướng bảng [16]
thông (thêm/lỗi liên kết)
O(x=N) O(x=N) O(x=N) O(x=N)
Có vòng lặp Không Không Không Không
Chu kỳ
và khi cần
Trang 33Chương 2: Cơ sở lý thuyết
truyền đi hàng
xóm
hàng xóm và cụm trưởng
hàng xóm
Tóm tắt:
N= Số lượng nút trong mạng
d = Đường kính mạng
h = Độ cao của cây định tuyến
x= Số lượng các út bị ảnh hưởn bởi sự thay đổi cấu trúc
Định tuyến trong CGSR xảy ra trên các cụm trưởng và nút cổng Ngoài bảng định tuyến thì bảng cụm trưởng là cần thiết Ưu điểm của CGSR là các phương thức kinh nghiệm có thể được thi hành để cải tiến hiệu năng của giao thức Các phương thức này bao gồm việc điều phối thẻ bài ưu tiên, điều phối mã nút cổng và đảo ngược đường đi Giao thức WRP yêu cầu mỗi nút bảo đảm bốn bảng định tuyến Điều này có thể dẫn tới các yêu cầu bộ nhớ đáng kể, đặc biệt khi số lượng các nút trong mạng là lớn Trong giao thức WRP, các nút định kỳ truyền các thông điệp hello để đảm bảo vẫn còn kết nối do đó hầu như không cho phép nút vào chế độ nghỉ Tuy nhiên, mặc dù phụ thuộc vào lớp các thuật toán tìm kiếm đường đi, WRP
có ưu điểm là tránh được các vấn đề tạo các vòng lặp định tuyến thông qua việc biên nhận thông tin của nút ngay trước đó
Giao thức OLSR giảm kích cỡ các gói tin điều khiển bằng cách khai báo chỉ một tập các chuyển phát đa điểm với các hàng xóm là MRP Giao thức định tuyến OLSR giữ các tuyến cho tất cả các đích có trong mạng, vì thế nó phù hợp cho các mẫu lưu lượng trong đó có một tập lớn các nút truyền thông với nhau và các cặp [nguồn, đích] thay đổi theo thời gian
Trong thuật ngữ độ phức tạp truyền thông ta thấy DSDV, CGSR, WRP và OLSR sử dụng định tuyến đường đi ngắn nhất vectơ khoảng cách như là giao thức định tuyến ở bên dưới, tất cả chúng đều có cùng mức độ phức tạp trong suốt quá trình lỗi và thêm liên kết
Bảng 2.2 mô tả sự so sánh của AODV, DSR, TORA, ABR và SSR Giao thức định tuyến AODV thi hành thủ tục phát hiện tuyến tương tự như DSR Tuy nhiên,
có một vài khác biệt quan trọng Đáng chú ý nhất là phụ tải bộ nhớ trong DSR lớn
Trang 34Chương 2: Cơ sở lý thuyết
hơn so với AODV bởi vì nhu cầu nhớ các tuyến đầy đủ, đối lập với việc chỉ lưu thông tin chặng kế tiếp trong AODV Về phía luồng xuống, AODV yêu cầu các liên kết đối xứng giữa các nút và vì thế không thể sử dụng các tuyến với các liên kết không đối xứng
Bảng 2.2 So sánh đặc tính của các giao thức định tuyến theo yêu cầu [16]
O(2d) O(l+z) O(l+z)
Xóa tuyến, thông báo nguồn
Đào ngược tuyến, sửa đổi tuyến
Truy vấn quảng
bá cục
bộ
Xóa tuyến, thông báo nguồn
l = Đường kính của đoạn mạng bị ảnh hưởng
y= Tổng số lượng các nút tạo nên đường dẫn trực tiếp trong đó gói tin REPLY truyền
đi
z = Đường kính của đường dẫn trực tiếp trong đó gói tin REPLY truyền đi (l<=z)
Trang 35Chương 2: Cơ sở lý thuyết
Nhiều giao thức định tuyến đã được đề xuất và triển khai đã được phát triển cho mục đích định tuyến trong môi trường mạng MANET [17] Các giao thức truyền thống thường là một ứng dụng độc lập phục vụ chức năng chính là định tuyến Tuy nhiên, do nhu cầu kết nối ngày càng cao cần nhiều hơn các chức năng định tuyến như danh sách kiểm soát truy cập, chính sách tìm tuyến đường trên bản
đồ, cơ chế phân phối lại khi có nhiều giao thức định tuyến hoạt động trong mạng Các yêu cầu mà các giao thức định tuyến trong mạng MANET cần phải đáp ứng:
- Hoạt động phân tán: không phụ thuộc vào nút mạng điều khiển tập trung
- Đường định tuyến hở: để nâng cao chất lượng hoạt động, giảm lãng phí băng thông và công suất tiêu hao của CPU
- Hoạt động dựa trên yêu cầu: tối thiểu hóa phần thông tin điều khiển trong mạng
- Hỗ trợ các liên kết một chiều: sử dụng liên kết này và liên kết hai chiều sẽ làm tăng chất lượng hoạt động của giao thức định tuyến
- Bảo mật: môi trường không dây rất dễ bị tấn công, khai thác thông tin
- Bảo toàn năng lượng: do đó giao thức định tuyến sử dụng cần hỗ trợ chế độ chờ của nút mạng
- Nhiều đường định tuyến: nhằm giảm số lần tác động do sự thay đổi về cấu trúc mạng và khi nhiều đường định tuyến bị nghẽn
- Hỗ trợ QoS: có nhiều loại QoS cần được hỗ trợ của giao thức định tuyến
Bảng 2.3 So sánh đáp ứng các thông số của các giao thức định tuyến [17]
Trang 36Chương 2: Cơ sở lý thuyết
Bảng 2.4 So sánh giữa giao thức thuộc nhóm Proactive và Reactive [17]
2 Need for route
Broadcast (Flooding the network with Route Request Packets)
Route maintained at each node
Route maintained only at active nodes
11 Overall routing
overhead
Trang 37Chương 2: Cơ sở lý thuyết
2.5 Cơ chế hoạt động của giao thức AODV
2.5.1 Giới thiệu tổng quan về giao thức AODV
AODV là giao thức định tuyến dựa trên giao thức DSDV được trình bày ở trên Cả hai giao thức cùng được phát triển bởi C Perkins và S Das tại trung tâm nghiên cứu Nokia thuộc trường đại học California và đại học Cincinnati Giống như DSDV, AODV cũng loại bỏ được vấn đề lặp định tuyến của các giao thức Distance Vector khác bằng việc dùng số thứ tự gắn với mỗi đường Tuy nhiên, nếu như DSDV luôn duy trì một danh sách các tuyến đường hoàn chỉnh, AODV chỉ tạo ra các tuyến đường khi được yêu cầu Điều này giúp nó tối thiểu hóa được việc phát quảng bá trong mạng Mỗi nút mạng trong mạng sẽ duy trì một bảng ghi định tuyến chứa thông tin về đường đi (như địa chỉ đích, số thứ tự đích, số chặng, chặng tiếp theo, thời gian tồn tại của đường, các nút mạng hàng xóm, thông tin ghi nhận các yêu cầu đã được xử lý) mà nút mạng giao tiếp Với những nút mạng không nằm trên đường đi đến đích thì không cần phải duy trì thông tin định tuyến hoặc tham gia vào việc trao đổi các bảng định tuyến Để phát hiện và duy trì liên kết, AODV sử dụng các thông điệp khác nhau là Route REQUEST (RREQ) và HELLO
AODV (Ad Hoc On-Demand Distance Vector) là giao thức dựa trên thuật toán vector khoảng cách AODV tối thiểu hoá số bản tin quảng bá cần thiết bằng cách tạo ra các tuyến trên cơ sở theo yêu cầu, ngược với việc duy trì một danh sách hoàn chỉnh các tuyến như thuật toán DSDV
S
Hình 2.3 Quá trình khám phá tuyến trong AODV [19]
Khi một nút nguồn muốn gởi một bản tin đến một nút đích nào đó và không biết rằng đã có một tuyến đúng đến đích đó, nó phải khởi đầu một quá trình khám
Trang 38Chương 2: Cơ sở lý thuyết
phá đường truyền Nó phát quảng bá một gói yêu cầu tuyến (RREQ) đến các nút lân cận Các nút lân cận này sau đó sẽ chuyển tiếp gói yêu cầu đến nút lân cận khác của chúng Quá trình cứ tiếp tục như vậy cho đến khi có một nút trung gian nào đó xác định được một tuyến “đủ tươi” để đạt đến đích AODV sử dụng số thứ tự đích để đảm bảo rằng tất cả các tuyến không lặp và chứa hầu hết thông tin tuyến hiện tại Mỗi nút duy trì số tuần tự của nó cùng với một ID quảng bá ID quảng bá được tăng lên mỗi khi nút khởi đầu một RREQ, và cùng với địa chỉ IP của nút, xác định duy nhất một RREQ Cùng với số tuần tự và ID quảng bá, nút nguồn bao gồm trong RREQ hầu hết số tuần tự hiện tại của đích mà nó có Các nút trung gian có thể trả lời RREQ chỉ khi nào chúng có một tuyến đến đích mà số tuần tự đích tương ứng lớn hơn hoặc bằng số tuần tự chứa trong RREQ
Hình 2.4 Quá trình truyền RREQ [19]
Trong suốt quá trình chuyển tiếp RREQ, các nút trung gian ghi vào Bảng định tuyến của chúng địa chỉ của các nút lân cận từ khi nhận được bản sao đầu tiên của gói quảng bá, theo đó thiết lập được một đường dẫn theo thời gian Nếu các bản sao của cùng một RREQ được nhận sau đó, các gói này sẽ bị huỷ bỏ Một khi RREQ đã đạt đến đích hay một nút trung gian với tuyến “đủ tươi”, nút đích (hoặc nút trung gian) đáp ứng lại bằng cách phát đơn phương một gói đáp ứng tuyến (RREP) ngược
về nút lân cận mà từ đó nó thu được RREQ Khi RREP được định tuyến ngược theo đường dẫn, các nút trên đường dẫn đó thiết lập các thực thể tuyến chuyển tiếp trong Bảng định tuyến của chỉ nút mà nó nhận được RREP Các thực thể tuyến chuyển tiếp này chỉ thị tuyến chuyển tiếp tích cực Cùng với mỗi thực thể tuyến là một bộ định thời tuyến có nhiệm vụ xoá các thực thể nếu nó không được sử dụng trong một
Trang 39Chương 2: Cơ sở lý thuyết
thời hạn xác định Do một RREP chuyển tiếp trên đường dẫn được thiết lập bởi một RREQ nên AODV chỉ hỗ trợ việc sử dụng đường truyền đối xứng
Hình 2.5 Đường đi của gói tin RREP trở về nguồn [19]
Trong AODV, các tuyến được duy trì điều kiện như sau: Nếu một nút nguồn chuyển động, nó phải khởi động lại giao thức khám phá tuyến để tìm ra một tuyến mới đến đích Nếu một nút trên tuyến chuyển động, nút lân cận luồng lên của nó chú ý đến chuyển động đó và truyền một bản tin “Khai báo sự cố đường thông” (một RREP không xác định) đến mỗi nút lân cận tích cực luồng lên để thông báo cho các nút này xoá phần tuyến đó Các nút này thực chất truyền một “Thông báo
sự cố đường thông” đến các nút lân cận luồng lên Quá trình cứ tiếp tục như vậy cho đến khi đạt đến nút nguồn Nút nguồn sau đó có thể chọn khởi động lại một quá trình khám phá tuyến cho đích đó nếu một tuyến vẫn cần thiết [19]
Ngoài ra, giao thức này sử dụng bản tin HELLO được phát quảng bá định kỳ bởi một nút để thông báo cho tất cả các nút khác về những nút lân cận của nó Các bản tin HELLO có thể được sử dụng để duy trì khả năng kết nối cục bộ của một nút Tuy nhiên, việc sử dụng bản tin HELLO là không cần thiết Các nút lắng nghe việc truyền lại gói dữ liệu để đảm bảo rằng vẫn đạt đến chặng kế tiếp Nếu không nghe được việc truyền lại như thế, nút có thể sử dụng một trong số các kỹ thuật, kể cả việc tiếp nhận bản tin HELLO Các bản tin HELLO có thể liệt kê các nút khác mà
từ đó nút di động đã nghe tin báo, do đó tạo ra khả năng liên kết lớn hơn cho mạng
Trang 40Chương 2: Cơ sở lý thuyết
2.5.2 Quá trình tìm đường trong giao thức AODV
Quá trình tìm đường được thiết lập khi một node nguồn trao đổi thông tin với các node khác trong mạng MANET Trong hệ thống mạng MANET hoạt đông với giao thức AODV mỗi node luôn duy trì hai bộ đếm: bộ đếm Sequence Number và
bộ đếm REQ_ID Cặp <source_addr, broadcast_id> xác định một RREQ Cặp thông tin này thay đổi giá trị khi:
- Đối với Sequence Number
Khi một node khởi tạo quá trình tìm đường điều này nhằm tránh 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ừ node đí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 hai giá trị: Sequence Number trong gói RREQ
- Đối với REQ_ID
Khi có sự thay đổi trong toàn bộ các node 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ẽ bị thay đổi (hết hiệu lực) Số REQ_ID sẽ được tăng lên khi node khởi động một quá trình tìm đường mới
Quá trình tìm đường được khởi tạo node nguồn sẽ broadcast một gói tin RREQ cho các node láng giềng của nó Gói tin RREQ chứa các thông tin địa chỉ đích, địa chỉ nguồn, số hop-count, số sequence number của node nguồn, số sequence number của node đích, số broadcast ID Khi các node láng giềng nhận được gói tin RREQ sẽ kiểm tra và thực hiện các bước: