Giao thức định tuyến véc tơ khoảng cách tuần tự đến đích (DSDV)

Một phần của tài liệu Mô phỏng và đánh giá các giao thức định tuyến trong mạng ad hoc (Trang 36)

Giao thức định tuyến DSDV là một giao thức định tuyến điều khiển theo bảng ghi dựa trên thuật toán định tuyến phân bố cổ điển Bellman-Ford do đó nó có những đặc điểm của giao thức véc tơ khoảng cách. Ở đây có sự cải tiến đó là tránh các vòng lặp tuyến trong bộ định tuyến. Mỗi nút trong mạng duy trì một bảng định tuyến bao gồm tất cả các đích có thể đến trong mạng và số chặng đến mỗi đích. Do đó, thông tin định tuyến luôn sẵn sàng, bất kể nút nguồn có yêu cầu một tuyến hay không.

Một hệ thống đánh số thứ tự SN (sequence number) được sử dụng để cho phép các nút mạng có thể phân biệt các tuyến cũ và mới. Thông tin cập nhật bảng định tuyến được

gửi định kỳ qua mạng để duy trì tính ổn định của bảng. Ngoài ra, giao thức này phản

ứng tương đối nhanh khi topo mạng thay đổi, nút mạng sẽ phát đi các bản tin quảng bá ngay khi phát hiện topo mạng thay đổi.

2.2.2 Mô tả 

Trong mạng di động Ad-hoc, mỗi nút mạng gồm có 2 địa chỉ: địa chỉ vật lý (MAC) và địa chỉ mạng. Giao thức DSDV có thể làm việc với cả 2 địa chỉ này. Nếu giao thức hoạt động ở lớp 3 thì bảng định tuyến sẽ sử dụng địa chỉ mạng này cho địa chỉ của nút nguồn, đích và các nút trung gian. Nếu giao thức hoạt động ở lớp 2 thì bảng định tuyến sẽ sử dụng địa chỉ vật lý. Tuy nhiên nếu sử dụng địa chỉ vật lý lại phát sinh một số yêu

cầu đối với giao thức do đó để đơn giản, trong đồ án em dùng địa chỉ mạng để mô tả quá trình hoạt động của giao thức DSDV.

Trong giao thức DSDV, các bản tin được truyền giữa các nút mạng dựa trên bảng định tuyến được lưu tại mỗi nút trong mạng. Mỗi bảng định tuyến tại mỗi nút mạng bao gồm tất cả các nút mạng đích và số chặng để tới mỗi đích. Mỗi entry trong bảng được đánh dấu bởi SN được tạo bởi nút mạng đích. Mỗi nút mạng gồm 2 bảng định tuyến: một bảng dùng để chuyển tiếp các bản tin, một bảng dùng để quảng bá các bản tin định tuyến.

A B C D

Hình 2-1 Mô hình mạng Ad-hoc gồm 4 nút mạng

Giả sử với topo mạng như trên ta sẽ có bảng định tuyến của nút A (để gửi gói tin) Bảng 2-1 Bảng định tuyến của nút A

Destination Next Hop Metric SN Install Time Stable Data A A 0 A-846 001000 Ptr_A B B 1 B-470 001200 Ptr_B C B 2 C-920 001500 Ptr_C D B 3 D-502 001200 Ptr_D

Trong đó:

Destination: địa chỉ IP của nút đích

Next hop: nút tiếp theo mà bản tin sẽ chuyển tới trên đường tới đích. Metric: số chặng mà bản tin phải đi qua để tới đích.

SN (sequence number): được tạo ra bởi nút đích, để tránh các vòng lặp tuyến. Install Time: thời gian thiết lập entry của nút mạng tương ứng.

Stable Data: những thông tin định tuyến ổn định (giảm sự biến thiên của bảng định tuyến).

Bảng định tuyến để quảng bá các bản tin định tuyến:

Bảng 2-2 Bảng quảng bá định tuyến của nút A

Destination Next Hop Metric SN Install Time Stable Data A A 0 A-846 001000 Ptr_A B B 1 B-470 001200 Ptr_B C B 2 C-920 001500 Ptr_C D B 3 D-502 001200 Ptr_D

Để đảm bảo tính nhất quán của bảng định tuyến trong mô hình mạng động, mỗi nút

mới. Các bản tin cập nhật này sẽ cho biết dữ liệu cần đi từ nút nào đến nút nào và số chặng để tới được nút đó, cũng giống như trong thuật toán vec tơ khoảng cách.

2.2.2.1 Quảng  định tuyến 

