You are on page 1of 79

MỤC LỤC

LỜI NÓI ĐẦU..................................................................................................................................... 3

THUẬT NGỮ VIẾT TẮT................................................................................................................... 6

CHƯƠNG I :TỔNG QUAN VỀ MẠNG AD-HOC ............................................................................ 8

1.1. TổNG QUAN Về MạNG AD-HOC ............................................................................................ 8


1.2 ĐặC ĐIểM CủA MạNG AD-HOC .................................................................................................10
1.3 CÁC ứNG DụNG CủA MạNG AD-HOC .........................................................................................13
1.3.1 Ứng dụng trong quân đội.............................................................................................13
1.3.2 Các ứng dụng trong cuộc sống ....................................................................................14
1.4 VấN Đề AN NINH .....................................................................................................................16

CHƯƠNG II : HOẠT ĐỘNG CỦA CÁC GIAO THỨC PROACTIVE TRONG MẠNG AD-HOC
............................................................................................................................................................17

2.1 TổNG QUAN Về ĐịNH TUYếN ....................................................................................................17


2.2 GIAO THứC ĐịNH TUYếN VECTOR KHOảNG CÁCH THEO YÊU CầU AODV .........................................19
2.2.1 Tìm đường .........................................................................................................................19
2.2.2 Thiết lập đường đảo chiều..................................................................................................20
2.2.3 Thiết lập đường chuyển tiếp ...............................................................................................20
2.2.4 Quản lý bảng định tuyến ....................................................................................................21
2.2.5 Duy trì tuyến......................................................................................................................22
2.2.6 Xử lý lỗi, hết hạn và xóa bỏ tuyến.......................................................................................23
2.2.7 Quản lý kết nối nội vùng ....................................................................................................25
2.2.8 Sửa chữa nội vùng .............................................................................................................26
2.3 CLUSTERHEAD GATEWAY ROUTING SWITCH (CGSR) .............................................................28
2.3.1 Tổng quan về giao thức CGSR.....................................................................................28
2.3.2 Kiến trúc của giao thức CGSR.....................................................................................28
2.4 GIAO THứC OLSR (OPTIMIZED LINK STATE ROUTING) ............................................................30
2.4.1 Khái quát giao thức OLSR...........................................................................................30
2.4.2 Chuyển tiếp đa điểm ....................................................................................................31
2.4.3 Nguyên tắc trao đổi bản tin..........................................................................................33
2.4.4 Khả năng áp dụng .......................................................................................................35
2.5 GIAO THứC ĐịNH TUYếN KHÔNG DÂY ( WRP )..........................................................................35
2.6 Định tuyến nguồn động (DSR).................................................................................................. 36
2.7 GIAO THứC ĐịNH TUYếN TUầN Tự TạM THờI TORA ....................................................................38
2.7.1 Chức năng giao thức ...................................................................................................40
2.7.2 Tạo đường trong TORA ...............................................................................................41

CHƯƠNG III: GIỚI THIỆU PHẦN MỀM NS2 VÀ ỨNG DỤNG XÂY DỰNG CÁC KỊCH BẢN
MÔ PHỎNG GIAO THỨC MẠNG ..................................................................................................43

3.1 TổNG QUAN ...........................................................................................................................43


3.2 ĐạI CƯƠNG Về NS ..................................................................................................................44
3.2.1 Các chức năng của NS.................................................................................................44
3.2.2 Các thành phần của NS ...............................................................................................45
3.2.3 Kiến trúc của NS .........................................................................................................45
3.3 Sử DụNG PHầN MềM NS-2 Để MÔ PHỏNG MạNG ..........................................................................50
3.3.1 Cơ bản về Tcl ..............................................................................................................50
3.3.2 Cơ bản về OTcl ...........................................................................................................52
3.3.3 Các bước cơ bản của một kịch bản mô phỏng NS-2......................................................53
3.3.4 Thực hiện mô phỏng mạng không dây trong NS............................................................56

CHƯƠNG IV: MÔ PHỎNG VÀ ĐÁNH GIÁ HIỆU NĂNG CÁC GIAO THỨC ĐỊNH TUYẾN
PROACTIVE TRONG AD-HOC ......................................................................................................62

4.1 MộT Số Độ ĐO ĐÁNH GIÁ HIệU NĂNG. .......................................................................................62


4.1.1 Các độ đo định tính .....................................................................................................62
4.1.2 Các độ đo định lượng ..................................................................................................64
4.2 ĐÁNH GIÁ HIệU NĂNG DựA TRÊN CÁC THÔNG Số .......................................................................66
4.3 ĐÁNH GIÁ HIệU NĂNG DựA TRÊN KếT QUả MÔ PHỏNG .....................................................................70
4.3.1 Mô hình hóa các kịch bản mô phỏng........................................................................................... 70
4.3.2 Khảo sát và phân tích kết quả ......................................................................................71
4.3.2.1 Tỷ lệ chuyển tiếp gói tin...................................................................................................... 71
4.3.2.2 Khả năng truyền gói tin ....................................................................................................... 73
4.3.2.3 Độ tối ưu về đường đi ......................................................................................................... 73

KẾT LUẬN ........................................................................................................................................75

TÀI LIỆU THAM KHẢO..................................................................................................................77

2
LỜI NÓI ĐẦU

Các hệ thống mạng tế bào không dây đã được đưa vào sử dụng từ những
thập kỷ 80. Các hệ thống không dây hoạt động với sự trợ giúp của một cấu trúc
hỗ trợ tập trung như một AP( Access Point). Các AP này giúp người dùng duy trì
sự kết nối với hệ thống không dây khi họ di chuyển từ địa điểm này tới địa điểm
khác. Sự có mặt của cấu trúc hỗ trợ cố định giới hạn khả năng thích nghi của các
hệ thống không dây. Nói cách khác hệ thống không thể làm việc hiệu quả ở
những nơi không có cơ sở hạ tầng cố định. Các hệ thống không dây trong tương
lai sẽ yêu cầu sự triển khai dễ dàng và nhanh chóng của các mạng không dây. Sự
triển khai mạng nhanh chóng này không thể thực hiện được với kiến trúc hiện tại
của các hệ thống không dây. Sự cải tiến gần đây như Bluetooth đã đưa ra một
loại mới của các hệ thống không dây gọi là các mạng Ad-Hoc (Mobile Ad-hoc
Network).
Ad-Hoc có một số đặc trưng, những lợi thế riêng của nó so với các mạng
vô tuyến truyền thống. Trong mô hình mạng này, tất cả các thành phần tham gia
đều có khả năng di động, chúng truyền thông tin với nhau theo các đường truyền
đa bước. Để thực hiện được yêu cầu truyền thông này, tất cả các nút thạm gia
trong mạng đều đóng vai trò như một router thực thụ. Các “router” này có khả
năng đảm bảo tất cả các chức năng như định tuyến, quảng bá đường đi, sửa lỗi
liên kết…. Để có được ưu thế về tính linh động, loại mạng này đã phải đánh đổi
với nhiều khó khăn khác nhau cần giải quyết. Khi các thành phần mạng di động,
việc cấp phát nguồn cho chúng trở nên khó khăn hơn. Nếu công suất của một nút
trong mạng giảm xuống mức nhất định thì nút đó không thể thực hiện các chức
năng đầy đủ của một router thực sự. Vì vậy, việc thiết kế các giao thức cho nó
phải đát ứng được yêu cầu về công suất tiêu tốn khi hoạt động để đáp ứng được
chất lượng dịch vụ của người dùng.
Trong tương lai, việc triển khai Ad-Hoc có thành công hay không phụ
thuộc vào các ứng dụng internet hiện tại và tương lai mà nó có thể hỗ trợ cũng
như các giao thức có khả năng cải thiện hiệu năng của nó. Một số yếu tố có thể

3
ảnh hưởng đến hiệu năng của bất cứ hoạt động của giao thức nào trong Ad-Hoc.
Ví dụ như sự di chuyển của các nút gây ra hiện tượng đứt liên kết, tác động tiêu
cực đến khả năng định tuyến và QoS của mạng. Kích thước mạng, chi phí điều
khiển và cường độ lưu lượng sẽ được xem xét trong khả năng ổn định của mạng.
Các yếu tố này kèm theo các thuộc tính không đồng nhất có thể gây ra các thay
đổi khả năng cải thiện hiệu năng mạng. Có thể chỉ ra năm yếu tố tác động đến
hiệu năng của Ad-Hoc đó là tốc độ, thời gian tạm dừng của nút, kích thước
mạng, số lượng nguồn lưu lượng và giao thức định tuyến. Các thông số khác
nhau có thể được sử dụng để đánh giá hiệu năng của mạng.
Với những kiến thức thu thập được em đã chọn đề tài “ Đánh giá hiệu
năng một số giao thức Proactive của công nghệ mạng Ad-Hoc” làm đồ án tốt
nghiệp của mình.
Nội dung của đồ án được bố cục như sau:
Chương 1: Tổng quan về mạng Ad-Hoc
Chương này trình bày một cách tổng quan nhất về mạng Ad-Hoc như:
Khái niệm về mạng Ad-Hoc, lịch sử hình thành và phát triển, công nghệ sử dụng
trong mạng Ad-Hoc, đặc điểm của mạng Ad-Hoc, các ứng dụng trong mạng Ad-
Hoc và vấn đề an ninh trong mạng Ad-Hoc.
Chương 2 : Hoạt động của các giao thức Proactive trong mạng Ad-Hoc
Chương này đề cập một cách tổng quát nhất đến vấn đề định tuyến trong
mạng Ad-Hoc, sự phân loại các giao thức định tuyến trong mạng Ad-Hoc và giới
thiệu một số giao thức định tuyến Proactive trong mạng Ad-Hoc.
Chương 3: Giới thiệu phần mềm NS2 và ứng dụng xây dựng các kịch bản mô
phỏng giao thức mạng.
Chương này đi sâu nghiên cứu hoạt động của phần mềm NS và từng bước
ứng dụng NS để mô phỏng hoạt động của mạng Ad-Hoc.
Chương 4: Đánh giá hiệu năng các giao thức định tuyến Proactive trong mạng
Ad-Hoc.
Chương này khảo sát ảnh hưởng của các giao thức định tuyến đối với hiệu
năng mạng thông qua các mô hình hóa, mô phỏng và đưa ra các kết quả mô phỏng.
Trên cơ sở đó phân tích và đánh giá các điều kiện tối ưu đối với cấu hình mạng và giao
thức định tuyến.

4
Để hoàn thành đồ án này em xin chân thành cảm ơn thầy giáo - Ths Đỗ
Đình Cường, giảng viên khoa CNTT-ĐHTN đã chỉ bảo tận tình và giúp đỡ em
trong suốt quá trình làm đồ án.
Trong quá trình làm do điều kiện thời gian và trình độ có hạn, bên cạnh
đó đây còn là một công nghệ còn khá mới ở Việt Nam nên ít có điều kiện tiếp
xúc với thực tế do đó không thể tránh khỏi những sai sót. Vì vậy em rất mong
nhận được những ý kiến chỉ bảo quý báu của các thày cô, các ý kiến đóng góp
của bạn bè để em có thể kịp thời bổ sung, sửa chữa những thiếu sót của mình.
Em xin chân thành cảm ơn!
Thái Nguyên, tháng 6 năm 2010
Sinh viên

Lê Thị Hương

5
THUẬT NGỮ VIẾT TẮT

ACK Acknowledgment Báo nhận


AODV Ad-hoc on-demand distance vector Định tuyến cự ly véc tơ theo yêu cầu
routing tùy biến
CSMA/CA Carrier sense multiple access/ Đa truy nhập cảm nhận sóng mang/
Colision Avoid tránh xung đột
CTS Clear To Send Xóa để gửi
DCF Distributed Coordination Function Chức năng phối hợp phân tán
DSR Dynamic Source Routing Định tuyến nguồn động
ETT Expected Transmission Time Thời gian truyền dẫn mong đợi
ETX Expected Transmission Count Dự báo số truyền dẫn mong đợi
FIFO First In First Out Vào trước ra trước
FTP File Transfer Protocol Giao thức truyền dẫn file
HTTP Hypertext Transfer Protocol Giao thức truyền dẫn siêu văn bản
ML Minimum Loss tổn thất tối thiểu
ICMP Internet Control Message Protocol Giao thức điều khiển truyền tin trên
mạng
LLACKS link-layer acknowledgments Báo nhận lớp liên kết
LSA Link-state advertisement Quảng bá trạng thái lien kết
MAC Medium Access Control Điều khiển truy nhập môi trường
MANET Mobile Ad-hoc Network Mạng tùy biến di động
MIC Metric of Interference and Tham số nhiễu và chuyển mạch kênh
Channel-switching
MID multiple interface declaration Công bố đa giao diện
MPR Multi-Point Relay Chuyển tiếp đa điểm
NAV Network Allocation Vector Véc tơ định vị mạng
OLSR Optimized Link State Routing Giao thức định tuyến trạng thái lien
Protocol kết tối ưu.
QoS Quality of service Chất lượng dịch vụ
RD Route Discovery Khám phá tuyến
RERR Route Error Lỗi tuyến
RM Route Maintenance Duy trì tuyến

6
RREP Route Reply Hồi đáp tuyến
RREP- ACK Route Reply Acknowledgment Báo nhận hồi đáp tuyến
RREQ Route Request Yêu cầu tuyến
RREQ ID Route Request Identification Nhận dạng yêu cầu tuyến
RTS Request To Send Yêu cầu để gửi
SYN Synchronization Đồng bộ
TC Topology Control Điều khiển cấu hình mạng
TCP Transmission Control Protocol Giao thức điều khiển truyền vận
TORA Temporally-Ordered Routing Thuật toán định tuyến tuần tự tạm
Algorithm thời
TTL Time to live Thời gian sống
UDP User Datagram Protocol Giao thức dữ liệu người dùng
WCETT Weighted Cumulative ETT Thời gian truyền dẫn mong đợi tích
lũy tải
WLAN Wireless Local Area Network Mạng cục bộ không dây
WMAN Wireless Metropolitan Area Mạng không dây đô thị
Network
WMN Wireless Mesh Network Mạng mắt lưới không dây
WPAN Wireless Personnal Area Network Mạng không dây cá nhân
WWAN Wireless Wide Area Network Mạng không dây diện rộng

7
CHƯƠNG I :TỔNG QUAN VỀ MẠNG AD-HOC
Chương này đề cập đến các vấn đề :
+ Tổng quan về mạng Ad-Hoc
+ Đặc điểm của mạng Ad-Hoc
+ Các ứng dụng của mạng Ad-Hoc
+ Vấn đề an ninh mạng Ad-Hoc

1.1. Tổng quan về mạng Ad-Hoc


Vào những năm 1970, mạng không dây đã trở nên ngày càng phổ biến
trong ngành công nghiệp máy tính. Điều này đặc biệt đúng trong thập kỷ vừa qua
đã được thấy mạng không dây đang được thích nghi để cho phép di động. Hiện
tại có hai dạng mạng di động không dây. Mạng đầu tiên được biết đến như mạng
cơ sở hạ tầng, đó là các mạng cố định và có cổng dây . Cầu cho các mạng này
được gọi là trạm cơ sở . Đơn vị di động trong mạng này được kết nối và giao tiếp
với trạm cơ sở gần đó là trong giao tiếp bán kính của nó.
Khi di động trên phạm vi của một trạm cơ sở và vào trong phạm vi khác,
chuyển giao xảy ra từ trạm cơ sở cũ đến trạm cơ sở mới và là điện thoại di động
có thể tiếp tục liên lạc liên tục trong suốt mạng. Ứng dụng điển hình của kiểu
mạng này bao gồm các là mạng không dây cục bộ WLAN (Wireless Local Area
Network ).
Loại thứ hai của mạng di động không dây là mạng di động không có cơ
sở hạ tầng, thường được gọi là mạng tùy biến. Mạng không có cơ sở hạ tầng là
mạng không định tuyến; tất cả các nút có khả năng chuyển động và có thể được
kết nối một cách ngẫu nhiên. Các nút của các mạng này có chức năng như router
mà nó phát hiện ra và duy trì các router đến các nút khác trong mạng.
Với tiến bộ gần đây về lĩnh vực máy tính và công nghệ truyền thông, ứng
dụng của công nghệ di động không dây sẽ ngày càng được sử dụng rộng rãi,
nhiều trong số đó sẽ liên quan đến việc sủ dụng bộ giao thức mạng ( IP ). Khả
năng của mạng di động tùy biến không dây là để hỗ trợ mạnh mẽ các hoạt động
có hiệu quả trong mạng di động không dây bằng cách kết hợp các chức năng

8
định tuyến vào các nút di động. Mạng này được nhận định có nhiều khả năng
phát triển, đôi khi có thể thay đổi nhanh chóng, ngẫu nhiên.
Trong Internet, hiện nay giao thức định tuyến hỗ trợ cho máy chủ trở
thành công nghệ “IP di động ”. Đây là công nghệ hỗ trợ máy chủ lưu động, nơi
máy chủ di chuyển có thê kết nối tới Internet thông qua các phương tiện khác
ngoài địa chỉ cố đinh tên miền không gian của nó. Máy chủ có thể kết nối trực
tiếp với mạng cố định trên một subnet ngoài hoặc có thể kết nối thông qua đường
dẫn không dây, dòng địa chỉ v.v…Hỗ trợ dưới hình thức máy chủ di động ( di
chuyển ) yêu cầu quản lý địa chỉ. Giao thức cải tiến khả năng tương tác và thích
nghi, nhưng các chương trình cốt lõi của mạng như định tuyến hop-by-hop hiện
giờ vẫn dựa vào các giao thức định tuyến hoạt động trong mạng cố định. Ngược
lại, mục tiêu của Ad-Hoc là mở rộng tính di động vào các lĩnh vực độc lập, di
động, lĩnh vực không dây, nơi cài đặt các nút - nơi có thể kêt hợp routers và máy
chủ-- tự tạo thành mạng lưới cơ sở hạ tầng trong mạng tùy biến không dây.
Trong thế hệ tiếp theo của hệ thống truyền thông không dây ,sự triển khai
nhanh chóng độc lập với người dùng di động thực sự cần thiết. Những ví dụ
quan trọng bao gồm thiết lập sự tồn tại ,hiệu quả, truyền thông linh động đói với
các hoạt động khẩn cấp ,các nỗ lực cứu nguy các thảm họa và các mạng quân
đội. Hầu hết các kịch bản mạng không thể dựa trên kết nối đã được sắp xếp và
kiểm soát điều này có thể tưởng tượng như các ứng dụng của mạng Ad-Hoc.
Các mạng Ad-Hoc (Mobile ad-hoc network) hay các mạng “tồn tại ngắn
” hoạt động mà không cần cơ sở hạ tầng cố định. Chúng cung cấp sự triển khai
nhanh chóng và dễ dàng cho mạng trong những tình huống không thể thực hiện
theo cách nào khác.
Ad-Hoc là một từ latinh có nghĩa là “dành cho” hoặc “chỉ dành cho”.
Ad-Hoc là một hệ tự quản bao gồm một tập các người dùng di động truyền thông
với nhau qua băng thông được ràng buộc bởi các liên kết không dây. Khi các
nút (máy tính hoặc thiết bị tham gia vào mạng) mạng di chuyển, hình trạng mạng
(topo) có thể thay đổi một cách nhanh chóng và không thể đoán trước được.
Mạng bị phân chuyển trong tất cả phạm vi hoạt động bao gồm việc tìm ra hình

9
trạng mạng và nhận các thông điệp phải được thực hiện bởi chính các nút mạng.
Chức năng định tuyến sẽ được kết hợp chặt chẽ với các nút di động

Hình 1-1 . Một mạng AD-HOC gồm 7 nút.


Hình tròn biểu diễn phạm vi hoạt động của mỗi nút
Các nút trong mạng Ad-Hoc tự do di chuyển và tự tổ chức theo một cách
tùy tiện.Mỗi người dùng tự do di chuyển trong khi truyền thông với những người
khác. Đường truyền giữa mỗi cặp sử dụng có thể có nhiều liên kết và song radio
giữa chúng có thể không đồng nhất ,điều này cho phép một sự kết hợp của nhiều
liên kết khác nhau.
Các mạng Ad-Hoc có thể hoạt động một cách độc lập hoặc có thể được
kết nối với một mạng lớn hơn như Internet.

1.2 Đặc điểm của mạng Ad-Hoc


