Các trường trong gói tin RREQ

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu nâng cao hiệu năng giao thức định tuyến AODV cho mạng manet luận văn ths công nghệ thông tin 60 48 15 (Trang 36)

Tiến trình khám phá tuyến được khởi động khi một node muốn trao đổi dữ liệu với một node khác mà trong bảng định tuyến của nó không có thông tin định tuyến đến node đích đó. Khi đó tiến trình sẽ phát broadcast một gói RREQ cho các node lân cận của nó. Thông tin trong RREQ ngoài địa chỉ đích, địa chỉ nguồn, số hop-count (được khởi tạo giá trị ban đầu là 0),… còn có các trường: số sequence number của node nguồn, số broadcast ID, giá trị sequence number được biết lần cuối cùng của node đích. Khi các node lân cận nhận được gói RREQ, nó sẽ kiểm tra tuần tự theo các bước:

Lưu đồ 2.2.Cơ chế xử lý khám phá tuyến tại node của AODV

- Bước 1: Xem các gói RREQ đã được xử lí chưa. Nếu đã được xử lí thì nó sẽ loại bỏ gói tin đó và không xử lí thêm. Ngược lại chuyển qua bước 2.

- Bước 2: Nếu trong bảng định tuyến của nó chứa tuyến đến đích, thì sẽ kiểm tra giá trị Destination sequence number trong entry chứa thông tin về tuyến với số Destination sequence number trong gói RREQ, nếu số Destination sequence number trong RREQ lớn hơn số Destination squence number trong entry thì nó sẽ không sử dụng thông tin trong entry của bảng định tuyến để trả lời cho node nguồn mà nó sẽ tiếp tục phát Broadcast gói RREQ đó đến cho các node lân cận của nó. Ngược lại nó sẽ

Trƣớc đó node chƣa nhận RREQ? <Source, Broadcast_id>

Hủy gói RREQ

Y

Node không là đích?

N

Không có tuyến trong Route cache?

Hoặc

Có tuyến nhƣng DSN của Route cache nhỏ hơn DSN của RREQ

N

Y

Phản hồi RREP về nguồn

N

- Thiết lập đƣờng dẫn ngƣợc về node phát RREQ - Hop_cnt = Hop_cnt + 1

Y

Phát RREQ đến các lân cận

Thêm <Source, Request_id> vào Route cache của node Bắt đầu tiến trình khám phá

tuyến tại nguồn

Kết thúc tiến trình khám phá tuyến

Kết thúc tiến trình xử lý gói RREQ đã nhận

phát Unicast cho gói RREP ngược trở lại cho node lân cận của nó để báo đã nhận gói RREQ. Gói RREP ngoài các thông tin như: địa chỉ nguồn, địa chỉ đích,… còn chứa các thông tin: destination sequence number, hop-count, TTL. Ngược lại thì qua bước 3.

- Bước 3: Nếu trong bảng định tuyến của nó không có tuyến đến đích thì nó sẽ tăng số Hop-count lên 1, đồng thời nó sẽ tự động thiết lập một tuyến ngược (Reverse path) từ nó đến node nguồn bằng cách ghi nhận lại địa chỉ của node lân cận mà nó nhận gói RREQ lần đầu tiên. Entry chứa tuyến ngược này sẽ được tồn tại trong một khoảng thời gian đủ để gói RREQ tìm tuyến đến đích và gói RREP phản hồi cho node nguồn, sau đó entry này sẽ được xóa đi.

Source address

Destination address

Destination

sequence No. Hop count Life - time Hình 2.10.Các trường trong gói tin RREP

Quá trình kiểm tra này sẽ lặp tuần tự cho đến khi gặp node đích hoặc một node trung gian mà có các đều kiện thỏa mãn bước 2. Trong quá trình trả về gói RREP, một node có thể nhận cùng lúc nhiều gói RREP, khi đó nó sẽ chỉ xử lí gói RREP có số Destination Sequence number lớn nhất, hoặc nếu cùng số Destination sequence number thì nó sẽ chọn gói RREP có số Hop-count nhỏ nhất. Sau đó nó sẽ cập nhật các thông tin cần thiết vào trong bảng định tuyến của nó và chuyển gói RREP đi.

2.4.2. Cơ chế duy trì thông tin định tuyến (Route Maintenance)