Giao thức DSDV yêu cầu mỗi nút mạng quảng bá bảng định tuyến của nó tới các nút hàng xóm. Thông tin định tuyến được quảng bá broadcast hoặc multicast và được phát định kỳ ngay cả khi topo mạng không đổi. Khoảng thời gian giữa những lần nhận bản tin quảng bá được ghi lại trong một bảng thời gian và dựa vào đó, các nút mạng có thể

đưa ra quyết định làm chậm quá trình quảng bá các bản tin đó cùng SN nhưng khác

metric để làm giảm sự biến thiên của bảng định tuyến.

Những entry trong bảng có thể thay đổi theo thời gian, do đó các bản tin quảng bá phải

được phát thường xuyên để đảm bảo mỗi nút mạng đều có thể xác định được các nút

khác trong mạng. Ngoài ra, các nút mạng có thể đóng vai trò như một nút chuyển tiếp các bản tin tới các nút khác khi được yêu cầu, do đó các nút mạng có thể trao đổi dữ liệu với các nút khác ngay cả khi các nút đích không nằm trong phạm vi truyền của nút nguồn.

Tất cả các nút mạng đều phải làm việc để tạo ra tuyến đường giữa chúng bằng cách quảng bá định kỳ các thông tin cần thiết, khoảng vài giây một lần. Trong môi trường mạng không dây, các bản tin quảng bá bị giới hạn bởi phạm vi truyền của các nút mạng. Trong khi với mạng thông thường hoàn toàn không có sự hạn chế này.

Mỗi lần quảng bá bản tin định tuyến tới các nút hàng xóm gần nhất của nó, mỗi nút sẽ tạo ra một giá trị SN (được lưu trong bảng định tuyến của nút đó). Bản tin quảng bá gồm các trường sau:

SN của nút đó (số chẵn).

Khi các nút hàng xóm nhận được thông tin mới, nó sẽ lập tức cập nhật vào bảng định tuyến của mình, tăng giá trị metric tới nút vừa cập nhật (cộng 1) sau đó các nút này lại quảng bá thông tin định tuyến tới các nút hàng xóm gần nhất của nó. Thông tin quảng bá của những nút này bao gồm định tuyến vừa cập nhật và định tuyến của bản thân nút đó. Những định tuyến có SN mới nhất sẽ là cơ sở để quyết định chọn đường định tuyến ngắn nhất.

Tuy nhiên, do các nút mạng quảng bá lại các thông tin định tuyến vừa cập nhật được sẽ tác động đến quá trình quảng bá thông tin định tuyến giữa các nút mạng, ảnh hưởng tới khả năng hội tụ của mạng. Khi các nút mạng dịch chuyển nhiều có thể tạo ra “cơn bão”các bản định tuyến, làm giảm tính sẵn sàng của đường truyền không dây.

2.2.2.2 Topo mạng thay đổi 

Khi các nút mạng dịch chuyển từ nơi này đến nơi khác, liên kết của nó với các nút hàng xóm bị đứt. Việc đứt kết nối có thể được phát hiện bởi giao thức lớp 2 hoặc trong trường hợp các nút hàng xóm không nhận được bản tin quảng bá định tuyến từ nút đó. Ngay khi phát hiện liên kết bị đứt, các nút hàng xóm thiết lập metric tới nút vừa dịch chuyển giá trị ∞ (hoặc bất kỳ giá trị nào lớn hơn giá trị lớn nhất) đồng thời gán cho SN của nó một giá trị là số lẻ (SN được sinh ra bởi nút đích là số chẵn). Đây là trường hợp duy nhất SN có thể được sinh ra từ các nút mạng khác ngoài nút đích. Sau đó, các nút hàng xóm này sẽ quảng bá ngay bản tin cập nhật định tuyến để phát đi những thông tin mới tới các hàng xóm khác. Do đó, toàn bộ các nút trong mạng đều có thể cập nhật

được thông tin về liên kết bị đứt và sẽ xóa định tuyến này khỏi bảng định tuyến của

Trong những mô hình mạng lớn, việc quảng bá các bản tin định tuyến mỗi khi topo mạng thay đổi có thể trở nên rất phức tạp. Để giảm lượng thông tin trong các bản tin, có 2 kiểu quảng bá được sử dụng:

• Full dump: sẽ gửi toàn bộ bảng định tuyến tới hàng xóm và có thể phải dùng đến nhiều bản tin.

• Incremental: chỉ cập nhật một vài entry trong bảng định tuyến có giá trị metric thay đổi so với lần cập nhật mới nhất (chỉ những thông tin thay đổi) và nó vừa đủ trong một bản tin.

Khi các nút mạng không dịch chuyển hoặc dịch chuyển ít (mạng ổn định) thì hiếm khi sử dụng phương pháp full dump mà thường sử dụng bản tin cập nhật incremental để làm giảm overhead. Trong trường hợp mạng thường xuyên thay đổi, số lượng bản tin incremental có thể rất lớn vì vậy lúc này sẽ sử dụng phương pháp full dump.

