Vấn đề chống định tuyến lặp

Một phần của tài liệu (LUẬN văn THẠC sĩ) kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc (Trang 34)

Các quy tắc cập nhật tuyến của giao thức AODV giới hạn một nút chỉ tìm đƣợc tối đa một đƣờng cho mỗi đích. Do đó, cần thiết phải sửa đổi các quy tắc cập nhật đƣờng này để tại mỗi nút có nhiều hơn một đƣờng cho mỗi đích. Tuy nhiên, những sửa đổi này cần đƣợc thực hiện để đảm bảo vấn đề tránh định tuyến lặp. Có hai vấn đề phát sinh khi tính toán nhiều đƣờng dẫn không lặp tại một nút cho một đích. Một là, mỗi nút sẽ chọn đƣờng nào trong nhiều đƣờng để cung cấp hoặc quảng bá cho các nút khác? Do mỗi tuyến đƣờng có thể có số chặng khác nhau nên việc lựa chọn một đƣờng bất kỳ có thể tạo thành các đƣờng lặp vòng. Hai là, một nút khi nhận đƣợc quảng bá đƣờng có chấp nhận đƣờng nhận đƣợc hay không? Việc chấp nhận tất cả các con đƣờng có thể gây ra hiện tƣợng định tuyến lặp.

Hình 2.1 minh họa vấn đề đƣờng lặp vòng bằng các ví dụ đơn giản. Trong Hình 2.1(a), nút D là đích và nút I có hai đƣờng đến D - một đƣờng 5 chặng qua nút M (I –M –N –O–P –D) và một đƣờng một chặng trực tiếp (I - D). Giả sử tuyến đƣờng (I –M –N –O–P –D) đƣợc quảng bá đến nút J và tiếp theo tuyến đƣờng (I – D) đƣợc quảng bá đến nút K. Sau đó, cả J và K đều có đƣờng đến nút

D qua nút I, nhƣng mỗi tuyến đƣờng đều có chặng khác nhau. Nếu sau đó nút I nhận đƣợc một đƣờng 4 chặng đến đích D từ nút L (L–K–I–D), nút I sẽ không thể xác định đƣợc L là nút trƣớc hay nút sau nó trên con đƣờng tới đích D vì chỉ có thông tin số chặng đƣợc đƣa vào quảng bá đƣờng. Vì vậy, tại nút I sẽ hình thành một tuyến đƣờng tới nút đích D thông qua nút L làm dẫn đến một vòng lặp. Tình huống nhƣ vậy xảy ra do một nút (ở đây là nút I) quảng bá một đƣờng ngắn hơn (I - D) trong khi nó đã có một đƣờng dự phòng dài hơn (I –M –N –O–P –D).

Hình 2.1. Ví dụ về các trường hợp có thể xảy ra định tuyến lặp

Hình 2.1(b) cho thấy một tình huống tiềm năng khác xảy ra lặp vòng. Trong đó nút D là đích. Nút J có đƣờng dẫn 3 chặng đến nút D thông qua nút (J– K–I–D). Nút L cũng có một đƣờng 3 chặng đến nút D thông qua nút M (L - M - N - D). Giả sử nút I nhận đƣợc một đƣờng dẫn 4 chặng đến nút D từ nút L. Trong trƣờng hợp này, nút I không thể xác định đƣợc liệu nút L có phải là nút đứng trƣớc hay không bởi vì nút J cũng có thể cung cấp một con đƣờng 4 chặng tới nút D. Do đó, việc một nút chấp nhận một đƣờng dài hơn sau khi nó đã quảng bá một đƣờng ngắn hơn tới các nút láng giềng cũng có thể gây ra định tuyến lặp.

Dựa trên các phân tích ở trên, tập các điều kiện chống định tuyến lặp đƣợc đề xuất [7]. Những điều kiện này cho phép một nút có thể duy trì nhiều đƣờng tới cùng một đích. Tập các điều kiện này đƣợc phát biểu nhƣ sau:

