Tải bản đầy đủ
Hình 2.2: Các tuyến thay đổi thất thường

Hình 2.2: Các tuyến thay đổi thất thường

Tải bản đầy đủ

mỗi khi các gói cập nhật số tuần tự của MH làm gợn sóng qua mạng Ad hoc.
9
Theo cách khác, nếu một kết nối qua MH thực sự gián đoạn thì việc quảng cáo
6
của một tuyến thông qua MH sẽ tiếp tục ngay lập tức. Để đạt được điều này
2
khi đã có một quá trình thay đổi tại MH , việc gián đoạn kết nối sẽ được phát
4
hiện nhanh đủ để một trạm trung gian trong kiểu II tìm ra vấn đề và bắt đầu một
gói cập nhật ra tăng cho thấy một giá trị bước ∞ cho một tuyến dọc theo đường
tới trạm di động MH . Các tuyến với giá trị bước ∞ theo quy tắc của giao thức
9
này được quảng cáo ngay lập tức không cần trễ.
2.1.6. Kết luận
Thuật toán DSDV đã được đề xuất như một sự biến đổi của phương
pháp định tuyến vector khoảng cách mà trong đó các nút mạng di động hợp
thành một mạng Ad hoc. DSDV rất hữu ích cho việc tạo ra các mạng Ad-hoc có
số lượng các nút di động nhỏ nhưng không hữu ích cho số lượng lớn. DSDV
cũng yêu cầu mỗi nút di động duy trì một danh sách hoàn thành các tuyến từ
một nút mạng tới đích nằm trong mạng Ad- hoc. Việc giữ bảng định tuyến làm
giảm độ trễ định tuyến trước khi truyền gói đầu tiên tới đích. Thường hệ thống
lớn quảng bá giới hạn kích thước mạng Ad hoc có thể sử dụng hiệu quả DSDV
bởi vì overhead thông báo điều khiển tăng lên 0(n2). DSDV cũng yêu cầu mỗi
nút di động duy trì một danh sách toàn bộ tuyến. Việc giữ bảng định tuyến sẽ
làm giảm độ trễ định tuyến trước khi truyền gói đầu tiên tới đích. Do đó, ưu
điểm và nhược điểm chính của DSDV là:
Ưu điểm: Thời gian trả lời định tuyến nhanh.
Nhược điểm: Sẽ phải thực hiện quá nhiều điều khiển lưu lượng khi có
nhiều sự thay đổi trên mạng.
2.2. Giao thức AODV
Thuật toán định tuyến AODV là giao thức định tuyến được thiết kế cho mạng
ko dây Ad-hoc. AODV có khả năng định tuyến unicast và multicast. Nó là thuật toán
47