2.2.2.3 Chọn tuyến 

Khi nút mạng nhận được thông tin định tuyến mới, nếu trong bảng định tuyến của nó chưa có những thông tin định tuyến từ bản tin vừa nhận được, nó sẽ cập nhật vào bảng

định tuyến của mình và coi tuyến đường vừa nhận được là tuyến đường duy nhất.

Trong trường hợp, bảng định tuyến của nút đó đã tồn tại một entry định tuyến về tuyến đường nó vừa nhận được, nó sẽ thực hiện so sánh thông tin vừa nhận được với thông tin trong bảng định tuyến của nó. Thông tin nào có SN đích “mới” hơn sẽ được sử dụng. Những định tuyến với SN đích cũ sẽ bị loại bỏ. Nếu định tuyến mới có SN đích bằng định tuyến đã tồn tại, thì định tuyến nào có metric “tốt” hơn sẽ được chọn (số hop ít hơn). Những định tuyến mới được đưa vào bảng định tuyến sẽ ngay lập tức được quảng bá tới các nút hàng xóm.

2.2.2.4 Hn chế s biến thiên ca bng định tuyến 

Như đã biết các bản tin cập nhật định tuyến sẽ được chọn theo những yếu tố sau:

- Định tuyến sẽ được chọn nếu SN mới hơn.

- Định tuyến sẽ được chọn nếu metric là tốt hơn (số hop ít hơn) trong trường hợp

SN bằng nhau. D Tập hợp nút mạng 1 B C A Tập hợp nút mạng 2

Hình 2-2 Mô hình mạng trường hợp gây ra sự biên thiên trong bảng định tuyến. Như hình 2.2, có 2 tập hợp các nút mạng cùng kết nối tới nút D và không có nút chung. Thời gian truyền các bản tin cập nhật của mỗi nút mạng khoảng 15s. Nút B có một

định tuyến tới nút D với 12 hop trong khi nút C có một định tuyến tới nút D với 11

hop. Giả sử trong bảng định tuyến của nút A đã có một định tuyến tới D, tuy nhiên do phải cập nhật bản tin định tuyến định kỳ nên sau một khoảng thời gian, nút A tiếp tục cập nhật thông tin từ các nút hàng xóm của nó. Giả sử nút A nhận được hai bản tin định tuyến có cùng SN từ những nút hàng xóm khác nhau (nút B và C). Điều này xảy ra khi có nhiều nút mạng quảng bá các bản tin cập nhật không thường xuyên hoặc khi các nút

hoạt động độc lập và có khoảng thời gian quảng bá khác nhau hay tốc độ quảng bá khác nhau. Giả sử bản tin cập nhật định tuyến từ nút B đến A là 10s, đến trước bản tin cập nhật từ nút C. Việc này xảy ra mỗi lần nút D tạo ra một SN mới.

Khi nút A nhận được một bản tin cập nhật mới từ B, nó sẽ so sánh SN đích trong bản tin vừa cập nhật với SN đích trong bảng định tuyến, do SN đích vừa cập nhật mới hơn nên nút A cập nhật định tuyến mới vào bảng định tuyến thay cho định tuyến trước đó. Như đã biết ở phần trước, sau khi nút A cập nhật bảng định tuyến, nó sẽ lập tức quảng bá lại thông tin vừa nhận được cho các nút hàng xóm của nó, do đó bảng định tuyến của các nút hàng xóm cũng thay đổi. Ngay sau đó A lại tiếp tục nhận được bản tin cập nhật từ C với SN đích bằng SN trong bảng định tuyến của nó nhưng có metric “tốt” hơn, do đó A lại cập nhật thông tin định tuyến mới và quảng bá nó tới các nút hàng xóm. Như vậy trong một khoảng thời gian ngắn, bảng định tuyến của các nút mạng biến thiên liên tục, cùng cập nhật hai định tuyến có SN đích bằng nhau nhưng khác metric. Việc này làm tốn băng thông đường truyền và thời gian xử lý tại mỗi nút mạng, có thể gây nghẽn mạng trong mô hình mạng lớn. Để giảm sự biến thiên của các bảng định tuyến, giao thức DSDV sử dụng bảng thời gian thiết lập (settling time table). Bảng này gồm những trường sau:

• Địa chỉ nút đích

• Thời gian thiết lập cuối cùng

• Thời gian thiết lập trung bình

Thời gian thiết lập được tính bởi trọng số trung bình trên những bản tin cập nhật mới nhất tại mỗi nút đích. Thay vì quảng bá định tuyến mới ngay khi cập nhật được thông tin từ B, nút A sẽ dựa vào bảng thời gian thiết lập để quyết định sau khoảng thời gian bao lâu sẽ quảng bá định tuyến này. Thời gian thiết lập trung bình được sử dụng cho mục đích này, ví dụ nút A có thể đợi trong khoảng thời gian = thời gian thiết lập trung