Mạng Ad-Hoc gồm những nền tảng di động ( ví dụ một router với nhiều
máy chủ và thiết bị liên lạc không dây) -- ở đây gọi là các nút mà chúng có thể tự
do di chuyển. Các nút có thể ở trong hoặc trên máy bay, tàu, xe tải, xe hơi, thậm
chí trên người hoặc những thiết bị rất nhỏ, và có thể có nhiều máy chủ trên mỗi
router. Mạng Ad-Hoc là một hệ thống tự động của các nút di động. Hệ thống có
thể hoạt động độc lập hoặc có thể có cổng vào ra và giao diện với một mạng cố
định. Trong chế độ hoạt động sau, nó được hình dung như một cái mạng gốc kết
nối với một mạng cố định.

10
Các nút trong mạng Ad-Hoc được trang bị truyền thông không dây và thu
nhận sử dụng ăng-ten có thể phát sóng theo mọi hướng, hướng cao (điểm tới
điểm), hay một số sự kết hợp. Tại một điểm được đưa ra trong một thời gian, tùy
thuộc vào vị trí của các nút truyền và nhận an toàn. Topo trong mạng Ad-Hoc có
thể thay đổi theo thời gian như các nút di chuyển hoặc điều chỉnh sự truyền dẫn
và tiếp nhận các thông số của chúng.
Một số dặc điểm nổi bật của Ad-Hocs:
1. Chức năng của topo: Các nút di chuyển tự do, do đó các topo mạng thường là
multihop có thể thay đổi ngẫu nhiên và nhanh chóng vào các thời điểm không
thể đoán trước, có thể bao gồm các liên kết hai chiều và theo đường dẫn duy
nhất.

2. Băng thông hạn chế, khả năng thay đổi liên kết: Liên kết không dây sẽ tiếp tục
có công suất thấp hơn các loại khác . Ngoài ra, thông qua việc thực hiện các
giao tiếp không dây sau khi đã tính toán ảnh hưởng của người truy cập, sự
nhiễu sóng, tiếng ồn và sự can thiệp có điều kiện v.v. thường nhỏ hơn rất
nhiều so với khả năng truyền tối đa của sóng vô tuyến.

Một trong những ảnh hưởng tương đối thấp đến khả năng liên kết trung
bình đó là tình trạng tắc nghẽn chuẩn chứ không phải là ngoại lệ, đó là tổng
hợp các ứng dụng có khả năng tiếp cận vượt quá công suất mạng thường
xuyên. Khi các mạng di động thường chỉ đơn giản là một phần mở rộng của
cơ sở hạ tầng mạng cố định, mạng di động tùy biến của người dùng sẽ yêu cầu
các dich vụ tương tự. Những yêu cầu này sẽ tiếp tục tăng lên như máy tính đa
phương tiện và các ứng dụng mạng cũng gia tăng.

3. Hạn chế năng lượng hoạt động: Một vài hoặc tất cả các nút trong mạng AD-
HOC có thể dựa vào năng lượng yếu hoặc cạn kiệt. Đối với các nút, qua trọng
nhất khi thiết kế hệ thống là tiêu chí tối ưu hóa có thể bảo tồn được năng
lượng.

4. Giới hạn an ninh vật lý: Mạng di động không dây thường dễ bị đe dọa về an
ninh vật lý hơn là cáp cố định. Khả năng nghe trộm, giả mạo và từ chối các
cuộc truy nhập của dịch vụ nên được xem xét cẩn thận. Kỹ thuật liên kết bảo

11
mật thường được áp dụng giữa các mạng không dây để giảm thiểu tối đa đe
dọa về an ninh mạng. Như là một lợi ích, sự phân cấp kiểm soát trong mạng
Ad-Hoc cung cấp mạnh mẽ các bổ sung chống lại điểm lỗi duy nhất hơn là
phương pháp tập trung.

Đặc điểm chính của mạng Ad-Hoc đó là: Sử dụng phân quyền cho các nút
mạng. Các nút mạng tự nó sắp xếp tuyến và tự nó triển khai tuyến, mạng Ad-
Hoc là một mạng có cấu trúc mạng động. Mạng Ad-Hoc không có đường truyền
chuyên dụng (specialized routers), Ngoài ra nó không dùng các đường truyền cố
định (fixed routers ) hay các đường truyền vật lý (dây dẫn).
Mạng Ad-Hoc có cấu trúc và biến đổi cấu trúc một cách thường xuyên, cấu
trúc mạng có tính chất tạm thời, các nút liên kết với nhau theo kiểu mạng ngang
hàng, các nút có vai trò như nhau và có chức năng tìm kiếm, duy trì và định
tuyến.
Mạng Ad-Hoc dùng một số kỹ thuật liên quan đến các vấn đề kỹ thuật dùng
để truyền thông vô tuyến và nó có những đặc tính:
- Tính không đồng nhất giữa các thiết bị.
- Đặc trưng lưu lượng mạng.
- Di chuyển của các nút trong một tuyến.
Ưu điểm của mạng Ad-Hoc
Trong mạng cơ bản thì cơ sở hạ tầng, các trạm trung gian, thu phát sóng là
yếu tố quan trọng quyết định chất lượng của mạng, còn trong mạng Ad-Hoc các
nút mạng kết nối thông qua các nút mạng ( không cần đến các trạm thu phát), các
nút mạng có thể di chuyển tự do trong cấu trúc mạng do đó nó có tính chất cơ
động cao và do đó làm giảm bớt sự phụ thuộc vào cơ sở hạ tầng, làm cho mạng
dễ phát triển dễ dàng, tốc độ phát triển của mạng nhanh.
Những thách thức đối với mạng Ad-Hoc:
- Chi phí cho việc sử dụng phổ tần số.
- Việc định tuyến.
- Hiệu quả sử dụng nguồn điện.

12
- Giao thức điều khiển truyền.
- Định vị cung cấp và truy nhập dịch vụ.

1.3 Các ứng dụng của mạng Ad-Hoc

Các công nghệ của mạng không dây kiểu không cấu trúc đem lại rất nhiều
lợi ích so với các mạng truyền thống (cả không dây và có dây) trong những ngữ
cảnh khó có thể triển khai được một cơ sở hạ tầng mạng cố định hoặc việc triển
khai là không khả thi do những lý do về mặt thực hành (địa hình,…) hoặc do
những lý do về kinh tế (chi phí cáp trong một không gian lớn, chi phí thiết lập
nhiều điểm truy cập).
Công nghệ của mạng Ad-Hoc giống như một gói mạng phát sóng di động.
Mạng lưới di động( một thuật ngữ xuất hiện trong tác phẩm ECONOMIST về
cấu trúc của các mang trong tương lai) và di động, Multihop, mạng không dây (
có lẽ là thuật ngữ chính xác nhất mặc dù hơi rườm rà ).

Đó là hiện tại và tương lai cho mạng Ad-Hoc. Một lĩnh vực mới nổi của
máy tính và điện thoại di động với tính nhấn mạnh hiện thời về IP di động, dần
dần sẽ mở rộng và đòi hỏi công nghệ mạng di động cao để quản lý hiệu quả
Multihop, mạng tùy biến không dây có thể hoạt động tự động hoặc hơn thế được
kèm theo ở một số điểm tới mạng cố định.
Một số ứng dụng của công nghệ mạng Ad-Hoc có thể bao gồm các ứng
dụng công nghiệp và thương mại liên quan đến trao đổi dữ liệu trên điện thoại di
động. Ngoài ra, dựa trên mạng lưới điện thoại di động có thể hoạt động mạnh
mẽ, thay thế các phương pháp rẻ tiền hoặc cải tiến các thiết bị dựa trên cơ sở hạ
tầng mạng.
Phần dưới đây sẽ giới thiệu các ứng dụng của mạng Ad-Hoc.

1.3.1 Ứng dụng trong quân đội


Những thành tựu mới của công nghệ thông tin thường được áp dụng trong
quân sự đầu tiên, và mạng không dây kiểu không cấu trúc cũng không phải là
một ngoại lệ. Nhiều năm nay, quân đội đã sử dụng các mạng “packet radios” –
một nguyên mẫu đầu tiên của mạng chuyển mạch gói không dây ngày nay.

13
Mạng Ad-Hoc thuần túy Mạng Ad-Hoc dùng cho quân
Hình 1-2: Mô hình di động của mạng Ad-Hoc thuần túy và giải pháp dùng trong
quân đội
Giải pháp mạng Ad-Hoc cho quân đội có những đặc điểm khác so với
mạng Ad-Hoc thuần túy.

Mạng Ad-Hoc thuần túy thường tuân theo một mô hình điểm ngẫu nhiên,
các nút tự do di chuyển theo bất cứ hướng nào, với bất cứ tốc độ nào. Trong mô
hình mạng Ad-Hoc cho quân đội, các nút phân nhóm theo bản chất tự nhiên của
chúng khi chúng cùng thực hiện một nhiệm vụ cụ thể. Xu hướng di động ở đây
là theo nhóm (group mobility).

Do đó, nếu đưa ra được một mô hình chuyển động theo nhóm, các vấn đề
của mạng Ad-Hoc sẽ trở nên cụ thể hơn (ví dụ: định tuyến, sử dụng các ứng
dụng thời gian thực như tiếng nói, video,…), cho phép phát triển một giải pháp
tối ưu.

1.3.2 Các ứng dụng trong cuộc sống


Mạng Ad-Hoc là rất lý tưởng trong các trường hợp không có sẵn một cơ sở
hạ tầng thông tin, tuy nhiên lại cần phải thành lập một mạng tạm thời nhằm trao
đổi thông tin và hợp tác cùng làm việc.

Cứu hộ
Tại các vùng bị thiên tai, thảm họa, khó có thể có được một cơ sở hạ tầng
về thông tin vững chắc. Hệ thống có trước đó rất có thể bị hỏng hoặc bị phá hủy
hoàn toàn.

14
Tại vùng có thảm họa, tất cả các phương tiện và hệ thống truyền thông đều
bị phá hủy hoàn toàn. Mỗi chiếc xe của cảnh sát, cứu hỏa, cứu thương,… đều
được trang bị như một thiết bị đầu cuối di động – là một phần của mạng ad-hoc.
Mỗi nhân viên cũng mang theo một thiết bị đầu cuối di động. Các thiết bị đầu
cuối này đều liên kết với nhau, hình thành nên một mạng tạm thời nhằm trao đổi
thông tin. Cấu hình mạng thay đổi theo những thời điểm khác nhau. Ngoài ra,
các thiết bị đầu cuối di động không chỉ cung cấp chức năng gửi và nhận thông tin
mà còn có thể chuyển tiếp thông tin – đóng vai trò như router trên Internet .

Hội thảo
Khác với cách làm truyền thống khi những người tham gia hội thảo muốn
chia sẻ tài liệu cho nhau là gửi file đính kèm qua email hoặc sao chép qua các
thiết bị lưu trữ thứ cấp có khả năng di động, tất cả những người tham dự hội thảo
đều có thể sử dụng thiết bị di động để tạo thành một mạng ad-hoc trong suốt thời
gian đó. Các thiết bị có thể truyền thông với nhau, truyền/nhận các tài liệu được
sử dụng trong hội thảo. Khi hội thảo kết thúc, các thiết bị được tắt nguồn, mạng
tự bị hủy bỏ.

Đời sống hàng ngày


Giả sử một em học sinh sử dụng thiết bị cầm tay di động đi học hàng ngày
bằng xe bus. Khi lên xe bus, thiết bị đầu cuối của em chuyển sang chế độ ad-hoc.
Em gặp bạn và muốn trao đổi file để so sánh kết quả bài tập toán về nhà. Sau đó,
hai em muốn chơi trò chơi điện tử. Để có thể chơi với những người chơi khác,
hai em phải kiểm tra xem trên xe buýt hoặc trong các ô tô xung quanh có một
mạng chơi trò chơi điện tử nào hay chưa. Em chạy một ứng dụng ngang hàng và
tìm một trò chơi nào đó có thể chơi trong lúc đi trên xe buýt. Rất may, một ai đó
trên xe buýt đã chia sẻ các trò chơi và cho phép người khác tải về từ thiết bị đầu
cuối của anh ta. Em chọn một trò chơi. Trò chơi được tự động tải về, cài đặt và
cấu hình trên thiết bị đầu cuối của em. Em có thể chơi điện tử ngay sau đó. Bạn
em cũng có thể tham gia vào trò chơi nếu muốn, ngay trên máy của em.

15
Hình vẽ 1-3: Mạng ad-hoc thuần túy (môi trường trên xe buýt)
Môi trường mạng ở đây là một mạng không dây kiểu không cấu trúc thuần
túy, tức là không có cơ sở hạ tầng về cáp, các thiết bị đầu cuối tự cấu hình để
thành lập mạng, mà không có sự quản lý tập trung. Mạng này có thể tự chia nhỏ
thành các mạng con: một mạng riêng giữa em học sinh và bạn của em, một mạng
“chung” được khởi tạo bởi người muốn chia sẻ các chương trình trò chơi điện tử
trên máy của anh ta. Hai mạng này được trộn lẫn vào nhau một cách động.

1.4 Vấn đề an ninh


Mạng di động không dây nói chung đều dễ bị đe dọa về an ninh hơn mạng
cố định. Một số cấp độ bảo mật thường đươc áp dụng giữa các mạng không dây
để giảm bớt các mối đe dọa. Không có liên kết mã hóa tại các tầng mạng,vấn đề
bức xúc nhất là một trong các route các thực trước khi trao đổi điều khiển thông
tin mạng. Một số cấp độ xác thực khác nhau, từ không có an ninh và chia sẻ
những phương pháp tiếp cận đơn giản và đầy đủ. Để hỗ trợ các phương thức làm
việc nhóm, một số chế độ xác thực tùy chọn được chuẩn hóa để sử dụng trong
Ad-Hocs.

Tổng kết chương I


Chương này đã đề cập đến những vấn dề tổng quát nhất trong mạng Ad-
Hoc từ lịch sử hình thành ,khái niệm. Đặc biệt trong chương này đã đề cập và
giới thiệu một số công nghệ được sử dụng trong mạng Ad-Hoc từ công nghệ phổ
biến là Bluetooth đến các công nghệ đã và sẽ được triển khai trong tương lai như
UWB,FSO hứa hẹn sẽ đem lại một tương lai tươi sáng nhất cho mạng không dây
nói chung và mạng Ad-Hoc nói riêng.

16
CHƯƠNG II : HOẠT ĐỘNG CỦA CÁC GIAO THỨC PROACTIVE
TRONG MẠNG AD-HOC
Chương này đề cập đến các chủ đề
+ Tổng quan về định tuyến trong mạng Ad-Hoc.
+ Vấn đề định tuyến và sự phân loại các giao thức định tuyến
trong mạng Ad-Hoc.
+ Hoạt động của một số giao thức định tuyến Proactive trong
mạng Ad-Hoc.

2.1 Tổng quan về định tuyến


Vấn đề định tuyến về cơ bản chính là vấn đề tìm đường đi ngắn nhất cho
một gói tin được gửi từ một nút mạng tới nút đích của nó. Mỗi gói tin chứa ID
của nút đích trong header của nó. Khi một nút nhận một gói tin nó sẽ kiểm tra ID
trong header của gói tin nếu không phải là gửi cho nó nó sẽ chuyển tiếp gói tin
tới nút kế tiếp gần nó nhất. Quá trình chuyển tiếp gói tin tiếp diễn cho đến khi nó
tới được nút đích. Vì lý do này các phương pháp định tuyến được đưa ra với một
mục tiêu chung là định ra cho mỗi gói tin được truyền đi một đường đi tối ưu.

Vấn đề định tuyến trong mạng Ad-Hoc là một thách thức do các nút mạng
luôn có xu hướng tự do chuyển động. Các liên kết có thể bị phá vỡ hoặc khôi
phục bất cứ lúc nào và có những đặc điểm khác hẳn với những lý do khác. Ngoài
ra, dải thông trong mạng không dây là thấp, các nút bị hạn chế bởi nguồn nuôi
nên tổng lưu lượng dành cho định tuyến cần phải nhỏ.

Từ khi xuất hện gói DARPA của mạng Radio vào đầu những năm 1970,
nhiều giao thức được phát triển cho mạng Ad-Hoc. Các giao thức phải đối mặt
với nhiều hạn chế của mạng này, trong đó bao gồm cả thiêu thụ công suất cao,
đường truyền thấp và tỉ lệ lỗi cao. Như trong hình 1, giao thức định tuyến được
phân loại thành: (a) điều khiển theo bảng và (b) Phương pháp định tuyến theo
yêu cầu khởi phát từ nguồn. Đường nét liền trong hình này mô tả trực tiếp các
lớp con. Mặc dù được thiết kế cho các mạng cùng loại ở lớp dưới, nhưng đặc

17
trưng của mỗi giao thức thức này khá rõ ràng. Những phần sau mô tả đặc điểm
của các giao thức và phân loại theo đặc điểm của chúng.

Hình 2-1 : Các dạng định tuyến trong mạng Ad-Hoc


Các giao thức định tuyến điều khiển theo bảng ( Proactive) cố gắng duy trì
thông tin định tuyến cập nhật liên tục từ mỗi nút đến mọi nút khác trong mạng.
Các giao thức này yêu cầu mỗi nút duy trì một hoặc nhiều bảng ghi để lưu trữ
thông tin định tuyến, và chúng đáp ứng những thay đổi trong topo mạng bằng
cách phát quảng bá rộng rải các thông tin cập nhật tuyến qua mạng để duy trì
tầm kiểm soát mạng một cách liên tục. Những vùng nào khác nhau về số các
bảng ghi liên quan đến định tuyến cần thiết và các phương thức thay đổi cấu trúc
mạng sẽ được phát quảng bá để cho tất cả mọi nút đều có thể biết được.

Các giao thức định tuyến proactive sử dụng phương pháp tràn lụt
(Floading) để quảng bá thông tin tới các thiết bị. Phương pháp này cho phép thời
gian thiết lập đường nhanh dựa trên các tham số gửi tới thiết bị sẵn sàng cho kết
nối. Tuy nhiên, việc lưu lượng thông tin tiêu đề tăng lên chính là nhược điểm của
phương pháp này. Giao thức định tuyến trạng thái liên kết tối ưu OLSR
(Optimized Link State Routing) [RFC 3626], giao thức định tuyến vector khoảng
cách tuần tự đích DSDV (Dynamic Destination-Sequenced Distance-Vector
Routing) [IBM,1996], giao thức Clusterhead Gateway Routing Switch (CGSR),
giao thức Wireless Routing Protocol ( WRP ) là một số ví dụ của giao thức định
tuyến proactive.

18
2.2 Giao thức định tuyến vector khoảng cách theo yêu cầu AODV
AODV là một giao thức định tuyến phản ứng được phát triển đặc biệt cho
Ad-Hoc. Trong AODV khi một nút cần gửi dữ liệu cho nút khác mà đường đi
chưa được xác định trước, nó sẽ cố tìm một đường đi mới bằng cách sử dụng bản
tin yêu cầu tìm đường RREQ, bản tin RREQ này được quảng bá trong mạng,
chứa địa chỉ IP của nút nguồn và nút đích mà nó cần tìm. Bản tin RREQ sẽ được
broadcast trên toàn mạng cho đến khi nào có một nút biết được đường tới nút
đích hoặc chính nút đích đáp ứng lại với bản tin phản hồi RREP. Bản tin RREP
được gửi trở lại nút nguồn và nút nguồn sẽ sử dụng thông tin đường đi của bản
tin này để thiết lập đường liên kết end to end từ nút khởi đầu đến nút đích. Giao
thức định tuyến AODV sẽ thực hiện một số quá trình xử lý như sau.

2.2.1 Tìm đường


Quá trình tìm đường được khởi tạo bất cứ khi nào một nút cần truyền
thông tin với nút khác mà đường liên kết giữa chúng không được tìm thấy trong
bảng định tuyến. Mỗi nút duy trì hai bộ đếm riêng biệt: một số thứ tự nút và một
ID quảng bá. Nút nguồn bắt đầu tìm đường bằng việc quảng bá một gói tin yêu
cầu đường RREQ (Route REQuest) tới các nút lân cận của nó.
Gói tin RREQ chứa một số trường sau:
<source_addr source sequence# Broadcast ID dest_addr dest_sequence# hop
cnt>
<địa chỉ nguồn, thứ tự nguồn#, ID quảng bá, địa chỉ đích, thứ tự đích#, hop
count>
Cặp <source_addr, broadcast_id> xác định đơn nhất một RREQ,
broadcast_id được tăng lên mỗi khi nguồn phát ra một gói tin RREQ mới. Mỗi
nút lân cận sẽ gửi lại một bản tin trả lời RREP (Route REPly) nếu thỏa mãn yêu
cầu của gói RREQ hoặc sẽ quảng bá gói tin RREQ sau khi tăng giá trị của
trường hop_cnt. Một nút có thể nhận nhiều bản sao của cùng một gói tin RREQ
từ các nút khác nhau. Khi một nút trung gian nhân nhận được một RREQ, nếu nó
đã nhận được một RREQ với cùng broadcast_id và địa chỉ đích, nó sẽ loại bỏ
gói tin RREQ đến sau. Nếu một nút không thỏa mãn RREQ, nó giữ lại các thông