Như đã nhận xét ở trên, cơ chế hoạt động của AODV là không cần phải biết thông tin về các node lân cận, chỉ cần dựa vào các entry trong bảng định tuyến. Vì vậy, khi một node nhận thấy rằng Next hop (chặng kế tiếp) của nó không thể tìm thấy, thì nó sẽ phát một gói RRER (Route Error) khẩn cấp với số Sequence number bằng số Sequence number trước đó cộng thêm 1, Hop count bằng ∞ và gửi đến tất cả các node lân cận đang ở trạng thái active, những node đó sẽ tiếp tục chuyển gói tin đó đến các node lân cận của nó, ... và cứ như vậy cho đến khi tất cả các node trong mạng ở trạng thái active nhận được gói tin này [4].

Sau khi nhận thông báo này, các node sẽ xóa tất cả các tuyến có chứa node hỏng, đồng thời có thể sẽ khởi động lại tiến trình khám phá tuyến nếu nó có nhu cầu định tuyến dữ liệu đến node bị hỏng đó bằng cách gửi một gói tin RREQ (với số Sequence number bằng số Sequence number mà nó biết trước đó cộng thêm 1) đến các node lân cận để tìm đến địa chỉ đích.

2.5. Giao thức cải tiến N-AODV

Như đã đề cập ở trên, mạng MANET là một mạng động tự tổ chức mà không cần bất kì sự quản trị hay hỗ trợ về hạ tầng nào. Nếu hai node không nằm trong phạm vi truyền phát của nhau thì các node khác cần đóng vai trò như các router trung gian cho việc truyền thông giữa hai node này. Hơn nữa, các thiết bị di động di chuyển một cách độc lập, không lường trước và truyền thông thông qua hệ thống mạng thay đổi động. Bởi vậy, tần suất thay đổi topo của mạng là một thách thức lớn cho rất nhiều vấn đề quan trọng, trong đó có vấn đề về hiệu năng của giao thức định tuyến trong mạng.

Các giao thức định tuyến chủ ứng luôn yêu cầu các node trao đổi thông tin định tuyến theo kì hạn và tính toán định tuyến liên tục giữa bất kì node nào trong mạng, bất chấp việc có sử dụng kết quả định tuyến này hay không. Điều này có nghĩa rằng một phần lớn tài nguyên mạng như năng lượng và băng thông sẽ bị lãng phí và đây là điều không mong muốn trong mạng MANET, nơi mà tài nguyên bị ràng buộc [1-3]. Không như các giao thức này, các giao thức định tuyến theo yêu cầu không trao đổi thông tin định tuyến theo kì hạn. Thay vào đó, chúng chỉ khám phá tuyến khi nào chúng cần trao đổi thông tin giữa hai node [1, 5, 6]. Do trong mạng MANET, topo mạng thay đổi động, các liên kết giữa các node là không bền vững. Trong trường hợp này, một node không thể gửi các gói tin tới node lân cận dự kiến và kết quả là các gói tin có thể bị mất. Việc mất các gói tin có thể ảnh hưởng đến hiệu năng định tuyến theo nhiều nghĩa. Trong số các gói tin bị mất, việc mất các gói tin phản hồi định tuyến mang đến nhiều vấn đề hơn, bởi node nguồn cần phải khởi tạo lại thủ tục khám phá tuyến.

Một hạn chế của các giao thức định tuyến theo yêu cầu đã có đó là cơ chế khám phá tuyến của chúng không quan tâm đúng mực tới việc bị mất một gói tin phản hồi định tuyến. Đặc biệt hơn nữa, hầu hết các giao thức định tuyến theo yêu cầu ngày nay đều dựa trên thông điệp phản hồi định tuyến đơn (unicast). Việc mất thông điệp phản hồi định tuyến có thể gây ra sự lãng phí hiệu năng mạng một cách đáng kể.

Trong mục này, luận văn đề xuất thêm cải tiến mới cho AODV theo hướng như sau:

Trong giao thức cải tiến này, thông điệp phản hồi định tuyến không phải ở dạng unicast mà theo đó, node đích quảng bá gói tin RREQ nghịch để tìm node nguồn. Nó làm giảm thiểu việc thông điệp phản hồi không quay về được node nguồn và làm tăng hiệu năng. Bởi vậy, tỉ lệ khám phá tuyến thành công có thể tăng lên ngay cả khi các node di động ở tốc độ cao.

2.5.1. Giới thiệu N-AODV

Trên thực tế, một gói tin RREP của giao thức AODV nhận được bằng cách flooding toàn bộ hệ thống mạng hay một phần của nó [1-4]. Việc mất gói tin RREP dẫn đến việc node nguồn phải khởi tạo lại tiến trình khám phá tuyến và gây ra việc giảm hiệu năng định tuyến, chẳng hạn như năng lượng tiêu thụ cao, trễ đầu cuối lớn và tỉ lệ chuyển phát gói tin thấp. Bởi vậy, luận văn nghiên cứu cách thức để làm giảm thiểu việc bị mất các gói tin RREP này.