quảng bá định tuyến cập nhật từ B cho tới khi nhận được bản tin định tuyến cập nhật từ C có cùng SN đích nhưng với metric “tốt” hơn. Như vậy nút A sẽ chỉ quảng bá thông tin mới một lần về tuyến đường tối ưu hơn từ C đến các nút hàng xóm, và sẽ giảm được sự biến thiên trong bảng định tuyến của các nút trong mạng.

2.2.3 Hoạt động của giao thức DSDV trong topo mạng đơn giản 

Xét một topo mạng Ad-hoc gồm 8 nút. Giả sử địa chỉ của các nút mạng là MHi, SN là SNNN_MHi trong đó MHi là nút mạng tạo ra SN là SNNN. Ta sẽ thấy sự thay đổi trong bảng định tuyến của MH4 khi MH1 dịch chuyển. Ban đầu, tất cả các nút sẽ quảng bá thông tin định tuyến của chúng tới tất cả các nút khác trong mạng.

Hình 2-3 Sự dịch chuyển của các nút trong mạng.

Sau khi tất cả các nút đã có thông tin đầy đủ, ta có bảng định tuyến của MH4 như sau: Bảng 2-3 Bảng định tuyến của MH4

Destination Next hop Metric SN Install time Stable_Data MH1 MH2 MH2 MH2 2 1 S406-MH1 S128-MH2 T001-MH4 T001-MH4 Ptr1-MH1 Ptr1-MH2

MH3 MH4 MH5 MH6 MH7 MH8 MH2 MH4 MH6 MH6 MH6 MH6 2 0 2 1 2 3 S564-MH3 S710-MH4 S392-MH5 S076-MH6 S128-MH7 S050-MH8 T001- MH4 T001- MH4 T002- MH4 T001- MH4 T002- MH4 T002- MH4 Ptr1-MH3 Ptr1-MH4 Ptr1-MH5 Ptr1-MH6 Ptr1-MH7 Ptr1-MH8 Từ bảng trên, có thể thấy

- Trường “install time” của hầu hết các nút bằng nhau tức là hầu hết các nút mạng kết nối với MH4 cùng lúc.

- Trường SN của các nút đều là số chẵn do đó không có kết nối nào bị đứt giữa các nút trong mạng.

Tương ứng, ta có bảng quảng bá định tuyến của MH4 :

Bảng 2-4 Bảng quảng bá định tuyến của MH4

Destination Metric SN MH1 MH2 MH3 MH4 MH5 MH6 MH7 MH8 2 1 2 0 2 1 2 3 S406-MH1 S128-MH2 S564-MH3 S710-MH4 S392-MH5 S076-MH6 S128-MH7 S050-MH8

Giả sử nút MH1 dịch chuyển tới vị trí mới như hình 2.3, kết nối giữa MH2 và MH1 bị

tuyến của MH2. MH2 sẽ quảng bá thông tin này tới những nút hàng xóm của nó (MH3 và MH4). Khi tất cả cá nút trong mạng đều đã nhận được thông tin về liên kết bị đứt, chúng sẽ xóa định tuyến tới MH1 khỏi bảng định tuyến của mình. Đồng thời, khi MH1 chuyển tới vị trí mới, ngay lập tức sẽ phát bản tin quảng bá gồm địa chỉ, SN và metric của mình tới các nút hàng xóm (MH7 và MH8). MH7 và MH8 nhận thấy có hàng xóm mới, chúng sẽ cập nhật thông tin này vào bảng định tuyến và quảng bá thông tin mới tới các nút hàng xóm của mình. MH6 nhận được 2 bản tin cập nhật từ những hàng xóm khác nhau để tới MH1 với cùng giá trị SN nhưng khác metric, nó sẽ dựa vào metric “tốt hơn” (số hop ít hơn) để chọn tuyến đường tới MH1 và ngay lập tức lại quảng bá thông tin này tới MH4. Sau khi các nút trong mạng đã có thông tin về vị trí mới của MH1, ta có bảng định tuyến của MH4:

Bảng 2-5 Bảng định tuyến của MH4 sau khi đã cập nhật

Destination Next hop Metric SN Install time Stable_Data MH1 MH2 MH3 MH4 MH5 MH6 MH7 MH8 MH6 MH2 MH2 MH4 MH6 MH6 MH6

Một phần của tài liệu Mô phỏng và đánh giá các giao thức định tuyến trong mạng ad hoc (Trang 36)

Tải bản đầy đủ (PDF)

(109 trang)