Tải bản đầy đủ
Chương 2: GIAO THỨC AODV VÀ DSDV TRONG MANET

Chương 2: GIAO THỨC AODV VÀ DSDV TRONG MANET

Tải bản đầy đủ

định, không cần thiết phải quảng bá. Bằng cách tự nhiên mà theo đó các bảng
định tuyến được phân phát, số tuần tự được gửi tới tất cả các máy di động, một
trong số đó quyết định duy trì một phần lưu trữ định tuyến cho máy di động khởi
tạo.
Một trong các tham số quan trọng được lựa chọn là thời gian giữa việc
quảng bá các gói thông tin định tuyến. Tuy nhiên, khi thông tin tuyến mới hoặc
tuyến sửa đổi được nhận bởi một nút di động, thông tin mới sẽ được phát lại sớm.
Việc quảng bá lại một cách nhanh chóng sẽ đưa ra một yêu cầu mới cho các giao
thức để hội tụ ngay khi có thể.
2.1.3. Cơ chế hoạt động
Giao thức DSDV yêu cầu mỗi trạm di động quảng cáo bảng định tuyến
của nó tới các trạm lân cận. Phần lưu trữ trong bảng có thể thay đổi động theo
thời gian. Vì vậy, việc quảng cáo phải tạo ra đầy đủ để đảm bảo rằng mọi máy
tính di động có thể thường xuyên định vị được các máy tính di động khác. Thêm
vào đó, mỗi nút di động phải chấp nhận trễ các gói dữ liệu truyền tới các nút
mạng khác theo yêu cầu. Sự chấp nhận này khuyến khích khả năng xác định số
bước nhỏ nhất cho một tuyến tới đích. Điều này cũng tránh nhiễu không cần thiết
tới các trạm di động đang trong cơ chế không hoạt động. Theo cách này một nút
di động có thể trao đổi dữ liệu với các nút di động khác trong nhóm thậm chí nếu
mục tiêu truyền dữ liệu không nằm trong vùng truyền thông trực tiếp.
Nút di động gây ra gián đoạn kết nối khi chúng di chuyển từ nơi này đến
nơi khác. Kết nối bị gián đoạn có thể được phát hiện bằng giao thức ở lớp 2 hoặc
nó có thể được suy ra nếu không có bản tin quảng bá nào được nhận từ một nút
mạng lân cận trước. Kết nối bị gián đoạn được mô tả như là một giá trị bước
bằng ∞. Khi một kết nối đến bước tiếp theo bị gián đoạn, các tuyến qua bước tiếp
theo đó được đánh dấu ngay lập tức bằng một giá trị bước ∞ và một số tuần tự
cập nhật. Việc xây dựng thông tin để miêu tả các kết nối bị gián đoạn chỉ là tình
trạng xảy ra khi số tuần tự được tạo ra bởi một trạm di động nào đó khác với nút
mạng đích. Số tuần tự đưa ra bởi các nút mạng khởi tạo, được định nghĩa là các
số bằng nhau và các số tuần tự được tạo ra để chỉ giá trị vô hạn là các số lẻ. Theo

39