theo yêu cầu, nhiệm vụ chính là xây dựng tuyến giữa các node theo ý muốn của
node nguồn. Nó bao gồm các tuyến đường cần thiết được yêu cầu từ nguồn. Thêm
vào đó, AODV tạo thành cây kết nối các thành viên trong nhóm multicast. Cây này
bao gồm nhóm các thành viên và các node cần thiết phải kết nối đến các thành viên.
AODV sử dụng số thứ tự để đảm bảo sự làm tươi của các tuyến đường. Nó là loopfree, self-starting, và quy mô số lượng lớn các node di động.
Việc xây dựng tuyến của AODV sử dụng một route request/ route reply
query cycle. Khi một node nguồn mong muốn đến một đích mà nó không có sẵn
một tuyến đường, nó sẽ quảng bá một gói tin route request (RREQ) cho toàn
mạng. Node nhận gói tin này sẽ cập nhật thông tin của chúng cho node nguồn
trong bảng định tuyến. Thêm vào đó là địa chỉ IP của node nguồn, số thứ tự hiện
tại, ID quảng bá, RREQ cũng có số thứ tự gần đây nhất cho node đích để báo cho
nguồn biết. Một node nhận được RREQ có thể gửi một route reply (RREP) nếu
nó có thông tin của node đích hoặc nếu nó có một tuyến đường đến đích với số
thứ tự tương ứng lớn hơn hoặc bằng có chứ trong RREQ. Trong trường hợp này,
nó unicast lại một RREP đến nguồn, nếu không nó sẽ rebroadcasts RREQ. Các
node theo dõi địa chỉ IP nguồn cua RREQ và quảng bá ID. Nếu chúng nhận được
một RREQ đã được xử lý, chúng sẽ loại bỏ RREQ và không chuyển tiếp nó.
Khi RREP truyền ngược trở lại nguồn, các node thiết lập việc chuyển tiếp
các điểm đến đích. Khi node nguồn nhận được RREP, nó sẽ bắt đầu chuyển tiếp
cá gói dữ liệu đến đích. Nếu nguồn sau đó nhận được một RREP chứa số thứ tự
lớn hơn hoặc có cùng số thứ tự vs một hop nhỏ hơn, nó có thể cập nhật thông tin
định tuyến của nó cho điểm đó và bắt đầu sử dụng các tuyến đường tốt hơn.
Khi nào các tuyến đường vẫn còn hoạt động, nó sẽ tiếp tục được duy trì.
Các tuyến đường được xem là hoạt động như là khi các gói dữ liệu ddihnj kì di
chuyển từ nguồn đến đích dọc theo con đường đó. Khi nguồn dừng gửi các gói
dữ liệu, các liên kết sẽ time out và cuối cùng bị xóa khỏi bảng định tuyến của các
node trung gian. Nếu các liên kết đứt khi các tuyến đường đang hoạt động, nopde
thượng nguồn sẽ truyền đi một thông điệp trên tuyến đường lỗi (RERR) đến node
nguồn để thông báo cho các đích hiện tại không thể truy cập được. Sau khi nhận

48

được RERR, nếu node nguồn vẫn muốn đi theo con đường đó nó có thể việc bắt
đàu lại việc khám phá tuyến.
Các tuyến đường Multicast được thiết lập theo cách mô phỏng. Một node
có nhu cầu tham gia vào một nhóm multicast quảng bá một RREQ với địa chỉ IP
đích của nhóm multicast và một cờ J được thiết lập chỉ ra rằng nó muốn tham gia
vào nhóm. Bất kì một node nào nhận được RREQ là một thành viên của cây
multicast có một số thứ tự đủ làm tươi cho nhóm multicast để có thể gửi RREP.
Khi các RREP trở lại nguồn, node chuyển tiếp các thông điệp thiết lập một con
trỏ trong bảng định tuyến multicast của chúng. Khi node nguồn nhận được
RREP, nó sẽ theo dõi các tuyến đường với số thứ tự làm tươi và số lượng hop là
nhỏ nhất đến các thành viên của nhóm multicast tiếp theo. Sau thời gian phát
hiện quy định, node nguồn sẽ gửi tin nhắn unicast Multicast Activation (MACT)
đến các hop tiếp theo được lựa chọn. Thông báo này phục vụ cho mục đích kích
hoạt các tuyến đường. Một node không thể nhận được thông điệp này khi đã thiết
lập một con trỏ tuyến multicast sẽ time out và xóa các con trỏ. Nếu node nhận
được MACT không phải là một phần của cây multicast, nó cũng sẽ được theo dõi
như con đường tốt nhất từ các RREP nó nhận được. Do đó nó cũng phải unicast
một MACT đến hop tiếp theo của nó và cứ như vậy cho đến khi đạt được một
node mà trước đây là một thành viên của cây multicast.
ADOV duy trì các tuyến đường dài như tuyến đường hoạt động. Nó bao
gồm việc duy trì một cây multicast cho cuộc sống của nhóm multicast. Vì các
node mạng là di động, nó có khả năng làm vỡ các liên kết dọc theo tuyến đường
sẽ xảy ra trong suốt quá trình của tuyến đường đó.
2.2.1. Định tuyến trong AODV
Phát hiện tuyến dựa trên chu kì truy vấn và trả lời, và thông tin tuyến
đường được lưu trữ trong tất cả các node trung gian dọc theo tuyến đường theo
định dạng các entries trong bảng định tuyến. Việc kiểm soát các gói tin sử dụng:
thông điệp định tuyến yêu cầu RREQ được phát sóng bởi một node yêu cầu một
tuyến đến các node khác, thông điệp trả lời tuyến RREP được unicast đến nguồn
của RREQ, và thông điệp lỗi tuyến RERR được gửi để thông báo cho các node