(i) Quy tắc số thứ tự: Chỉ duy trì các tuyến đƣờng cho số thứ tự đích có giá trị cao nhất. Tại mỗi nút, nhiều tuyến đƣờng có cùng số thứ tự đích đƣợc duy trì. Với quy tắc này, tính chất không lặp vòng của các tuyến đƣờng có thể đạt đƣợc tƣơng tự nhƣ giao thức AODV. Khi một nút nhận đƣợc quảng bá đƣờng chứa số thứ tự đích cao hơn, tất cả các đƣờng có số thứ tự cũ hơn tới đích tƣơng ứng sẽ bị loại bỏ. Tuy nhiên, các nút khác nhau (trên cùng một tuyến đƣờng) có thể có các số thứ tự khác nhau cho cùng một đích.

(ii) Đối với cùng một số thứ tự đích,

(a) Quy tắc quảng bá đƣờng: Không quảng bá đƣờng ngắn hơn đƣờng đã đƣợc quảng bá trƣớc đó.

(b) Quy tắc nhận đƣờng: Không nhận đƣờng dài hơn đƣờng đã đƣợc quảng bá trƣớc đó.

Để duy trì nhiều đƣờng cho cùng một số thứ tự, giao thức AOMDV sử dụng khái niệm “số chặng đƣợc quảng bá”. Mỗi nút duy trì một biến gọi là số chặng đƣợc quảng bá cho mỗi đích. Biến này đƣợc thiết lập giá trị bằng độ dài của đƣờng (tính theo số chặng) dài nhất tại thời điểm quảng bá đầu tiên cho một số thứ tự đích cụ thể. Số lƣợng chặng đƣợc quảng bá không thay đổi cho đến khi số thứ tự đích thay đổi. Việc quảng bá độ dài đƣờng dài nhất cho phép có nhiều hơn các đƣờng thay thế đƣợc duy trì. Mục 2.2 sẽ trình bày chi tiết cách xác định số chặng đƣợc quảng bá cùng mô tả về các quy tắc cập nhật đƣờng. Chứng minh về tính không lặp của đƣờng đƣợc trình bày trong Mục 2.3.1.

2.1.2. Các đường tách biệt

Bên cạnh việc duy trì nhiều đƣờng không lặp vòng, giao thức AOMDV còn có khả năng tìm các đƣờng dự phòng không giao nhau. Với mục đích cải thiện khả năng chịu lỗi bằng nhiều đƣờng thì các đƣờng tách biệt là một lựa chọn tự nhiên để chọn một tập con các đƣờng dự phòng hiệu quả từ một tập lớn các đƣờng tiềm năng vì khả năng lỗi dây chuyền và đồng thời của các đƣờng trong tập này nhỏ hơn so với tập các đƣờng có giao cắt. Có hai loại đƣờng tách biệt đƣợc xem xét là đƣờng tách biệt theo liên kết và đƣờng tách biệt theo nút. Đƣờng tách biệt theo liên kết là tập hợp các đƣờng không có liên kết chung giữa một cặp nút, trong khi đó, đƣờng tách biệt theo nút còn thêm điều kiện là không có nút giao nhau.

Không giống nhƣ vấn đề đƣờng tách biệt trong lý thuyết đồ thị và tài liệu, khái niệm không giao ở đây chỉ giới hạn ở một cặp nút và không xem xét đến tính không giao giữa các cặp nút khác. Cụ thể là cần đảm bảo mọi con đƣờng có thể đi đƣợc từ một nút P bất kỳ tới một nút đích D là không giao nhau. Điều này có nghĩa là không nhất thiết tất cả các đƣờng đi trong mạng dẫn đến nút D đều phải là đƣờng tách biệt. Sự khác biệt này đƣợc minh họa bằng một ví dụ trong Hình 2.2. Giới hạn đƣờng tách biệt ở trên là đủ khi nhìn từ góc độ về khả năng chịu lỗi và thực tế đƣợc sử dụng trong hầu hết các giao thức định tuyến đa đƣờng khác nhau.

