Các tính năng phát hiện tuyến gia tăng

Một phần của tài liệu Đồ án xây dựng mô hình lựa chọn thuật toán định tuyến giảm thiểu tỷ lệ mất gói trong mạng AD HOC (Trang 35)

3.2.5.1. Lưu thông tin định tuyến Overhead

Một nút mạng đang gửi hoặc đang lắng nghe bất kỳ gói nào cũng có thể thêm thông tin định tuyến từ gói này tới Route Cache của nó. Một tuyến nguồn được sử dụng trong một gói dữ liệu, tuyến được tích luỹ ghi vào Route Request hoặc tuyến đang được trả về trong Route Reply có thể được lưu bởi bất kỳ nút mạng nào.

Tuy nhiên trong một giới hạn, việc ghi thông tin định tuyến overhead có thể xuất hiện các kết nối đơn hướng trong mạng Ad hoc. Ví dụ, trên hình 3.4 nút mạng A đang sử dụng tuyến nguồn để truyền thông với nút mạng E. Khi nút mạng C gửi các gói dữ liệu dọc theo tuyến từ A tới E, nó có thể luôn thêm vào cache những kết nối hướng “gửi” hiện có mà nó biết được từ header của các gói, từ bản thân nút đó tới nút D và từ D tới E. Tuy nhiên, các kết nối hướng “đảo ngược” nhận ra trong các header gói, từ nút

đó trở lại B và từ B trở lại A, có thể sẽ không hoạt động nếu các kết nối này là đơn hướng. Nếu C biết rằng kết nối là hai chiều thì nó có thể lưu chúng.

Hình 3.4. Những giới hạn trong việc lưu thông tin định tuyến overhead: nút mạng C từ gửi các gói tới E và các gói overhear từ X

Tương tự như vậy, nút mạng V đang sử dụng một tuyến nguồn khác để truyền thông với nút Z. Nếu nút mạng C ở trên nút X đang truyền một gói dữ liệu tới Y thì nút C sẽ chiếu cố dù các kết nối kéo theo có thể được biết là hai chiều hoặc không sau khi lưu chúng. Nếu kết nối từ X tới C là hai chiều thì C sẽ lưu kết nối từ bản thân nó tới X, kết nối từ X tới Y và kết nối từ Y tới Z. Nếu tất cả các kết nối có thể cho là hai chiều thì C cũng sẽ lưu các kết nối từ X tới W và từ W tới V.

3.2.5.2. Hồi âm Route Request sử dụng các tuyến đã được lưu

Một nút đang nhận một Route Request cho một nút không phải là đích, nó sẽ tìm kiếm Route Cache của nó cho một tuyến tới đích của Request. Nếu tìm thấy, nút mạng này thường sẽ trả lại một Route Reply tới nút khởi tạo nó hơn là gửi Route Request. Trong Route Reply, nó thiết lập bản ghi tuyến để ghi trình tự các bước qua bản sao Route Request đã gửi tới nó trước đó.

Tuy nhiên, trước khi truyền gói Route Request đã phát sinh việc sử dụng thông tin từ Route Cache của nó. Một nút mạng phải kiểm tra kết quả tuyến đang sử dụng đã được trả về trong Route Reply chưa. Ví dụ, hình 3.5. mô tả trường hợp Route Request của đích E đã được nhận bởi nút mạng F và nút F đã có trong Route Cache của nó một tuyến từ F tới E. Kết hợp những tuyến tích luỹ từ Route Request và tuyến được lưu từ Route Cache của nút mạng F sẽ bao gồm một nút bản sao trong quá trình truyền từ C tới F và ngược lại.

Báo cáo Đồ án Tốt nghiệp Chương III: Một số giao thức điển hình và khả năng áp dụng…

Nút mạng F trong trường hợp này có thể cố gắng sắp xếp tuyến để loại bỏ việc sao chép, kết quả là có một tuyến từ A tới B tới C và tới E, tuy nhiên nút F sẽ không ở trên tuyến nữa mà nó sẽ trả về trong Route Reply.

3.2.5.3. Ngăn ngừa nhiễu Route Reply

Khả năng của các nút mạng hồi đáp Route Request dựa trên thông tin trong các Route Cache của chúng. Như đã nói ở trên, việc hồi đáp có thể dẫn tới “nhiễu” Route Reply có thể xảy ra trong một số trường hợp. Cụ thể, nếu nút mạng quảng bá Route Request cho một nút đích để các nút lân cận có một tuyến trong Route Cache của chúng thì mỗi nút mạng lân cận sẽ cố gắng để gửi một Route Reply. Theo cách này, băng thông có thể bị hao mòn và làm tăng khả năng xung đột mạng trong vùng.

3.2.5.4. Giới hạn bước Route Request