49

khác về sự mất mát của liên kết. Các thông điệp HELLO được sử dụng để phát
hiện và theo dõi liên kết với láng giềng.
2.2.1.1. Bảng định tuyến
Mỗi dòng bảng định tuyến bao gồm các thông tin:
-

Đích

-

Chặng kế tiếp

-

Số hop

-

Số thứ tự của đích

-

Hoạt động của láng giềng trên tuyến đường này

-

Thời gian hết hạn để tham gia bảng định tuyến
Thời gian hết hạn được gọi là cuộc đời, được thiết lập lại mỗi khi tuyến
đường đã được sử dụng. Thời gian hết hạn mới là tổng của thời gian hiện tại và
một tham số được gọi là thời gian chờ hoạt động của tuyến đường. Tham số này
cũng được gọi là thời gian chờ trong bộ đệm của tuyến đường, là thời gian sau
khi tuyến đường được coi là hợp lệ, và vì vậy các node không nằm trên tuyến
đường được xác định bởi RREP sẽ xóa khỏi các entries đảo ngược của chúng.
Nếu thời gian chờ của các tuyến đường hoạt động là đủ lớn để sửa chữa các
tuyến đường thì nó sẽ duy trì các tuyến đường.
2.2.1.2. Thông điệp điều khiển
Yêu cầu định tuyến
Khi một tuyến đường không có sẵn đến đích, một gói tin yêu cầu tuyến
RREQ sẽ được chuyển ra toàn mạng. RREQ bao gồm các trường sau:
Source

Request Source

Destination

Destination

Hop

Address

ID

Address

Sequence

count

sequence
No.

no.

Request ID được tăng lên mỗi lần node nguồn gửi RREQ mới, vì vậy, cặp
(source address, request ID) định nghĩa một RREQ duy nhất. Khi nhận được
thông điệp RREQ mỗi node sẽ kiểm tra địa chỉ nguồn và request ID. Nếu node đã
nhận được một thông điệp RREQ với các cặp cùng thông số các gói tin RREQ

50

mới sẽ được loại bỏ. Nếu không, RREQ sẽ bị hoặc chuyển tiếp (quảng bá) hoặc
được trả lời với một thông điệp RREP:
-

Nếu node không có mục tuyến đường đến đích, hoặc có một nhưng nó lại không
cập nhật thêm tuyến nào nữa, RREQ sẽ được quảng bá lại với số lượng chặng

-

được tăng lên.
Nếu node có một tuyến đường với số thứ tự lớn hơn hoặc bằng với RREQ, một
thông điệp RREP sẽ được tạo ra và gửi trở lại nguồn.
Số lượng các thông điệp RREQ , một node có thể gửi 2 lần để được giới hạn.
Có một cách tối ưu hóa của AODV là sử dụng kĩ thuật vòng mở rộng
(ESR)khi mà thông điệp RREQ ngập lụt. Tất cả các RREQ đều có một giá trị
thời gian tồn tại(Time To Live – TTL) được qui định cụ thể về số lần thông điệp
được quảng bá lại. Giá trị này được thiết lập để có một giá trị xác định trước lần
truyền đầu tiên và tăng số lần truyền lại.Truyền lại được thực hiện khi không có
thông điệp nào được trả lại. Trong lịch sử, flooding được sử dụng một TTL đủ
lớn- lớn hơn đường kính của mạng để đến được tất cả các node trong mạng. Do
đó, để đảm bảo khám phá các tuyến đường thành công chỉ cần một vòng
flooding. Tuy nhiên đây là cách tiếp cận chậm trễ gây ra chi phí cao và các thông
điệp quảng bá không cần thiết.
Trả lời định tuyến
Nếu một node là node đích, hoặc có một tuyến đường đến đích, nó sẽ
unicast một thông điệp trả lời định tuyến RREP trở lại nguồn. Thông điệp đó có
định dạng:
Source