Hình 2.2. Ví dụ về các đường giao nhau

Trong Hình 2.2, các đƣờng đƣợc duy trì tại các nút khác nhau đến đích có thể giao nhau. Ở đây D là đích đến. Nút A có hai đƣờng dẫn không giao nhau đến nút D là A–B–D và A–C–D. Tƣơng tự, nút E có hai đƣờng tách biệt đến nút D là E–C–D và E–F–D. Tuy nhiên, các và A–C–D và E–C–D lại giao nhau khi chúng chia sẻ một liên kết C–D.

Trong việc tìm kiếm các đƣờng tách biệt, lực lƣợng hoặc độ dài của các đƣờng dự phòng không đƣợc tối ƣu hóa một cách rõ ràng. Trên thực tế, số lƣợng và chất lƣợng của các đƣờng tách biệt đƣợc giao thức AOMDV phát hiện phần lớn đƣợc xác định qua tiến trình khám phá đƣờng. Tuy nhiên, có thể kiểm soát các thuộc tính này bằng cách đặt giới hạn về số lƣợng và độ dài của các đƣờng dự phòng đƣợc duy trì tại mỗi nút. Đây là cách tiếp cận hợp lý vì tính chất tồn tại trong thời gian ngắn của các đƣờng trong mạng ad hoc di động và việc tính toán tối ƣu cho các đƣờng dự phòng không giao nhau phải sẽ phải chịu chi phí cao hơn.

Giao thức AOMDV có thể tìm thấy đƣờng tách biệt theo liên kết hoặc nút. Ý tƣởng chính tìm đƣờng tách biệt theo liên kết đƣợc trình bày ở đây. Việc chứng minh đƣợc trình bày trong Mục 2.3.2. Cơ chế tìm đƣờng tách biệt theo nút

A

C D

E

B

đƣợc trình bày trong Mục 2.3.2 khi thực hiện một số sửa đổi đơn giản trên cơ chế tìm đƣờng tách biệt theo liên kết.

Trong các thuật toán định tuyến phân tán của loại vectơ khoảng cách, một nút sẽ hình thành từng bƣớc các đƣờng đến đích dựa trên các đƣờng thu đƣợc từ các nút láng giềng hƣớng đích. Vì vậy, việc tìm một tập hợp các đƣờng tách biệt theo liên kết tại một nút đƣợc xem là một quá trình gồm hai bƣớc: (1) xác định một tập các nút láng giềng hƣớng đích có các đƣờng tách biệt đến đích; (2) hình thành chính xác từng con đƣờng qua mỗi nút láng giềng hƣớng đích. Lƣu ý rằng bƣớc thứ hai là đƣơng nhiên đƣợc thực hiện khi mỗi nút chỉ cần đảm bảo rằng mọi đƣờng của nó chặng kế tiếp là duy nhất. Đây là một hoạt động đƣợc thực hiện cục bộ tại mỗi nút. Tuy nhiên, để thực hiện đƣợc bƣớc đầu tiên, mỗi nút cần có thông tin về một số hoặc tất cả các nút hƣớng đích trên mỗi tuyến đƣờng.

Trong giao thức vectơ khoảng cách thông thƣờng (bao gồm giao thức AODV), một nút chỉ theo dõi chặng kế tiếp và khoảng cách qua chặng kế tiếp cho mỗi con đƣờng. Sự giới hạn thông tin trong một chặng này không đủ để một nút xác định liệu hai con đƣờng thu đƣợc từ hai nút láng giềng khác nhau có thực sự là các đƣờng tách biệt hay không (Hình 2.3). Vì vậy, cần bổ sung thông tin cho mỗi con đƣờng để kiểm tra tính chất không giao theo liên kết. Giao thức định tuyến nguồn có khả năng duy trì thông tin đầy đủ mọi con đƣờng đầy đủ tại mỗi nút. Trong trƣờng hợp nhƣ vậy, việc kiểm tra tính không giao theo liên kết sẽ trở thành đơn giản. Tuy nhiên, giải pháp này có chi phí cao về việc truyền