Mỗi thông báo Route Request chứa một “giới hạn bước” mà được sử dụng để giới hạn số nút mạng trung gian cho phép để gửi bản sao Route Request. Khi Request được gửi, giới hạn này sẽ bị giảm xuống và gói Request bị loại nếu giới hạn tiến đến 0 trước khi đến đích. Người ta sử dụng cơ chế này để gửi một Route Request không truyền (giới hạn bước là 0) như một phương thức quyết định giá rẻ nếu đích hiện tại là lân cận của nút khởi đầu hoặc nếu một nút lân cận có một truyến tới đích đã được lưu (sử dụng hiệu quả cache của các nút lân cận như một mở rộng cache của nút khởi đầu). Nếu không Route Reply được nhận trước một timeout ngắn thì một Route Request truyền (không giới hạn bước) sẽ được gửi.

Hình 3.6: Nút mạng C thông báo tuyến nguồn tới D có thể là ngắn nhất, khi nó tình cờ nghe được một gói từ A đầu tiên định tới B

3.2.6. Các tính năng duy trì tuyến gia tăng 3.2.6.1. Cứu gói dữ liệu 3.2.6.1. Cứu gói dữ liệu

Sau khi gửi một thông báo Route Error, một nút mạng sẽ cố gắng cứu gói dữ liệu gây ra Route Error hơn là loại bỏ nó. Để cố gắng cứu gói, nút mạng sẽ gửi một Route Error tìm kiếm Route Cache của nó cho một tuyến từ nút đấy tới gói đích gây ra Error. Nếu tuyến này được tìm thấy, nút mạng có thể cứu gói trước khi trả lại Route Error bằng việc đặt lại tuyến nguồn bắt đầu trên gói với tuyến từ Route Cache của nó. Sau đó, nút mạng sẽ gửi gói tới nút mạng tiếp theo được chỉ định theo tuyến nguồn. Ví dụ, nếu nút mạng C có một tuyến khác được lưu tới nút E, nó có thể cứu gói bằng cách đặt lại tuyến này hơn là loại bỏ gói đi.

3.2.6.2. Tự động làm ngắn tuyến

Các tuyến nguồn có thể tự động ngắn hơn nếu một hoặc nhiều bước trung gian trong tuyến không cần thiết. Nếu một nút mạng tình cờ nghe được một gói mang một tuyến nguồn thì nút mạng này sẽ kiểm tra phần không sử dụng đến của tuyến nguồn. Nếu nút mạng không có ý định cho bước tiếp theo của gói nhưng được chỉ định trong phần không sử dụng của tuyến nguồn của gói muộn hơn thì nó có thể suy luận rằng các nút trung gian trước nó trong tuyến nguồn không cần cho tuyến đó.

2.2.6.3. Giảm truyền thông báo Route Error

Khi một tuyến nguồn nhận Route Error cho một gói dữ liệu khởi đầu, nút nguồn này truyền Route Error tới các nút lân cận bằng cách mang nó trong Route Request tiếp theo. Theo cách này, thông tin cũ trong cache của các nút mạng quanh nút nguồn sẽ không phát sinh Route Reply chứa cùng một kết nối không có hiệu lực để nút nguồn nhận Route Error.

3.2.7. Hỗ trợ cho các mạng di động và Mobile IP

Trong việc định hình và phát triển một mạng Ad hoc, trong nhiều trường hợp, tất cả các nút mạng sẽ được trang bị với cùng các loại giao diện mạng không dây, cho phép việc định tuyến giữa các nút mạng trở nên đơn giản qua các bước mạng bất kỳ. Tuy nhiên, hình dạng linh hoạt hơn có thể cũng trang bị một tập các nút mạng với một giao diện mạng thứ hai, bao gồm một giao diện mạng không dây cự ly xa hơn (longerZrange) (và vì vậy mà tốc độ chậm hơn). Ví dụ: trong bố trí quân sự, một tốp lính có thể sử dụng các sóng vô tuyến ngắn để truyền thông với nhau, trong khi tiếp âm thông qua sóng vô tuyến cao hơn được lắp trên xe tải để truyền thông với các nhóm khác.

Loại phổ biến của hình dạng mạng này là mạng Ad hoc tương đương với các mạng overlay không dây. Hình dạng mạng sẽ cho phép truyền thông với tốc độ cao giữa các nút mạng cộng tác, trong khi ở cùng một thời điểm cho phép truyền thông với các nút khác xa hơn mà không yêu cầu một số rất lớn các bước mạng. Sóng vô tuyến dài cũng cho phép khe hở giữa các nhóm nút mạng khác nhau đã được quay tròn (spin), giảm khả năng phân mảnh mạng. Một ví dụ đơn giản, một hình dạng mạng Ad hoc trong hình, mỗi nút mạng A, B, C có hai giao diện sóng vô tuyến ngắn và dài, tất cả các nút mạng khác trong mạng Ad hoc chỉ có giao diện mạng sóng vô tuyến ngắn. Nút mạng X sử dụng một tuyến nguồn tới nút mạng Y sử dụng một trình tự cả các bước sóng ngắn và sóng dài.

