Tải bản đầy đủ (.docx) (24 trang)

ĐỊNH TUYẾN TRÊN MẠNG MANET

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

1 Chương 1: TỔNG QUAN
1.1

Tổng quan về đồ án
Đồ án tìm hiểu về mạng không dây MANET (Mobile Ad Hoc Network) là
một tập hợp của những node mạng không dây, những node này có thể được thiết
lập tại bất kỳ thời điểm và tại bất cứ nơi nào. Mạng MANET không dùng bất kỳ
cơ sở hạ tầng nào. Nó là một hệ thống tự trị mà máy chủ di dộng được kết nối
bằng đường vô tuyến và có thể di chuyển tự do, thường hoạt động như một router.
Các thiết bị di động như các máy tính laptop, với đặc trưng là công suất
CPU, bộ nhớ lớn, hay dung lượng đĩa cao, khả năng âm thanh đa phương tiện và
màn hình màu đã trở nên rất phổ biến hiện nay. Đồng thời các yêu cầu kết nối
mạng để sử dụng các thiết bị di động tăng rất nhanh, bao gồm việc hỗ trợ các sản
phẩm mạng vô tuyến dựa trên vô tuyến hoặc hồng ngoại ngày càng nhiều. Với
kiểu thhiết bị điện toán di động này, thì giữa những người sử dụng di động luôn
mong muốn có sự sẻ chia thông tin.
Một mạng tùy biến là một tập hợp các thiết bị di động hình thành nên một
mạng tạm thời mà không cần sự trợ giúp của bất kỳ sự quản lý tập trung hoặc
dịch vụ hỗ trợ chuẩn nào thường có trên mạng diện rộng mà ở đó các thiết bị di
động có thể kết nối được. Các node được tự do di chuyển và thiết lập nó tùy ý. Do
đó, tôp mạng không dây có thể thay đổi một các nhanh chóng và không thể dự
báo. Vì thế, nó có thể hoạt động một mình hoặc có thể được kết nối tới Internet.

Hình 1.1: Ví dụ về mạng MANET


1.2

Nhiệm vụ đồ án
Bước đầu sẽ tìm hiểu đưa ra các khái niệm cơ bản liên quan đến mạng
MANET. Từ những cơ sở lý thuyết cơ bản, tìm hiểu sâu hơn sau đó sẽ thực hiện


mô phỏng, nghiên cứu và phát triển trên môi trường giả lập mạng NS.
Từ những khái niệm, đặc điểm, hay các giới thiệu về những giao thức có
trong mạng MANET, cùng với đó là sự mô phỏng trên môi trường giả lập, hy
vọng người đọc sẽ hiểu thêm về mạng MANET cũng như cách thức hoạt động
của nó.

1.3

Cấu trúc của đồ án
Nội dung của đồ án được chia làm 4 chương;
Chương 1. Tổng quan
Giới thiệu tổng quan về đồ án và nhiệm vụ của đồ án.
Chương 2. Cơ sở lý thuyết
Đưa ra khái niệm cơ bản về mạng ad-hoc không dây. Tiếp sau mô tả
về các giao thức định tuyến điều khiển theo yêu cầu trên mạng MANET,
cùng với đó đưa ra các đặc tính cơ bản của từng giao thức. Từ đó đưa ra
so sánh và đánh giá các giao thức để thấy được những ưu, nhược điểm
của chúng.
Chương 3. Kết quả thực nghiệm
Từ những lý thuyết ở chương 2, thực hiện mô phỏng một số giao thức
định tuyến điều khiển theo yêu cầu trên mạng MANET trên môi trường
giả lập NS-2. Từ đó đánh giá hiệu năng của một số giao thức định tuyến
đó.
Chương 4. Kết luận và hướng phát triền của đồ án
Đưa ra kết luận về những phần đạt được và những thiếu sót của đồ án,
cùng với đó đưa ra hướng phát triển của đồ án về mạng MANET.

2 Chương 2: Cơ sở lý thuyết
2.1


Mạng ad-hoc không dây
2.1.1

Khái niệm

Mạng ad-hoc là một tập hợp các nút mạng di động không dây nằm phân tán
về mặt địa lý tạo thành một mạng tạm thời mà không sử dụng bất cứ cấu trúc hạ
tầng mạng có sẵn hay sự quản lý tập trung nào. Các nút mạng liên lạc với nhau


qua môi trường vô tuyến không cần các bộ định tuyến cố định. Vì vậy mỗi nút
mạng phải đóng vai trò như một bộ định tuyến di động có trang bị bộ thu phát
không dây. Các bộ định tuyến tự do di chuyển một cách ngẫu nhiên và tự tổ chức
một cách tùy tiện. Do đó cấu hình không dây của mạng thay đổi nhanh chóng và
không thể đoán trước. Mạng như vậy có thể hoạt động độc lập hoặc kết nối với
các mạng hạ tầng tạo thành mạng toàn cầu.

Hình 1: Hình ảnh minh họa mạng Ad Hoc
2.1.2

Chức năng

2.1.2.1

Trong quân sự:

Quân sự là động lực chính để phát triển mạng Ad-hoc. Do mạng Ad-hoc
không đòi hỏi sự điều khiển từ trung tâm cũng như tồn tại một cơ sở hạ tầng sẵn
có nên nó rất hoàn hảo cho các ứng dụng quân sự. Trên chiến trường, binh lính có
thể liên lạc với nhau bất kỳ lúc nào và bất kỳ nơi đâu.

2.1.2.2

Trong mạng cục bộ:

Có lẽ đây là mạng mà chúng ta có thể gặp được dễ dàng trong các hội nghị
hoặc trong lớp học, khi các node muốn kết nối với nhau để truyền và nhận dữ
liệu. Vấn đề cần được đảm bảo ở đây là chất lượng truyền QoS.
2.1.2.3

Trong trường hợp khẩn cấp:

Do đặc tính không cần cơ sở hạ tầng có định cũng như sự quảng trị nên mạng
Ad-hoc cũng rất phù hợp trong các tình huống mà ở đó hạ tầng mạng bị phá hủy
hoặc không sẵn có do một nguyên nhân nào đó. Mục đích của việc thiết lập
MANET trong tình huống này là giúp cho các thiết bị di động có thể liên lạc được