Destination

Destination

Address

Address

sequence no.

Hop count

Life-time

Một lí do có thể unicast RREP trở lại là tất cả các node chuyển tiếp một
thông điệp RREQ lưu trữ một tuyến đường quay trở lại node nguồn.
Tuyến đường lỗi.
Tất cả các node sẽ theo dõi khu vực lân cận của mình. Khi một node trong
tuyến đường hoạt động bị mất, một thông điệp lỗi tuyến đường (RERR) được tạo

51

ra để thông báo cho các node khác trên cả 2 phía của liên kết của việc mất liên
kết này.
Thông điệp Hello
Mỗi node có thể nhận biết các vùng lân cận bằng cách sử dụng khu vực
phát sóng cục bộ, cái được gọi là thông điệp HELLO. Các node láng giềng là tất
cả các node mà có thể truyền thông trực tiếp. Thông qua AODV là giao thức
phản ứng nó sử dụng các thông điệp HELLO định kì để thông báo cho láng giềng
của mình biết là liên kết vẫn tồn tại. Thông điệp HELLO sẽ không bao giờ được
chuyển tiếp vì nó được quảng bá với TTL=1. Khi một node nhận được thông
điệp HELLO, nó sẽ làm tươi lại cuộc sống về thông tincuar láng giềng trong
bảng định tuyến.
Việc quản lí kết nối cục bộ cần được phân biệt với cấu trúc liên kết quản lí nói
chung để tối ưu hóa thời gian phản ứng để thay đổi vùng cục bộ trong mạng.
2.2.1.3. Số thứ tự
- Counting to infinity
- Time stamping
Số thứ tự là đặc điểm rất quan trọng của AODV, để loại bỏ thông tin cũ và
không có giá trị từ mạng. Chúng làm việc như một kiểu dấu thời gian và ngăn
chặn giao thức AODV từ các vấn đề vòng lặp. Số thứ tự đích đến mỗi đích được
lưu trữ trong bảng định tuyến và được cập nhật trong bảng định tuyến khi node
nhận được thông điệp với số thứ tự lớn hơn. Các host có thể thay đổi số thứ tự
của nó nếu nó cung cấp một tuyến đường mới cho chính mình, hoặc nếu một số
con đường đã hết hạn hoặc bị phá vỡ.
Mỗi host giữ một số thứ tự của chính mình, nó được thay đổi trong hai
trường hợp sau:
- Trước khi node gửi các thông điệp RREQ, số thứ tự của nó sẽ được tăng lên.
- Khi các node hồi đáp thông điệp RREQ bằng cách gửi một thông điệp RREP,
số thứ tự của nó sẽ trở thành tối đa và đó chính là số thứ tự hiện tại và là số thứ
tự của node nhận được thông điệp RREQ.

52