19
tin cần thiết để thiết lập đường chuyển tiếp đảo chiều cho gói tin RREP, các
thông tin này bao gồm:

 Địa chỉ IP đích


 Địa chỉ IP nguồn
 ID quảng bá
 Thời gian sống cho đường đảo chiều
 Số thứ tự của nút nguồn

2.2.2 Thiết lập đường đảo chiều


Có hai số thứ tự (ngoại trừ số thứ tự của broadcast_id) trong một RREQ
đó là: Số thứ tự nguồn và số thứ tự đích mới nhất. Số thứ tự nguồn được sử dụng
để duy trì thông tin về “độ mới” của tuyến đường đảo chiều đến nguồn, số thứ tự
đích chỉ rõ tuyến đường tới đích phải “mới” như thế nào mới được nút nguồn
chấp nhận. RREQ đi từ một nguồn đến nhiều đích khác nhau, các đường đảo
chiều về nút nguồn sẽ được thiết lập tự động tại tất cả các nút mà nó đi qua. Để
thiết lập đường đảo chiều, một nút ghi lại địa chỉ của nút lân cận từ bản sao
RREQ đầu tiên mà nó nhận được. Tuyến đường đảo chiều này được duy trì trong
khoảng thời gian ít nhất đủ cho gói tin RREQ đi qua mạng và tạo được một phản
hồi về cho bên gửi.

2.2.3 Thiết lập đường chuyển tiếp


Khi một nút trung gian nhận được bản tin RREQ, nếu nó có chứa tuyến
đường đến đích mong muốn trong bảng định tuyến, nó sẽ kiểm tra tính khả dụng
của tuyến đường đó bằng cách so sánh số thứ tự đích tương ứng với tuyến đường
có trong bảng định tuyến của nó với số thứ tự đích trong gói tin RREQ mà nó
nhận được. Nếu số thứ tự đích của RREQ lớn hơn số thứ tự đích được lưu giữ
bởi nút trung gian thì nút đó không được sử dụng thông tin về tuyến đường đến
đích trong bảng định tuyến để trả lời cho gói tin RREQ. Thay vào đó nó sẽ phải
tiếp tục quảng bá gói tin RREQ. Nút trung gian chỉ có thể phản hồi khi nó có
một tuyến đường đến đích với số thứ tự đích tương ứng lớn hơn hoặc bằng số
thứ tự đích chứa trong RREQ. Khi nút trung gian có một tuyến đến đích khả

20
dụng và gói tin RREQ chưa được xử lý trước đó, thì nó sẽ trả lời bằng một gói
tin RREP theo đường truyền đơn hướng ngược lại nút mà nó đã nhận RREQ
trước đó.
Một RREP chứa các thông tin sau:
<source_addr, dest_addr, dest_sequence#, hop_cnt, lifetime>
<địa chỉ nguồn, địa chỉ đích, số thứ tự đích, hop count, thời gian sống>
Khi RREQ được quảng bá đến một nút có thể cung cấp tuyến đường đến
đích mong muốn, một đường đảo chiều tới nút nguồn của RREQ sẽ được thiết
lập. Mỗi nút dọc theo tuyến đảo chiều mà RREP quay lại nguồn sẽ đóng vai trò
là một nút chuyển tiếp, các nút này sẽ cập nhật lại toàn bộ thông tin về tuyến
đường giữa nguồn và đích đồng thời ghi lại số thứ tự đích gần nhất của nút đích.
Tuyến đường mà RREP quay lại nguồn được gọi là đường chuyển tiếp. Các nút
không nằm trên tuyến chuyển tiếp sẽ xóa các tuyến ngược chiều mà chúng đã
thiết lập trước đó khi khoảng thời gian ACTIVE_ROUTE_TIMEOUT kết thúc
(3000 mili giây).
Một nút sẽ truyền gói tin RREP đầu tiên về nguồn ngay khi nó nhận được.
Nếu nó nhận nhiều gói tin RREP, cập nhật thông tin định tuyến và truyền bản tin
RREP chỉ được thực hiện khi RREP chứa số thứ tự đích lớn hơn so với giá trị số
thứ tự đích trong RREP trước đó hoặc bằng nhưng tuyến đường mới có số hop-
count nhỏ hơn. Việc tăng số lượng RREP gửi về nguồn đảm bảo thông tin được
cập nhật nhanh và nhiều nhất. Nút nguồn có thể thực hiện truyền dữ liệu sớm
nhất có thể khi nó hoàn thành quá trình cập nhật thông tin từ RREP đầu tiên mà
nó nhận được và có thể tiếp tục cập nhật thông tin định tuyến nếu nó học được
một tuyến đường tốt hơn.

2.2.4 Quản lý bảng định tuyến


Ngoài các số thứ tự nguồn và đích, có thông tin hữu dụng khác cũng được
lưu trong các mục của bảng định tuyến gọi là “trạng thái mềm” và được liên kết
với các mục. Liên kết với các mục định tuyến đường đảo chiều là một bộ đếm
thời gian được gọi là “bộ đếm thời gian giới hạn yêu cầu đường”. Với các nút
không nằm trên tuyến đường từ nguồn đến đích, thông tin về các đường đảo

21
chiều sẽ được xóa khi thời gian giới hạn kết thúc. Thời gian giới hạn này phụ
thuộc vào độ lớn của mạng. Một tham số quan trọng khác liên quan đến các mục
định tuyến là giới hạn thời gian lưu trữ cho các tuyến đường, sau khoảng thời
gian này tuyến đường đó được xem như không hợp lệ. Trong mỗi mục của bảng
địch tuyến, địa chỉ hoạt động của các lân cận thông qua các gói tin định tuyến
cũng được duy trì. Một nút lân cận được xem là liên kết với nguồn nếu nó khởi
tạo hoặc chuyển tiếp ít nhất một gói tin cho nguồn đó trong
ACTIVE_ROUTE_TIMEOUT gần nhất. Thông tin định tuyến này được duy trì
để tất cả các nút nguồn hoạt động có thể được thông báo khi một liên kết dọc
theo đường tới đích bị phá vỡ. Một mục tuyến đường được xem là hiệu dụng nếu
nó được sử dụng bởi bất kỳ nút lân cận nào. Giống với DSDV, tất cả các tuyến
trong bảng định tuyến được xác định với các số thứ tự đích để đảm bảo không
xẩy ra hiện tượng lặp vòng trong quá trình định tuyến. Một nút có thể duy trì
mục bảng định tuyến cho mỗi nguồn quan tâm. Mỗi mục bảng định tuyến chứa
các thông tin sau:
 Đích
 Next hop
 Số hop (giá hay chi phí của tuyến đường)
 Các nút lân cận hiệu dụng cho tuyến đường
 Thời gian giới hạn cho bảng mục tuyến đường
Trong khoảng thời gian hiệu dụng, tuyến đường sẽ được sử dụng cho
truyền dữ liệu từ nguồn đến đích, thời điểm hết hạn sẽ được cập nhật lại bằng
cách cộng thời điểm thực hiện truyền dẫn với khoảng thời gian giới hạn. Nếu
một tuyến mới được yêu cầu cho một nút, nó sẽ so sánh số thứ tự đích của tuyến
đường mới với số thứ tự đích của tuyến đường hiện tại. Tuyến đường với số thứ
tự đích lớn hơn sẽ được chọn. Nếu các số thứ tự là như nhau, tuyến mới chỉ được
chọn khi nó có chi phí nhỏ hơn (số hop-cont nhỏ hơn) để đến đích.

2.2.5 Duy trì tuyến


Di chuyển của các nút không nằm trên tuyến đường nguồn - đích thì
không ảnh hưởng đến hoạt động liên kết giữa hai nút này. Nếu nút nguồn di

22
chuyển, nó có thể khởi tạo lại thủ tục tìm đường để thiết lập một tuyến đường
mới tới đích. Khi đích hoặc một số nút trung gian di chuyển, một gói tin RREP
đặc biệt sẽ được gửi từ các nút chịu ảnh hưởng. Các bản tin Hello (hello
periodic) theo chu kỳ có thể được sử dụng để đảm bảo các liên kết đối xứng,
cũng như hưỡng lỗi liên kết. Theo cách khác, lỗi có thể được phát hiện bằng sử
dụng các báo nhận lớp liên kết LLACK (Link-Layer-ACKnowleddgments). Một
tuyến lỗi cũng được chỉ ra nếu nỗ lực chuyển tiếp một gói tin đến nút kế tiếp thất
bại.
Khi một nút không thể vươn tới nút kế tiếp, nó sẽ truyền ngược lại một
gói tin RREP không liên kết với số thứ tự mới lớn hơn số thứ tự đã được biết
trước đó và hop-count của của tất cả các nút lân cận hoạt động ngược chiều. Các
nút này tiếp tục chuyển tiếp gói tin cho đến khi nào tất cả các nút nguồn hoạt
động được thông báo. Nó sẽ kết thúc do AODV chỉ duy trì các tuyến đường
không lặp và chỉ có một số lượng nút hưu hạn trong mạng.
Khi nhận các thông báo về một liên kết bị phá vỡ nút nguồn có thể khởi
động lại quá trình tìm đường nếu nó vẫn yêu cầu một tuyến đường đến đích. Để
xác định một tuyến đường như vậy trước tiên nó kiểm tra xem có tuyến đường
nào được sử dụng gần đấy hay không, cũng như kiểm tra các khối điều khiển
giao thức lớp trên để biết được có kết nối nào đang hoạt động với đích hay
không. Khi một nút quyết định cần xây dựng lại tuyến đường đến đích, nó sẽ gửi
một gói tin RREQ với một số thứ tự đích lớn hơn số thứ tự đích được biết trước
đó đảm bảo tuyến đường đang xây dựng là hoàn toàn mới, và sẽ không có nút
nào trả lời nếu chúng vẫn xem tuyến đường trước đó là hợp lệ.

2.2.6 Xử lý lỗi, hết hạn và xóa bỏ tuyến


Thông thường, việc xử lý RERR và liên kết gãy cần đến các bước sau đây:

 Làm mất hiệu lực các tuyến hiện tại.

 Liệt kê các đích bị ảnh hưởng.

 Xác định rõ nếu có bất kì nút lân cận nào có thể bị ảnh hưởng.

 Thực hiện một RERR tới các nút lân cận.

23
Một bản tin RERR có thể là broadcast, unicast hay multicast. Ngay cả khi
bản tin RERR là một unicast lặp lại tới một số chặng trước, nó được xem là một
bản tin điều khiển đơn. Với cách hiểu đó, một nút không nên khởi tạo nhiều hơn
một lượng RERR_RATELIMIT bản tin RERR trên một giây.
Một nút bắt đầu xử lý cho một RERR trong ba hoàn cảnh sau:
i. Nếu nó phát hiện một liên kết gãy cho chặng tới của một tuyến
hoạt động trong bảng định tuyến của nó trong khi truyền dữ liệu.
ii. Nếu có được một gói dữ liệu đi đến một nút mà nó không có một
tuyến hoạt động và không được sửa chữa.
iii. Nếu nó nhận một RERR từ một nút lân cận cho một hoặc nhiều
tuyến hoạt động.
Đối với trường hợp (i), đầu tiên nút tạo một danh sách các nút không tới
được chứa các nút lân cận không tới được và bổ sung bất kỉ đích nào trong bảng
định tuyến nội vùng cái mà sử dụng các nút lân cận không thể tới được như các
chặng tiếp theo. Trong trường hợp này, nếu một tuyến mạng con được tìm thấy
là khổng thể tới được, một đỉa chỉ IP đích cho mạng con này được thiết lập bằng
việc chèn các số 0 vào tiền tố mạng con như được chỉ ra trong mục bảng định
tuyến.
Đối với trường hợp (ii), chỉ có một đích không thể tới được, cái mà là
đích của gói dữ liệu mà không thể được phân phát. Trong trường hợp (iii), danh
sách nên bao gồm các đích này trong RERR.
Một vài đích không tới được trong danh sách có thể được sử dụng bởi các
nút nút lân cận, và vì thế nó có thể cần thiết cho việc gửi một RERR. RERR nên
chứa các đích đó là một phần danh sách được tạo ra của các đích khồng đến
được và có một danh sách cách chặng trước không trống rỗng.
Các nút láng giềng mà có thể nhận RERR là tất cả các nút thuộc về một
danh sách chặng trước của ít nhất một đích không thể tới được trong RERR mới
được tạo. Trong trường hợp có duy nhất một nút lân cận mà cần nhận RERR,
RERR nên được truyền unicast theo hướng nút lân cận đó. Nếu không RERR
được gửi quảng bá các địa chỉ nội vùng ( IP đích là 255.255.255.255 và TTL =1)

24
với các đích không thể đến được, và chỉ số thứ tự đích tương ứng của các đích
đó, được chứa trong gói tin. Trường DestCount của gói RER xác định số lượng
các đích không tới được đã bao gồm tron gói tin.
Ngay trước khi truyền RERR, những cập nhật đã chắc chắn được tạo trên bảng
định tuyến mà có thể ảnh hưởng tới chỉ số thứ tự cho các đích không thể đến
được. Đối với mỗi một đích này, các mục bảng định tuyến tương ứng được cập
nhật như sau:
 Chỉ số thứ tự đích của mục định tuyến này, nếu hiện tại nó là hợp lệ,
được tăng trong các trường hợp (i) và (ii) ở trên, và được sao chép từ RERR đến
trong trường hợp (iii) ở trên.
 Mục được cho là không hợp lệ bởi sự đánh dấu của mục tuyến khi không
hợp lệ.
 Trường Lifetime được cập nhật bằng thời gian hiện tại cộng với thời gian
DELETE_PERIOD. Trước thời gian này, mục không nên được xóa.
Trường Lifetime trong bảng định tuyến đóng hai vai trò: đối với một
tuyến hoạt động nó là thời gian hết hạn, và đối với một tuyến không hợp lệ nó là
thời gian xóa. Nếu một gói dữ liệu được nhận một tuyến không hợp lệ, trường
Lifetime được cập nhật bằng thời gian hiện tại cộng với thời gian
DELETE_PERIOD.

2.2.7 Quản lý kết nối nội vùng


Các nút có thể học thông tin từ nút lân cận của chúng bằng một hoặc
nhiều cách khác nhau. Bất cứ khi nào một nút nhận được quảng bá từ một nút lân
cận, nó cập nhật thông tin kết nối nội bộ để đảm bảo đang liên kết với nút lân
cận này. Khi một nút chưa gửi gói tin nào cho các nút lân cận trong khoảng thời
gian Hello, nó quảng bá tới các nút lân cận một bản tin Hello, một bản tin RREP
đặc biệt chứa nhận dạng và số thứ tự của nó. Số thứ tự của nút không được thay
đổi khi truyền dẫn bản tin Hello. Bản tin Hello này không được quảng bá ra
ngoài vùng lân cận do giá trị thời gian sống Time-To-Live (TTL) là 1. Các nút
lân cận nhận gói tin này sẽ cập nhật thông tin kết nối nội bộ chứa trong gói tin.
Nhận một quảng bá hoặc một bản tin Hello từ một nút lân cận mới hoặc mất liên

25
tục các gói tin Hello từ một nút lân cận trước đó trong vùng lân cận được ngầm
hiểu là kết nối nội bộ đã bị thay đổi. Nếu các bản tin Hello không được nhận từ
nút kế tiếp dọc theo tuyến đường hiệu dụng, các nút lân cận hoạt động sẽ dựa
vào nút kế tiếp đó để gửi thông báo lỗi kết nối. Số lần mất Hello cho phép lý
tưởng là hai. Quản lý kết nối nội bộ với các bản tin Hello có thể được sử dụng để
đảm bảo chỉ các nút có kết nối song hướng mới được xem là lân cận của nhau.
Với mục đích này, mỗi Hello được gửi bởi một nút liệt kê danh sách các nút mà
nó nghe được. Mỗi nút kiểm tra để đảm bảo nó chỉ sử dụng các tuyến đường đến
các nút lân cận mà nó nghe được qua bản tin Hello.

2.2.8 Sửa chữa nội vùng