Xét một trường hợp như ở trong hình 2.11 dưới đây, trong đó S là một node nguồn, D là node đích và các node khác là node trung gian. Trong giao thức AODV truyền thống, khi RREQ được quảng bá bởi node S và mỗi node trên tuyến xây dựng tuyến ngược trở về tới node trước đó, tuyến ngược cuối cùng sẽ là: D321S. Tuyến ngược này được sử dụng để chuyển phát gói tin RREP tới node nguồn S bởi node D. Nếu node 1 di chuyển lên và đi ra ngoài phạm vi truyền nhận của node 2, RREP sẽ bị mất và tiến trình khám phá tuyến không có hiệu quả (không sử dụng được tuyến này nữa). Chúng ta có thể dễ dàng thấy rằng có nhiều tuyến khác được xây dựng bởi các gói tin RREQ bị loại bỏ (do AODV chỉ chọn một tuyến tốt nhất của các gói RREQ để gửi lại RREP trên đó còn đâu nó sẽ loại bỏ hết các tuyến tạo bởi các gói RREQ khác) có thể thay thế cho tuyến cũ.

Có một số khả năng mà sau khi gửi một số lượng các gói RREQ, node nguồn có thể nhận được thông điệp phản hồi định tuyến. Như đã đề cập ở [3], khi một lượng các node là 100 và số luồng là 50, 14% trong tổng số các gói tin RREP bị mất.

Giao thức AODV cải tiến (N-AODV) được đề xuất để ngăn ngừa việc mất gói tin RREP và cải thiện hiệu năng định tuyến trong mạng MANET. Giao thức N-AODV sử dụng lại hoàn toàn thủ tục RREQ của AODV để chuyển gói tin phản hồi định tuyến trở lại node nguồn. Gọi các gói tin phản hồi định tuyến này là R-RREQ. N-AODV có thể phản hồi từ node đích về node nguồn nếu có tối thiểu một tuyến đến node nguồn. Theo cách này, N-AODV sẽ ngăn chặn một lượng lớn sự truyền phát lại các thông điệp yêu cầu định tuyến, và do đó sẽ giảm thiểu được sự nghẽn mạng. Hơn thế nữa, N- AODV sẽ cải thiện hiệu năng định tuyến như tăng tỉ lệ chuyển phát gói tin và giảm thiểu trễ đầu cuối.

2.5.2. Cơ chế hoạt động của N-AODV 2.5.2.1. Tổng quan về N-AODV 2.5.2.1. Tổng quan về N-AODV

Với việc phân tích các giao thức ở phần trước, ta có thể thấy rằng hầu hết các giao thức định tuyến theo yêu cầu, trừ định tuyến đa đường, đều sử dụng thông điệp phản hồi định tuyến đơn cùng với đường dẫn ngược đầu tiên (tuyến ngược của gói RREQ tìm đến node đích đầu tiên) để thiết lập đường định tuyến. Như đã đề cập trước đó, trong mạng có sự di động cao, đường dẫn ngược có thể đã bị ngắt kết nối và gói tin phản hồi định tuyến từ đích tới nguồn có thể bị mất. Trong trường hợp này, node nguồn cần phải gửi lại thông điệp yêu cầu định tuyến. Mục đích của nghiên cứu này đó là tăng khả năng thiếp lập đường định tuyến mà vẫn giảm thiểu được các thông điệp RREQ so với các giao thức khác khi topo mạng thay đổi bởi việc di động của các node mạng.

Đặc biệt, giao thức N-AODV được đề xuất khám phá tuyến theo yêu cầu sử dụng thủ tục khám phá tuyến ngược. Trong quá trình khám phá tuyến, node nguồn và đích cùng thực hiện vai trò như nhau trong việc gửi các gói tin điều khiển. Bởi vậy, sau khi nhận được thông điệp RREQ, node đích cũng flood các gói R-RREQ ngược lại để tìm đến node nguồn. Khi node nguồn nhận được một gói tin R-RREQ, gói tin dữ liệu bắt đầu được truyền đi ngay tức thì.

2.5.2.2. Khám phá tuyến trong N-AODV

Trong giao thức N-AODV, node nguồn khởi tạo thủ tục khám phá tuyến bằng cách quảng bá gói tin RREQ chứa các thông tin như trong hình 2.12, gồm: loại gói tin, địa chỉ nguồn, địa chỉ đích, ID quảng bá, số hop, số thứ tự của node nguồn, số thứ tự của node đích, thời gian truy vấn (Request time).

Hình 2.12. Định dạng gói tin RREQ