với nhau và sử dụng các dịch vụ mạng vốn dĩ rất quan trọng trong công tác cứu
hộ.
2.1.3

Những đặc tính

Mạng ad-hoc có đặc điểm dễ kết nối với mạng truy nhập, cấu trúc mạng đa
chặng động và truyền thông ngang hàng trực tiếp. Tính đa chặng cần để làm làm
cầu tới tới cổng kết nối vào mạng trục hạ tầng. Cổng kết nối phải có giao diện
mạng của cả hai kiểu mạng và là một phần của cả mạng định tuyến rộng khắp và
định tuyến ad-hoc cục bộ. Người dùng được lợi từ mạng khắp nơi: di chuyển cho
phép người dùng chuyển đổi giữa các thiết bị, phiên làm việc và vẫn có cùng dịch
vụ cá nhân. Trạm di động cho phép thiết bị của người dùng di dộng quanh mạng

và duy trì kết nối và khả năng truyền thông.

2.2

Định tuyến
2.2.1

Các giao thức thông thường

Định tuyến là việc tìm đường đi từ nguồn tới đích qua hệ thống mạng. Giao
thức định tuyến có chức năng chính là lựa chọn đường cho các cặp nguồn – đích
và phân phát gói tín tới đích chính xác. Với đặc điểm tỉ lệ lỗi gói tin thấp, cấu
hình ít thay đổi hoặc thay đổi chậm truyền thông trong mạng có dây truyền thống
có thể áp dụng các thuật toán định tuyến dựa trên bảng là giải thuật trạng thái liên
kết (Link State) hoặc Vec-tơ khoảng cách (Distance Vecto). Thuật toán Link State
được sử dụng trong giao thức OLSF (Open Shortest Path First) của Internet.
Thuật toán Distance Vecto còn được gọi là thuật toán Bellman-Ford, được dùng
trong mạng ARPANET lúc mới ra đời và được sử dụng trong mạng Internet với
tên gọi là RIP (Routing Information Protocol). Các giao thức định tuyến truyền
thống cũng được sử dụng định tuyến nguồn (Source Routing) và kỹ thuật
Flooding để tìm đường đi cho các gói tin trong mạng.
2.2.2

Link State

Trong định tuyến Link State, mỗi nút duy trì một khung nhìn đầy đủ về cấu
hình mạng với chi phí cho từng liên kết. Để giữ cho các chi phí này phù hợp, mỗi
nút quảng bá định kỳ các chi phí liên kết của các liên kết đi ra của nó cho tất cả
các nút khác bằng cách sử dụng kỹ thuật Flooding. Khi một nút nhận thông tin



này, nó cập nhật khung nhìn của nó về mạng và áp dụng thuật toán tìm đường đi
ngắn nhất Dijkstra để chọn chặng tiếp theo cho từng đích đến.
Một số chi phí liên kết trong một khung nhìn của nút có thể không xác định
được do độ trễ lan truyền lớn, mạng phân vùng… Như vậy không phù hợp với
khung nhìn cấu hình mạng có thể dẫn đến hình thành các vòng lặp định tuyến.
Tuy nhiên, những vòng lặp là ngắn, vì các gói tin sẽ bị loại bỏ nếu đi quá một số
chặng nhất định trong mạng.
2.2.3

Distance Vector

Trong Distance Vector mỗi nút chỉ theo dõi chi phí của các liên kết đi ra của
nó, nhưng thay vì quảng bá thông tin này đến tất cả các nút, nó quảng bá định kỳ
đến các hàng xóm của nó một ước tính các khoảng cách ngắn nhất đến tất cả các
nút khác trong mạng. Các nút nhận sau đó sử dụng thông tin này để tính toán lại
các bảng định tuyến, bằng cách sử dụng thuật toán đường đi ngắn nhất BellmenFord.
So với Link State, Distance Vector tính toán hiệu quả hơn, dễ dàng hơn để
thực hiện và đòi hỏi không gian lưu trữ ít hơn nhiều. Tuy nhiên, Distance Vector
có thể gây ra sự hình thành các vòng lặp định tuyến ngắn và dài. Nguyên nhân
chính cho việc này là các nút chọn chặng tiếp theo của chúng một cách hoàn toàn
dựa trên thông tin có thể là cũ.
2.2.4

Source

Source (hay thường gọi là Source Routing) có nghĩa là mỗi gói tin phải mang
theo đường dẫn đầy đủ mà gói tin nên đi trong mạng trong tiêu đề của nó, khi đó
các nút trung gian chỉ việc chuyển tiếp các gói tin theo đường dẫn đó. Như vậy,
việc xác định đường dẫn đầy đủ (định tuyến) được thực hiện tại nút nguồn.

Ưu điểm của phương pháp này là loại bỏ nhu cầu quảng bá đường định kỳ,
các gói tin phát hiện hàng xóm và nó rất dễ dàng tránh các vòng lặp định tuyến.
Vấn đề lớn nhất với định tuyến nguồn là khi mạng lớn và đường đi dài, việc đặt
toàn bộ đường trong tiêu đề gói tin sẽ làm lãng phí băng thông.


2.2.5

Flooding

Nhiều giao thức định tuyến sử dụng quảng bá để phân phối thông tin điều
khiển. Có nghĩa là, gửi thông tin điều khiển từ nút nguồn cho tất cả các nút khác.
Một hình thức quảng bá được sử dụng rộng rãi là kỹ thuật Flooding.
Kỹ thuật Flooding hoạt động như sau: Nút nguồn gửi thông tin của nó cho
các nút hàng xóm. Những nút hàng xóm sẽ chuyển tiếp cho hàng xóm của chúng
và cứ tiếp tục như vậy cho đến khi các gói tin đến được tất cả các nút trong mạng.
Mỗi nút sẽ chỉ chuyển tiếp một gói tin một lần và để đảm bảo điều này một số
kiểu số thứ tự có thể được sử dụng. Số thứ tự này được tăng lên khi mỗi gói tin
mới được một nút gửi.
2.2.6

Phân loại