thông và duy trì thông tin đầy đủ của đƣờng

Hình 2.3. Ví dụ về việc hình thành các đường giao nhau theo liên kết

Trong Hình 2.3, thông tin về chặng kế tiếp là không đủ để đảm bảo tính không giao theo liên kết của các con đƣờng. Ở đây D là đích. Nút A có một con đƣờng qua I đến D (A-I–D). Tƣơng tự, nút B cũng có một con đƣờng qua I đến D (B-I-D). Nút P chỉ biết về các chặng kế tiếp A và B mà không thể xác định liệu các đƣờng từ A và B đến D (lần lƣợt là A-I-D và B-I-D) có giao nhau hay không. Vì vậy, nếu P tạo các con đƣờng qua A và B thì tập hợp các đƣờng dẫn từ P sẽ giao nhau mặc dù các chặng kế tiếp (A và B) là khác biệt.

Một cơ chế không yêu cầu thông tin đầy đủ về con đƣờng tại mỗi nút đƣợc đề xuất ở đây. Đề xuất này vẫn đảm bảo tính không giao theo liên kết. Cụ thể là cơ chế đƣợc đề xuất yêu cầu duy trì thêm thông tin về chặng cuối cùng cho mọi con đƣờng (ngoài thông tin về chặng kế tiếp). Chặng cuối cùng của một con đƣờng từ nút P đến đích D chính là nút ngay trƣớc nút D trên đƣờng đó. Đối với đƣờng một chặng, chặng kế tiếp là nút D và chặng cuối cùng chính là nút P. Đối với con đƣờng hai chặng, chặng kế tiếp chính là chặng cuối cùng.

Quan sát đơn giản sau đây là cơ sở của đề xuất này để tìm các đƣờng tách biệt theo liên kết: Nếu có hai con đƣờng từ nút P đến đích D là không giao nhau theo liên kết thì chúng phải có các chặng kế tiếp duy nhất cũng nhƣ các chặng

I

A

D

P

cuối cùng duy nhất. Điều ngƣợc lại của quan sát này không nhất thiết đúng. Tuy nhiên, phát biểu ngƣợc lại là đúng khi bổ sung một điều kiện: mỗi nút trên đƣờng đảm bảo rằng tất cả các đƣờng đi đến đích từ nút đó khác nhau về chặng kế tiếp và chặng cuối cùng của chúng (Hình 2.4). Đây là cơ sở để xác định xem hai con đƣờng qua hai nút láng giềng khác nhau hƣớng đích bị giao nhau theo liên kết hay không. Chúng sẽ là các đƣờng tách biệt theo liên kết khi có chặng cuối cùng khác nhau.

Hình 2.4 minh họa ý tƣởng xác định các đƣờng tách biệt theo liên kết. Đối với Hình 2.4(a), hai con đƣờng từ nút P đến nút D thỏa mãn điều kiện chặng các chặng kế tiếp và chặng cuối cùng khác nhau nhƣng đây vẫn là hai đƣờng giao nhau theo liên kết vì nút trung gian I không thỏa mãn điều kiện. Nếu tất cả các nút trên mọi đƣờng thỏa mãn điều kiện thì các đƣờng sẽ không giao nhau theo liên kết. Trong trƣờng hợp này, Hình 2.4(b) chỉ có một đƣờng đƣợc thỏa mãn. Tuy nhiên, Hình 2.4(c) có hai đƣờng thỏa mãn điều kiện không giao nhau theo liên kết.

(a) (b)

I

(c)

Hình 2.4. Minh họa ý tưởng tính toán đường tách biệt theo liên kết