Lí do là nếu số thứ tự đã đăng kí lớn hơn số thứ tự trong gói tin, thì các
tuyến đường hiện tại không được cập nhật. Số thứ tự không bị thay đổi bằng cách
gửi các thông điệp HELLO.
2.2.1.4. Khám phá tuyến
Việc khám phá tuyến bắt đầu xử lí khi một node nguồn không có thông tin
tuyến đường đến một node nào đó để truyền thông. Khám phá tuyến được bắt
đầu bởi việc quảng bá thông điệp RREQ. Tuyến đường được thiết lập khi nhận
được một thông điệp RREP. Một node nguồn có thể nhận nhiều thông điệp RREP
với các tuyến đường khác nhau. Sau đó sẽ cập nhật các mục định tuyến của nó
khi và chỉ khi RREP có một số thứ tự lớn hơn, tức là những thông tin mới hơn.
Thiết lập con đường ngược
Trong khi truyền các thông điệp RREQ thông qua mạng, mỗi node sẽ ghi
chú con đường ngược lại về nguồn. Khi node đích được tìm thấy, thông điêp
RREP sẽ đi qua con đường này, do đó việc quảng bá là không cần thiết. Đối với
mục đích này, các node tiếp nhận gói RREQ từ một hàng xóm sẽ ghi lại địa chỉ
của hàng xóm này.
Thiết lập con đường thuận
Khi quảng bá gói tin RREQ đến node mà có con đường đến đích, con
đường ngược sẽ được sử dụng để gửi các thông điệp RREP. Trong khi truyền các
thông điệp RREP thì con đường thuận được thiết lập. Có thể nói con đường thuận
và con đường ngược là đối xứng với nhau. Ngay khi con đường thuận được xây
dựng, việc truyền dữ liệu có thể được bắt đầu. Các gói dữ liệu sẽ đợi để được
truyền tại bộ đệm cục bộ và truyền đi trong hàng đợi FIFO khi một tuyến đường
được thiết lập.
Sau khi thông điệp RREP được chuyển tiếp bởi một node, nó có thể nhận
một thông điệp RREP khác. RREP mới này có thể bị hủy bỏ hoặc chuyển tiếp tùy
thuộc vào số thứ tự đến đích của nó:
-

Nếu RREP mới có số thứ tự đích lớn hơn, sau đó các tuyến đường nên được cập
nhật, và RREP được chuyển tiếp.

53

-

Nếu số thứ tự đích của RREP cũ và mới giống nhau, nhưng RREP mới có số chặng
nhỏ hơn, RREP mới này được sử sụng và được chuyển tiếp.

-

Nếu không thuộc hai trường hợp trên thì tất cả các thông điệp RREP sẽ bị hủy
bỏ.
2.2.1.5. Tối ưu hóa chuỗi TTL
Gói tin RREQ được bắt đầu với giá trị TTL nhỏ, sau đó bởi các gói tin
RREQ với việc được tăng giá trị TTL cho đến khi một treshold đạt được nhất
định. Sau đó nếu không tuyến đường nào được tìm thấy, gói tin RREQ sẽ tràn
ngập trên toàn bộ mạng.
2.2.1.6. Liên kết bị phá vỡ
Vì các node có thể di chuyển nên các liên kết bị phá vỡ có thể xảy ra. Nếu
một node không nhận được một thông điệp HELLO từ một trong số ccas hàng
xóm của mình trong một khoảng thời gian cụ thể được gọi là Hello interval, sau
đó:

-

Các entry sẽ cho rằng những hàng xóm trong bảng được thiết lập không hợp lệ.

-

Thông điệp RRER được tạo ra để thông báo cho các node biết là liên kết bị phá
vỡ, thông điệp RRER thông báo cho tất cả các nguồn bằng cách sử dụng một liên
kết khi xảy ra lỗi.
2.2.2. Đặc tính của AODV
2.2.2.1. Merits của AODV
Giao thức định tuyến AODV không cần bất cứ một hệ thống trung tâm
hành chính nào để kiểm soát quá trình định tuyến. Giao thức phản ứng như
AODV có xu hướng giảm các thông điệp điều khiển luồng với chi phí tăng lên
của độ trễ trong việc tìm kiếm các tuyến đường mới.
AODV phản ứng tương đối nhanh chóng để thay đổi topo mạng và chỉ cập
nhật các node bị ảnh hưởng bởi việc thay đổi.
Thông điệp HELLO được hỗ trợ duy trì tuyến là phạm vi được giới hạn, vì
vậy chúng không gây ra chi phí không cần thiết trong mạng.

54