cách này, các số tuần tự “thực” sẽ thay thế một giá trị bước bằng ∞. Khi một nút
mạng nhận một giá trị bước ∞ và nó có một số tuần tự sau cùng với một giá trị
hữu hạn, nó sẽ tạo ra một bản tin quảng bá cập nhật tuyến để thông báo các tin
tức quan trọng về đích.
Trong một số rất lớn các trạm di động, sự điều chỉnh sẽ giống như được
thực hiện trong thời gian giữa các lần quảng bá của các gói tin định tuyến. Để
làm giảm bớt lượng thông tin mang trong các gói này, người ta định nghĩa hai
loại thông tin. Một loại sẽ mang toàn bộ thông tin định tuyến, được gọi là “Full
dump” tức là kết xuất đầy.
Kiểu thứ hai là sẽ chỉ mang thông tin thay đổi kể từ “Full dump” cuối
cùng, được gọi là “Incremental” hay gia tăng. Theo thiết kế, một cập nhật định
tuyến gia tăng sẽ phù hợp với một đơn vị dữ liệu giao thức mạng (Network
Protocol Data Unit - NPDU). “Full dump” sẽ giống như yêu cầu các NPDU đa
phương, thậm chí có liên quan đến mật độ nhỏ các nút di động. Các “Full dump”
có thể được truyền không đều đặn khi không có sự di chuyển của các nút di
động. Khi sự di chuyển trở nên đều thường xuyên và cỡ của một “Incremental”
gần tới cỡ của một NPDU thì một “Full dump” có thể được đưa vào lịch trình.
Các nút di động sẽ bổ xung vài giá trị cho việc xác định những thay đổi tuyến
quan trọng để được gửi đi với mỗi quảng cáo “Incremental”. Trường hợp khi một
tuyến ổn định đưa ra một giá trị khác cho một số đích giống như cấu thành một
sự thay đổi quan trọng mà cần thiết được quảng cáo sau sự ổn định. Nếu một số
tuần tự mới cho một tuyến được nhận nhưng giá trị vẫn giống thế thì nó sẽ không
coi như một sự thay đổi quan trọng.
2.1.4. Tiêu chuẩn để lựa chọn tuyến
Khi một nút di động nhận một thông tin định tuyến mới (thường là một
gói “Incremental”), thông tin đó được so sánh với thông tin sẵn có từ các gói
thông tin định tuyến trước đó. Bất kỳ tuyến nào với số tuần tự mới hơn sẽ được
sử dụng. Các tuyến với số tuần tự cũ hơn bị vứt bỏ. Một tuyến với số tuần tự
bằng với tuyến đang tồn tại được lựa chọn nếu nó có một giá trị các bước tốt hơn
và khi tuyến bị loại bỏ hoặc được lưu một cách ít thích hợp hơn. Giá trị cho các

40

tuyến được lựa chọn từ thông tin quảng bá mới nhận mỗi lần tăng lên một bước.
Các tuyến được ghi mới sẽ được đưa vào lịch trình cho sự quảng cáo ngay lập
tức tới các nút lân cận hiện tại của nút di động. Các tuyến chỉ ra một giá trị cải
tiến được đưa vào lịch trình cho việc quảng cáo tại một thời gian mà phụ thuộc
vào thời gian nghỉ trung bình của các tuyến tới đích.
Trong một mẫu của các nhân tố truyền dẫn độc lập, một số sự thay đổi có
thể phát triển việc sử dụng các thủ tục trên cho các tuyến cập nhật. Một nút di
động đặc biệt nhận thông tin định tuyến mới trong một mẫu gây nên thay đổi các
tuyến từ bước tiếp sau tới các bước khác, thậm chí khi nút mạng đích không di
chuyển. Điều này xảy ra bởi vì có hai cách lựa chọn các tuyến mới: chúng có thể
có một số tuần tự mới hơn hoặc có một giá trị tốt hơn. Một nút di động luôn nhận
hai tuyến tới cùng một đích, với một số tuần tự mới hơn, nhưng thường có được
tuyến với giá trị không tốt đầu tiên. Mỗi giá trị mới được truyền tới các nút mạng
lân cận và các nút mạng lân cận lại truyền tới các nút mạng lân cân của nó và cứ
tiếp tục như thế.
Một giải pháp để làm trễ việc quảng cáo của các tuyến này khi một nút di
động có thể quyết định một tuyến với giá trị tốt hơn có khả năng đưa ra sớm.
Tuyến với số tuần tự mới hơn phải sẵn có để sử dụng, nhưng không phải được
quảng cáo ngay lập tức trừ khi trước đó có một tuyến không tới được đích. Vì
vậy, sẽ có hai bảng định tuyến được giữ tại mỗi nút mạng, một để sử dụng với
các gói phát và một để quảng cáo thông qua các gói tin định tuyến gia tăng. Để
xác định xác suất việc tới của thông tin định tuyến mang giá trị tốt hơn, nút di
động phải giữ một quá trình thời gian trung bình mà các tuyến tới một đích cụ thể
thay đổi cho tới khi tuyến nhận được giá trị tốt hơn. Thủ tục này có thể cho phép
dự đoán thời gian chờ đợi trước khi quảng cáo các tuyến mới.

41

2.1.5. Ví dụ về hoạt động của DSDV