Khi đứt liên kết xẩy ra các nút trong mạng sẽ cố gắng sửa chữa nội bộ liên
kết nếu đường tới đích không dài hơn số bước nhảy đã được chỉ rõ. Để sửa liên
kết các nút tăng số thứ tự đích và quảng bá bản tin RREQ tới các nút khác. TTL
cho tiêu đề IP phải được tính sao cho quá trình sửa nội vùng không trải rộng ra
mạng. Trường TTL của RREQ nên được thiết lập ban đầu bằng giá trị như sau:
TTL = max (MIN_REPAIR_TTL, 0.5 x #hops) + LOCAL_ADD_TTL. Với
#hops là số lượng các chặng tới nút khởi đầu của gói tin không phân phát được
hiện tại. Như vậy, sửa chữa nội vùng cố gắng sẽ thường xuyên ẩn tới nút khởi
đầu và sẽ luôn có TTL >= MIN_REPAIR_TTL + LOCAL_ADD_TTL. Nút khởi
đầu sửa chữa sau đó đợi trong khoảng thời gian khám phá để nhận các RREP hồi
đáp tới RREQ. Trong suốt thời gian sửa chữa nội vùng, các gói dữ liêuk nên
được nhớ đệm. Nếu, tại thời điểm cuối cùng của một thời gian khám phá, nút sửa
chữa không nhận được một RREP cho đích đó, nó sẽ gửi một bản tin RERR đối
với đích đó.
Mặt khác, nếu nút nhận một hay nhiều RREP trong suốt thời gian khám
phá, đầu tiên nó sẽ so sánh giá trị hop count của tuyến mới với giá trị trong
trường hop count của mục bảng định tuyến không hợp lệ cho đích đó. Nếu giá trị
hop count của tuyến được xác định mới nhất tới đích lơn hơn hop count của
tuyến được biết trước đó, nút nên phát ra một bản tin RERR cho đích với bit N
được thiết lập. Sau nó đõ cập nhận mục bảng định tuyến cho đích đó.

26
Một nút nhận bản tin RERR với cờ N được thiết lập không được xóa bỏ
tuyến tới đích đó. Chỉ nên thực hiện hành động truyền lại gói tin, nếu RERR
được nhận từ chặng tiếp theo dọc tuyến đó, và nếu có một hoặc nhiều các nút
chặng trước cho tuyến đó tới đích. Khi nút khởi đầu nhận một RERR với cờ N
được thiết lập, nếu bản tin này đến từ chặng tiếp theo của nó dọc them tuyến của
nó tới đích thì nút khởi đầu nên chọn khởi đầu lại khám phá tuyến.
Sửa chữa nội cùng của các liên kết gãy trong các tuyến đôi khi cho kết
quả là tăng độ dài tuyến tới các đích đó. Sự sửa chữa liên kết nội vùng có khả
năng tăng số lượng các gói dữ liệu mà có thể được phân phát tới các đích, vì các
gói sẽ không bị hủy bỏ khi RERR di chuyển tới nút khởi đầu. Việc gửi một
RERR tới nút khởi đầu sau khi sửa chữa nội vùng liên kết gãy có thể cho phép
nút khởi đầu tìm được một tuyến mới tới đích mà tốt hơn dựa trên vị trí nút hiện
tại. Tuy nhiên, nó không yêu cầu nút khởi đầu xây dựng lại tuyến.
Khi một liên kết gãy dọc một tuyến hoạt động, thường xuyên có nhiều đích
mà trở nên không tới được. Nút mà là luồng lên của liên kết bị mất lập tức thử
một sửa chữa nội vùng cho chỉ một đích theo hường mà gói dữ liệu được di
chuyển. Các tuyến khác sử dụng cùng liên kết phải được đánh dấu là không hợp
lệ, nhưng nút điều khiển sửa chữa nội vùng phải báo hiệu mỗi tuyến mất mới
nhất khi sửa chữa nội vùng; cờ sửa chữa nội vùng này trong bảng định tuyến
phải được đặt lại khi tuyến hết hạn. Trước khi thời gian hết hạn xảy ra, các tuyến
khác này sẽ được sửa chữa khi cần thiết khi các gói đến các đích khác. Do đó,
các tuyến này được sửa chữa khi cần; nếu một gói dữ liệu không đến tuyến nào,
thì tuyến đó sẽ không được sửa chữa. Ngoài ra, tùy thuộc vào sự tắc nghẽn nội
vùng, nút có thể bắt đầu xử lý thiết lập các sửa chữa nội vùng cho các tuyến
khác, mà không đợi gói tin mới đến. Bằng việc sửa chữa tiên phong các tuyến
mà đã gãy do mất liên kết, các gói dữ liệu đến cho các tuyến đó sẽ phải chịu sự
trì hoãn sửa chữa tuyến và có thể ngay lập tức được chuyển tiếp.
Tuy nhiên việc sửa chữa tuyến đường trước khi một gói dữ liệu được
nhận có thể gặp phải rủi ro về việc các đường sửa chữa không còn tồn tại nữa. Vì
vậy tùy thuộc vào lưu lượng nội vùng trong mạng và sự tắc nghẽn đang được trải

27
qua, nút có thể quyết định sửa chữa tiên phong các tuyến hay không trước khi
một gói dữ liệu được nhận; nếu không, nó có thể đợi cho đến khi một gói dữ liệu
được nhận, và sau đó bắt đầu sửa chữa tuyến.

2.3 Clusterhead Gateway Routing Switch (CGSR)

2.3.1 Tổng quan về giao thức CGSR


Clusterhead Gateway Routing Switch (CGSR) là một giao thức khác từ các
giao thức trước đó trong các loại địa chỉ và mạng lưới làm việc. Thay thế một tầng
mạng, CGSR là một nhóm các bước nhảy của mạng di động không dây với chương
trình cài đặt định tuyến dựa trên thuật toán Heuristic [4]. Một nhóm tác giả cho rằng
bằng việc có một cluster head kiểm soát một nhóm của nút Ad-hoc, một khung cho sự
tách mã, truy cập tần số, tuyến đường và phân bố băng thông có thể đạt được. Môt
cluster head chọn một giải thuật cho nút như cluster head sử dụng thuật toán phân phối
bên trong cluster. Hạn chế của việc có một cluster head là thay đổi cluster head thường
xuyên có thể ảnh hưởng đến giao thức đinh tuyến từ nút đang bận trong cluster head
được chọn hơn là gói chuyển tiếp. CGSR sử dụng một a Least Cluster Change (LCC).
Một sự thay đổi clusterhead chỉ xảy ra khi hai clusterheads đi vào một nhóm hay một
trong các nút di chuyển ra khỏi phạm vi của tất cả các clusterheads.

2.3.2 Kiến trúc của giao thức CGSR

Hình 2-2: CGSR: Định tuyến từ node 1 đến node 12.


CGSR sử dụng DSDV như hệ thống định tuyến bên dưới và từ đây có
nhiều DSDV giống như ban đầu. Tuy nhiên, nó thay đổi DSDV bằng cách sử

28
dụng một cluster head có sự sắp xếp đến định tuyến gateway từ nguồn đến đích.
Nút Gateway là những nút mà bên trong phạm vi truyền của hai hay nhiều
cluster heads. Nếu có một nút để định tuyến một gói tin, nó tìm thấy các
clusterhead gần nhất dọc theo tuyến đường đến đích theo bảng thành viên nhóm
và bảng định tuyến này. Sau đó, nó sẽ tham khảo bảng định tuyến của nó để tìm
bước kế tiếp để tiếp cận các clusterhead chọn ở trên và truyền các gói dữ liệu đến
nút đó. Hình 2 là một ví dụ về định tuyến này.
Tất cả các nút trong phạm vi giao tiếp của các clusterhead thuộc nhóm
của nó. Một nút đó là trong phạm vi giao tiếp của hai hay nhiều clusterheads
được gọi là gateway. Sử dụng phương pháp này, mỗi nút phải giữ một “ nhóm
cluster heads ” , ở đâu đó sẽ lưu trữ đích đến của các cluster heads cho mỗi nút
mạng khác nhau. Bảng thành viên cluster này được phát sóng theo định kì bởi
mỗi nút sử dụng giải thuật DSDV. Những nút này sẽ cập nhật các mục trong
bảng thành viên cluster heads của chúng trên một bảng mới từ một láng giềng.
Nếu có một nút để định tuyến một gói tin, nó tìm thấy các clusterhead gần
nhất dọc theo tuyến đường đến đích theo bảng thành viên nhóm và bảng định
tuyến này. Sau đó, nó sẽ tham khảo bảng định tuyến của nó để tìm bước kế tiếp
để tiếp cận các clusterhead chọn ở trên và truyền các gói dữ liệu đến nút đó.
Vì vậy, nguyên tắc định tuyến trông như sau:
1. Tra cứu của clusterhead của nút đích
2. Tra cứu của hop kế tiếp
3. Gói gửi đến đích
4. Điểm đến clusterhead cung cấp gói
Trước tiên, nguồn có để truyền các gói dữ liệu để clusterhead của nó. Sau đó,
clusterhead này sẽ gửi gói sang nút cổng kết nối này clusterhead và clusterhead
kế tiếp dọc theo tuyến đường đến đích đến. Gateway sẽ gửi gói đến clusterhead
tiếp theo. Điều này sẽ đi vào cho đến khi clusterhead đích là đạt. Các clusterhead
đích sau đó truyền tải các gói dữ liệu đến nút đích.

29
2.4 Giao thức OLSR (Optimized Link State Routing)

2.4.1 Khái quát giao thức OLSR


Như đã được giới thiệu, OLSR là một giao thức định tuyến khởi tạo theo
chu kỳ được tối ưu các mạng tùy biến. Giao thức này thừa kế tính ổn định của
thuật toán trạng thái liên kết và luôn sẵn sàng các tuyến đường khi cần thiết. Với
mục đích giảm thiểu chi phí cho công việc tràn lụt lưu lượng điều khiển OLSR
chỉ sử dụng các nút MPR được chọn để truyền dẫn các bản tin này. Kỹ thuật này
làm giảm đáng kể số lượng yêu cầu truyền lại để tràn lụt một bản tin tới tất cả
các nút trong mạng. OLSR chỉ sử dụng một phần thông tin trạng thái liên kết
được tràn lụt để lựa chọn tuyến đường ngắn nhất. Có một yêu cầu cho tất cả
MPR là phải thông báo các liên kết tới các nút đã lựa chọn chúng. Ngoài ra
thông tin cấu hình mạng có thể được sử dụng cho mục đích dự phòng.
OLSR có thể tối ưu các phản ứng khi cấu hình mạng thay đổi bằng cách giảm
thời gian giữa hai lần truyền bản tin điều khiển. Hơn thế nữa, nó luôn duy trì các
tuyến đến tất cả các đích trong mạng. Vì thế OLSR rất phù hợp cho truyền thông
giữa các tập hợp nhiều nút mạng với nhau hoặc cho các cặp nguồn - đích thay
đổi theo thời gian. Giao thức này đặc biệt phù hợp với các mạng lớn và giày đặc.
Các lợi thế này được mang lại nhờ sử dụng kỹ thuật chuyển tiếp đa điểm cũng
như các lợi thế của định tuyến khởi tạo theo chu kỳ.
OLSR được thiết kế để làm việc trong các mạng phân tán và không phụ thuộc
vào bất kỳ một thực thể trung tâm nào. Giao thức này không yêu cầu truyền dẫn
tin cậy cho các bản tin điều khiển. Mỗi nút gửi các bản tin điều khiển theo chu
kỳ và có thể duy trì một tỉ lệ mất gói hợp lý. Hiện tượng mất gói này xẩy ra
thường xuyên trong mạng vô tuyến do xung đột hoặc các vấn đề về truyền dẫn.
OLSR không yêu cầu chuyển tiếp tuần tự các bản tin. Mỗi bản tin điều khiển
chứa một số thứ tự và được đặt tăng dần cho mỗi bản tin. Vì vậy bên nhận sẽ dễ
dàng xác định được bản tin nào mới hơn thậm chí đối với các bản tin đã được
sắp xếp lại trong quá trình truyền dẫn. Hơn thế OLSR còn có các hỗ trợ hổ xung
như hoạt động trong chế độ ngủ và định tuyến đa phương (multicast). Các hỗ trợ
xung này hoàn toàn tương thích với các phiên bản khác nhau của giao thức.

30
OLSR không yêu cầu bất kỳ thay đổi nào về khuôn dạng của gói tin IP vì thế nó
hoàn toàn phù hợp với chồng giao thức IP hiện tại.

2.4.2 Chuyển tiếp đa điểm


Ý tưởng của những chuyển tiếp đa điểm sẽ tối thiểu hóa thủ tục bổ sung
của việc bao phủ những thông tin trong mạng bằng việc giảm sự truyền lại không
cần thiết trong cùng miền. Mỗi một nút mạng lựa chọn một tập hợp những nút
trong 1-hop láng giềng đối xứng, cái có thể truyền lại thông tin của nó. Bộ những
nút làng giềng được chọn được gọi là bộ MPR của nút đó. Những nút láng giềng
của nút N không có trong bộ MPR nhận và xử lý những thông tin phát sóng
nhưng không truyền lại những thông tin được nhận từ nút N.
Mỗi nút lựa chọn bộ MPR của nó từ trong số những 1-hop láng giềng đối
xứng của nó. Bộ này được lựa chọn như nó bao gồm (kì hạn của trạm phát sóng )
tất cả các nút 2-hop đối xứng . Bộ MPR của nút N được kí hiệu như MPR{N},
sau đó một tập hợp tùy ý của 1-hop lân cận đối xứng của N đã thỏa mãn điều
kiện tiếp theo: mỗi nút trong 2-hop lân cận đối xứng của N phải có một liên kết
đối xứng hướng về MPR{N}. Một bộ MPR nhỏ hơn, kết quả thông tin bổ sung ít
lưu lượng điều kiện từ giao thức định tuyến. [2] một ví dụ và phân tích thuật toán
lựa chọn MPR.
Mỗi một nút duy trì thông tin về tập hợp những nút láng giềng đã lựa
chọn nó như MPR. Bộ này được gọi là chuyển tiếp đa điểm của một nút. Một nút
chứa những thông tin này từ những thông tin HELLO định kì nhận được từ các
nút láng giềng.
Thông tin phát sóng có mục đích truyền vào toàn bộ mạng, nó đến từ bất
kỳ bộ chọn MPR của nút N được truyền lại bởi nút N nếu N vẫn chưa nhận
được. Bộ cài đặt có thể thay đổi theo thời gian ( ví dụ như khi một nút lựa chọn
một bộ cài đặt MPR khác) và được chỉ ra bởi những nút được lựa chọn trong bản
tin HELLO của chúng.
OLSR được phát triển cho mạng AD-HOC. Nó hoạt động như một bảng
điều khiển, loại giao thức proactive đó là trao đổi thông tin poto với các nút khác
của mạng theo quy tắc. Mỗi một nút sẽ lựa chọn những nút láng giềng của nó

31
như “ chuyển tiếp đa điểm ” ( MPR ). Trong OLSR chỉ những nút được chọn
như MPR sẽ chịu trách nhiệm cho việc tăng cường kiểm soát lưu thông, dùng
cho việc khuyếch tán vào toàn bộ mạng. MPR cung cấp một chơ chế hiệu quả
cho việc kiểm soát lưu thông bằng việc giảm số lượng cần truyền.
Những nút được chọn như MPR cũng có trách nhiệm đặc biệt khi khai
báo thông tin trạng thái liên kết trong mạng. Như vậy, chỉ một yêu cầu cho
OLSR cung cấp những đường truyền nhắn nhất tới tất cả các điểm đích là những
nút MPR do khai báo thông tin trạng thái liên kết cho bộ chọn MPR của chúng.
Thêm vào đó thông tin trạng thái liên kết có sẵn có thể được dùng cho trạng thái
dư thừa.
Những nút được chọn như MPR bởi vài nút láng giềng sẽ thông báo thông
tin này theo chu kỳ trong thông tin điều khiển của chúng. Vì vậy một nút thông
báo đến mạng thì đó là nó có thể đến với những nút đã lựa chọn nó như một
MPR. Theo sự hoạch định đường truyền, những MPR được sử dụng để tạo lên
đường truyền từ một nút đã định tới bất kỳ điểm đích nào trong mạng. Hơn nữa,
giao thức sử dụng MPR để làm tăng hiệu quả của thông tin điều khiển trong
mạng.
Một nút được lựa chọn những MPR từ một trong số các nút láng giềng
của nó với "symetric" như hai chiều, sự liên kết. Do đó, việc lựa chọn đường
truyền thông qua MPR tự động tránh những vấn đề kết hợp với gói dữ liệu dịch
chuyển qua sự liên kết một chiều ( như vấn đề của việc không thừa nhận lớp liên
kết cho những gí dữ liệu tại mỗi hop, với những tầng liên kết áp dụng công nghệ
này cho lưu lượng unicast.
OLSR được phát triển để làm việc độc lập từ những giao thưc khác. Cũng
như vậy, OLSR không tạo ra những giả thiết vầ tầng liên kết cơ bản. OLSR thừa
hưởng khái niệm của việc vận chuyển và việc chuyển tiếp từ HIPERLAN ( một
giao thức tầng MAC ) được tiêu chuẩn hóa bởi ETSI [3]. Giao thức được phát
triển trong dự án IPANEMA ( một phần của chương trình Euclid ) và trong dự
án PRIMA ( một phần của chương trình RNRT ).

32
2.4.3 Nguyên tắc trao đổi bản tin
Trong các giao thức định tuyến trạng thái đường liên kết, các nút truyền danh
sách quảng bá đường định tuyến cho các nút lân cận trực tiếp với nó. Các bản tin
quảng bá này được gọi là quảng bá trạng thái liên kết (LSA), nó được broadcast
trên toàn mạng. Khi các mạng Ad-Hoc bị giới hạn bởi băng thông đường truyền.
OLSR kết hợp một khái niệm gửi tràn lụt các bản tin định tuyến qua mạng dựa
trên nguyên tắc chuyển tiếp đa điểm (MPRs).
Mục đích của MPR là tối ưu hóa trong việc gửi tràn lụt các bản tin cập nhật trạng
thái. Mỗi nút sẽ nhận các bản tin tràn lụt từ tất cả các hướng (từ bất cứ nút nào
nằm trong giải truyền dẫn). Hình 2.6 mô tả một nút A khởi tạo và gửi tràn lụt các
gói tin qua mạng.

Hình 2.3: Các gói tin định tuyến tràn lụt trong mạng
Cơ chế gửi tràn lụt không mấy hiệu quả do các nút khác nhau có thể nhận
cùng một bản tin ở các thời gian khác nhau. Trong OLSR, một cơ chế nhiều hiệu
quả hơn được sử dụng cho quá trình truyền dẫn thông tin định tuyến đó là mỗi
nút chỉ có nhiệm vụ truyền thông tin trạng thái liên kết LSA của nó cho một số
các nút lân cận đối xứng một bước (one-hop) của nó. Các nút đặc biệt này được
chọn sao cho các bản tin quảng bá trạng thái đường liên kết LSA sẽ tới được tất
cả các nút lân cận hai bước (two-hop) của nó. Các nút này được chọn để chuyển
tiếp các bản tin quảng bá trạng thái đường liên kết được gọi là MPRs. Hình 2.7
mô tả quá trình một nút A truyền một bản tin cập nhật định tuyến, nó sẽ
broadcast bản tin này. Tất cả các nút trong giải truyền phát đều nhận và xử lý
bản tin này nhưng chỉ có các nút là MPRs của A mới tiếp tục gửi bản tin này.

33
Với cơ chế này OLSR có thể giảm được băng thông tiêu tốn cho việc quảng bá
trạng thái đường liên kết.
Trong OLSR, mỗi nút truyền các bản tin ‘Hello’ theo chu kỳ trên các giao
diện của nút với mục đích duy trì liên kết với các nút lân cận trực tiếp (one-hop)
của nó. Các bản tin ‘Hello’chỉ broadcast tới các nút lân cận một bước (one-hop)
với nội dung chứa tên của nút khởi tạo, của các nút lân cận một bước đã được
chọn từ trước. Các nút khởi tạo có thể chọn các MPRs cho nó. Một nút lắng nghe
bản tin ‘hello’ và kiểm tra xem bản tin nào được phát ra từ một nút lân cận mới
hay không, nếu có nút sẽ cập nhật vào danh sách nút lân cận một bước của nó.
Đồng thời sẽ kiểm tra xem nó có được nút lân cận đó chọn làm MPR hay không.
Nếu được chọn nó tiếp tục gửi tràn lụt thông tin cập nhật định tuyến và chỉ các
nút lân cận là MRP của nó mới tiếp tục chuyển tiếp thông tin cập nhật định tuyến
này. Các nút đều có thể tìm ra được các nút lân cận hai bước (two-hop) của nó
thông qua danh sách các nút lân cận một bước trong các bản tin ‘Hello’ mà nó
nhận được từ các nút lân cận một bước (one-hop). Mỗi nút chọn các MRPs dựa
trên khu vực lân cận nút lân cận hai bước do đó đường tới các nút lân cận hai
bước có thể đi qua các MPR.

Hình 2.4: Trao đổi thông tin trong OLSR


Cập nhật trạng thái đường liên kết được truyền qua mạng thông qua một bản
tin được gọi là bản tin điều khiển topo mạng (TC-topology control message).
Các bản tin TC được tràn lụt qua mạng và tất cả các nút đều có thể tính toán lại
bảng định tuyến của nó thông qua thông tin chứa trong bản tin này. Quá trình
tràn lụt được thực hiện bởi các MRPs được mô tả như trong hình 2.7. OLSR

34
không yêu cầu một nút phải quảng bá cho tất cả các nút lân cận của nó mà chỉ
cho các nút được chọn làm MPR của nó.
OLSR cũng bao gồm hai loại bản tin: Các bản tin liên kết host và mạng
được các tuyên bố đa giao diện (MID-multiple interface declaration) chỉ được
dùng bởi các nút có nhiều giao diện sử dụng OLSR, do đó các nút khác có thể
liên kết với các giao diện khác nhau trên cùng một nút.

2.4.4 Khả năng áp dụng


OLSR là một giao thức định tuyến tiên phong cho mạng AD-HOCs[1][2].
Nó khá phù hợp với những mạng di động lớn và dày đặc cũng như sự tối ưu hóa
đã hoàn thành việc dùng MPR làm việc ăn ý trong hình thưc này. Với mạng lớn
và dày đặc hơn hì sự tối ưu hóa hơn có thể được hoàn thành cũng như so sánh
được với thuật toán trạng thái liên kết điển hình. OLSR dùng định tuyến hop-by-
hop, ví dụ như mỗi nút sử dụng thông tin của nó tới các gói định tuyến.
OLSR khá phù hợp với mạng mà lưu lượng là ngẫu nhiên và bất đinh giữa
một tập hợp những nút lớn hơn và gần như trở thành duy nhất giữa một tập hợp
những nút đặc biệt. Cũng như một giao thức tiên phong, OLSR cũng phù hợp
cho những kịch bản nối những cáp truyền thông thay đổi qua thời gian: thêm vào
đó, lưu lượng không điều khiển được tạo thành trong hoàn cảnh này từ khi
những định tuyến được sửa chữa cho tất cả những điểm đich tại cùng một thời
điểm.

2.5 Giao thức định tuyến không dây ( WRP )

The Wireless Routing Protocol ( WRP ) thuộc lớp thuật toán tìm đường
dẫn. Để tránh bài toán phải tính đến vô cùng phải cưỡng bức mỗi nút thực hiện
định tuyến liên tục kiểm tra thông tin trước đó được tất cả các nút lân cận báo
cáo về. Điều này loại bỏ việc lặp lại không xác định và cho độ hội tụ tuyến
nhanh hơn khi xảy ra sự cố trên đường thông .
Trong WRP, các nút cần biết về sự tồn tại của các nút lân cận từ một số
bản tin đặc biệt. Nếu một nút không phải đang gởi gói, nó phải gửi một bản tin
HELLO trong một khoảng thời gian xác định để đảm bảo thông tin kết nối được

35
phản ánh một cách chính xác. Ngược lại, việc thiếu thiếu các bản tin từ nút có
thể xác định sự cố đường thông vô tuyến và gây nên cảnh báo sai. Khi một nút
thu được bản tin HELLO từ một nút mới, thông tin nút mới đó được thêm vào
bảng định tuyến của nó, và nó sẽ gởi đến nút mới một bản sao thông tin bảng
định tuyến của nó.
WRP phải duy trì 4 bảng, đó là: Bảng cự ly, Bảng định tuyến, Bảng chi
phí đường truyền, và Bảng ghi danh sách phát lại bản tin (MRL). Bảng ghi cự ly
cho biết số chặng giữa một nút và nút đích của nó. Bảng ghi định tuyến cho biết
nút ở chặng kế tiếp. Bảng ghi chi phí đường thông phản ánh độ trễ theo từng
đường thông cụ thể. MRL chứa số thứ tự của bản tin cập nhật, bộ đếm số bản tin
truyền lại, việc nhận biết vector cờ cần thiết, và danh sách thông tin cập nhật
được gởi trong bản tin cập nhật. Các bản tin MRL cập nhật bản tin cần được phát
lại và các nút lân cận phải biết về điều này.
Để đảm bảo rằng thông tin định tuyến chính xác, các nút phải gởi bản tin
cập nhật định kỳ đến các nút lân cận của nó. Bản tin cập nhật chứa thông tin cập
nhật (danh sách nút đích, khoảng cách đến đích, các nút trước nút đích) cũng như
danh sách các đáp ứng mà nút xác định được phải nhận biết để cập nhật. Một nút
gửi các bản tin cập nhật sau khi xử lý thông tin cập nhật từ các nút lân cận hay
khi phát hiện có sự thay đổi đường truyền. Khi sự cố đường thông xảy ra, các nút
phát hiện sự cố sẽ gởi các bản tin cập nhật đến các nút lân cận của chúng, và các
nút này sẽ hiệu chỉnh các thực thể trong Bảng ghi cự ly, đồng thời kiểm tra các
đường dẫn mới khả thi thông qua các nút khác.

2.6 Định tuyến nguồn động (DSR)


Giao thức DSR (Dynamic Source Routing) là một giao thức định tuyến
theo yêu cầu từ nút nguồn. Trong đó, các nút di động cần duy trì bộ nhớ đệm về
tuyến chứa các tuyến nguồn mà nút di động nhận biết được. Các thực thể trong
bộ nhớ đệm tuyến được cập nhật liên tục.

36
Hình 2-5: Định tuyến nguồn động DSR

Giao thức này bao gồm 2 giai đoạn chính: a) Khám phá tuyến, b) Duy trì
tuyến (Hình 3). Khi một nút di động gởi một gói đến một nút đích nào đó, trước
hết nó phải tham vấn bộ nhớ đệm tuyến để xác định là nó đã có một tuyến để đến
đích chưa. Nếu nó có một tuyến chưa hết hiệu lực để đến đích, nó sẽ sử dụng
tuyến này để gởi gói đi. Trái lại, nếu không có một tuyến như thế, nó phải khởi
đầu một quá trình khám phá tuyến bằng cách phát quảng bá một gói yêu cầu
tuyến. Bản tin yêu cầu này chứa địa chỉ đích, cùng với địa chỉ nút nguồn và số
nhận dạng duy nhất. Mỗi nút nhận được gói này sẽ tiến hành kiểm tra là nó có
biết một tuyến nào để đến đích không. Nếu không, nó thêm địa chỉ của nó vào
Bảng ghi định tuyến của gói và sau đó chuyển tiếp gói trên các đường truyền ngõ
ra. Để giới hạn số yêu cầu tuyến phát trên các đường truyền ngõ ra của nút, một
nút chỉ chuyển tiếp yêu cầu tuyến nếu nó chưa biết yêu cầu đó và nếu địa chỉ của
nút di động chưa xuất hiện trong Bảng ghi tuyến. Một đáp ứng tuyến được tạo ra
khi hoặc là yêu cầu tuyến đạt đến đích hoặc là khi nó đạt đến một nút trung gian
chứa trong bộ nhớ đệm tuyến của nó một tuyến đến đích chưa hết hiệu lực. Đến
lúc gói có thể đạt đến đích hay đến một nút trung gian như thế, nó chứa một
Bảng ghi tuyến cho biết số tuần tự chặng đã trải qua.