Báo cáo Đồ án Tốt nghiệp Chương III: Một số giao thức điển hình và khả năng áp dụng…

Hình 3.7: Các nút mạng kết nối thông qua các sóng ngắn

Một mạng Ad hoc đang chứa các nút mạng kết nối thông qua các sóng vô tuyến ngắn, với các nút mạng A, B, C cũng có các sóng vô tuyến dài. Việc kết nối giữa các nút mạng khác nhau như X và Y có thể bao gồm nhiều bước vô tuyến ngắn.

3.2.8. Kết luận

Với cơ chế hoạt động như đã trình bày ở các mục trên, có thể nhận thấy những ưu điểm nổi bật của DSR:

Chỉ những tuyến giữa các nút mạng cần truyền thông mới được duy trì: qua đó giảm overhead duy trì tuyến. (adsbygoogle = window.adsbygoogle || []).push({});

Trong tương lai lưu trữ tuyến có thể làm giảm overhead phát hiện tuyến.

Việc phát hiện tuyến đơn có thể cho ra rất nhiều tuyến tới đích, bởi việc trả lời các nút mạng trung gian xuất phát từ các cache cục bộ.

Bên cạnh những ưu điểm, DSR còn một số nhược điểm cần khắc phục: Kích thước header gói tăng theo độ dài tuyến do việc định tuyến nguồn. Flood yêu cầu tuyến có thể tới tất cả các nút trong mạng.

Những xung đột có thể xảy ra giữa các yêu cầu tuyến được phổ biến bởi những nút mạng lân cận.

Việc trả lời nút mạng sử dụng cache cục bộ sẽ làm tăng tranh chấp nếu có quá nhiều yêu cầu tuyến trở lại.

Những cache cũ làm tăng overhead.

Một nút trung gian có thể gửi trả lời tuyến sử dụng một tuyến đã được lưu trữ cũ, vì vậy có thể gây ảnh hưởng cho các tuyến khác. Vấn đề này có thể giải

quyết một cách dễ dàng nếu thực hiện các cơ chế lọc những tuyến lưu trữ không còn hiệu lực

3.3. Giao thức TORA (thuật toán định tuyến thứ tự tạm thời)

3.3.1. Tổng quan về giao thức

TORA (TemporallyZOrdered Routing Algorithm) là giao thức định tuyến phân phối dựa trên thuật toán “đảo kết nối”, tìm và duy trì các tuyến qua sự phục hồi nội bộ của hướng kết nối [12]. TORA được thiết kế để phát hiện các tuyến theo yêu cầu, cung cấp các tuyến đa phương tiện tới một đích, thiết lập các tuyến nhanh và giảm thiểu overhead của các gói truyền bằng cách thu hẹp các hoạt động mang tính thuật toán để thay đổi về hình dạng khi có thể. Sự tối ưu định tuyến (tuyến ngắn nhất) được đánh giá là quan trọng thứ cấp. Các tuyến dài hơn thường xuyên được sử dụng để tránh phần overhead khi phải tìm kiếm tuyến mới.

Các đặc tính của TORA là:

Định tuyến theo yêu cầu, khởi tạo từ nguồn.

Cung cấp các tuyến đa phương để giảm bớt sự tắc nghẽn có thể xảy ra. Tạo ra các tuyến lặp tự do.

Điều khiển sự phân chia tuyến bằng cách xóa bỏ các tuyến không hiệu quả. 3.3.2. Hoạt động của giao thức TORA

Hoạt động của TORA có thể được miêu tả giống như dòng nước chảy từ trên cao xuống theo hướng nút mạng đích qua một hệ thống các ống để biểu diễn trạng thái định tuyến của mạng thực. Các ống biểu diễn kết nối giữa các nút mạng trong mạng, các mối nối của các ống biểu diễn các nút mạng và nước trong ống biểu diễn các gói hướng đích. Mỗi nút mạng có một độ cao đối với đích được ước lượng bởi giao thức định tuyến. Nếu một ống giữa nút mạng A và B bị chặn thì nước không thể chảy qua đó, độ cao của A sẽ được thiết lập lớn hơn các lân cận còn lại, như vậy nước sẽ chảy trở lại qua A (và hướng tới các nút mạng khác đang định tuyến các gói tới đích thông qua A).

Khi một nút phát hiện ra rằng một tuyến tới đích là không có hiệu lực, nó sẽ điều chỉnh độ cao để nó là lớn nhất trong vùng đối với các nút mạng lân cận và truyền một gói cập nhật. Nếu nút mạng không có lân cận với độ cao vô cùng đối với đích thì nút mạng này sẽ thực hiện việc phát hiện tuyến mới như mô tả ở trên. Khi một tuyến phát hiện một phân mảnh của mạng, nó sẽ phát sinh một gói xóa để thiết lập lại trạng thái tuyến và dời các tuyến không còn hiệu lực khỏi mạng.