Giao thức định tuyến AODV tiết kiệm không gian lưu trữ cũng như năng
lượng. Các node đích chỉ trả lời một lần cho yêu cầu đầu tiên và bỏ qua phần còn
lại. Các bảng định tuyến duy trì nhiều nhất trong một entry của mỗi đích đến.
Nếu một node có sự lựa chọn giữa hai tuyến đường, tuyến đường nào
được cập nhật với số thứ tự đích lớn hơn sẽ được chọn. Nếu entry trong bảng
định tuyến không được sử dụng thời gian gần đây, entry đó là hết hạn. Một tuyến
đường không hợp lệ sẽ được xóa: Các gói tin lỗi đến tất cả các node bằng cách sử
dụng một liên kết bị lỗi trên tuyến đường đến bất kì một đích nào đó.

2.2.2.2. Những mặt hạn chế của AODV
Nó có thể là một tuyến đường hợp lệ đã hết hạn. Xác định thời gian hết
hạn hợp lí là rất khó, vì các node là di động và nguồn gửi với tốc độ có thể khác
nhau rất nhiều, và có thể thay đổi tự động từ node này tới node khác.
Hơn nữa, AODV chỉ có thể thu thập một số lượng rất hạn chế của thông
tin định tuyến, học các tuyến đường được giới hạn chỉ đến nguồn của các gói tin
định tuyến được chuyển tiếp. Điều này khiến cho AODV phụ thuộc vào khám
phá tuyến flood thường xuyên hơn. Không kiểm soát được flooding tạo ra nhiều
đường truyền dự phòng, điều này có thể gây ra vấn đề được gọi là cơn bão quảng
bá.
Điều khác biệt chính giữa các mạng nhỏ và mạng lớn là chiều dài trung
bình của tuyến đường. Một tuyến đường dài, các liên kết dễ bị phá vỡ và yêu cầu
kiểm soát chi phí cao cho việc bảo trì của nó.
AODV dễ bị ảnh hưởng bởi các cuộc tấn công khác nhau, vì nó dựa trên
việc giả định rằng tất cả các node sẽ cộng tác với nhau. Nếu không có sự hợp tác
này, không tuyến đường nào có thể được thiết lập và gói tin không thể chuyển
tiếp được. Có hai loại chính của các node không hợp tác: chứa mã độc và ích kỉ.
Các node chứa mã độc hoặc là bị lỗi và không thể thực hiện theo các giao thức,
hoặc cố ý chứa mã độc và cố gắng tấn công. Sự ích kỉ là không hợp tác một số

55

hoạt động trong mạng lưới, giảm các gói tin có thể ảnh hưởng đến hiệu suất
nhưng có thể tiết kiệm năng lượng pin.

56

Chương 3: MÔ PHỎNG, SO SÁNH, PHÂN TÍCH, ĐÁNH
GIÁ HIỆU NĂNG MẠNG CỦA GIAO THỨC AODV VÀ
DSDV TRÊN NS2
3.1. Mô phỏng hoạt động của giao thức AODV và DSDV trên NS2
Kịch bản mô phỏng
Lựa chọn khu vực mô phỏng mạng ad hoc theo hình vuông. Việc mở rộng
diện tích khu vực mô phỏng này sẽ đảm bảo cho các nút mạng di động có đủ
không gian chuyển động với quãng đường đi lớn nhất lên tới 1,5x√2 = 2,12Km .
Theo chuẩn 802.11 thì vùng thu phát sóng của nút di động tối đa là 250m.
Mạng mô phỏng bao gồm 20 nút di động phân bố ngẫu nhiên trong diện
tích mô phỏng với tọa độ các nút là (x, y, z) trong đó z = 0 (Mặt phẳng).
Vị trí ban đầu của các nút được khởi tạo ngẫu nhiên như vậy nhằm làm tăng
tính khách quan trong quá trình mô phỏng.
Mô hình di chuyển sử dụng mô hình Random Waypoint. Đây là mô hình có
tính linh động cao nên được sử dụng phổ biến và rộng rãi nhất.
-

Sử dụng giao thức DSDV và AODV

-

Mạng gồm 21 nút

-

Diện tích 500m x 500m

-

Thời gian mô phỏng là 150s.
File thực thi mô phỏng là DSDV.tcl và AODV.tcl

57