Để thực hiện ý tƣởng tìm đƣờng tách biệt theo liên kết nhƣ trên, cần duy trì thông tin về chặng cuối cùng cho mọi con đƣờng trong bảng định tuyến. Các gói RREQ và RREP trong giao thức AOMDV cũng phải mang thông tin về chặng cuối cùng. Lƣu ý rằng chặng cuối cùng trên tuyến sẽ thực sự là chặng đầu tiên đƣợc thực hiện bởi các gói định tuyến này. Hoạt động chi tiết của giao thức đƣợc mô tả trong phần tiếp theo.

Hình 2.5 minh họa vai trò quan trọng của thông tin về chặng cuối cùng và Hình 2.6 minh họa việc xác định các đƣờng tách biệt theo liên kết.

Hình 2.5. Vai trò của chặng cuối cùng

Trong Hình 2.5, nút D là đích đến, nút J có 2 đƣờng tách biệt theo liên kết đến nút D qua nút X và nút Y. Vì một nút không thể có hai đƣờng dẫn có cùng

I P D A I J X P D Y B

chặng kế tiếp nên nút I sẽ chỉ tạo thành một đƣờng qua nút J với chặng cuối cùng là X hoặc Y. Giả sử nút I tạo một đƣờng qua J với X là chặng cuối cùng; điều này sẽ ngăn cản việc truyền đƣờng qua nút Y nút đứng trƣớc nó theo chiều ngƣợc về phía nút nguồn. Khi nút I quảng bá đƣờng của nó tới nút D với chặng cuối cùng là nút X đến các nút A và B đứng trƣớc nó, mỗi nút này sẽ tạo thành một đƣờng qua nút I với chặng cuối cùng là nút X. Nút P xác định rằng các đƣờng dẫn từ nút A và nút B đến nút D không phải là các đƣờng tách biệt theo liên kết vì chúng có cùng chặng cuối cùng X. Vì vậy, nút P chỉ tạo một đƣờng tới nút đích D.

Trong Hình 2.6, nút D là đích đến, nút I xác định rằng 2 đƣờng X - D và Y - D là 2 đƣờng tách biệt theo liên kết vì nút X và nút Y là hai nút láng giềng phân biệt của nút D. Vì vậy, nút I tiếp tục tạo 2 đƣờng dẫn không giao theo liên kết đến nút D qua nút X và nút Y. Giả sử nút I quảng bá các đƣờng qua nút X và nút Y tƣơng ứng đến nút A và nút B. Lƣu ý rằng mỗi quảng bá đƣờng chứa thông tin về chặng cuối cùng của đƣờng đƣợc quảng bá. Sau đó, các đƣờng từ nút A và nút B đến nút D các đƣờng tách biệt theo liên kết vì chúng có các chặng cuối cùng phân biệt (X và Y). Tiếp theo, nút P có thể tạo 2 đƣờng tách biệt theo liên kết đến nút D qua nút A và nút B.

Hình 2.6. Minh họa cho việc tính toán đường tách biệt theo liên kết

A X

I D

P

Y B

2.2. Hoạt động chi tiết của giao thức AOMDV

Giao thức AOMDV đƣợc mô tả sau đây gồm bốn thành phần: cấu trúc bảng định tuyến, tiến trình khám phá đƣờng, bảo trì đƣờng và chuyển tiếp gói dữ liệu. Các mô tả chi tiết ở đây đƣợc thực hiện với phiên bản đƣờng tách biệt theo liên kết của giao thức AOMDV. Vì vậy tất cả các nội dung sau đây đề cập đến tính tách biệt là nội dung tham chiếu đến tính tách biệt của đƣờng theo liên kết. Những thay đổi để phù hợp cho phiên bản giao thức tìm đƣờng tách biệt theo nút đƣợc trình bày trong mục 2.3.2.

2.2.1. Bảng định tuyến

Hình 2.7 cho thấy sự khác biệt trong cấu trúc entry bảng định tuyến giữa giao thức AODV và giao thức AOMDV. Entry bảng định tuyến của giao thức

Một phần của tài liệu (LUẬN văn THẠC sĩ) kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc (Trang 34)