Mạng MANET (Mobile Ad-hoc Network) là mạng không dây đặc biệt gồm
tập hợp các thiết bị di động, giao tiếp không dây, có khả năng truyền thông trực
tiếp với nhau hoặc thông qua các nút trung gian làm nhiệm vụ chuyển tiếp. Các
nút mạng vừa đóng vai trò như thiết bị truyền thông vừa đóng vai trò như thiết bị
định tuyến. Với nguyên tắc hoạt động như vậy, nó không bị phụ thuộc vào cơ sở
hạ tầng mạng cố định nên có tính linh động cao, đơn giản trong việc lắp đặt, chi
phí triển khai và bảo trì thấp.

Như vậy, khi sử dụng các giao thức định tuyến thông thường dựa trên các
giải thuật Distance Vector hoặc Link State trong mạng Ad-Hoc sẽ dẫn đến một số
vấn đề phát sinh:
- Tiêu tốn băng thông mạng và năng lượng nguồn nuôi cho các cập nhật
-

định kỳ: Hầu hết các thiết bị di động trong mạng AdHoc sẽ hoạt động dựa trên nguồn pin, việc truyền hoặc nhận gói tin sẽ
tiêu tốn đáng kể đến nguồn năng lượng này. Ở các mạng thông thường,
việc kết nối các bộ định tuyến nhìn chung là không thay đổi về vị trí,
chính vì thế ít xảy ra việc thay đổi cấu hình topo mạng nên việc hội tụ
mạng là ít xảy ra.Tuy nhiên, trong mạng Ad-Hoc, các nút luôn thay đổi vị
trí dẫn đến cấu hình tôpô mạng thay đổi, nên đòi hỏi cần phải có sự hội tụ
của mạng cho các tuyến mới một cách nhanh chóng. Để thực hiện được
việc này, các giao thức định tuyến phải liên tục gửi cập nhật định tuyến,
dẫn đến việc tiêu tốn khá nhiều băng thông và năng lượng.


-

Các đường đi dư thừa được tích lũy một cách không cần thiết: Trong môi
trường mạng Ad-Hoc, có rất nhiều đường đi từ nút nguồn đến nút đích và
những đường đi này sẽ được cập nhật tự động vào bảng định tuyến trong
các thiết bị định tuyến (thiết bị di động), dẫn đến việc dư thừa đường đi

trong bảng định tuyến.
Các giao thức định tuyến trong mạng Ad-Hoc được chia thành 3 loại: Giao
thức định tuyến theo bảng ghi (Table-Driven Routing Protocol), Giao thức định
tuyến điều khiển theo yêu cầu (On-Demand Routing Protocol) và Giao thức định
tuyến kết hợp (Hybrid Routing Protocol).


Hình 2: Phân loại các giao thức định tuyến trong mạng Ad Hoc

2.3

Các giao thức định tuyến mạng Ad-hoc
2.3.1

Các đặc tính mong muốn

Như ta đã biết, các đặc tính xác định của mạng Ad-hoc bao gồm các thiết bị
có tài nguyên hạn chế, băng thông thấp, tỷ lệ lỗi cao và topo động. Trong số các
nguồn tài nguyên của nút mạng, năng lượng pin là yếu tố thường bị ràng buộc
nhất. Do đó, mục tiêu thiết kế điển hình cho các giao thức định tuyến mạng Adhoc thường bao gồm:
- Phụ tải điều khiển tối thiểu (Minimal Control Overhead). Kiểm soát việc
gửi gói tin để tiết kiệm băng thông, chi phí xử lý và năng lượng pin cho


cả việc truyền và nhận gói tin. Bởi vì sử dụng băng thông là một phần chi
phí, giao thức định tuyến không nên gửi nhiều hơn số lượng tối thiểu các
thông báo điều khiển cần cho các hoạt động, và cần được thiết kế sao cho
số này là tương đối nhỏ. Trong khi truyền năng lượng tiêu thụ gấp nhiều
lần khi nhận , do đó việc giảm kiểm soát thông báo cũng giúp bảo tồn
-

năng lượng pin.
Phụ tải xử lý tối thiểu (Minimal Processing Overhead). Các thuật toán
tính toán phức tạp đòi hỏi nhiều chu trình xử lý trong các thiết bị. Các chu
trình xử lý làm cho các thiết bị di động sử dụng nguồn tài nguyên, tiêu
thụ nhiều năng lượng pin. Các giao thức đơn giản với yêu cầu quá trình
xử lý tối thiểu từ thiết bị di động dẫn đến năng lượng pin được dự trữ cho

các nhiệm vụ theo định hướng người sử dụng nhiều hơn, đồng thời kéo

-

dài tuổi thọ pin.
Khả năng định tuyến đa chặng (Multihop Routing Capability). Phạm vi
truyền dẫn không dây của các nút di động thường được giới hạn, các
nguồn và đích có thể không nằm trong phậm vi truyền dẫn trực tiếp của
nhau. Do đó, các giao thức định tuyến phải có khả năng khám phá các
tuyến đường đa chặng giữa nguồn và đích để giao tiếp giữa các nút là có
thể xảy ra.
2.3.2

MANET ( Mobile Ad-hoc Networks)

Như chúng ta đã biết, việc định tuyến trên các hệ thống mạng là khá quan
trọng, quá trình định tuyến có thể xảy ra trước khi hệ thống có nhu cầu truyền dữ
liệu hoặc trong khi hệ thống truyền dữ liệu. Các phương thức này cũng là một
trong những yếu tố ảnh hưởng đến sự hoạt động của toàn bộ hệ thống mạng. Định
tuyến điều khiển theo yêu cầu là một trong những phương thức định tuyến cơ bản
trong hệ thống mạng không dây đặc biệt là hệ thống mạng MANET. Theo phương
thức này, việc định tuyến chỉ xảy ra khi hệ thống có nhu cầu truyền dữ liệu. Có rất
nhiều giao thức định tuyến sử dụng theo phương thức này. Trong bài báo cáo này,
nhóm phân tích về nhiều giao thức định tuyến được sử dụng trong mạng MANET
như: giao thức DSDV, AODV, DSR, ZRP, TORA, IMEP và CBRP.


2.3.3

DSDV ( Destination Sequenced Distance Vector)


2.3.3.1

Mô tả

