Khám phá tuyế n 40

Một phần của tài liệu Các phương pháp định tuyến trong mạng AD HOC (Trang 42 - 45)

Khám phá tuyến được thực hiện bằng cách phát tràn lan yêu cầu qua mạng để

tìm kiếm một tuyến tới đích nào đó. Trong dạng đơn giản nhất, nút nguồn A muốn khám phá một tuyến tới nút đích D thì nút A sẽ phát quảng bá gói tin RREQ và gói này tiếp tục được quảng bá bởi các nút trung gian cho đến khi gói tin này đến được nút đích D. Trong cơ chế này, nhiều tối ưu hóa được sử dụng để giới hạn tần số và phạm vi của các việc Khám phá tuyến.

Mai Văn Linh-ĐTVT2-CH2009   41 

Khi một nút S muốn gửi một gói tin đến D, đầu tiên nó sẽđặt vào phần tiêu đề

của gói tin đó một tuyến nguồn trong đó chỉ ra thứ tự của các chặng mà gói tin sẽ

phải đi qua. Thông thường, nút S sẽđạt được một tuyến nguồn thích hợp thông qua việc tìm kiếm trong Bộ nhớ tuyến (Route Cache) của nó các tuyến đã biết trước đây. Tuy nhiên nếu không tìm thấy tuyến nào trong bộ nhớ tuyến, nó sẽ khởi tạo thủ tục hàm Tìm kiếm tuyến động để tìm ra một tuyến nguồn tới D. Trong trường hợp này ta gọi nút S là nút nguồn còn nút D là nút đích trong thủ tục Khám phá tuyến.

Trước khi khởi tạo một gói tin RREQ, nút nguồn chọn một nhận dạng yêu cầu (Request_id) đặt trong gói tin RREQ. Cặp <địa chỉ khởi tạo, nhận dạng yêu cầu> là duy nhất.

^ "A" ^ "A,B" ^ "A,B,C" ^ "A,B,C,D" | id=2 | id=2 | id=2 | id=2

+---+ +---+ +---+ +---+ +---+ | A |---->| B |---->| C |---->| D |---->| E | +---+ +---+ +---+ +---+ +---+ | | | | v v v v Hình 2.6 Quá trình khám phá tuyến

Hình 2.6 minh họa quá trình Khám phá tuyến đơn giản, môt nút A cố gắng khám phá tuyến tới nút E. Để khởi đầu Khám phá tuyến, A truyền một tin báo RREQ. Mỗi tin báo RREQ nhận dạng bộ khởi đầu và đích của Khám phá tuyến. Nhận dạng yêu cầu được xác định bởi bộ khởi đầu của Yêu cầu. Một RREQ bao gồm một bản ghi danh sách địa chỉ của từng nút trung gian trong đó tin báo RREQ

được lưu lại qua từng nút trên đường đi của nó. Giá trị ban đầu của bản ghi tuyến là một danh sách trống.

Khi một nút nhận được bản tin RREQ này (ví dụ như nút B trong ví dụ), nếu nó là đích của Khám phá tuyến, nó sẽ gửi lại bản tin RREP tới khởi tạo của Khám phá tuyến, chuyển bản copy của bản ghi tuyến được cộng dồn từ RREQ; khi khởi tạo nhận được RREP, nó cất giữ tuyến này trong Bộ nhớ tuyến để sử dụng khi gửi các gói tin tiếp theo tới đích này.

Mai Văn Linh-ĐTVT2-CH2009   42 

Mặt khác, nếu một nút nhận RREQ đã nhận được một bản tin RREQ khác từ

khởi tạo, mang theo những nhận dạng yêu cầu và địa chỉ đích giống nhau hoặc nếu

địa chỉ riêng của nút này nằm trong báo cáo tuyến của RREQ, nó sẽ từ chối Yêu cầu. Nếu không, nút này sẽ gắn địa chỉ riêng của nó vào bản ghi tuyến trong bản RREQ và truyền nó như là gói tin quảng bá cục bộ. Trong ví dụ, nút B sẽ quảng bá RREQ, nó sẽđược nhận ở nút C, nút C và nút D cũng vậy, nó sẽ broadcast Yêu cầu, kết quả là copy của Yêu cầu sẽđược nhận bởi nút E.