Hình 2.1: Sự di chuyển trong mạng Ad-hoc
Trên hình 2.1 xem xét trạm di động 4 (MH ). Bảng 2.1 cho thấy một cấu
4
trúc của bảng định tuyến truyền phát được duy trì tại MH . Giả sử địa chỉ của
4
mỗi trạm di động được thể hiện là MH và tất cả các số tuần tự được biểu thị là
i
SNNN_MH với MH là trạm di động tạo ra số tuần tự đó và SNNN là giá trị số
i
i
tuần tự. Cũng giả sử rằng có các phần lưu trữ dành cho tất cả các trạm di động
với các số tuần tự SNNN_MH trước khi MH di chuyển ra xa MH . Trường
i
1
2
thời gian cài đặt giúp việc ra quyết định khi xóa tuyến cũ. Từ bảng 2.1, địa chỉ
của mỗi trạm có thể ước lượng được trong trường hợp tất cả các trạm trở thành
khả dụng với MH tại một khoảng thời gian, bởi vì thời gian cài đặt cho phần
4
lớn chúng là tương tự. Địa chỉ của mỗi trạm cũng có thể ước lượng khi mà
không có kết nối nào giữa các trạm bị gián đoạn. Ptr1_MH là các con trỏ trỏ tới
i
các cấu trúc rỗng, bởi vì không có tuyến nào trên hình 2.1 bị thay thế hoặc
tranh chấp với

các tuyến khác để tới đích.

42

Bảng 2.1: Cấu trúc bảng định tuyến truyền đi của MH4
Đích

Bước kế

Giá trị

Số tuần tự

Cài đặt

Cờ

Dữ liệu ổn

Cài đặt

tiếp

bước

MH1

MH2

2

S406_MH1 T001_MH4

Ptr1_MH1

MH2

MH2

1

S128_MH2 T001_MH4

Ptr1_MH2

MH3

MH2

2

S564_MH3 T001_MH4

Ptr1_MH3

MH4

MH4

0

S710_MH4 T001_MH4

Ptr1_MH4

MH5

MH6

2

S392_MH5 T002_MH4

Ptr1_MH5

MH6

MH6

1

S076_MH6 T001_MH4

Ptr1_MH6

MH7

MH6

2

S128_MH7 T002_MH4

Ptr1_MH7

MH8

MH6

3

S050_MH8 T002_MH4

Ptr1_MH8

định

Bảng 2.2: Bảng định tuyến quảng bá của MH4
Đích
MH1

Giá trị bước
2

Số tuần tự
S406_MH1

MH2

1

S128_MH2

MH3

2

S564_MH3

MH4

0

S710_MH4

MH5

2

S392_MH5

MH6

1

S076_MH6

MH7

2

S128_MH7

MH8

3

S050_MH8

Bây giờ giả sử MH
MH

7

1

di chuyển trong vùng phủ chung của MH

5



và đến từ vùng khác (MH ). Các bảng định tuyến mới tại MH phải
2
4

xuất hiện sau đó như trên bảng 2.3.

43

Bảng 2.3: Bảng định tuyến truyền đi của MH4
Đích

Giá trị bước

Số tuần tự

MH

0

S820_MH

3

S516_MH

1

S238_MH

2

S674_MH

2

S502_MH

1

S186_MH

2

S238_MH

3

S160_MH

MH
MH
MH
MH

4
1
2
3
5

MH

6
MH7
MH

8

Chỉ đầu vào cho MH

1

4
1
2
3
5
6
7
8

đưa ra một giá trị mới, nhưng trong thời gian

xen vào đó, nhiều đầu vào với số tuần tự mới được nhận. Bởi vậy, phần đầu vào
đầu tiên phải được quảng cáo trong thông tin định tuyến gia tăng tiếp theo cho
tới khi một “full dump” kế tiếp xảy ra. Khi MH

1

di chuyển trong vùng phủ

chung của MH và MH , nó tạo ra một gói cập nhật thông tin định tuyến gia
5
7
tăng mà sau đó quảng bá tới MH . MH xác định rằng thông tin định tuyến
6
6
mới quan trọng đã được nhận, nó cũng tạo ra một gói cập nhật ngay lập tức
mà được mang dọc theo các thông tin định tuyến mới cho MH . Sau đó, dựa trên
1
việc nhận thông tin này, MH sẽ quảng bá nó cho tới khi “full dump” tiếp theo
4
xuất hiện.
Trong quảng cáo này, thông tin định tuyến cho MH
vì nó đang quảng cáo. Thông tin định tuyến cho MH
44