DSDV là giao thức định tuyến vecto khoảng cách theo kiểu từng bước: trong
đó mỗi nút mạng duy trì bảng định tuyến lưu trữ đích có thể đến ở bước tiếp theo
của định tuyến và số bước để đến đích. DSDV yêu cầu nút mạng phải gửi đều đặn
thông tin định tuyến quảng bá trên mạng.
Ưu điểm của DSDV là đảm bảo không có đường định tuyến kín bằng cách sử
dụng số thứ tự để đánh dấu mỗi đường. Số thứ tự cho biết mức độ “mới” của
đường định tuyến, số càng lớn thì mức độ đảm bảo càng cao. Ví dụ: Đường R
được coi là tốt hơn R’ nếu số thứ tự của R lớn hơn. Trong trường hợp có cùng số
thứ tự thì R phải có số bước nhỏ hơn. Số thứ tự sẽ tăng khi nút A phát hiện ra
đường đến đích D bị phá vỡ, sau đó nút A quảng bá đường định tuyến của nó tới
nút D với số bước không giới hạn và số thứ tự sẽ tăng lên.
2.3.3.2

Đặc tính

DSDV phụ thuộc vào thông tin quảng bá định kỳ nên nó sẽ tiêu tốn thời gian
để tổng hợp thông tin trước khi đường định tuyến được đưa vào sử dụng. Thời
gian này là không đáng kể đối với mạng có cấu trúc cố định nói chung (bao gồm
cả mạng có dây). Nhưng với mạng Ad-hoc thời gian này là đáng kể, có thể gây ra
mất gói tin trước khi tìm ra được định tuyến hợp lý. Ngoài ra, bản tin quảng cáo
định kỳ cũng là nguyên nhân gây ra lãng phí tài nguyên mạng.
2.3.4

AODV ( Ad-hoc On Demand Distance Vector)


2.3.4.1

Mô tả

AODV là giao thức định tuyến dựa trên giao thức DSDV được trình bày ở
trên. Cũng giống như DSDV, AODV cũng loại bỏ được vấn đề lặp định tuyến của
các giao thức Distance Vector khác bằng việc dùng số thứ tự gắn với mỗi đường.
Tuy nhiên, nếu như DSDV luôn duy trì một danh sách các tuyến đường hoàn
chỉnh, thì AODV chỉ tạo ra các tuyến đường khi được yêu cầu. Điều này giúp nó
tối thiểu hóa được việc phát quảng bá trong mạng. Mỗi nút mạng trong mạng này
sẽ duy trì một bảng ghi định tuyến chứa thông tin về đường đi (như các nút mạng
hàng xóm, thông tin ghi nhận các yêu cầu đã được xử lý) mà nút mạng giao tiếp.


Với những nút mạng không nằm trên đường đi đến đích thì không cần phải duy trì
thông tin định tuyến hoặc tham gia vào việc trao đổi các bảng định tuyến. Để phát
hiện và duy trì liên kết, AODV sử dụng các thông điệp khác nhau là Route
Request (RREQ) và HELLO.
Khi nút mạng nguồn muốn gửi một gói tin đến nút mang đích mà tuyến
đường chưa được xác lập, nó sẽ gủi thông điệp yêu cầu tuyến đường RREQ đến
tất cả các nút mạng hàng xóm. Quá trình này chỉ dừng lại khi gói tin RREQ tới
được tới đích hoặc một nút mạng có đường đi tới đích. Tại các nút mạng đã đi
qua, RREQ cũng lưu định danh các nút mạng để tạo đường quay trở về nguồn tạm
thời. Đồng thời, các nút mạng cũng lưu định danh của các RREQ đã nhận để loại
bỏ các RREQ được gửi lại.

Hình 3: Quá trình truyền của RREQ

Khi RREQ tới được đích hoặc nút mạng có đường tới được đích, gói tin trả
lời Route Reply (RREP) được khởi tạo và được tuyền về nút mạng nguồn theo

tuyến đường tạm thời mà gói RREQ thiết lập. Trong quá trình đó, RREP thiết lập
đường hướng đến đích tại các nút mạng chuyển tiếp. Khi RREP đến được nút
mạng nguồn cũng là lúc tuyến đường từ nguồn tới đích được thiết lập. Nếu nút
mạng nguồn không nhận được gói tin RREP, nút mạng sẽ gửi thông điệp RREQ
hoặc giả thiết không có đường tới đích. Mặt khác, do RREP được chuyển tiếp dọc
theo các tuyến đường được RREQ thiết lập nên AODV chỉ có thể hỗ trợ tìm
đường đi qua các liên kết đối xứng.


Hình 4: Đường đi của gói tin RREQ trở về nguồn
2.3.4.2

Đặc tính

Giao thức định tuyến vector cự ly theo yêu cầu tùy biến (AODV) tự động
định tuyến nhiều bước kết nối giữa các node di dộng nằm trên tuyến hoạt động để
thiết lập và duy trì mạng Ad-hoc. AODV sử dụng liên kết đối xứng giữa các node
lân cận. Gói tin không đi theo tuyến đường giữa các node khi một trong những
node đó không nghe được từ các node khác. Những node không nằm trên các
tuyến đường hoạt động, chúng sẽ không duy trì bất cứ thông tin định tuyến nào
cũng như không tham gia vào bất kỳ sự trao đổi bảng định tuyến định kỳ nào. Khi
khu vực kết nối của node di động được quan tâm, mỗi node di động có thể nhận
biết được các node lân cận nhờ việc sử dụng một số kĩ thuật, bao gồm quảng bá
nội vùng (không phải toàn hệ thống) được biết đến như các bản tin Hello. Bảng
định tuyến của các node lân cận được tổ chức tối ưu hóa thời gian để đáp ứng nội
vùng và cung cấp cho các yêu cầu thành lập tuyến mới.
2.3.5

DSR ( Dynamic Source Routing)


2.3.5.1

Mô tả

DSR là một giao thức định tuyến phổ biến trong mạn Ad-hoc hiện nay. DSR
chia cơ chế định tuyến thành hai phần là cơ chế tìm kiếm đường đi (Route
Discovery) và cơ chế duy trì tuyến đường (Route Maintenance). DSR sử dụng kỹ
thuật định tuyến nguồn (Source Route). Theo đó, khi muốn gửi gói tin, một tuyến
nguồn sẽ được hình thành và lưu ở tiêu đề của gói tin. Tuyến nguồn này chứa một
danh sách có thứ tự và đầy đủ về các nút mạng cần đi qua để tới đích. Do đó các