Trong việc bản tin RREP trở lại nút nguồn trong thủ tục Khám phá tuyến, chẳng hạn nút E trả lời nút A trong hình 1, nút E sẽ kiểm tra Bộ nhớ tuyến của nó xem nếu có một tuyến ngược về nút A, và nếu tìm được nó sẽ sử dụng tuyến này làm tuyến nguồn để phân phát các gói tin bao gồm cả gói RREP. Nếu không tìm

được một tuyến ngược trở lại A, E có thể thực hiện thủ tục Khám phá tuyến từ nó tới nút đích A. Để tránh khả năng quay lại vô hạn có thể của các Khám phá tuyến, nó phải cõng theo bản tin RREP trên chính bản tin RREQ của nó đối với nút A. Sử

dụng cơ chế này nó cũng có khả năng phải cõng theo các gói dữ liệu nhỏ khác ví dụ

như gói TCP SYN trên một bản tin RREQ. Nút E còn có thể đảo vị trí sắp xếp của các chặng trong bản ghi tuyến và sử dụng tuyến đã đảo vị trí này như một tuyến nguồn đối với các gói tin mang bản tin RREP của chính nó.

Khi khởi tạo một Khám phá tuyến, nút đang gửi sẽ giữ lại bản sao của gói tin ban đầu trong bộ nhớ đệm nội bộ (Send Buffer) gọi là Bộ đệm gửi. Ngoài ra Bộ đệm gửi còn chứa các bản sao của các gói tin không truyền đi được do chưa tìm ra một tuyến nguồn tới đích. Mỗi gói trong Bộ đệm gửi được gán cho một tem thời gian chỉ ra thời gian chúng tồn tại trong Buffer và gói tin sẽ bị loại bỏ sau khi lưu lại trong Bộ đệm gửi quá hạn; để Bộ đệm gửi không bị tràn, kĩ thuật FIFO hoặc kĩ

thuật tương đương khác có thể được sử dụng để truyền các gói tin đó đi trược khi chúng hết hạn.

Trong trường hợp gói tin còn lưu lại trong Bộ đệm gửi mà chưa truyền đi

được thì thỉnh thoảng nút mạng lại thiết lập mới thủ tục Khám phá tuyến tùy theo

Mai Văn Linh-ĐTVT2-CH2009   43 

phải được giới hạn do có thể xảy ra trường hợp đích của thủ tục khởi tạo tuyến đã thay đổi và không thể tới được.

Trong trường hợp với mỗi gói tin, mỗi thủ tục Khám phá tuyến được khởi tạo thì một số lớn các gói RREQ không hữu ích được truyền từ nút này tới tất cả các nút trong mạng Ad hoc. Để giảm phần phụ trội tiêu đề do các Khám phá tuyến trên người ta phải giới hạn tần suất khởi tạo các Khám phá tuyến từ một nút bất kì đến cùng một đích. Nút chỉ được phép khởi tạo Khám phá tuyến mới sau khi đợi hết khoảng thời gian tối thiểu cần thiết để có thể thiết lập thủ tục Khám phá tuyến mới.

Từ kết quả của việc kiểm tra bản sao các tuyến nguồn ghi được, thuật toán Khám phá tuyến đã ngăn chặn được việc lặp các RREQ trong mạng. Đó là một thuộc tính hiệu chỉnh quan trọng và là nguyên nhân tạo ra thuộc tính không lặp vòng của DSR. Sử dụng các nhận dạng yêu cầu là một tối ưu đơn giản khi đó các RREQ ban đầu trải rộng hướng ra phía ngoài so với nút nguồn và rút bớt số các gói RREQ bao quanh bộ khởi tạo.

Một phần của tài liệu Các phương pháp định tuyến trong mạng AD HOC (Trang 42 - 45)

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

(105 trang)