37
Nếu nút tạo ra đáp ứng tuyến là đích thì nó đặt Bảng ghi tuyến chứa trong
yêu cầu tuyến vào đáp ứng tuyến. Nếu nút tương ứng là một nút trung gian, nó
gắn thêm tuyến trong bộ nhớ đệm của nó vào Bảng ghi tuyến và sau đó tạo ra
một đáp ứng tuyến. Để trả về đáp ứng tuyến, nút tương ứng phải có một tuyến để
khởi đầu. Nếu nó có một tuyến để khởi đầu trong bộ nhớ đệm tuyến của nó, nó
có thể sử dụng tuyến đó. Trái lại, nếu các đường truyền đối xứng được hỗ trợ,
nút có thể khởi đầu một quá trình khám phá tuyến của nó và tiếp tục gởi đi đáp
ứng tuyến trên một yêu cầu tuyến mới.
Việc duy trì tuyến được hoàn thành thông qua sử dụng các gói lỗi tuyến
và các bản tin xác nhận. Các gói lỗi tuyến được tạo ra ở một nút khi lớp liên kết
dữ liệu gặp sự cố đường truyền. Nút nguồn luôn luôn bị dừng khi một tuyến bị
cắt xén. Khi nhận được một gói lỗi tuyến, chặng bị lỗi sẽ bị loại bỏ khỏi bộ nhớ
đệm tuyến của nút và tất cả các tuyến chứa chặng này đều bị cắt ở điểm đó.
Ngoài các bản tin lỗi tuyến, các bản tin xác nhận được sử dụng để xác minh sự
hoạt động chính xác của các đường thông tuyến. Các bản tin xác nhận như thế
bao gồm cả xác nhận thụ động (khi nút di động có thể nghe việc chuyển tiếp gói
ở chặng kế tiếp trên tuyến).

2.7 Giao thức định tuyến tuần tự tạm thời TORA


TORA là giao thức định tuyến được phát triển cho các mạng vô tuyến di
động đa bước, nó sử dụng khuôn dạng gói tin IP trong một hệ thống tự trị.
TORA không hoàn toàn là một loại giao thức định tuyến vector khoảng cách mà
cũng không phải là một giao thức trạng thái đường liên kết mà nod là một bộ các
thuật toán theo kiểu thuật toán “đảo ngược liên kết - link-reveral”. Phản ứng của
giao thức được thực hiện như một thứ tự sắp xếp tạm thời các tính toán quá trình
lan truyền. Mỗi tính toán bao gồm thứ tự của các đảo ngược liên kết trực tiếp.
Giao thức này có khả năng tương thích cao và ổn định với các mạng di động lớn
và mật độ cao. Trong các mạng này, phản ứng của giao thức đối với lỗi liên kết
chỉ liên quan đến một “thông qua đơn - single pass” nội bộ của thuật toán phân
tán. Thực thi mong muốn có thể đạt được thông qua việc sử dụng một đồng hồ
logic hoặc vật lý để thiết lập “thứ tự tạm thời” của sự kiện thay đổi cấu hình
mạng. Hoạt động của TORA phù hợp trong các điều kiện này nhờ các đặc điểm
sau:

38
 Thực thi phân tán.

 Mục đích cung cấp các đường truyền không lặp.

 Cung cấp nhiều đường truyền nhằm mục đích giảm tần số phản ứng các
thay đổi mạng hoặc khả năng nghẽn và xung đột.

 Thiết lập đường truyền nhanh chóng.

 Giảm thiểu chi phí định tuyến bằng cách sử dụng thuật toán định vị khi
đối với các trường hợp thay đổi cấu hình trong điều kiện có thể. Việc này
có thể tiết kiệm băng thông và tăng độ ổn định của giao thức .
Đối với TORA, xác định đường đi ngắn nhất là không quan trong và nó
cũng không cần thiết phai duy trì các tuyến đường giữa mọi cặp nguồn đích tại
tất cả các thời điểm (giống như OLSR). Chi phí phát sinh để thiết lập một tuyến
giữa một cặp nguồn - đích sẽ là lẵng phí nếu nguồn không yêu. TORA được thiết
kể để giảm thiểu phản ứng đối với các thay đổi của cấu hình mạng. Các bản tin
điều khiển được trao đổi trong một bộ rất nhỏ gần nhau và mang tính nội bộ mà
không tập trung đến một chức năng cụ thể nào. TORA bao gồm cơ chế thứ hai
cho phép lan truyền các bản tin điều khiển có tác động sâu rộng trong một số ít
trường hợp nhằm tối ưu hóa tuyến đường và xác nhận các trạng thái mềm. Lan
truyền này diễn ra theo chu kỳ với tỷ lệ rất ít phụ thuộc vào độ linh động của cấu
hình mạng.
TORA chỉ yêu cầu các nút duy trì thông tin về các nút lân cận một bước.
Nó đảm bảo tất cả các tuyến là không lặp và cung cấp khả năng duy trì nhiều
tuyến đường giữa các cặp nguồn - đích bất kỳ có yêu cầu liên kết cho truyền
thông của chúng. TORA là một giao thức kiểu khởi tạo nguồn và nhanh chóng
thiết lập được các tuyến đường khi có yêu cầu. Khi có thay đổi cấu hình mạng
giao thức nhanh chóng thiết lập lại các tuyến đường. Khả năng khởi tạo và phản
ứng với thay đổi trong mạng là không thường xuyên nhằm giảm chi phí định
tuyến của giao thức. Khi giao thức phát hiện có sự cố trong một phần mạng nó sẽ
xóa tất cả các tuyến đường lỗi.

39
2.7.1 Chức năng giao thức
TORA được thiết kế để làm việc dựa trên các cơ chế hoạt động của lớp
thấp hơn đó là các giao thức cung cấp một số thông tin cơ bản giữa các router lân
cận sau đây:

 Cơ chế cảm nhận trạng thái liên kết và tìm kiếm nút lân cận.
 Khả năng tin cậy, chuyển tiếp các gói tin điều khiển theo yêu cầu.
 Cơ chế ánh xạ và phân giải địa chỉ lớp mạng và lớp liên kết dữ liệu.
 Nhận thực bảo mật.
TORA gán hướng cho các liên kết giữ các router nhằm thực hiện cấu trúc
định tuyến được sử dụng để chuyển tiếp các gói dữ liệu tới đích. Một router gán
một hướng “luồng lên hoặc luồng xuống” cho liên kết với mỗi router lân cận dựa
trên các giá trị của một thông số liên kết với mỗi router. Thông số này được duy
trì bởi một router có thể nhận biết thông qua “độ cao” của router (ví dụ các liên
kết được hướng từ router cao hơn đến router thấp hơn). Ý nghĩa của “độ cao” và
gán hướng liên kết là các router chỉ có thể chuyển tiếp các gói dữ liệu theo
đường xuống (downstream). Nếu liên kết từ giữa hai router lân cận nhau không
được định nghĩa “độ cao” và gán hướng liên kết thì xem như không thể dùng để
chuyển tiếp thông tin. “Độ cao” của các router và gán hướng liên kết thực hiện
một kiến trúc định tuyến đa đường và không lặp trong đó tất cả các đường từ
nguồn tới đích được truyền theo đường xuống. Hình 2.5 miêu tả tương quan độ
cao giữa các router trong mạng. Ta thấy rằng, C gần với đích hơn B khi nhưng
thông số độ cao của C lại lơn hơn so với B. Nhìn vào hình ta có tương quan “độ
cao” giữa các router như sau: HC > HB > HE > HDEST; HD > HA > HB > HE >
HDEST.

40
Hình 2.6: Tương quan “độ cao” của các router trong mạng
TORA có thể chia thành bốn chức năng chính bao gồm: tạo đường, duy
trì đường, xóa đường và tối ưu đường. Tạo đường tương ứng với việc lựa chọn
các độ cao để xác định hướng tuần tự của các liên kết tới đích trong mạng hoặc
một phần mạng chưa được định hướng trước đó. Duy trì đường liên quan đến
việc thích ứng cơ chế định tuyến khi cấu hình mạng thay đổi. Ví dụ, do lỗi một
số liên kết đường xuống hay một vài hướng liên kết tạm thời không còn dẫn tới
đích được nữa. Sự kiện này khởi tạo một quá trình đảo ngược liên kết có hướng
(do phải lựa chọn lại “độ cao” của các router) thực hiện định hướng lại kiến trúc
định tuyến để tất cả các đường liên kết có hướng lại có thể dẫn tới đích. Trong
trường hợp mạng bị phân chia, các liên kết bị cắt đứt sẽ phải gán mác vô hướng
để thực hiện xóa các tuyến lỗi. Trong quá trình xóa dường này, các router thiết
lập “độ cao” của chúng tới “không” và các liên kết kế cận sẽ trở thành vô hướng.
Ngoài ra TORA cũng có cơ chế để tối ưu các tuyến đường trong đó các router sẽ
chọn lại “độ cao” của chúng theo thứ tự để cải thiện kiến trúc định tuyến. TORA
đạt được bố chức nhăng này thông qua sử dụng bốn gói tin điều khiển khác nhau
bao gồm: truy vấn (QRY), cập nhật (UPD), xóa (CLR) và tối ưu hóa (OPT).

2.7.2 Tạo đường trong TORA


Việc tạo các tuyến đường tới đích có thể được thực hiện theo yêu cầu
hoặc theo chu kỳ. Trong mọi trường hợp, các router lựa chọn độ cao và gán
hướng cho các liên kết giữa các router lân cận.
Trong chế độ thực hiện theo yêu cầu, việc tạo đường đạt được thông qua
một cơ chế truy vấn - phản hồi sử dụng các gói tin QRY và UPD. Một nguồn

41
khời tạo quá trình bằng việc gửi một gói QRY tới các lân cận của nó định nghĩa
đích cho tuyến đường được yêu cầu. Gói tin QRY được lan truyền (được xử lý
và chuyển tiếp bởi các router lân cận) cho tới khi nó được nhận bởi một hoặc
nhiều router có tuyến đường tới đích. Khi gói tin QRY đã được chuyển đi, các
router sẽ xóa tất cả các gói tin QRY được nhận sau đó có cùng đích. Các router
có đường tới đích phản hồi QRY bằng cách gửi gói tin UPD tới các router lân
cận định nghĩa đích liên quan và “độ cao” của router đã gửi gói tin UPD. Các
router duy trì thời điểm gói tin UPD được gửi gần nhất và thời điểm đường liên
kết tới các router lân cận đi vào hoạt động để giảm các phản hồi thừa cho một
yêu cầu đường. Khi một router nhận được gói tin UPD nó thiết lập “độ cao” của
nó và gửi một gói UPD tới các lân cận của nó định nghĩa đích liên quan và “độ
cao” mới của nó. Từ đó, các router trong mạng lựa chọn “độ cao” cho đích được
yêu cầu. Việc học “độ cao” của các router lân cận cho đích yêu cầu và gán các
hướng cho liên kết dựa trên các độ cao này.
Trong chế độ thực hiện theo chu kỳ, router nguồn khởi tạo quá trình tạo
đường bằng cách gửi một gói tin OPT sẽ được xử lý và chuyển tiếp bởi các bởi
các router lân cận. Gói tin OPT định nghĩa đích đến, chế độ hoạt đọng cho đích
và “độ cao” của router gửi gói tin OPT. Gói tin này cũng chứa số thứ tự được sử
dụng để xác định tính duy nhất của gói tin và đảm bảo rằng mỗi router xử lý và
chuyển tiếp gói tin OPT cho một nguồn nhiều nhất một lần. Khi gói tin OPT
được chuyển đi, router thiết lập chế độ hoạt động tương ứng, chọn lại “độ cao”
của nó và gửi một gói OPT tới các lân cận định nghĩa đích liên quan và “độ cao”
mới của router đã gửi gói tin.

Tổng kết chương II


Chương này đề cập một cách tổng quát nhất đến vấn đề định tuyến trong
mạng Ad-Hoc,sự phân loại các giao thức định tuyến trong mạng Ad-Hoc và giới
thiệu một số giao thức định tuyến Proactive trong mạng Ad-Hoc .

42
CHƯƠNG III: GIỚI THIỆU PHẦN MỀM NS2 VÀ ỨNG DỤNG XÂY
DỰNG CÁC KỊCH BẢN MÔ PHỎNG GIAO THỨC MẠNG
Chương này đề cập đến các vấn đề |
+ Tổng quan về phần mềm NS
+ Kiến trúc chung của NS
+ Lập trình trên phần mềm NS để mô phỏng một số giao thức định
tuyến .

3.1 Tổng quan


Ngày nay cùng với xu hướng phát triển chung mạng không dây đã và
đang được ứng dụng rộng rãi trong cuộc sống bởi những lợi ích mà nó mang lại
như đã được trình bày trong chương I.Số lượng các thiết bị dùng cho mạng
không dây sẽ sớm vượt qua số lượng các thiết bị dành cho mạng có dây, điều này
cũng đồng nghĩa với việc sự nghiên cứu về mạng không dây cũng có sự tăng
trưởng tương tự. Thông thường nghiên cứu mạng không dây bao gồm kiểm tra
sự thực thi và sự nghiên cứu mô phỏng. Vấn đề mô phỏng mạng là một vấn đề
rất thiết thực đã và đang được sự quan tâm và đầu tư thích đáng của các nhà
cung cấp dịch vụ và thiết bị mạng bởi những lợi ích to lớn mà nó đem lại.Đã có
rất nhiều phần mềm mô phỏng hoạt động mạng và các thiết bị mạng ra đời nhằm
phục vụ cho việc mô phỏng đánh giá và nghiên cứu mạng. Phần mềm mô phỏng
mạng là một công cụ quan trọng để phát triển ,kiểm tra và đánh giá các giao thức
mạng. Sự mô phỏng có thể được sử dụng mà không dùng tới các thiết bị phần
cứng ,điều này đem lại hiệu quả tiết kiệm mà vẫn thực hiện được đối với hầu hết
các kích cỡ của topo mạng và các thiết đặt của chúng. Nó có thể mô phỏng một
kết nối với bất kì băng thông và độ trễ nào thậm chí ngay cả với một kết nối
không thể tồn tại trong thế giới thực. Với phần mềm mô phỏng mạng có thể thiết
đặt mỗi nút được mô phỏng để sử dụng bất kì phần mềm mong muốn nào. Điều
này có nghĩa là sự triển khai phần mềm không còn là một vấn đề. Các kết quả
thu được cũng dễ dàng hơn cho việc phân tích bởi sự có được thông tin chính
xác từ các điểm quan trọng của mạng được mô phỏng đơn giản bởi sự phân tích
các file trace được tạo ra.

43
Hình 3.1 cho ta một cái nhìn tổng quan về các phần mềm đang được sử
dụng hiện nay trong vấn đề mô phỏng và nghiên cứu các mạng

Hình 3.1.Các phần mềm mô phỏng mạng hiện nay

Hình 3.1 Kết quả mô phỏng thông thường từ những khảo sát mô phỏng
dựa trên tài liệu của hội nghị quốc tế ACM về Mobile ad-hoc networking and
computing (Mobihoc) từ năm 2000 đến 2004.
Trong chương này sẽ đi sâu nghiên cứu về phần mềm NS-2
Network Simulator -2(NS-2) là một môi trường mô phỏng mạnh và phổ
biến.Số lượng người dùng NS-2 đang tăng lên mạnh mẽ trong những năm gần
đây. Mặc dù ban đầu NS-2 được thiết kế là dùng để mô phỏng hoạt động cho các
mạng có dây ,song giờ đây NS-2 đã được mở rộng để dùng cho cả các mạng
không dây bao gồm WLAN ,Mobile ad-hoc networking (AD-HOCs),các mạng
cảm biến và cả mạng vệ tinh

3.2 Đại cương về NS


3.2.1 Các chức năng của NS

– Đối với mạng có dây :


+ Định tuyến: Vector khoảng cách (DV),trạng thái liên kết
(LS),multicast.
+ Các giao thức chuyển vận :TCP,UDP,RTP và SCTP
+ Các nguồn lưu lượng :Web,FTP,TELNET,CBR,STOCHASTIC
+ Các qui tắc hàng đợi :Drop-tail,RED,FQ,SFQ,DRR
+ Chất lượng dịch vụ QoS :IntServ và Differv

44
+ So sánh trạng thái

– Đối với mạng không dây:


+ Định tuyến cho mạng ad-hoc (AODV,DSDV) và IP di động
+ Truyền theo hướng trực tiếp ,cảm biến MAC

– Hình ảnh và các tiện ích minh họa khác

3.2.2 Các thành phần của NS


Các thành phần của NS bao gồm :
– NS phần mềm mô phỏng
– NAM :Netwok animator minh họa cho các kết quả đầu ra của NS ,giao
diện GUI để tạo kịch bản cho NS
– Tiền xử lý :Khởi tạo topo mạng và lưu lượng
– Quá trình xử lý :Phân tích file trace với các công cụ của UNIX hoặc
GNU/LINUX như AWK,Perl,Tcl,minh họa bằng hình ảnh với Xgraph
Các thành phần chính của NS-2 :
+ Tcl/TK8.x(thường là 8.3.5) :Có thể tham khảo tại địa chỉ
http://resource.tcl.tk/resource/sofware/tcltk/
+ OTcl và Tclcl :Có thể tham khảo tại địa chỉ http://otcl-
tclcl.sourceforge.net
+ NS-2 và NAM-1 Có thể tham khảo tại http://www.isi.edu/nsnam/dist
+ Các tiện ích khác xem tại http://www.isi.edu/nsnam/ns/ns-build.html
+ Tcl-debug,GT-ITM,Xgraph v.v….