nút mạng trung gian chỉ cần duy trì liên kết với các nút mạng hàng xóm để
chuyển tiếp các gói tin. Nút mạng nguồn thì cần biết toàn bộ thứ tự tuyến đường
để đến đích. Mỗi nút mạng đều duy trì một bộ nhớ gọi là Route Cache để lưu các
tuyến đường khởi đầu từ nút mạng này mà nó tìm được. Khi có yêu cầu về tìm
đường đi, nút mạng sẽ kiểm tra trong Route Cache có tuyến đường mà nó mong
muốn hay không. Nếu có, tuyến dường này sẽ được sử dụng để truyền gói tin.
Ngược lại, cơ chế tìm kiếm đường đi sẽ được khởi động bằng việc phát quảng bá
đi một gói tin yêu cầu đường (Route Request). Khi một nút mạng nhận được gói
tin yêu cầu, nó sẽ kiểm tra trong Route Cache của mình có địa chỉ nút mạng đích
hay không. Nếu không có, nó lại chuyển gói tin đó sang nút mạng hàng xóm của
mình, đồng thời bổ sung địa chỉ của nó vào thứ tự chặng được lưu trong gói tin
yêu cầu. Gói tin yêu cầu được truyền trong mạng cho tới khi tới được nút mạng
đích hoặc nút mạng có chứa đường đi đến nút mạng đích. Khi đường được tìm
thấy, gói tin trả lời (Route Reply) chứa toàn bộ tuyến đường sẽ được gửi trở lại
nút mạng nguồn. Lúc này cũng cần phải có một cơ chế để loại bỏ gói tin Route
Request để tránh cho nó truyền vô hạn trong mạng.
Do đó, DSR thêm vào tiêu đề của gói một trường time-to-live. Mỗi khi qua
một nút mạng, trường time-to-live sẽ được tăng lên một, khi time-to-live vượt quá

một giá trị nào đó, nó sẽ bị loại bỏ. Ngoài ra, để giảm bớt thời gian tìm kiếm
đường, các nút mạng thường xuyên bổ sung những tuyến đường mới mà nó học
được trong quá trình các nút mạng khách chọn đường. Trong quá trình sử dụng
Route Cache để ghi dữ liệu, các nút mạng vẫn có thể theo dõi sự thay đổi của các
liên kết thông qua cơ chế duy trì tuyến đường. Cơ chế duy trì tuyến đường thực
hiện biên nhận theo chặng hoặc biên nhận đầu cuối, kèm theo đó là cơ chế thông
báo lỗi khi có liên kết bị đứt gãy. Khi gói tin Route Error được gửi về nút mạng
nguồn, nó sẽ xóa bỏ liên kết bị hỏng ra khỏi Route Cache và tất cả các đường có
chứa chặng này được cắt tại điểm có liên kết hỏng. Ngoài ra, các nút mạng trung
gian chuyển tiếp gói tin Route Error có thể cập nhật Route Cache theo cách tương
tự.


Hình 5: Quá trình tìm kiếm đường của DSR

Hình 6: Gửi trả lại tuyến đường về cho nút nguồn
2.3.5.2

Đặc tính

So với các giao thức định tuyến khác, DSR có những điểm vượt trội hơn như
không phát quảng bá định tuyến định kì, hỗ trợ tìm đường đi qua tất cả các liên
kết không đối xứng và phù hợp với tính động của topo mạng.
DSR được coi là một giao thức bị động vì chỉ cập nhật trạng thái mạng và
tìm đường dẫn khi có yêu cầu. Một ưu điểm của DSR là không có gói tìm đường
nào được phát đi định kỳ, vì không cần phải cập nhật trạng thái mạng thường
xuyên (trái ngược với giao thức Link State). DSR còn có khả năng điều hành
đường dẫn một chiều. Vì DSR tìm đường theo yêu cầu nên nó không thích hợp
cho các mạng dung lượng lớn và có tính di động cao.
2.3.6


ZRP ( Zone Routing Protocol)

2.3.6.1

Mô tả

Giao thức định tuyến vùng (ZRP) tích hợp tất cả các thành phần của định
tuyến theo bảng và định tuyến theo yêu cầu. Ở xung quanh mỗi nút, ZRP định
nghĩa một vùng mà phạm vi của nó được tính bằng bán kính bước truyền. Mỗi nút


sử dụng định tuyến theo bảng trong vùng đó và định tuyến theo yêu cầu bên ngoài
vùng. Do vậy nút đó được tất cả các nút khác trong vùng nhận biết. Khi nút này
có các gói dữ liệu để gửi tới đích cụ thể, nó kiểm tra trong bảng định tuyến để xác
định tuyến đường truyền. Nếu nút đích nằm trong cùng này thì sẽ tồn tại một
tuyến đường truyền trong bảng định tuyến. Ngược lại, nếu nút đích không nằm
trong vùng, một tìm kiếm tuyến đường sẽ cần đến. Hình 7 mô tả khái niệm vùng.
Trong hình bán kính vùng là hai bước truyền.
Định tuyến trong vùng, ZRP định nghĩa giao thức định tuyến trong vùng
IARP. IARP là một giao thức trạng thái đường liên kết, nó cập nhật thông tin mới
nhất về tất cả các nút trong vùng này. Các nút X, các nút ngoại vi của nút X được
định nghĩa là những nút có khoảng cách ngắn nhất tới X nằm trong phạm vi bán
kính vùng. Trong hình 7, các nút ngoại vi của S là A, B, C và D. Những nút ngoại
vi này rất quan trong cho việc khám phá ra những tuyến mới bằng định tuyến theo
yêu cầu. ZRP sử dụng giao thức định tuyến IERP để khám phá tuyến tới các nút
đích nằm bên ngoài vùng.

Hình 7: ZRP bán kính vùng