TORA xây dựng và duy trì một đồ thị có hướng liên thông (Directed Acyclic Graph Z DAG) gốc bắt đầu từ nút đích. DAG đảm bảo tất cả các đường có hướng là lặp tự do

Báo cáo Đồ án Tốt nghiệp Chương III: Một số giao thức điển hình và khả năng áp dụng…

và hướng tới đích. Những kết nối giữa các nút được hướng dựa trên một giá trị, duy trì bởi các nút. Điều này có thể hình dung qua khái niệm “độ cao” (kết nối hướng từ nút cao hơn tới nút thấp hơn). Mỗi nút mạng có một độ cao được tính toán bằng giao thức định tuyến. Chẳng hạn, nút mạng i trong mạng có một độ cao Hi thể hiện năm giá trị Hi =(ti, oidi, ri, di, i) . Trong đó:

Z t: thời gian lỗi liên kết. Z oid: id khởi tạo

Z r: chỉ định bit phản hồi, 0 là mức khởi tạo, 1 là mức phản hồi Z d: là số nguyên của các nút liên quan đến mức tham chiếu. Z i: là id của nút

Giả sử H[i] là độ cao của nút mạng và độ cao của các nút lân cận là H[j], hướng của các kết nối được thiết kế như sau [23]:

Z Nếu H[j] = = Null thì không được xác định.

Z Nếu H[j] = = Null và H[i] = = Null thì hướng xuống. Z Nếu H[j] = = Null và H[i] > H[j] thì hướng xuống. Z Nếu H[j] = = Null và H[j] < H[j] thì hướng lên.

Hình 3.8: Mô tả khái niệm thiết lập hướng của DAG 3.3.3. Các cơ chế cơ bản

TORA cũng hỗ trợ 3 cơ chế cơ bản [12]: Cơ chế tạo tuyến.

Cơ chế duy trì tuyến. Cơ chế xóa tuyến.

3.3.3.1. Cơ chế tạo tuyến

Cơ chế tạo tuyến bao gồm việc thành lập một số tuần tự của các kết nối có hướng từ nguồn tới đích. Việc này được thực hiện bởi việc định dạng DAG theo hướng tới đích, đích nằm ở cuối cùng của đồ thị. Cơ chế này định nghĩa hai loại gói: (adsbygoogle = window.adsbygoogle || []).push({});

Gói QRY (Query): gói truy vấn tuyến, chứa id đích.

Gói UPD (Update): gói cập nhật, chứa id đích và độ cao của nút mạng i đang quảng bá gói Hi.

Tại mỗi nút mạng duy trì:

Cờ yêu cầu tuyến RRt (Route Request) ban đầu không được thiết lập. Thời gian gói UPD cuối cùng được quảng bá.

Thời gian ở mỗi kết nối (i, j).

Khi một nút di động cần một tuyến tới đích, nó phát đi một gói truy vấn tuyến (QRY) và thiết lập cờ yêu cầu tuyến của nó. Gói này truyền qua mạng tới đích hoặc tới một nút mạng trung gian có chứa tuyến tới đích. Nút mạng nhận gói QRY sau đó phát quảng bá một gói cập nhật (UPD) độ cao của nó theo hướng tới đích. Khi các gói UPD này truyền qua mạng, mỗi nút mạng nhận được thiết lập độ cao với giá trị lớn hơn độ cao của nút mạng lân cận. Điều này có hiệu quả tạo ra một chuỗi các kết nối trực tiếp từ nút mạng gửi QRY tới nút mạng khởi đầu tạo ra gói UPD.

Một nút mạng nhận gói QRY thực hiện một trong các công việc sau:

Z Nếu cờ yêu cầu tuyến của nó được thiết lập, có nghĩa nó không phải gửi QRY bởi vì bản thân nó đưa ra một QRY cho đích, nhưng tốt hơn hết là loại bỏ để giảm mào đầu thông báo.

Z Nếu một nút mạng không có các kết nối xuôi dòng và cờ yêu cầu tuyến không được thiết lập thì nó sẽ thiết lập cờ yêu cầu tuyến và quảng bá lại thông báo QRY.

Z Nếu một nút mạng có ít nhất một lân cận xuôi dòng và độ cao của kết nối là null thì nó sẽ thiết lập độ cao của nút là bé nhất trong các độ cao của các nút mạng

Một phần của tài liệu Đồ án xây dựng mô hình lựa chọn thuật toán định tuyến giảm thiểu tỷ lệ mất gói trong mạng AD HOC (Trang 35)