1

4

đến đầu tiên bởi

đến tiếp sau, không

phải vì nó có địa chỉ thấp hơn mà bởi vì MH có sự thay đổi tuyến quan trọng
1
ảnh hưởng đến nó. Điều này như một quy tắc chung, các tuyến với các giá trị
thay đổi đầu tiên được chứa đựng trong mỗi gói gia tăng. Không gian còn lại
được sử dụng bao gồm các tuyến với các số tuần tự đã thay đổi.
Giảm những thay đổi thất thường: Phần tiếp theo miêu tả bảng thời
gian được sử dụng để làm giảm những thay đổi thất thường của các quảng cáo
phần lưu trữ bảng định tuyến. Vấn đề chung nảy sinh bởi các gói cập nhật định
tuyến được lựa chọn theo các tiêu chuẩn sau:
- Các tuyến luôn được ưu tiên nếu có số tuần tự lớn hơn.
- Mặt khác, các tuyến sẽ được ưu tiên hơn nếu các số tuần tự như nhau
nhưng giá trị các bước nhỏ hơn.
Giả sử hai tuyến với các số tuần tự giống hệt nhau được nhận bởi một
trạm di động nhưng theo một thứ tự sai. Nói cách khác, giả sử rằng MH nhận
4
bước kế tiếp có giá trị cao hơn trước tiên và sau đó nhận một bước tiếp khác với
giá trị nhỏ hơn nhưng số tuần tự là như nhau. Điều này có thể xảy ra khi có
nhiều các trạm di động truyền phát các gói cập nhật của nó không đều đặn. Nếu
các trạm di động đang hoạt động độc lập với các khoảng truyền dẫn khác nhau
rõ ràng thì tình trạng này có thể ít xảy ra hơn với các trạm. Giả sử, ở hình 3.2
trong sự kiện có đủ các trạm di động để gây ra vấn đề trong hai kiểu tách rời
của các trạm di động đều kết nối tới một đích chung MH . Giả sử tiếp rằng
9
tất cả các trạm di động đang truyền các gói cập nhật khoảng 15s, trạm di
động MH có một tuyến tới MH với 12 bước và trạm di động MH có một
2
9
6
tuyến tới MH với 11 bước. Hơn nữa, giả sử gói cập nhật thông tin định
9
tuyến từ MH

2

đến MH khoảng chừng 10s trước gói cập nhật thông tin định
4

tuyến từ MH . Điều này sẽ xảy ra mọi lúc với một số tuần tự mới được đưa ra
6
từ trạm di động MH . Trong thực tế, việc sai lệch thời gian có thể rất lớn nếu
9
45

trạm di động trong kiểu II bắt đầu đưa ra các gói cập nhật số tuần tự trong các
khoảng thời gian cập nhật gia tăng đa phương, như xảy ra trong trường hợp khi
có quá nhiều trạm với các gói cập nhật số tuần tự mới phù hợp

với một gói cập

cập nhật gia tăng đơn.

Hình 2.2: Các tuyến thay đổi thất thường
Thời gian nghỉ được tính toán bằng việc duy trì một sự vận hành, lấy
trung bình qua các gói cập nhật mới nhất của các tuyến cho mỗi đích.
Giả sử một gói cập nhật thông tin định tuyến mới đến trạm di động MH .
4
Số tuần tự trong phần lưu trữ mới là giống với số tuần tự trong phần lưu trữ sử
dụng hiện tại, và phần lưu trữ mới hơn có một giá trị sai. Tiếp đó MH phải
4
sử dụng phần lưu trữ mới trong việc đưa ra các quyết định truyền phát tiếp
theo. Tuy nhiên, MH

4

không phải quảng cáo tuyến mới ngay lập tức và có

thể tham khảo bảng thời gian nghỉ tuyến của nó để quyết định phải chờ đợi bao
lâu trước khi quảng cáo. Thời gian nghỉ trung bình được sử dụng cho quyết
định này. Ví dụ, MH có thể quyết định trễ một khoảng bằng hai lần thời gian
4
nghỉ trung bình trước khi quảng cáo một tuyến.
Điều này có thể khá hữu ích bởi nếu tuyến không ổn định được quảng bá
ngay lập tức thì hiệu quả sẽ gây gợn sóng qua mạng và điều này sẽ được lặp lại

46

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