Để khám phá tuyến ý tưởng (Bordercasting: ném ra biên) được đưa ra là:
Một nút nguồn xác định nút đích không nằm trong vùng, nút nguồn gửi một tin
nhắn truy vấn tới các nút ngoại vi. Trong khi ném ra biên , tin nhắn truy vấn được
chuyển tiếp đến các nút ngoại vi sử dụng cấu trúc cây bên trong đồ thị. Sau khi
nhận được tin nhắn, các nút ngoại vi này sẽ lần lượt kiểm tra xem nút đích có nằm
trong vùng của chúng không. Nếu nút đích không thuộc vùng của chúng thì các
nút này tiến hành truyền ngoại vi tin nhắn truy vấn tới các nút ngoại vi kế tiếp của


chúng. Quá trình này tiếp diễn cho tới khi có nút ngoại vi tìm thấy nút được đích
nằm trong vùng của nó hoặc sau khi tìm hết toàn mạng. Nếu một nút phát hiện ra
nút đích, nó sẽ truyền một tin nhắn trả lời tới nút nguồn.
Hình 8 minh họa thủ tục khám phá tuyến truyền ngoại vi. Trong hình nút S
truyền một truy vấn yêu cầu tới nút đích X. Bằng cách sử dụng giao thức IARP nó
biết rằng nút X không nằm trong vùng phạm vi. Nó gửi tin nhắn truy vấn tới các
nút ngoại vi.

Hình 8: Ví dụ khám phá đường đi ZRP

Trong sơ đồ trên những hình tròn nét đứt thể hiện phạm vi của vùng S. Các
nút ngoại vi lần lượt kiểm tra vùng vủa chúng và sau đó khi không tìm thấy nút
đích, chúng gửi tin nhắn truy vấn tới các nút ngoại vi của chúng. Các hình tròn
đặt trong hình thể hiện quá trình truyền các yêu cầu, tin nhắn truy vấn tới các nút
ngoại vi. Ví dụ như các đường tròn nét đứt là những nút nhận được truy vấn yêu
cầu. Do vậy, chỉ có vùng thuộc vùng phạm vi của mỗi nút trước đó chưa có dữ
liệu yêu cầu truyền đến thì được thể hiện. Cuối cùng thì nút G tìm được nút X
nằm trong vùng phạm vi của nó, và sau đó truyền một hồi đáp về nút S.
2.3.6.2

Đặc tính


Để tăng hiệu quả của truy vấn yêu cầu, một độ trễ xử lý truy vấn ngẫu nhiên
có thể được sử dụng như một thiết bị điều khiển truy vấn hiệu quả. Trong khoảng
thời gian chờ đợi giữa bên gửi và bên nhận, cơ hội xảy ra xung đột khi truyền sẽ
giảm đi và do đó hiệu quả của giao thức được nâng cao. Thêm vào đó, ZRP định
nghĩa các tối ưu khác để giảm tin nhắn và xử lý tràn ngập. Đặc biệt, nó còn bao
gồm sự kết thúc sớm của các truy vấn bằng cách ngăn chặn truy vấn lan truyền
bên trong vùng đã sẵn sàng đến đích.
Hiện nay đã có những phiên bản mới của ZRP là ZRPv2. Phiên bản ZRPv2
này hơi khác với bản gốc ZRP chủ yếu trong cách truyền ngoại vi. Trong cả hai
phiên bản này, các tuyến đường khám phá đều bắt đầu với cấu trúc cây truyền


ngoại vi của một nút nguồn tới những nút ngoại vi bao phủ kín chúng. Một nút
ngoại vi mở là nút đó không thuộc phạm vi, vùng định tuyến của nút đã từng nhận
được nhận truy vấn. Nút này sau đó sẽ gửi tin nhắn truy vấn tới các cây ngoại vi
kế tiếp của nó. Khi những cây này nhận được tin nhắn truy vấn, thay vì gửi truy
vấn yêu cầu xuôi theo các nút ngoại vi của nút nguồn như trong nguyên bản ZRP,
thì chúng lại tạo ra những cây truyền ngoại vi tới các nút ngoại vi mở của riêng
chúng và gửi truy vấn định tuyến tới các ngoại vi kế tiếp của nó. Mỗi nút khi nhận
được truy vấn tuyến sẽ tiếp tục quá trình như trên cho đến đích hoặc nút đó thực
hiện làm tươi đường tới đích. Ở mỗi điểm tuyến trả lời một nút sẽ truyền đơn
hướng hồi đáp về nguồn.
Quá trình truyền ngoại vi dựa trên nền tảng truyền lan theo chặng do vậy mà
đơn giản, dễ phát triển, và cũng hạn chế việc mở rộng vùng định tuyến.
2.3.7

TORA ( Temporally-Ordered Routing Algorithm)

2.3.7.1


Mô tả

Khái niệm thiết kế chính của TORA là định vị các thông điệp điều khiển tới
một tập các nút rất nhỏ gần nơi xảy ra việc thay đổi cấu trúc. Để làm được điều
này, các nút cần bảo đảm thông tin định tuyến về các nút kề cận (một chặng).
Giao thức TORA thi hành ba chức năng cơ bản:
- Tạo tuyến.
- Bảo đảm tuyến.
- Xóa tuyến.


Hình 9: Ví dụ về giao thức TORA

Trong suốt giai đoạn tạo và bảo đảm tuyến, các nút sử dụng đơn vị đo “độ
cao” để thiết lập đồ thị không chu trình có hướng DAG (Directed Acyclic Graph)
có gốc tại đích đến. Sau đó, các liên kết được gán hướng (luồng lên hoặc xuống)
dựa trên đơn vị đo độ cao tương đối của các nút hàng xóm như trong hình 9a.
Trong hình vẽ, trục đứng thể hiện cho độ cao, các thông điệp trong mạng đi theo
chiều từ nút có độ cao lớn hơn đến nút có độ cao nhỏ hơn giống kiểu thác nước
chảy từ trên xuống. Thời gian là yếu tố quan trọng trong giao thức TORA bởi vì
đơn vị đo “độ cao” phụ thuộc vào thời điểm logic của lỗi liên kết. TORA giả
thuyết rằng tất cả các nút mạng đều có đồng hồ đồng bộ (có thể đạt được thông
qua nguồn thời gian ngoài như GPS). Độ đo của TORA là sự tổng hợp của 5 yếu
tố bao gồm thời điểm logic của lỗi liên kết, định danh duy nhất của nút xác định
giá trị độ cao mới, bit chỉ số phản xạ, tham số của đường truyền và định danh duy
nhất của nút.
Đường đi trong mạng được phát hiện bằng hai gói tin là QUERY và
UPDATE. Khi nút có nhu cầu gửi gói tin tới đích bất kỳ, nó sẽ gửi quảng bá gói