3.2.3 Kiến trúc của NS


NS là một phần mềm hướng đối tượng sử dụng hai ngôn ngữ C++ và OTcl.Phần
dữ liệu và phần điều khiển được tách biệt
+ C++ cho phần dữ liệu :Xử lý mỗi gói tin ,thực thi nhanh chóng ,chi tiết
hóa ,bổ sung đầy đủ cho việc điều khiển ,các thuật toán đối với bộ dữ liệu lớn
+ OTcl cho phần điều khiển :
-Mô phỏng các cấu hình cho kịch bản
-Thực thi nhanh chóng ,dễ dàng cấu hình lại

45
-Thao tác với các đối tượng C++ hiện tại
-Viết mã nhanh chóng và thay đổi dễ dàng

Hình 3.2 Đơn giản hoá cách nhìn của người sử dụng
NS không những được viết bởi OTcl mà còn được viết bởi C++. Vì lý do
hiệu quả NS phân ra sự thực thi đường dẫn dữ liệu từ những sự thực thi đường
dẫn điều khiển. Để giảm bớt thời gian xử lý gói và sự kiện (không phải là thời
gian mô phỏng )lịch biểu sự kiện và các đối tượng thành phần cơ bản của mạng
trong phần dữ liệu được viết và biên dịch sử dụng C++.Những đối tượng đã
được biên dịch này được làm sẵn cho trình biên dịch OTcl qua một lien kết OTcl
để tạo ra một đối tượng OTcl thích hợp với mỗi đối tượng C++ và thực hiện các
chức năng điều khiển ,các biến cấu hình được cung cấp bởi đối tượng C++ hoạt
động như các hàm thành viên và các biến thành viên của đối tượng OTcl tương
ứng.

Hình 3.3 Tính đối ngẫu của C++ và OTcl


Hình 3.3 cho thấy một ví dụ phân cấp đối tượng trong C++ và OTcl. Một
điều cần lưu ý trong hình là các đối tượng C++ cho phép một sự kết nối OTcl

46
hình thành một sự phân cấp. Sự phân cấp đối tượng OTcl rất giống với sự phân
cấp đối tượng C++
Hình 3.3 cho thấy kiến trúc chung của NS

Hình 3.4 Kiến trúc chung của NS


Trong hình này một người dung chung (không phải là người phát triển
NS) có thể đứng ở góc đáy trái thiết kế và thực thi những sự mô phỏng trong Tcl
sử dụng các đối tượng mô phỏng trong thư viện OTcl. Các lịch biểu sự kiện và
hầu hết các thành phần của mạng được thực hiện trong C++ và đưa đến OTcl qua
một lien kết OTcl được thực hiện bởi sự sử dụng Tclcl. Toàn bộ những cái tạo
nên NS là trình biên dịch Tcl hướng đối tượng mở rộng và các thư viện mô
phỏng mạng.
Các thành phần của mạng
Như đã nói nhiều đến trong phần trên. Mục này sẽ trình bày về các thành phần
của NS ,hầu hết là các thành phần cấu thành mạng .

Hình 3.5 Sự phân cấp lớp đối tượng OTcl

47
Hình 3.5 cho thấy một sự phân cấp lớp OTcl bộ phận của NS điều này sẽ
giúp cho ta hiểu rõ các thành phần của mạng. Gốc của sự phân cấp là lớp
TclObject là lớp gốc của tất cả các đối tượng thư viện OTcl (lịch biểu,các thành
phần mạng,bộ định giờ và các đối tượng khác bao gồm cả NAM).Tương tự như
lớp gốc OTcl NsObject là lớp gốc của tất cả các đối tượng thành phần mạng cơ
bản điều khiển các gói tin mà có thể tạo ra các đối tượng cấu thành mạng cơ bản
như là các nút và các liên kết. Các thành phần mạng cơ bản lại được chia ra
thành hai lớp con gồm có Connector và Classifier dựa vào số đường dẫn dữ liệu
đầu ra. Các đối tượng cơ bản cơ bản của mạng có thể có duy nhất một đường dẫn
dữ liệu đầu ra đối với lớp Connector ,các đối tượng chuyển đổi có thể có nhiều
đường dẫn dữ liẹu đầu ra đối với lớp Classifier
+ Nút và sự định tuyến :
Một nút là một đối tượng hỗn hợp bao gồm toàn bộ đối tượng nút và các
đối tượng phân loại như trong hình 3.6

Hình 3.6 Nút (Unicast và Multicast)


Có hai loại nút trong NS. Một là nút Unicast có một bộ phân loại địa chỉ
thực hiện việc định tuyến Unicast và một bộ phân loại cổng. Một nut Multicast
bổ sung thêm một bộ phân loại để phân loại các gói tin Multicast từ các gói tin
Unicast và bộ phân loại Multicast để thực hiện định tuyến Multicast. Trong NS
các nút Unicast là các nút được mặc định. Để tạo ra các nút Multicast người
dung phải khai báo rõ rang trong kịch bản OTcl đầu vào ngay sau khi tạo ra một
đối tượng lịch biểu. Khi đó tất cả các nút sẽ được tạo ra là các nút Multicast. Sau

48
khi chỉ rõ kiểu nút người dùng cũng có thể lựa chọn một giao thức định tuyến
đặc biệt khác hơn là sử dụng một giao thức định tuyến mặc định
+ Liên kết
Một liên kết là một đối tượng cấu thành chính khác trong NS. Khi một
người dung tạo ra một liên kết sử dụng một hàm thành viên duplex-link của đối
tượng mô phỏng. Hai liên kết Simplex theo cả hai hướng được tạo ra :

Hình 3.7 Liên kết


Một điều cần lưu ý là một hàng đợi đầu ra của một nút được thực hiện
thực sự như một phần của đối tượng liên kết duplex-link. Các gói tin được lấy ra
từ một hang đợi được đưa tới đối tượng Delay đóng vai trò độ trễ của mối liên
kết ,các gói tin bị thả tại hang đợi được gửi tới đối tượng NullAgent và được giải
phóng ở đó. Cuối cùng đối tượng TTL tính toán các thông số time to live cho
mỗi gói tin nhận được và cập nhật trường TTL của gói tin
- Tracing:
Trong NS các hoạt động của mạng được mô tả xung quanh các liên kết
Simplex. Nếu sự mô phỏng được định hướng mô tả các hoạt động của mạng (Sử
dụng $ns trace-allfile hoặc $ns namtrace –allfile )Các liên kết được tạo ra sau
dòng lệnh này sẽ được chèn các đối tượng trace như trong hình 3.8

Hình 3.8 Chèn các đối tượng Trace

49
Người dùng cũng có thể tạo ra một đối tượng trace đặc biệt giữa nút
nguồn và nút đích khi sử dụng câu lệnh creat-trace(type file src dst).
Khi mỗi đối tượng trace được chèn (Ví dụ EnqT,DeqT,DrpT,và
RecvT)nhận một gói tin nó ghi vào một file trace đặc biệt mà không tiêu thụ bất
kì thời gian mô phỏng nào và gửi gói tin đó đến đối tượng mạng kế tiếp
- Queue monitor (giám sát hàng đợi)
Về cơ bản các đối tượng tracing được tạo ra để ghi lại thời gian chuyển
đến của gói tin tại nơi mà chúng đã được định vị. Mặc dù một người dung có đủ
thông tin từ trace ,anh ta có thể quan tâm đến những gì đang diễn ra bên trong
một hang đợi đầu ra đặc biệt. Ví dụ một người dung quan tâm đến hành vi của
hàng đợi RED có thể muốn đo kích thước động trung bình của hàng đợi và kích
thước hiện thời của hang đợi RED(cần thiết cho sự giám sát hang đợi ).Việc
giám sát hang đợi có thể đạt được nhờ sử dụng các đối tượng monitor queue và
các đối tượng snoop queue như trong hình 3.9

Hình 3.9 Giám sát hàng đợi


Khi một gói tin được chuyển đến một đối tượng snoop queue thong báo
cho đối tượng queue monitor sử dụng thong tin này để theo dõi hang đợi. Lưu ý
rằng đối tượng snoop queue có thể được sử dụng song song với các đối tượng
tracing mặc dù nó không được chỉ ra trong hình 3.9

3.3 Sử dụng phần mềm NS-2 để mô phỏng mạng

3.3.1 Cơ bản về Tcl


Để sử dụng được kịch bản Tcl tại dấu nhắc của dòng lệnh ta gõ “tclsh”.
Để thoát khỏi chế độ soạn thảo Tcl ta gõ “exit”
+ Khai báo biến

50
+ Để khai báo các biến trong Tcl ta sử dụng câu lệnh set vừa để khai báo
vừa để gán giá trị cho các biến
Ví dụ :set x 10 điều này có nghĩa là khai báo biến x với giá trị khởi tạo x=10
Kí tự “$”được sử dụng để chứa giá trị của biến
Ví dụ :set x2 $x1 có nghĩa là lấy giá trị của x1 gán cho x2
Lưu ý rằng ta không sử dụng $ khi biến được gán một giá trị cụ thể
+ Biểu thức toán học

Set value [expr $x1 +($x2*3)]

Ví dụ set c [expr $a +$b]


Trong ví dụ trên từ khoá expr thông báo răng sau nó sẽ là một biểu thức
toán học (cụ thể ở đây là phép cộng của hai giá trị của các biến a và b ) chỉ ra
rằng tất cả các phép toán chứa trong nó sẽ được tính toán trước .
Như vậy ví dụ trên có nghĩa là khai báo một biến c với giá trị khởi tạo
c=a+b.
In chuỗi ra màn hình
Puts “ chuỗi cần in ra ”
Ví dụ :puts “thuc thi kich ban tcl don gian”
.Các cấu trúc điều khiển :
If {điều kiện} then {………}
for {set i 0} {$i <10}{incr i}{…………..}
Khai báo thủ tục
Proc tên thủ tục {arg1 arg2…}{}
Làm việc với file
+ Mở một file để ghi
Set f1 [open “try” “w”]
+ Ghi dữ liệu lên file và đóng file
Puts $f1 “ghi mot cau len file”
Close $f1
+ Đọc dữ liệu từ file
Set f1 [open “try” ”r”]

51
Set l1 [gets $f1]
Puts “doc tai dong : $l1”

3.3.2 Cơ bản về OTcl


Để làm việc với OTcl tại dấu nhắc của shell ta gõ lênh “OTclsh” và để
thoát ra ta gõ lệnh “exit”.
Khởi tạo một lớp
Class ten_lop
Class ten_lop superclass ten_lop_dan _xuat
Định nghĩa các thủ tục instance

Ten_lop instproc ten_thu_tuc {args}{….}


Định nghĩa các biến instance
$self instvar ten_bien
Khởi tạo một instance
Set new_inst [new ten_lop]
Lưu ý :-$self tương đương với biến this trong C++.Nó nhắc đến instance
hiện tại trong phạm vi hàm đang thực thi,nghĩa là nó nhắc đến chính nó
- instvar được sử dụng để khai báo một biến thành viên và cũng theo một
cách tương tự instproc được dung để khai báo một hàm thành viên. Cú pháp của
một thủ tục cũng tương tự như trong Tcl ngoại trừ tên lớp phải khai báo trước và
từ khoá “proc” được thay thế bởi “instproc”.
- Lưu ý rằng biến trong NS được gán “[Simulator instance]”
“Simulator” là tên lớp “instance ” là một hàm tĩnh trong lớp trả về instance của
lớp Simulator.
- Cú pháp để truy nhập hàm thành viên là $obj member-func parameters
Ta có thể thấy điều này khi hàm duplex-link được gọi để tạo liên kết giữa các
nút.
Bây giờ khi đã có những khái niệm cơ bản về Tcl và OTcl. Trước khi bắt
tay vào nghiên cứu NS-2 hoạt động ra sao hãy xem một chương trình nhỏ vơi
Tcl.
Tcl có hai chế độ làm việc đó là interative mode và batch mode .

52
+ Chương trình “Hello World ” trong chế độ Interative mode .
Dinh_lam >ns
% set ns [new Simulator]
%$ns at 1 “puts\”Hello World !\””
%$ns at 1.5 “exit”
%$ns run
Kết quả Hello World !
+ Chương trình “Hello World ” trong chế độ batch mode.
Simple.tcl
Set ns [new Simulator]
$ns at 1 “puts\”Hello World !\””
$ns at 1.5 “exit”
$ns run
Dinh_lam > ns Simple.tcl
Kết quả Hello World !

3.3.3 Các bước cơ bản của một kịch bản mô phỏng NS-2
Một kịch bản mô phỏng của NS-2 thông thường bao gồm các bước sau :

+ Khởi tạo lịch biểu sự kiện


+ Bật chế độ tracing nếu cần
+ Khởi tạo topo mạng
+ Thiết đặt các giao thức định tuyến
+ Khởi tạo các tác nhân vận chuyển
+ Khởi tạo các lưu lượng source/sink
+ Chèn các thông báo lỗi nếu cần
Khởi tạo lịch biểu sự kiện
Cú pháp :Set ns [new Simulator]
-Lịch biểu các sự kiện :$ns at <time><event>
-Bắt đầu lịch biểu :$ns run
Mở một file cho trace data
Set nf [open out.nam w]
$ns namtrace-all $nf

53
hoặc $ns namtrace-all-wireless $nf
-Bật tracing trên các liên kết đặc biệt
$ns namtrace-queue $n0 $n1
-Thủ tục để đóng file và bắt đầu phần mềm NAM
Proc finish{}{
Global ns nf
$ns flush-trace
Close $nf
Exec nam out.nam &
Exit 0
}
Khởi tạo topo mạng
+ Nút :set n0 [$ns node]
Set n1 [$ns node]
+ Các liên kết và hàng đợi
$ns duplex-link $n0 $n1 <băng thông><độ trễ><kiểu hàng đợi>
Kiểu hang đợi có thể :DropTail,RED,CBQ,FQ,SFQ,DRR
+ Khởi tạo một tác nhân UDP và gắn nó với nút n0
Set udp [new agent/udp]
$ns attach-agent $n0 $udp
+ Khởi tạo một nguồn lưu lượng CBR và gắn nó với udp0
Set cbr [new application/traffic/cbr]
$cbr attach-agent $udp
+ Khởi tạo một tác nhân rỗng để làm suy giảm lưu lượng
Set null [new agent/null]
$ns attach-agent $n2 $null
+ Kết nối chúng
$ns connect $udp $null
+ Thực thi lịch biểu sự kiện
$ns at 0.5 “$cbr start”
$ns at 3.5 “$cbr stop ”

54
+ Khởi tạo một tác nhân TCP và gắn nó với nút n0
Set tcp [new agent/tcp]
$ns attach-agent $n0 $tcp
+ Khởi tạo một nguồn lưu lượng FTP và gắn nó với tcp0
Set ftp [new application/traffic/ftp]
$ftp attach-agent $tcp
+ Khởi tạo một TCPSink để làm suy giảm lưu lượng
Set sink [new agent/tcpsink]
$ns attach-agent $n2 $sink
+ Thực thi lịch biểu sự kiện
$ns at 0.5 “$FTP start”
$ns at 3.5 “$FTP stop ”
Thiết đặt sự định tuyến
+ Unicast :
$ns rtproto <kiểu>
Kiểu :Static,Session,DV,cost ,multi-path
+ Multicast:
$ns multicast (ngay sau khi [new Simulator])
hoặc set ns [new Simulator-multicast on]
$ns mrtproto <kiểu >
Kiểu CtrMcast,DM,ST,BST
Chèn các thông báo lỗi
+ Khởi tạo modul lỗi
Set loss_module [new errrormodel]
$loss_module set rate_0.01
$loss_module unit pkt
$loss_module ranvar[new random variable/uniform]
$loss_module drop-target[new agent/null]
+ Chèn module lỗi
$ns lossmodel $loss_module $n0 $n1

55
3.3.4 Thực hiện mô phỏng mạng không dây trong NS
Trong mục này sẽ trình bày cách để sử dụng mô hình mô phỏng mạng
không dậy di động trong NS. Mục này gồm hai phần, trong phần đầu tiên sẽ
thảo luận xem làm thế nào để tạo ra và mô phỏng mạng không dây đơn giản với
hai nút mạng, trong phần thứ sẽ mở rộng ví dụng trong phần một để tạo ra một
sự mô phỏng mạng không dây phức tạp hơn.
Tạo một kịch bản mô phỏng mạng không dây đơn giản
Phần này mô phỏng một kịch bản mạng không dây rất đơn giản gồm hai nút
mạng. Topo mạng bao gồm hai nút di động node_(0) và node_(1). Các nút di
động này di chuyển trong một phạm vi đã được xác định là 500m x 500m. Ban
đầu các nút bắt đầu tại hai vị trí đối diện nhau ở ngoài cùng của đường biên. tiếp
đó chúng di chuyển hướng về nhau trong nửa đầu tiên của mô phỏng và rồi lại
tiếp tục di chuyển ra xa trong phần thứ hai của sự mô phỏng. Một kết nối TCP
được thiết lập giữa hai nút di động. các gói tin được trao đổi giữa các nút khi
chúng đến trong phạm vi cảm nhận cua một nút khác. Khi chúng di chuyển ra xa
các gói tin sẽ bát đầu bị loại bỏ.
Giống như bất kì sự mô phỏng nào khác của NS trước tiên sẽ bắt đầu bằng
việc tạo ra một kịch bản TCL cho sự mô phỏng mang không dây. File này được
gọi là simple-wereless.tcl.
Một nút di động bao gồm các thành phần của mạng như: Link Layer( LL
tầng kết nối) Interface Queue (giao diện hàng đợi IFQ) ,MAC layer (lớp MAC)
các kênh không dây truyền và nhận tín hiệu… Khi bắt đầu mô phỏng mạng
không dây cần định nghĩa kiểu cho mỗi thành phần của mạng. ngoài ra còn định
nghĩa các thông số khác như kiểu antenna, mô hình truyền sóng radio, kiểu giao
thức định tuyến của mạng AD- HOC được sử dụng bởi các nút di động.. Xem
các chú thích trong đoạn mã đối với những mô tả ngắn gọn của mỗi biến được
định nghĩa.
Mảng được sử dụng để định nghĩa những biến này như val() không phải là
một biến toàn cục khi nó được sử dụng trong các kịch bản được mô tả trước đây.

56
Kịch bản simple- wireless. tcl bắt đầu với một danh sách của những thông
số khác nhau được mô tả dưới đây như sau:
#
=========================================================
=============
# Define options
#
=========================================================
=============
set val(chan) Channel/WirelessChannel ;# channel type
set val(prop) Propagation/TwoRayGround ;# radio-propagation model
set val(ant) Antenna/OmniAntenna ;# Antenna type
set val(ll) LL ;# Link layer type
set val(ifq) Queue/DropTail/PriQueue ;# Interface queue type
set val(ifqlen) 50 ;# max packet in ifq
set val(netif) Phy/WirelessPhy ;# network interface type
set val(mac) Mac/802_11 ;# MAC type
set val(rp) DSDV ;# ad-hoc routing protocol
set val(nn) 2 ;# number of mobilenodes

Tiếp theo đi vào phần chính của chương trình và bắt đầu tạo ra một
trường hợp của sự mô phỏng. : set ns_ [new Simulator]
rồi cài đặt sự hỗ trợ trace bởi việc mở file simple.tr và gọi thủ tục trace-all {}
như sau:
set tracefd [open simple.tr w]
$ns_ trace-all $tracefd
Tiếp đến tạo một đối tượng topology tuân theo đường đi của (sự di
chuyển) các nút di động trong đường biên của topo mạng :
set topo [new Topography]
Như đã đề cập đến trước đây các nút di động chỉ di chuyển trong phạm vi
một topo 500m x 500m. Cần cung cấp cho đối tượng topography với biên của
toạ độ x,y (x=500, y=500):
$topo load_flatgrid 500 500

57
Topography được chia thành từng ô và giá trị mặc định của độ phân giải ô
là 1. Một giá trị khác có thể được sử dụng như một thông số thứ 3 với hàm load-
flatgrid{}. Kế đến tạo đối tượng god như sau:
create-god $val(nn)
Tiếp theo cần tạo ra các nút di động:
Các nút API được tạo ra đã được sửa lại còn ở đây các API mới được sử
dụng để tạo ra các nút di động. Trước tiên cần cấu hình các nút trước khi tạo ra
chúng. Cấu hinh nút API có thể bao gồm định nghĩa kiểu địa chỉ (flat,hierachical
v.v.) kiểu giao thức định tuyến của ad-hoc link layer ,Mac layer , IfQ v.v..Cấu
hình API có thể được định nghĩa như sau :
(parameter examples)
# $ns_ node-config -addressingType flat or hierarchical or expanded
# -adhocRouting DSDV or DSR or TORA
# -llType LL
# -macType Mac/802_11
# -propType "Propagation/TwoRayGround"
# -ifqType "Queue/DropTail/PriQueue"
# -ifqLen 50
# -phyType "Phy/WirelessPhy"
# -antType "Antenna/OmniAntenna"
# -channelType "Channel/WirelessChannel"
# -topoInstance $topo
# -energyModel "EnergyModel"
# -initialEnergy (in Joules)
# -rxPower (in W)
# -txPower (in W)
# -agentTrace ON or OFF
# -routerTrace ON or OFF
# -macTrace ON or OFF
# -movementTrace ON or OFF
Tất cả các giá trị mặc định cho các tuỳ chọn này là NULL ngoại trừ
addressingtype :flat

