Tải bản đầy đủ (.pdf) (139 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (15.24 MB, 139 trang )

ĐẠ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
TUYẾN QUAGGA/ZEBRA

LUẬN VĂN THẠC SĨ
Ngành: Công Nghệ Thông Tin
Mã ngành: 60.48.02.01
Người hướng dẫn khoa học: PGS.TS. Lê Trung Quân

TP. HỒ CHÍ MINH – 2017


LỜ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


LỜ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


MỤ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



CHƯƠ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


DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
STT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

Tên viết tắt
AODV
AP
ARP

BGP
BSD
BT
CCRS
CFG
CN
CoA
CPU
CTS
DAD
DLL
DNS
DoS
DSDV
DSR
ETT
ETX
FA
FIB
FIFO
FreeBSD
GNU
GNU/Linux
GUI
HA
HARP
HNA
HoA
HTTP
IEEE

IGW
IP
IPC
IPSec
IPv4
IPv6
IS-IS
LQ
LSA
MAC
MANET
MEWLANA-RD

Thuật ngữ
Ad hoc On-Demand Distance Vector
Access Point
Address Resolution Protocol
Border Gateway Protocol
Berkeley Software Distribution
Backoff Time
Common Cache Register Server
Chuẩn văn phạm phi ngữ cảnh
Correspondent Node
Care of Address
Central Processing Unit
Clear To Send
Duplicate Address Detection
Dynamically Loadable Library
Domain Name System
Denial-of-Service

Destina tion SequenceDistance Vector
Dynamic Source Routing
Expected Transmission Time
Expected Transmission Count
Foreign Agent
Forwarding Information Base
First In First Out
Hệ điều hành FreeBSD
GNU Operating System
Hệ điều hành GNU/Linux
Graphical User Interface
Home Agent
Hybrid Ad hoc Routing Protocol
Host and Network Association
Home of Address
Hypertext Transfer Protocol
Institute of Electrical and Electronics Engineers
Internet Gateways
Internet Protocol address
Interprocess Communication
Internet Protocol Security
Internet Protocol version 4
Internet Protocol version 6
Intermediate System to Intermediate System
Link Qualities
Link-State Advertisement
Media Access Control address
Mobile Ad hoc Network
Mobile IP Enriched Wireless Local



46

MEWLANA-TD

47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88

MIB
MID
MN
MPR
MPRs
NAPT
NAT
NetBSD
NIC
NLQ
OLSR
OLSRd

OLSRdq
OSPF
OSX
PRnet
PSN
QoS
RA
RERR
RFC
RIP
RREP
RREQ
RTS
SB
SMUX
SNMP
SSL
TBBR
TC
TCP
TORA
TTL
UDP
UNIX
VPN
VTY
WLAN
WRP
ZHLS
ZRP


Area Network Architecture- Root Driven
Mobile IP Enriched Wireless Local
Area Network Architecture - table driven
Management Information Bases
Mutiple Interface Declaration
Mobile Node
Multi-Point Relay
Multi-Point Relay selector
Network Address and Port Translation
Network Address Translation
Hệ điều hành Net BSD
Network Interface Card
Neighbor Link Qualities
Optimized Link State Routing Protocol
Optimized Link State Routing Daemon
Optimized Link State Routing Daemon Quagga
Open Shortest Path First
Hệ điều hành OS X
Packet Radio Networks
Packet Sequence Number
Quality of Service
Routing Advertiser
Route Error
Request for Comments
Routing Information Protocol
Route Reply
Route Request
Request To Send
Size Bandwidth

SNMP Multiplexing Protocol
Simple Network Management Protocol
Secure Sockets Layer
Tree Based Bidirectional Routing
Topology Control
Transmission Control Protocol
Temporally Ordered Routing Algorithm
Time To Live
User Datagram Protocol
Unix Operating System (OS)
Virtual Private Network
Thư việc giao diện thiết bị đầu cuối
Wireless Local Area Network
Wireless Routing Protocol
Zone –based Hierarchical Link State routing
Zone Routing Protocol


DANH 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


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình

Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình

1.1. Sơ đồ mạng MANET [7]........................................................................................ 11
2.1. Ví dụ về các cụm mạng nhỏ trong mạng ad-hoc [11] .......................................... 27
2.2. Phân loại các giao thức định tuyến trong mạng MANET [10] ............................ 28
2.3. Quá trình khám phá tuyến trong AODV [19] ....................................................... 35
2.4. Quá trình truyền RREQ [19] .................................................................................. 36
2.5. Đường đi của gói tin RREP trở về nguồn [19] ..................................................... 37

2.6. Quá trình xử lý tìm đường của các node trong mạng MANET [15] ................... 39
2.7. Cấu trúc thông điệp RREQ [21] ............................................................................ 42
2.8. Cấu trúc thông điệp RREP [21] ............................................................................. 43
2.9. Cấu trúc thông điệp RRER [21] ............................................................................ 44
2.10. Cấu trúc thông điệp RREP- ACK [21] ................................................................ 44
2.11. Kiến trúc hệ thống của Quagga [18] ................................................................... 46
2.12. Kiến trúc hệ thống Quagga với AODV-UU [6] ................................................. 47
2.13. Kiến trúc liên kết các thành phần trong bộ định tuyến Quagga [6]................... 48
3.1. Quá trình xử lý gói dữ liệu [26] ............................................................................. 53
3.2. Luồng gói tin trong kernel [26] ............................................................................. 55
4.1. Kiến trúc hệ thống của Quagga/Zebra [26]......................................................... 600
4.2. Header phổ biến của giao thức Zebra của phiên bản 1 [29] .............................. 654
4.3. Quá trình cập nhật định tuyến trên kernel trong Quagga/Zebra [29] ................ 667
4.4. Quá trình xử lý gói tin của AODV-UU [6] ....................................................... 6868
4.5. Luồng hoạt động của AODV [1] ......................................................................... 711
4.6. Quá trình xử lý gói tin trong kernel-space của AODV-UU [6] ......................... 722
4.7. Quá trình xử lý gói tin trong user-space [6] ........................................................ 755
4.8. Sơ đồ Internetworking [31] .................................................................................... 85
4.9. Một kịch bản quản lý tính di động trong mạng MANET [31]............................. 86
4.10. Chồng giao thức sử dụng trong Internetworking[16]......................................... 90
4.11. Cấu trúc gói tin RREQ mở rộng[15] ................................................................... 90
4.12. Cấu trúc gói tin RREQ mở rộng [15] .................................................................. 91
4.13. Tiến trình giao tiếp với gateway[15] ................................................................... 92
4.14. Gọi hàm route request cho đích đến là Internet[21] ........................................... 94
4.15. Quá trình xử lý của node trung gian[21] ............................................................. 96
4.16. Process Route Resquest cho đích đến là Internet[21] ........................................ 98
4.17. Hàm gọi routing table [21]................................................................................. 100
5.1. Tập tin zebra.conf.sample .................................................................................... 107
5.2. Kết nối telnet đến zebra.................................................................................... 10808
5.3. Kiểm tra thông tin card wlan0 ......................................................................... 10909

5.4. Kết quả máy A ping máy B.............................................................................. 11010
5.5. Kết quả máy B ping máy A.............................................................................. 11010
5.6. Khởi chạy aodvuu trên máy A ......................................................................... 11010
5.7. Thông tin bảng định truyến Zebra trên máy A ............................................... 11111
5.8. Khởi chạy aodvuu trên máy B ......................................................................... 11111
5.9. Thông tin bảng định tuyến Zebra trên máy B ................................................. 11212
5.10. Bread link và gửi yêu càu để Zebra xóa đường trên máy A ........................ 11212
5.11. Break link và gửi yêu cầu để Zebra xóa đường trên máy B ........................ 11212
5.12. Kết quả ping máy A và B khi break link....................................................... 11313
5.13. Máy C gửi yêu cầu thêm chỉ mục định tuyến máy B ................................... 11313
5.14. Máy C gửi yêu cầu thêm chỉ mục định tuyến máy A ................................... 11313
5.15. Máy C ping thành công cả máy A và máy B ................................................ 11414
5.16. Thông tin bảng định tuyến Zebra trên máy C ............................................... 11414


Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình

Hình
Hình
Hình

5.17. Máy A cập nhật tuyến đường đến máy B ..................................................... 11414
5.18. Kết quả bảng định tuyến Zebra trên máy A .................................................. 11515
5.19. Kết quả ping giữa máy A và máy B .............................................................. 11515
5.20. Mô hình kiểm tra Internetworking ................................................................ 11515
5.21. Thông tin bảng định tuyến trên máy A ......................................................... 11616
5.22. Thông tin bảng định tuyến trên máy B.......................................................... 11717
5.23. Định tuyến Static Route trên máy B.............................................................. 11818
5.24. Ping kiểm tra kết nối Internet từ máy B ........................................................ 11818
5.25. Kiểm tra phiên bản Linux kernel 3.13.11 ..................................................... 11919
5.26. Khởi chạy aodvuu trên Linux kernel 3.13.11 ............................................... 12020
5.27. Thông tin cập nhật node láng giềng của aodvuu trên Linux kernel ............ 12121
5.28. Sơ đồ testcase 3 node di chuyển .................................................................... 12323
5.29. So sánh bandwith tại node A ......................................................................... 13030
5.30. So sánh độ delay tại node A........................................................................... 13030
5.31. So sánh tỉ lệ packet loss tại node A ............................................................... 13131
5.32. So sánh Bandwith tại node B ......................................................................... 13131
5.33. So sánh độ trể tại node B ............................................................................... 13232
5.34. So sánh tỉ lệ Packet loss tại máy B ................................................................ 13333


MỞ ĐẦ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à OLSRDQUAGGA [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ở.
Đề 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


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. 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.


Chươ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

11


Chươ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ố liñ h
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]

Ứng dụng
- Mạng chiến thuật

Kịch bản/ Dịch vụ
- Truyền thông và điều hành các hoạt động quân sự
- Mạng định vị các thiết bị quân sự

- Các dịch vụ khẩn - Các hoạt động tìm kiếm và cứu hộ
cấp

- 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 - Thương mại điện tử: thanh toán điện tử bất cứ lúc nào và
mại và dân sự


bất cứ nơi nào
- Kinh doanh: truy cập cơ sở dữ liệu năng động, văn
phòng di động
- Dịch vụ xe cộ: đường bộ, hướng dẫn tai nạn, truyền các
điều kiện đường xá và thời tiết, mạng lưới taxi
- Sân vận động thể thao, hội chợ thương mại, trung tâm
mua sắm
- Mạng của du khách tại các sân bay

- Mạng cá nhân và - Mạng không dây cá nhân, văn phòng
doanh nghiệp

- Hội thảo, phòng họp
- Mạng lưới cá nhân khu vực (PAN), mạng lưới cá nhân
(PN)
- Mạng của các công trình xây dựng

12


Chươ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


13


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 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 đinh
̣ 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 đinh
̣ 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.

14


Chươ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
Platform

Routing

Access
list
Route
map
Telnet
SSH,
HTTP
SNMP
Config

Quagga
Opensource

Linux, BSD

XORP
Opensource
Linux, BSD

Cisco IOS
Commercial
Cisco

Static routing,
RIP, RIPv2,
OSPFv2, ISIS,
BGP
OLSR, AODV
Yes

OpenWRT
Opensource
Linux
embedded
device
Static
BABEL,
routing, RIP, OLSR,
RIPv2,
B.A.T.M.A.
OSPFv2,
N
BGP

No
Yes

Yes

No

No

Yes

Yes
No

Yes
No

Yes
No

Yes
Yes

Yes
CLI, config file

No
CLI

No

CLI, HTTP

Yes
File, CLI, HTTP,
Cisco ASDM

Static routing, RIP,
RIPv2, OSPFv2,
BGP, IGRP,
EIGRP.
Yes

Với những tính năng của bộ phần mềm định tuyến mở Quagga/Zebra cho thấy
việc hữu ích của bộ phần mềm này trong việc giải quyết những khó khăn trong việc
cấu hình các giao thức định tuyến, có thể kết hợp nhiều giao thức định tuyến được
chạy trên một nền tiến trình chung và cung cấp giao diện cấu hình phổ biến cho
người quản trị. Khi Linux kernel thay đổi nhóm phát triển bộ phần mềm
Quagga/Zebra sẽ nâng cấp cho phù hợp với kernel mới nên AODV không cần phải
chỉnh sửa nữa vì đã được tích hợp vào phần mềm Quagga/Zebra. Đồng thời trong
việc phân loại và so sánh các giao thức định tuyến trong mạng MANET, trong đó
nổi bật lên giao thức định tuyến theo yêu cầu AODV. Do đó trong luận văn này, tôi
chọn đề tài về: 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 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

15



Chươ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

16


Chương 1: Tổng quan

- Cài đặt thực thi phiên bản hiện thực AODV-UU chạy trên OS Linux kernel
3.13.11 [2] để xây dựng các kịch bản đánh giá
- Cài đặt thực thi phiên bản tích hợp AODV-UU vào bộ phần mềm định tuyến
Quagga/Zebra [1] để xây dựng các kịch bản đánh giá
- Thực hiện các testcase thu thập dữ liệu thông số mạng, đánh giá và so sánh
hiệu năng của của 2 phiên bản mã nguồn AODV-UU trên kernel và AODVUUQUAGGA.
1.4.2. Phạm vi nghiên cứu
- Phân tích mã nguồn, các thành phần, các tiến trình và nguyên lý hoạt động của
giao thức AODV trong gói phần mềm AODV-UU triển khai trên kernel 3.13.11 [2]
và phiên bản hiện thực AODVUU-Quagga [1] được tích hợp vào bộ phần mềm định
tuyến Quagga/Zebra.
- Phiên bản AODVUU-Quagga có thể thêm, xóa, sửa bảng định tuyến đến
Zebra daemon, phiên bản chỉ tích hợp được Ipv4. Ngoài ra, phiên bản còn hạn chế
chia sẻ Internet trên mạng ad-hoc khi băng thông chia sẻ còn thấp.
- Đ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.

17


Chươ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.

18


Chươ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
19


Chươ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 OnDemand 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
20


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 adhoc (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].
21


Chươ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 chiń h 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

22



Chươ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
23


×