tin truy vấn QUERY. Gói tin này được các nút trung gian truyền trong mạng cho
tới khi tới đích hoặc nút trung gian có đường đi tới đích. Nút trả lời sẽ gửi trả lại
gói tin UPDATE chứa độ cao của nút đó. Các nút nhận được gói tin UPDATE sẽ
thiết lập độ cao lớn hơn độ cao trong gói tin UPDATE và quảng bá gói tin
UPDATE của nó. Kết quả nút nguồn sẽ có đường đi tới nút đích theo đường có độ
cao giảm dần. Do tính di động của các nút, tuyến DAG bị phá vỡ và việc bảo đảm
tuyến là cần thiết để thiết lập lại đồ thị DAG có gốc ở cùng nút đích. Như đã chỉ
ra trong hình 9b, khi mà lỗi của liên kết luồng xuống cuối cùng xảy ra, nút hiệu
chỉnh độ cao của nó là cao nhất so với các hàng xóm của nó và truyền quảng bá
gói tin UPDATE với độ cao mới tới các nút hàng xóm nhằm phản ứng với lỗi.
Các liên kết được đảo ngược phản hồi với thay đổi để thích nghi với độ cao mới.
Điều này có cùng tác động do hướng đảo ngược của một hay nhiều liên kết khi
nút không có các liên kết luồng xuống. Giai đoạn xóa tuyến của TORA bao gồm
chủ yếu việc quảng bá gói tin xóa CLR (Clear Packet) thông qua mạng để xóa các
tuyến không hợp lệ. Gói tin CLR bao gồm độ cao và định danh đích. Khi một nút
nhận được gói tin CLR và độ cao của nó khớp với độ cao trong CLR, nó thiết lập
tất cả độ cao cho các hàng xóm và bản thân nó đối với đích giá trị null và quảng
bá tiếp gói tin CLR. Ngược lại, nếu không khớp, nó chỉ thiết lập độ cao cho các
hàng xóm đối với đích giá trị null.
2.3.7.2

Đặc tính

TORA là giao thức định tuyến phân bố không lặp vòng và độ thích nghi cao
dựa theo phương thức đảo ngược các liên kết. TORA được đề xuất cho môi
trường nối mạng có tính linh động cao. Giao thức được thiết kế để phát hiện
đường theo yêu cầu, cung cấp nhiều đường, thiết lập đường nhanh và tối thiểu hóa
chi phí truyền thông bằng cách cục bộ hóa phản ứng của giải thuật đối với các
thay đổi cấu hình khi có thể. Giao thứ chỉ phản ứng khi tắt cả đường tới đích bị

cắt.
2.3.8

IMEP ( Internet MANET Encapsulation Protocol)


2.3.9

CBRP (Cluster Based Routing Protocol )

2.3.10 So sánh

3 Chương 3: Kết quả thực nghiệm
3.1

Giới thiệu môi trường mô phỏng NS


NS (Network Simulation) chương trình phần mềm dạng hướng đối tượng được sử
dụng để mô phỏng lại các sự kiện xảy ra trong hệ thống mạng  yêu cầu, đặc tính
vận hành của hệ thống mạng thực.
• NS được sử dụng để mô phỏng LAN và WAN .
• Hệ mô phỏng NS-2 được phát triển ở trường đại học Berkeylay từ năm 1989, là
một phần trong dự án VINT (Virtual Internet Testbed) của phòng thí nghiệm quốc
gia Lawrence Berkeley.
Đối tượng mô phỏng:
• Wired, Wireless, Satellite
• TCP Agents, UDP Agents, multicast, unicast
• Thiết kế các cơ chế quản lý hàng đợi tại bộ định tuyến như DropTail, Fair
Queueing, Red.

• Cài đặt thuật toán định đường động và tĩnh, Dijkstra, vector khoảng cách, thuật
toán trạng thái liên kết, định đường di động ... mạng có dây và không dây.
• Hổ trợ các ứng dụng WebCache, FTP, Telnet, CBR, Web, Real Audio.


3.2

Mô phỏng mạng không dây trong môi trường NS

Thực chất mô hình wireless bao gồm MobileNode trong lõi (core) cùngvới các đặc tính hỗ
trợ thêm vào cho phép các trình mô phỏng của mạngmulti-hop với thủ tục Ad Hoc, mạng
LAN wireless… Đối tượng MobileNodelà một đối tượng tách biệt. Lớp MobileNode trong
C++ xuất phát từ lớp cha làlớp Node. Vì vậy, một MobileNode là một đối tượng Node cơ sở
cộng thêmcác chức năng của wireless, có khả năng di chuyển bên trong một topo vànhận hoặc
truyền tín hiệu thông qua một kênh wireless [8],[14].

3.2.1

Tạo MobileNode trong Node

MobileNode là đối tượng nsNode cơ sở cùng với các chức năng như sựdi chuyển, khả
năng truyền và nhận trên một kênh cho phép tạo môi cáctrường mobile và môi trường
wireless. Các tính năng mobile gồm có dichuyển node, cập nhập vị trí định kỳ, duy trì đường
biên của topo,… được thực thi trong C++ trong quá trình dò tìm các thành phần của mạng bên
trongcủa MobileNode (như các phân lớp, dmux, LL, Mac, Channel,…) được thựcthi trong
Otcl.
Mã cấu hình MobileNode được viết như sau:
$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) \
-channelType $val(chan) \
-topoInstance $topo \
-agentTrace ON \
-routerTrace ON \
-macTrace ON \
-movementTrace ON\


3.2.2

Tạo sự hoạt động cho Node

MobileNode được hoạt động trên dạng flat (phẳng) với tọa độ X, Y, Z(Z=0). Có hai phương
thức đưa ra sự di chuyển trong các MobileNode
- Phương thức 1: vị trí bắt đầu của node và các đích sau này của nó có thểđược thiết lập một
cách rõ ràng, có thể được thiết lập bằng cách sử dụng APIsau:

Hình 3.4.Mã cấu hình sự di chuyển cho Node
Tại $time sec, node sẽ bắt đầu hoạt động (moving) từ vị trí bắt đầu củanó là (x1,y1) chuyển
tiếp sang đích (x2,y2) với tốc độ (speed) xác định. Trong phương thức này, node-movementupdates được khởi tạo (triggered) bất cứ vịtrí nào của node tại thời gian được yêu cầu.
- Phương thức 2: tận dụng quá trình họat động ngẫu nhiên của node. MãAPI thường được sử
dụng là
$mobilenode start
để khởi động mobilenode vớimột vị trí ngẫu nhiên và thường cập nhập để thay đổi hướng và
tốc độ củanode. Giá trị đích và tốc độ được tạo ra một cách ngẫu nhiên.Dạng topo không cấu

trúc (flat) thông thường được tạo ra dựa vào đặc tảchiều dài và chiều rộng của topo cơ sở. Mã
API được viết như sau:
set topo [new Topography]$topo load_flatgrid $opt(x) $opt(y)
Trong đó opt(x) opt(y) là giới hạn được sử dụng trong trình mô phỏng.
3.2.3

Các thành phần cấu thành mạng trong một MobileNode

Ngăn xếp mạng đối với một MobileNode gồm có lớp link (LL), moduleARP kết nối đến LL,
một hàng đợi ngăn xếp IFq (interface priorityqueue(IFq)), lớp MAC, giao diện mạng netIF
(interface(netIF)), tất cả đượckết nối đến kênh channel.
- Link Layer LL: Thông thường đối với tất cả các packet đi ra từ kênh,các packet được đưa
xuống LL nhờ vào agent định tuyến Routing Agent. LLđưa các packet xuống hàng đợi giao
tiếp. Đối với các packet gửi vào (từ kênhriêng), lớp MAC đưa các packet lên LL sau đó dừng
tại node_entry_ point.
- Module ARP:giao thức phân giải địa chỉ (Address Resolution Protocol)thực thi ở dạng BSD
(implemented in BSD style) nhận các truy vấn từ lớpLink. Nếu ARP có địa chỉ hardware của
đích đến, nó ghi địa chỉ đích đến vàoheader của MAC của packet. Ngược lại, nó gửi
broadcasts truy vấn ARP, tạmthời giữ lại packet. Đối với mỗi đích đến không biết được địa
chỉ hardware, có một bộ đệm đơn cho packet. Khi gửi thêm các packet đến đích mà đã
gửiARP thì packet ban đầu trong bộ đệm sẽ bị hủy (drop). Khi biết được địa chỉhardware của
packet, packet được thêm vào hàng giao tiếp (interface queue)của hop đó.
- Interface Queue: Lớp PriQueue được thực thi như một hàng đợi ưu tiênđưa ra các quyền ưu
tiên để định tuyến các packet, thêm chúng vào đầu hàngđợi. Nó hỗ trợ quá trình thực thi trên
tất cả các packet trong hàng đợi và gỡ bỏcác packet cùng với địa chỉ đích đến.
- Mac Layer IEEE 802.11: phân phối chức năng tọa độ DCF (distributedcoordination
function, giao thức MAC được thực thi bởi CMU. Nó sử dụngkhuôn dạng
RTS/CTS/DATA/ACK cho tất cả các packet unicast và đơn giảnlà gửi ra data cho tất cả các
packet broadcast. Quá trình thực thi sử dụng cả phương thức cảm nhận sóng mang dạng vật lý
lẫn dạng ảo.

- Tap Agents: Các agents mà phân lớp của nó có thể tự đăng ký với đốitượng MAC bằng cách
sử dụng phương thức installTap(). Nếu giao thứcMAC cụ thể cho phép, Tap sẽ đưa ra các


paket nhận được bởi lớp MAC mộtcách lộn xộn, trước khi quá trình lọc địa chỉ được thực
hiện.
- Network Interfaces: Lớp giao tiếp mạng (Network Interphase) đáp ứngnhư giao tiếp phần
cứng (hardware interface) sử dụng bởi mobilenode để truysuất đến kênh truyền thông. Giao
diện của môi trường truyền thong wirelesschia sẽ được thực thi như lớp Phy/WirelessPhy.
Giao diện này tùy thuộc vàocác quá trình collision và mô hình truyền bá radio nhận các
packet truyền qua bởi giao diện của node khác đến kênh truyền.
- Mô hình truyền bá Radio: Sử dụng công thức tính sự suy giảm đối vớicác khoảng cách gần
là 1/r 2 và đối với khỏang cách xa là 1/r 4.
- Antenna: được sử dụng với mục đích chung bởi mobilenodes.
3.2.4

Viết mã tcl để thực thi mô phỏng mạng wireless

-

Bước 1: Tạo một thể hiện mô phỏng

-

Bước 2: Tạo file trace để lưu vết mô phỏng

-

Bước 3: Tạo đối tượng topo


-

Bước 4: Thiết lập không gian di chuyển cho các node

-

Bước 5: Tạo đối tượng GOD (Genaral Operations Director), đây là đốitượng được sử
dụng để lưu trữ các toàn bộ thông tin về trạng thái của môitrường, mạng, node… GOD
được gọi sử dụng tại lớp MAC trong node.

-

Bước 6: Cấu hình node

-

Bước 7: Tạo sự di chuyển cho node (đoạn mã sau mô tả sự di chuyểncủa node là
không ngẫu nhiên)


-

Bước 8: Thiết lập vị trí cho node (trong trường hợp các node di chuyển không ngẫu
nhiên)

-

Bước 9: Thiết lập thời điểm node di chuyển về vị trí tương ứng với tốc độ di chuyển

-


Bước 10: Thiết lập luồng traffic giữa các node (đoạn mã sau thiết lậpluồng cho node 0
và node 1)

-

Bước 11: Thiết lập thời gian dừng khi mô phỏng kết thúc

-

Bước 12: Bắt đầu thực thi mô phỏng


3.3

Thiết kế mô phỏng mạng để mô phỏng cho các giao thức định tuyến

theo yêu cầu trên mạng MANET
3.4

Phân tích kết quả mô phỏng
4 CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA

ĐỒ ÁN
4.1

Kết luận

4.2


Hướng phát triển

Tài liệu tham khảo



×