Mỗi khi node nguồn đưa ra một gói tin RREQ mới, chỉ số ID quảng bá được tăng lên một đơn vị. Bởi vậy, node nguồn và node đích sẽ có cùng chỉ số ID quảng bá, chỉ số đơn nhất để nhận biết gói tin RREQ này [1, 8]. Node nguồn quảng bá RREQ tới tất cả các node nằm trong phạm vi truyền nhận dữ liệu của nó. Các node lân cận này sau đó sẽ gửi tiếp RREQ đến các node khác theo cách tương tự. Cứ như vậy RREQ sẽ được quảng bá trong toàn bộ mạng, một vài node có thể nhận được vài bản sao của cùng một RREQ. Khi một node trung gian nhận được một gói tin RREQ, nó sẽ kiểm tra xem đã từng nhận được gói RREQ với cùng ID quảng bá và địa chỉ nguồn hay chưa và nó sẽ loại bỏ những gói tin RREQ dư thừa. Thủ tục này cũng tương tự như đối với gói tin RREQ trong giao thức AODV.

Khi node đích nhận được thông điệp yêu cầu định tuyến đầu tiên, nó sẽ sinh ra gói tin yêu cầu ngược R-RREQ và quảng bá gói tin này tới các node lân cận nằm trong phạm vi truyền nhận của nó giống như node nguồn làm với RREQ.

Gói tin R-RREQ (hình 2.13) chứa các thông tin dưới đây: ID nguồn phản hồi, ID đích phản hồi, ID quảng bá phản hồi, số hop, số thứ tự của node đích, thời gian phản hồi (Reply time).

Hình 2.13. Định dạng gói tin R-RREQ

Khi gói tin R-RREQ được quảng bá đến node trung gian, nó sẽ kiểm tra sự dư thừa. Nếu node này đã nhận được gói tin giống như vậy rồi thì gói tin này sẽ bị loại bỏ, nếu không nó sẽ chuyển tiếp đến node kế tiếp.

- Địa chỉ node đích - Địa chỉ node nguồn

- Số lượng hop tới node đích - Số thứ tự node đích

- Thời gian hết hạn định tuyến và hop kế tiếp tới node đích

Và mỗi khi node nguồn nhận được gói tin R-RREQ đầu tiên, nó bắt đầu quá trình gửi nhận dữ liệu và các gói tin R-RREQ đến sau đó được lưu lại để sử dụng cho tương lai. Các tuyến thay thế có thể được sử dụng trong trường hợp mà tuyến chính bị lỗi truyền thông.

Ta xét lại trường hợp giống như với giao thức AODV mà chúng ta đã đề cập ở trên, trong hình 2.14. Trong giao thức N-AODV mới, node đích sẽ không gửi gói tin phản hồi định tuyến ở dạng unicast cùng với tuyến ngược ngắn nhất là D321S mà nó sẽ quảng bá gói tin R-RREQ để tìm node nguồn S. Và tuyến chuyển tiếp tới node đích được xây dựng thông qua gói tin R-RREQ này. Các tuyến dưới đây có thể được xây dựng: S456D, S1110987D, ... Node S có thể chọn tuyến tốt nhất trong số những tuyến này và bắt đầu chuyển tiếp dữ liệu đi. Vì thế vấn đề lỗi chuyển phát gói tin RREP trong AODV sẽ không xảy ra trong trường hợp này, thậm chí ngay cả khi node 1 di chuyển ra khỏi phạm vi truyền nhận của node gốc.

Hình 2.14. Chuyển gói tin R-RREQ từ node đích tới node nguồn 2.5.2.3. Cập nhật và duy trì tuyến 2.5.2.3. Cập nhật và duy trì tuyến

Khi nhận được các gói tin điều khiển, node nguồn chọn tuyến tốt nhất để cập nhật, cụ thể, đầu tiên nó so sánh các số thứ tự, và số thứ tự cao hơn tức là đường định

tuyến tốt hơn. Nếu số thứ tự như nhau, chúng sẽ so sánh số lượng hop tới node đích, tuyến với ít hop hơn sẽ được lựa chọn. Do kênh truyền thông không dây có chất lượng thay đổi theo thời gian, đường dẫn tốt nhất cũng sẽ bị thay đổi theo thời gian.

Phản hồi từ tầng MAC có thể được sử dụng để phát hiện tình trạng kết nối của liên kết. Khi một node thông báo node lân cận theo hướng down stream của nó đang nằm ngoài phạm vi truyền nhận dữ liệu, nó sẽ sinh ra một thông điệp lỗi định tuyến

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu nâng cao hiệu năng giao thức định tuyến AODV cho mạng manet luận văn ths công nghệ thông tin 60 48 15 (Trang 36)

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

(86 trang)