58
Ở đây sử dụng giá trị mặc định của flat addressing.Ngoài ra hãy chỉ bật
duy nhất AgentTrace và RouterTrace. Có thể thử với tất cả các trace bằng cách
bật tất cả chúng lên. Tất cả các AgentTrace được đánh dấu với AGT,RouterTrace
với RTR , MacTrace với MAC trong trường thứ 5 của chúng. MovementTrace
khi được bật lên cho thấy các hoạt động của nút di động và trace được đánh dấu
với M trong trường thứ hai của chúng. Sự cấu hình API cho các nút di động như
sau :
# Configure nodes
$ns_ node-config -adhocRouting $val(rp) \
-llType $val(ll) \
-macType $val(mac) \
-ifqType $val(ifq) \
-ifqLen $val(ifqlen) \
-antType $val(ant) \
-propType $val(prop) \
-phyType $val(netif) \
-topoInstance $topo \
-channelType $val(chan) \
-agentTrace ON \
-routerTrace ON \
-macTrace OFF \
-movementTrace OFF
Tiếp theo tạo ra hai nút di động như sau :
for {set i 0} {$i < $val(nn) } {incr i} {
set node_($i) [$ns_ node ]
$node_($i) random-motion 0 ;# disable random motion
}
Ở đây sự di động ngẫu nhiên của các nút đã được vô hiệu hoá vì chúng
cần cung cấp vị trí nút và hoạt động (tốc độ và hướng ) trong các chỉ thị tiếp
theo.Bây giờ các nút di động đã được tạo ra, cần cung cấp cho chúng một vị trí
để bắt đầu
# Provide initial (X,Y, for now Z=0) co-ordinates for node_(0) and
node_(1)

59
$node_(0) set X_ 5.0
$node_(0) set Y_ 2.0
$node_(0) set Z_ 0.0
$node_(1) set X_ 390.0
$node_(1) set Y_ 385.0
$node_(1) set Z_ 0.0
.Node0 có một vị trí bắt đầu (5,2) trong khi node1 bắt đầu bằng vị trí (390,385)
Kế đến đưa ra một số hoạt động của nút
# Node_(1) starts to move towards node_(0)
$ns_ at 50.0 "$node_(1) setdest 25.0 20.0 15.0"
$ns_ at 10.0 "$node_(0) setdest 20.0 18.0 1.0"
# Node_(1) then starts to move away from node_(0)
$ns_ at 100.0 "$node_(1) setdest 390.0 380.0 15.0"
$ns_ at 50.0 "$node_(1) setdest 25.0 20.0 15.0" có nghĩa là tại thời điểm
50.0s node1 bắt đầu di chuyển hướng tới toạ độ (x=25,y=20) với tốc độ
15m/s.API này được sử dụng hướng và tốc độ hoạt động của các nút di động
Tiếp theo thiết lập luồng lưu lượng giữa hai nút như sau :
# TCP connections between node_(0) and node_(1)
set tcp [new Agent/TCP]
$tcp set class_ 2
set sink [new Agent/TCPSink]
$ns_ attach-agent $node_(0) $tcp
$ns_ attach-agent $node_(1) $sink
$ns_ connect $tcp $sink
set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ns_ at 10.0 "$ftp start"
Thiết lập một kết nối TCP giữa hai nút với một TCP nguồn trên node0.
Cần định nghĩa thời gian cho mô phỏng kết thúc và thong tin cho các nút di động
để xác lập lại các thành phần mạng nội bộ của chúng
# Tell nodes when the simulation ends
for {set i 0} {$i < $val(nn) } {incr i} {
$ns_ at 150.0 "$node_($i) reset";
}

60
$ns_ at 150.0001 "stop"
$ns_ at 150.0002 "puts \"NS EXITING...\" ; $ns_ halt"
proc stop {} {
global ns_ tracefd
close $tracefd
}
Tại thời điểm 105.0s sự mô phỏng sẽ dừng.Các nút xác lập lại tại thời
gian đó và “$ns_halt” được gọi tại 150.0002s một chút ngay sau khi xác lập lại
các nút.
Thủ tục stop{}dduwowcj gọi để xoá các trace và xoá các file trace
Và cuối cùng dòng lệnh để bắt đầu mô phỏng
puts "Starting Simulation..."
$ns_ run
Lưu file Simple-wireless.tcl
Tại thời điểm kết thúc sự thực thi mô phỏng file trace-output Simple.tr
được tạo ra.Khi đã bật AgentTrace và RouterTrace hãy quan sát các thông điệp
định tuyến DSDV và các gói tin TCP sẽ được nhận và gửi bởi các đối tượng
Router và Agent trong các node0 và 1. Lưu ý rằng tất cả các trace không dây bắt
đầu với WL trong trường đầu tiên của chúng. Quan sát luồng TCP bắt đầu từ
10.0s tại node0
Bắt đầu cả hai nút đều cách xa nhau và như thế các gói tin TCP bị loại bỏ
bởi node0 bởi vì nó không thể nhận được từ node1. Trong vòng 81.0s thông tin
định tuyến bắt đầu được trao đổi giữa hai nút và trong vòng 100s sẽ quan sát
thấy gói tin TCP đầu tiên sẽ được nhận bởi Agent ở node1 và rồi node1 gửi một
ACK trở lại node0 và kết nối TCP được thiết lập. Dù sao khi node1 bắt đầu di
chuyển ra xa node0 kết nối lại bị bẻ gãy trong khoảng thời gian 116.0s.Các gói
tin bắt đầu bị huỷ khi các nút di chuyển ra xa nhau .

61
CHƯƠNG IV: MÔ PHỎNG VÀ ĐÁNH GIÁ HIỆU NĂNG CÁC
GIAO THỨC ĐỊNH TUYẾN PROACTIVE TRONG AD-HOC

4.1 Một số độ đo đánh giá hiệu năng.

4.1.1 Các độ đo định tính


Để đánh giá chất lượng của một giao thức định tuyến, cần các độ đo cả về
mặt định tính lẫn định lượng để đo độ phù hợp và hiệu năng của các giao thức.
Các độ đo này là độc lập với bất kỳ một giao thức nào.
Danh sách sau là danh sách các độ đo định tính đối với các giao thức định
tuyến của mạng Ad-Hoc:
 Hoạt động phân bố: Đây là một tính chất thiết yếu tuy nhiên nó có thể là
trạng thái.
 Tránh hiện tượng lặp vòng: Không yêu cầu phải định lượng nhưng thường
được đưa ra để tránh khỏi các vấn đề xảy ra trong trường hợp tồi nhất. Ví
dụ như một phần nhỏ của gói tin chạy vòng tròn trong mạng với thời gian
tùy ý. Các giải pháp trong mạng ad hoc chẳng hạn như các giá trị TTL có
thể giới hạn vấn đề này, nhưng việc tiếp cận một cách chuẩn hóa và có
cấu trúc hơn là một việc làm cần thiết để đạt được một hiệu năng tổng thể
của hệ thống tốt hơn.
 Hoạt động trên cơ sở yêu cầu: Thay vì việc giả định một phân bố lưu
lượng đồng bộ trong mạng (và duy trì thông tin định tuyến giữa các nút
mạng ở mọi thời điểm), các thuật toán định tuyến có thể hoạt động để phù
hợp với dạng lưu lượng trong mạng theo nhu cầu hoặc yêu cầu cơ bản.
Nếu điều này được thực hiện một cách thông minh, nguồn tài nguyên
năng lượng và băng thông của mạng sẽ được sử dụng một cách hiệu quả
hơn cùng với việc tăng giá của thời gian trễ khi tìm đường.
 Hoạt động thường xuyên: Đây là hoạt động ngược lại với kiểu hoạt động
trên cơ sở yêu cầu. Trong một vài hoàn cảnh nào đó, thời gian trễ của hoạt
động trên cơ sở yêu cầu có khả năng không thể chấp nhận được. Nếu các

62
nguồn tài nguyên về băng thông và năng lượng cho phép, hoạt động theo
kiểu thường xuyên là phù hợp với các hoàn cảnh này.
 Bảo mật: Một giao thức định tuyến cho mạng Ad-Hoc sẽ là một giao thức
dễ bị tấn công theo một số dạng nào đó nếu không có sự bảo mật ở tầng
mạng hoặc tầng liên kết dữ liệu. Các kiểu tấn công có thể thực hiện một
cách khá đơn giản để đọc trộm dữ liệu trên mạng, truyền lại dữ liệu, sửa
đổi phần header của các gói dữ liệu và định hướng sai lệch các thông điệp
định tuyến. Trong khi những mối quan tâm này tồn tại trong cả các cơ sở
hạ tầng mạng có dây cũng như với các giao thức định tuyến, vấn đề bảo
mật môi trường truyền vật lý trong mạng Ad-Hoc sẽ trở nên khó khăn hơn
rất nhiều so với vấn đề này trong mạng có dây. Các giao thức định tuyến
có đủ sự bảo mật cần thiết để ngăn chặn những thay đổi không hợp lệ là
các giao thức định tuyến được yêu cầu.
 Hoạt động “ngủ” theo chu kỳ: Với mục tiêu bảo tồn năng lượng hoặc cần
thiết phải đưa một nút vào tình trạng không hoạt động, các nút trong một
mạng Ad-Hoc có thể ngừng truyền hoặc ngừng nhận trong các khoảng thời
gian tùy ý. Một giao thức định tuyến phải có khả năng phù hợp với các chu
kỳ “ngủ” của các nút này mà không làm kết quả đảo ngược lại hoàn toàn.
Tính chất này có thể yêu cầu đóng sự kêt nối giữa với giao thức tầng liên
kết dữ liệu qua một giao tiếp đã được chuẩn hóa.
 Khả năng hỗ trợ liên kết một chiều: Khi thiết kế các thuật toán định tuyến,
người ta thường giả sử có các liên kết hai chiều và nhiều thuật toán không
có khả năng hoạt động một cách hoàn hảo qua các liên kết một chiều. Tuy
nhiên, các liên kết một chiều hoàn toàn có thể tồn tại trong mạng không
dây. Thông thường số lượng các liên kết song công đang tồn tại đủ để việc
sử dụng các liên kết một chiều không có ý nghĩa nhiều lắm. Tuy nhiên
trong tình huống một cặp liên kết một chiều (ở hai chiều ngược nhau) chỉ
hình thành một liên kết hai chiều giữa hai vùng của mạng ad hoc thì khả
năng các giao thức định tuyến có thể hoạt động tốt được lại có giá trị rất
lớn.

63
4.1.2 Các độ đo định lượng
Các độ đo định lượng được sử dụng khi đánh giá hiệu năng của một giao
thức định tuyến nào đó bao gồm:
 Thông lượng dữ liệu đầu cuối và độ trễ: Các độ đo thống kê về hiệu năng
định tuyến dữ liệu chẳng hạn như giá trị trung bình, phương sai, khả năng
phân bố là rất quan trọng. Đây là các độ đo tính hiệu quả của một phương
pháp định tuyến. Nói cách khác, các độ đo này sẽ đo xem một giao thức
định tuyến tực hiện công việc của nó tốt đến mức nào.
 Thời gian tìm đường: Đây là một dạng độ đo thời gian trễ đầu cuối được
áp dụng khi đánh giá hiệu năng của các giao thức định tuyến hoạt động
theo yêu cầu. Thời gian tìm đường là thời gian cần thiết để thiết lập một
con đường khi có yêu cầu.
 Phần trăm truyền không theo thứ tự: Một độ đo ngoài khi đánh giá hiệu
năng của các giao thức định tuyến dạng không kết nối liên quan đến toàn
bộ các giao thức ở tầng chuyển vận chẳng hạn như TCP (yêu cầu truyền
theo thứ tự).
 Độ hiệu quả: Nếu tính hiệu quả định tuyến dữ liệu là một độ đo ngoài về
hiệu năng một chính sách định tuyến thì độ hiệu quả là độ đo trong của
tính hiệu quả của các chính sách định tuyến. Để đạt được một cấp độ về
hiệu năng định tuyến dữ liệu cho trước nào đó, hai chính sách định tuyến
khác nhau có thể sử dụng lượng thông tin điều khiển khác nhau phụ thuộc
vào độ hiệu quả trong của chúng. Độ hiệu quả của giao thức có thể hoặc
không có thể ảnh hưởng trực tiếp đến hiệu năng định tuyến dữ liệu. Nếu
việc truyền dữ liệu và thông tin điều khiển phải chia sẻ chung một kênh
truyền và dung lượng của kênh truyền bị giới hạn thì việc đòi hỏi truyền
thông tin điều khiển quá nhiều sẽ làm giảm hiệu năng định tuyến dữ liệu.

Để làm rõ hơn độ hiệu quả trong của một giao thức, có một số
thông số sau được đưa ra:
 Giá trị trung bình của số lượng bit dữ liệu phải truyền chia cho số
lượng bit cần truyền. Đây là một độ đo độ hiệu quả của việc truyền

64
dữ liệu trong mạng. Nói một cách gián tiếp, nó cung cấp số chặng
trung bình mà các gói dữ liệu phải vượt qua.

 Giá trị trung bình của số bit điều khiển phải truyền chia cho số bit
dữ liệu cần truyền. Độ đo này là độ đo tính hiệu quả của giao thức
về khả năng sử dụng dung lượng đường truyền dữ liệu để truyền
các thông tin điều khiển. Thông tin điều khiển ở đây không chỉ là
các bit trong các gói tin điều khiển định tuyến và còn là các bit
trong phần header của các gói tin dữ liệu. Nói cách khác, những gì
không phải là dữ liệu trong các gói tin sẽ là thông tin điều khiển và
nó sẽ được tính là phần điều khiển của một giao thức.

 Giá trị trung bình của số lượng gói tin dữ liệu và gói tin điều khiển
chia được truyền chia cho số lượng gói tin dữ liệu cần truyền. Thay
vì việc đo độ hiệu quả của thuật toán theo dạng tính bằng bit, độ đo
này sẽ đo độ hiệu quả của việc truy nhập kênh truyền của một giao
thức.
Một số tham số sau cần phải quan tâm tới là “ngữ cảnh” của mạng khi ta
thực hiện việc đánh giá hiệu năng của một giao thức:

 Kích thước mạng – được đo bằng số lượng các nút.


 Kết nối mạng – số lượng các nút hàng xóm trung bình quanh mỗi nút.
 Tốc độ thay đổi hình trạng mạng
 Dung lượng của liên kết – tốc độ liên kết có thật được đo bằng số bit/giây
 Phần các liên kết một chiều – liên quan đến tính hiệu quả của một giao
thức thực hiện khi có mặt các liên kết một chiều.
 Dạng truyền – liên quan đến tính hiệu quả của một giao thức trong việc
thích nghi với các dạng thức truyền khác nhau.
 Tính di động – hình trạng mạng biến đổi theo thời gian và không gian đều
ảnh hưởng đến hiệu năng của một giao thức định tuyến nào đó.

65
 Số lượng và tần số xuất hiện các nút không hoạt động - liên quan đến cách
thực hiện của một giao thức khi có một cả các nút đang hoạt động và nút
không hoạt động.
Một giao thức trong mạng Ad-Hoc có thể hoạt động một cách có hiệu quả
qua nhiều hoàn cảnh mạng khác nhau – từ mạng nhỏ, mạng trong phòng thí
nghiệm, nhóm mạng ad hoc đến các mạng di động lớn và nhiều chặng. Các đặc
tính và độ đo đánh giá hiệu năng trong mạng Ad-Hoc đôi khi hơi khác biệt so
với các mạng có dây và đa chặng truyền thống. Môi trường mạng không dây
luôn là một môi trường khan hiếm về băng thông và năng lượng của các nút
mạng.
Tóm lại, việc đưa mạng Ad-Hoc vào thị trường thương mại còn rất nhiều
thách thức và các cơ hội nghiên cứu về mạng Ad-Hoc còn rất nhiều. Một sự thiết
lập khác đi về hiệu năng đưa ra yêu cầu về các giao thức định tuyến mới để điều
khiển mạng. Một câu hỏi có thể nảy sinh là “độ ‘tốt’ của một giao thức có thể
được đo như thể nào”. Các độ đo về hiệu năng của các giao thức định tuyến có
thể giúp ta trả lời được câu hỏi này và chúng rất có ý nghĩa khi so sánh và đánh
giá hiệu năng của các giao thức. Có thể nhận ra rằng một giao thức định tuyến có
khuynh hướng phù hợp với một dạng mạng đặc biệt nào đó nhưng lại không
thích hợp với các dạng mạng khác. Các đặc tính của các giao thức cả về ưu điểm
lẫn sự hạn chế cần phải được chú ý đến để xem chúng có phù hợp với ngữ cảnh
của mạng định áp dụng hay không. Các thuộc tính này của một giao thức thường
có thể tính toán được một cách ‘định tính’, ví dụ như một giao thức có thể hỗ trợ
hay không thể hỗ trợ cơ chế định tuyến theo con đường ngắn nhất. Các mô tả
định lượng cho phép đánh giá định lượng một cách chi tiết hơn về hiệu năng của
các giao thức.

4.2 Đánh giá hiệu năng dựa trên các thông số


Bảng 4-1 đưa ra sự so sánh về hiệu suất của các giao thức AODV, DSR,
TORA, ABR và SSR. Giao thức AODV triển khai một thủ tục tìm đường tương
tự như DSR tuy nhiên giữa hai giao thức này có một số điểm khác biệt. Điều
chú ý nhất ở đây là phần thông tin điều khiển của DSR thường có khả năng lớn

66
hơn phần thông tin điều khiển của AODV bởi vì mỗi một gói tin của DSR phải
phải chứa đầy đủ mọi thông tin định tuyến trong khi đó các gói tin của AODV
chỉ yêu cầu chứa địa chỉ đích. Tương tự như vậy, các thông điệp trả lời đường
của DSR cũng chứa phần thông tin điều khiển lớn hơn của AODV bởi vì mỗi gói
tin trả lời của DSR phải chứa đầy đủ địa chỉ của các nút trong đường đi quay
ngược lại mà nó đi qua trong khi các gói tin của AODV chỉ chứa địa chỉ IP đích
và số thứ tự. Bộ nhớ yêu cầu khi xử lý các thông điệp của DSR là lớn hơn so với
bộ nhớ yêu cầu đối với thông điệp AODV bởi vì DSR yêu cầu phải nhớ toàn bộ
các con đường trong khi AODV chỉ yêu cầu nhớ thông tin về chặng tiếp theo.
Một ưu điểm nữa của AODV là nó hỗ trợ kiểu truyền multicast [18] trong khi rất
ít giao thức đưa ra ở đây hỗ trợ kiểu truyền thông này. Mặt khác, AODV lại yêu
cầu các liên kết đồng bộ giữa các nút và không thể sử dụng các con đường có các
liên kết không đồng bộ. Theo khía cạnh này thì DSR là ưu việt hơn bởi vì nó
không yêu cầu các liên kết đồng bộ.
Các tham số hiệu
AODV DSR TORA ABR SSR
năng
Độ phức tạp về thời gian
O(2d) O(2d) O(2d) O(d+z) O(d+z)
khởi tạo
Độ phức tạp về thời gian
O(2d) O(2d) O(2d) O(l+z) O(l+z)
khi có sự thay đổi
Độ phức tạp truyền thông
O(2N) O(2N) O(2N) O(N+y) O(N+y)
khi khởi tạo
Độ phức tạp truyền thông
O(2N) O(2N) O(2x) O(x+y) O(x+y)
khi lỗi xảy ra

Dạng địa chỉ định tuyến Phẳng Phẳng Phẳng Phẳng Phẳng

Tránh định tuyến lặp Có Có Có Có Có

Khả năng truyền


Có Không Không Không Không
multicast

Thông điệp Hello Không Không Không Có Có

Khả năng đa đường Không Có Có Không Không

Bảng định Bộ nhớ Bảng định Bảng định Bảng định


Nơi lưu trữ đường
tuyến đường tuyến tuyến tuyến
Thời gian timeout khi lưu
Có Không Không Không Không
trữ đường đi

67
Xóa và Xóa và Quảng bá Xóa và
Cấu hình lại đường đi Sửa chữa
thông báo thông báo nội bộ thông báo
Độ liên kết Độ liên kết
Mới nhất và
Độ đo đường Ngắn nhất Ngắn nhất và ngắn và tính bền
ngắn nhất
nhất vững
Ghi chú: d=Đường kính mạng; N=Số nút mạng; l=Bán kính đoạn bị ảnh hưởng; x=Số nút trực tiếp
nhận gói REPLY; y=Bán kính truyền trực tiếp gói REPLY

Bảng 4-1: So sánh hiệu năng các giao thức định tuyến dạng on-demand

Thuật toán DSR là thuật toán thích hợp để ứng dụng vào các mạng có các
nút di chuyển với tốc độ trung bình theo khía cạnh độ trễ khi truyền gói tin [10].
Các giả thiết đưa ra khi thực hiện thuật toán này là đường kính mạng tương đối
nhỏ và các nút mạng có thể hoạt động ở chế độ nhận hỗn hợp, trong đó mọi gói
tin nhận được được truyền tới các driver mạng mà không có cơ chế lọc địa chỉ.
Ưu điểm lớn nhất của DSR là nó tiết kiệm băng thông mạng và năng lượng của
nút mạng bởi vì nó là kiểu giao thức hoạt động theo yêu cầu nghĩa là nó không
truyền các gói tin định tuyến theo chu kỳ quảng bá. Do đó khi không có sự thay
đổi hình trạng mạng, giao thức DSR không phải chịu tải của việc truyền các
thông tin điều khiển. Thêm vào đó, DSR cho phép các nút lưu trữ đồng thời
nhiều con đường đến một đích trong bộ nhớ đường của nó. Do đó, khi một liên
kết trên một con đường bị phá vỡ, một nút nguồn có thể sử dụng ngay một con
đường khác nếu con đường này có trong bộ nhớ đường của nó và nó sẽ không
phải khởi tạo một thủ tục tìm đường. Trong trường hợp này, thời gian tìm đường
sẽ nhanh hơn các giao thức định tuyến dạng on-demand khác. Tuy nhiên, nếu
trong bộ nhớ đường không có con đường nào khác đến đích, DSR phải khởi tạo
lại một thủ tục tìm đường cũng giống như AODV. Mặt khác, vì đường kính
mạng được giả định là nhỏ và vì yêu cầu định tuyến nguồn, DSR là giao thức ít
có khả năng co giãn trong các mạng lớn.
TORA là một giao thức định tuyến rất phù hợp với các mạng lớn có mật độ
các nút lớn [16]. Tính chất mới lạ của TORA bắt nguồn từ việc tạo ra các gói tin
DAG để thành lập đường. Một trong những ưu điểm của TORA là nó hỗ trợ
nhiều đường. TORA và DSR là các giao thức định tuyến theo yêu cầu có duy trì
nhiều con đường đến một nút đích. Việc xây dựng lại một con đường là không

68
cần thiết cho đến khi tất cả mọi con đường đã biết đều đã rơi vào tình trạng
không hợp lệ và do đó có thể tiết kiệm băng thông mạng hơn các giao thức khác
không hỗ trợ vấn đề này. Một ưu điểm khác của TORA là hỗ trợ multicast mặc
dù kiểu multicast của nó khác với AODV.
Giao thức ABR là một giao thức kết hợp giữa giao thức định tuyến kiểu
broadcast và định tuyến kiểu điểm-điểm và nó sử dụng cách tiếp cận chuyển tiếp
gói tin dạng hướng kết nối. Việc chọn đường là một thao tác chính dựa trên sự
kết hợp các nút nằm trên một con đường. Do đó, mặc dù con đường kết quả
không cần thiết phải chứa một số lượng nhỏ nhất các nút nhưng con đường kết
quả của ABR thường có thời gian sống dài hơn con đường kết quả của các giao
thức khác. Một con đường có thời gian sống dài hơn sẽ yêu cầu số lần xây dựng
lại con đường đó ít hơn và do đó thông lượng của mạng có thẻ cao hơn. Một ưu
điểm khác của ABR là nó đảm bảo không có hiện tượng lặp gói dữ liệu bởi vì
chỉ có một con đường tốt nhất được đánh dấu là con đường hợp lệ trong khi mọi
con đường có thể khác vẫn là dạng bị động. Tuy nhiên giao thức ABR lại yêu
cầu mỗi nút phải định kỳ gửi thông tin báo hiệu. Khoảng thời gian giữa hai lần
gửi thông tin báo hiệu định kỳ phải đủ ngắn để đảm bảo độ chính xác theo không
gian, thời gian của hình trạng mạng. Việc gửi thông tin báo hiệu định kỳ này yêu
cầu tăng thêm khả năng về năng lượng và chiếm thêm băng thông của mạng.
Không giống như DSR, giao thức ABR không thực hiện việc lưu trữ đường.
Thuật toán SSR là một thuật toán được phát triển từ thuật toán ABR. Nó
thực hiện một kỹ thuật chọn đường mới trên cơ sở độ mạnh của tín hiệu và tính
ổn định theo khu vực của các nút dọc theo một con đường. Trong ABR, trong
khi các con đường được lựa chọn không cần phải là con đường ngắn nhất tính
theo số chặng nên con đường có độ ổn định và thời gian sống khá cao. Một
nhược điểm chính của SSR là không giống như AODV và DSR, các nút trung
gian không thể trả lời một yêu cầu đường tới một nút nguồn. Thêm vào đó, khi
một liên kết trên một con đường bị phá vỡ, thuật toán tìm đường này phải được
kích hoạt lại từ nút nguồn để tìm ra một con đường mới tới nút đích. Trong SSR,

69
không có cơ chế cho phép các nút trung gian có thể tự xây dựng lại các con
đường của chúng.

4.3 Đánh giá hiệu năng dựa trên kết quả mô phỏng
4.3.1 Mô hình hóa các kịch bản mô phỏng
Hình 4.1 mô tả một trong số các kịch bản mô phỏng, gồm 9 nút di chuyển
với vận tốc 20 m/s.
Tám kịch bản được mô phỏng và thời gian chạy mỗi kịch bản là 900 giây
(simulation time). Các kịch bản mô phỏng được thực hiện lặp lại nhiều lần với
mục đích xác thực độ tin cậy của kết quả. Mỗi loại kịch bản sẽ mô phỏng bốn
giao thức AODV, DSR, TORA, và DSDV. Việc phân loại các kịch bản mô
phỏng nhằm mục đích kiểm tra tác động của tải và tốc độ di chuyển tới kết quả
cuối cùng. Quá trình thu thập các thông số thống kê sự kiện riêng lẻ sẽ cho phép
kiểm tra các thông số đánh giá hiệu năng cần thiết như khả năng truyền, tỉ lệ
chuyển tiếp gói tin và độ tối ưu về đường đi.

Hình 4-1 : Một mô hình kịch bản mô phỏng

70
Các kịch bản được xây dụng trên quy mô mạng trường học trải rộng trên
diện tích 1000m x 500m. Các nút mạng là các đầu cuối vô tuyến và server phân
bố ngẫu nhiên trên vùng địa lý này. Trong các kịch bản, các nút di động sẽ trao
đổi lưu lượng dữ liệu với cùng một server.
Di chuyển của các nút được cấu hình với cùng một mobility config với chế
độ di chuyển ngẫu nhiên nhằm mô tả sự di chuyển giống như trên thực tế. các
nút di chuyển với vận tốc tối đa là 20m/s tùy theo các kịch bản khác nhau. Di
chuyển của các nút được thực hiện dựa trên cơ chế giả ngẫu nhiên. Với cơ chế
này, một nút sẽ chọn cho nó một đích để bám theo, khi đến được đích, nó sẽ tạm
dừng 30 giây hoặc hơn để tính toán trạng thái tương quan và sau đó chọn cho nó
một nút đích ngẫu nhiên khác rồi tiếp tục di chuyển. Cơ chế này được cấu hình
với mục đích so sánh các thông số thống kê trong các khoảng thời gian dừng và
di chuyển trong cùng một kịch bản.

4.3.2 Khảo sát và phân tích kết quả


Trong mục này sẽ thực hiện phân tích các kết quả mô phỏng thu được đồng
thời đánh giá hiệu năng của các giao thức AODV, DSDV, TORA, DSR thông
qua các thông số đầu vào.

– Mạng gồm 9 nút di động.


– Phạm vi trường học, diện tích 1000m x 500m.
– Thời gian mô phỏng 900 giây.
– Thời gian không di chuyển (Pause Time) gồm 7 mức: 0,30,60,120,300,600,
và 900
– Tốc độ di chuyển tối đa là 20 m/s
4.3.2.1 Tỷ lệ chuyển tiếp gói tin
Tỷ lệ chuyển tiếp gói tin (PDR - Packet Delivery Ratio) là tỷ số giữa số gói
tin được phát và số gói tin nhận được trong mạng. Thông số này đánh giá tỷ lệ
mát dữ liệu cũng như độ chính xác và hiệu quả của giao thức định tuyến.
Hình 4-2 biểu diễn tỷ lệ chuyển tiếp gói tin của các giao thức AODV,
DSDV, TORA, DSR tại vận tốc 20m/s.

71
Hình 4-2. Tỷ lệ chuyển tiếp gói tin của các giao thức
Tỷ lệ này khá cao với các giao thức DSR, AODV, TORA ngoại trừ giao
thức DSDV tại thời điểm 300 giây đầu tiên, sau đó tỷ lệ này lại tăng lên khá cao.
Do bản chất, DSDV là một giao thức định tuyến sửa đổi từ thuật toán định tuyến
Bellman-Ford. Nó mất thời gian cho việc tạo và cập nhật bảng định tuyến tại mỗi
nút. Tuy nhiên DSDV là một giao thức không hiệu quả bởi vì nó yêu cầu truyền
các gói tin cập nhật một cách định kỳ mà không cần để ý đến số lần thay đổi
hình trạng mạng. Sau đó tỷ lệ này cao hơn rất nhiều vào các giai đoạn sau đó.
DSR có tỷ lệ chuyển tiếp gói tin cao nhất trong toàn bộ thời gian hoạt động và
khá ổn định, thấp hơn là AODV. Hầu hết các giao thức đều có tỷ lệ không ổn
định tại ba chặng đầu tiên của quá trình. TORA cũng giống như vậy nhưng thấp
hơn và chỉ cao hơn DSDV.
Nhìn chung giao thức DSR và AODV thực thi việc truyền nhận gói tin tốt
hơn hai giao thức còn lại và DSDV hoạt động kém hiệu quả nhất. Tuy nhiên khi
hình trạng mạng khá ổn định thì các giao thức hoạt động tốt hơn.

72
4.3.2.2 Khả năng truyền gói tin
Hình 4-2 biểu diễn khả năng truyền gói tin của các giao thức.

Hình 4-3: Khả năng truyền gói tin của các giao thức.
Có sự khác biệt rõ ràng về khả năng truyền gói tin giữa các giao thức.
Nhận thấy rằng giao thức TORA có khả năng truyền gói tin đạt hiệu quả cao
nhất, tuy có sự suy giảm đáng kể về giao đoạn cuối nhưng vẫn là giao thức đạt
hiệu quả cao. Điều này chứng tỏ TORA hoạt động tốt hơn khi có vận tốc di
chuyển lớn. Đỉnh cao lưu lượng tại thời điểm bắt đầu mô phỏng cho thấy có
nhiều lưu lượng định tuyến được đưa vào mạng tại thời điểm thiết lập ban đầu.
Tiếp sau đó là AODV, giao thức này luôn chứng tở được khả năng truyền tin khá
ổn định trong các môi trường khác nhau. DSDV đạt hiểu quả không cao nhưng
lại khá ổn định. Khả năng truyền gói tin thấp nhất là giao thức DSR, có thể vận
tốc di chuyển cao làm tăng khả năng gãy liên kết dẫn đến DSR phải phản ứng
với tần số cao hơn, tác động của nó thể hiện rõ rệt.

4.3.2.3 Độ tối ưu về đường đi

73
Hình 4-4: Độ tối ưu về đường đi
Dễ dàng nhận thấy tại thời điểm ban đầu, số lượng gói tin gửi đi là rất cao,
sau đó số lượng này giảm dần theo các chặng đường đi. Ổn định nhất là giao
thức AODV, sau đó là TORA. Giao thức định tuyến AODV có thể điều chỉnh
các thay đổi trong thời gian tạm dừng và khởi động tại các vận tốc thấp nhưng
khi di chuyển với vận tốc cao các nút mất thời gian để điều chỉnh và do đó mất
dần sự tối ưu. Đỉnh cao lưu lượng tại thời điểm bắt đầu mô phỏng cho thấy có
nhiều lưu lượng định tuyến được đưa vào mạng tại thời điểm thiết lập ban đầu.
Độ tối ưu của TORA tăng theo số lượng nút trong mạng. Lúc đầu số lượng gói
tin gửi đi của DSR là cao nhất nhưng sau đó thì giảm mạnh, do sự đứt gãy liên
kết nên ảnh hưởng rõ rệt. Vận tốc di chuyển cao làm tăng khả năng gãy liên kết
dẫn đến DSR phải phản ứng với tần số cao hơn; tác động của nó thể hiện rõ rệt
khi các nút bắt đầu dừng và di chuyển trờ lại sau chu kỳ đầu của ổn định tương
đối. DSDV là giao thức mất ổn định nhất, là một giao thức không hiệu quả bởi vì
nó yêu cầu truyền các gói tin cập nhật một cách định kỳ mà không cần để ý đến
số lần thay đổi hình trạng mạng. Điều này giới hạn một cách có hiệu quả số
lượng các nút có thể kết nối vào mạng khi thông tin điều khiển tăng.

74
KẾT LUẬN

Để đánh giá hiệu suất của các giao thức định tuyến cần phải có các tiêu chí
và độ đo đánh giá. Các độ đo đánh giá được chia thành hai nhóm là các độ đo
định tính và các độ đo định lượng.
Đồ án đã đưa ra các tiêu chí để đánh giá hiệu năng của một giao thức trong
mạng Ad-Hoc. Cụ thể là tỷ lệ chuyển tiếp gói tin, khả năng truyền gói tin và độ
tối ưu về đường đi. Trong đó tỷ lệ chuyển tiếp gói tin và khả năng truyền gói tin
tác động trực tiếp đến độ tin cậy của giao thức, còn độ tối ưu về đường đi thể
hiện hiệu năng sử dụng tài nguyên của giao thức. Hoạt động hiệu quả và tin cậy
là điều mong muốn của các giao thức định tuyến trong mạng.
Trong quá trình nghiên cứu ứng dụng TCP (truyền file FTP) đã được sử
dụng với tất cả nguồn tới cùng một đích. Do cơ chế hoạt động của TCP, tỉ lệ
chuyển tiếp gói tin cho tất cả giao thức trong các kịch bản chỉ đạt chưa quá 50%.
Điều này chứng minh TCP không phù hợp với các giao thức định tuyến tùy biến
hiện tại. Sử dụng các lưu lương UDP sẽ cho kết quả tỉ lệ chuyển tiếp gói tin cao
hơn.
Giao thức DSR thích hợp để ứng dụng vào các mạng có các nút di chuyển
với tốc độ trung bình. Các giả thiết đưa ra khi thực hiện thuật toán này là đường
kính mạng tương đối nhỏ và các nút mạng có thể hoạt động ở chế độ nhận hỗn
hợp, trong đó mọi gói tin nhận được được truyền tới các driver mạng mà không
có cơ chế lọc địa chỉ. Ưu điểm lớn nhất của DSR là nó tiết kiệm băng thông
mạng và năng lượng của nút mạng bởi vì nó là kiểu giao thức hoạt động theo yêu
cầu nghĩa là nó không truyền các gói tin định tuyến theo chu kỳ quảng bá. Do đó
khi không có sự thay đổi hình trạng mạng, giao thức DSR không phải chịu tải
của việc truyền các thông tin điều khiển.
TORA là một giao thức định tuyến rất phù hợp với các mạng lớn có mật độ
các nút lớn. Tính chất mới lạ của TORA bắt nguồn từ việc tạo ra các gói tin
DAG để thành lập đường.

75
AODV hoạt động tốt hơn DSR và DSDV trong các mạng tải trung bình và
thấp với tốc độ di chuyển của các nút thấp. Nó cũng hoạt động tốt hơn DSR và
DSDV ở mạng tải lớn và tốc độ di chuyển cao.
DSDV là giao thức hoạt động kém hiệu quả nhất, tốn nhiều thời gian và
năng lượng hoạt động do các nút luôn phải cập nhật bẳng định tuyến. DSDV phù
hợp với những mạng có kích thước nhỏ.
Trong các giao thức được nghiên cứu không có một giao thức nào có hiệu
năng vượt trội hoàn toàn trong tất cả các điều kiện mạng. Việc lựa chọn các giao
thức phụ thuộc vào hoàn cảnh cụ thể của mạng.
Mỗi một chiến lược định tuyến có những ưu điểm và nhược điểm khác
nhau. Trong mạng không dây kiểu không cấu trúc, tùy theo hoàn cảnh, yêu cầu
và các đặc tính của từng mạng cụ thể mà mỗi một giao thức định tuyến thể hiện
các ưu, nhược điểm của mình theo các cấp độ khác nhau.
Trong tương lai có thể thực hiện dánh giá hiệu năng của các giao thức định
tuyến tùy biến hiện tại và các giao thức được thiết kế đặc biệt theo chuẩn IEEE
802.16 cho WiMAX di động. Hướng nghiên cứu này có thể cung cấp các thông
tin về những tán thành và phản đối của các chuẩn đã được phát triển trong lĩnh
vực này. Trong nghiên cứu này đã thực hiện đánh giá hiệu năng các giao thức
định tuyến trong Ad-Hoc.

76
TÀI LIỆU THAM KHẢO
[1]. Subir Kumar Sarkar, T G Basavaraju, C Puttamadappa, Ad Hoc Mobile
Wireless Networks: Principles, Protocols, and Applications, Taylor & Francis
Group, LLC, 2008.
[2]. Bained Nyirenda, Jason Mwanza, Performance Evaluation of Routing
Protocols in Mobile Ad hoc Networks (MANETs), Blekinge Institute of
Technology, January 2009
[3]. Dmitri D. Perkins, Herman D. Hughes, and Charles B. Owen, Factors
Affecting the Performance of Ad Hoc Networks, Department of Computer
Science and Engineering Michigan State University, East Lansing, MI 48824-
1226.
[4]. Anipakala Suresh, Bremen Institute of Technology, Performance Analysis of
Ad hoc On-demand Distance Vector routing (AODV) using OPNET Simulator,
11th April 2005.
[5]. RFC4728 - The Dynamic Source Routing Protocol (DSR), IETF.
[6]. RFC3561 - Ad hoc On-Demand Distance Vector (AODV) Routing, IETF.
[7]. RFC3626 - Optimized Link State Routing Protocol (OLSR), IETF.
[8]. Temporally-Ordered Routing Algorithm (TORA) Version 1 Functional
Specification, IETF.
[9]. Edit by Mohammad Ilyas, florida Atlantic University, Boca Raton, Florida,
The Handbook of Ad hoc Wireless Networks, CRC Press LLC, 2003.
[10]. Farooq Anjum and Petros Mouchtaris, Security for Wireless Ad Hoc
Networks, John Wiley and Sons, Feb 2007.
[11]. Amitabh Míhra, Security and Quality of Service in Ad Hoc Wireless
Networks, Cambridge Press, Mar 2008
[12]. Uyen Trang Nguyen and Xing Xiong, “Rate-adaptive Multicast in Mobile
Ad hoc Networks,” IEEE International Conference on Ad hoc and Mobile
Computing, Networking and Communications, WiMob, Montreal, Canada,
2005.
[13]. Mohammad Naserian, Kemal E. Tepe and Mohammed Tarique, “Routing
overhead analysis for reactive routing protocols in wireless ad hoc networks,”
IEEE Conference on Wireless And Mobile Computing, Networking And
Communications, WiMob, 2005, pp. 87 – 92.

77
[14]. Ad Hoc Networks Technologies And Protocols, Springer Science +
Business Media, 2005.
[15]. Nguyễn Quang Huy, D04VT2, đồ án tốt nghiệp: “Định tuyến trong mạng
Mesh”.
[16]. Phạm Đức Hòa, Lò Văn Duy, Nguyễn Hoàng Cương, Sand Sakda,
D05VT2, chuyên đề kỹ thuật chuyển mạch: “Bảo mật định tuyến trong
MANETs”.
[17]. http://www.vntelecom.org/

78
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
………………………………………………

Chữ ký của giáo viên hướng dẫn

79

You might also like