Giao thức định tuyến AOD

Một phần của tài liệu Tìm hiểu ảnh hưởng của giao thức định tuyến AODV và DSR trong điều khiển tắc nghẽn của TCP và TFRC trên mạng MANET (Trang 42 - 45)

Giao thức định tuyến AODV là một trong những giao thức định tuyến theo cơ chế phản ứng trong hệ thống mạng MANET. Tương tự như giao thức DSR, AODV cũng phỏt gúi tin broadcast để yờu cầu tỡm đường khi cú nhu cầu. Tuy nhiờn điểm khỏc biệt cơ bản đối với giao thức DSR là AODV sử dụng nhiều cơ chế khỏc để duy trỡ thụng tin bảng định tuyến, chẳng hạn như nú sử dụng bảng định tuyến truyền thống để lưu trữ thụng tin định tuyến với mỗi entry cho một địa chỉ đớch [1].

Khụng sử dụng cơ chế Source Routing và cũng khụng cần biết thụng tin về cỏc node lỏng giềng của nú, AODV dựa trờn cỏc entry của bảng định tuyến để phỏt gúi tin RREP về node nguồn và node nguồn dựng thụng tin đú để gởi dữ liệu đến đớch. Để đảm bảo rằng thụng tin trong bảng định tuyến là mới nhất thỡ AODV sử dụng kỹ thuọ̃t Sequence Number (kỹ thuọ̃t này dựng để nhọ̃n ra cỏc con đường đi khụng cũn giỏ trị trong quỏ trỡnh cọ̃p nhọ̃t bảng định tuyến) để loại bỏ những đường đi khụng cũn giỏ trị trong bảng định tuyến. Mỗi node sẽ cú một bộ tăng số Sequence Number riờng cho nú.

Tương tự như cơ chế hoạt động của DSR, quỏ trỡnh định tuyến của AODV cũng bao gồm 2 cơ chế chớnh: Cơ chế tạo thụng tin định tuyến và cơ chế duy trỡ thụng tin định tuyến.

Cơ chế tạo thụng tin định tuyến (Route Discovery):

Cơ chế tạo thụng tin định tuyến sẽ được thiết lọ̃p khi một nỳt nguồn cú nhu cầu trao đổi thụng tin với một nỳt khỏc trong hệ thống mạng. Trong hệ thống mạng MANET hoạt động theo giao thức AODV, mỗi nỳt trong hệ thống mạng luụn duy trỡ 2 bộ đếm: Bộ đếm Sequence Number và Bộ đếm REQ_ID. Cặp thụng tin <Sequence Number, REQ_ID> là định danh duy nhất cho một gúi tin RREQ. Cặp thụng tin này sẽ bị thay đổi giỏ trị khi:

Đối với Sequence Number:

- Trước khi một node khởi động tiến trỡnh route discovery, điều này nhằm chống sự xung đột với cỏc gúi tin RREP trước đú.

- Khi nhọ̃n được một gúi tin RREP gửi từ nỳt đớch để trả lời gúi tin RREQ, nú sẽ cọ̃p nhọ̃t lại giỏ trị Sequence number lớn nhất của một trong 2 giỏ trị: Sequence number hiện hành mà nú lưu giữ đối với Sequence number trong gúi RREQ

Đối với REQ_ID: Khi cú một sự thay đổi trong toàn bộ cỏc nỳt lõn cọ̃n của nú dẫn đến sẽ cú một số tuyến đường trong bảng định tuyến sẽ khụng cũn hiệu lực. Số REQ_ID sẽ được tăng lờn khi node khởi động một tiến trỡnh route discovery mới.

Hỡnh 2.5. Cỏc trường trong gúi tin RREQ

Tiến trỡnh Route Discovery được khởi động khi nào 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ỏng giềng 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ỏng giềng nhọ̃n được gúi RREQ, nú sẽ kiểm tra tuần tự theo cỏc bước:

-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 đường đi đến đớch, thỡ sẽ kiểm tra giỏ trị Destination sequence number trong entry chứa thụng tin về đường đi 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ỏng giềng của nú. Ngược lại nú sẽ phỏt Unicast cho gúi RREP ngược trở lại cho node lỏng giềng 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.

Lưu đụ̀ 2.2. Cơ chế xử lý khỏm phỏ đường tại node của AODV

-Bước 3: Nếu trong bảng định tuyến của nú khụng cú đường đi đế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 đường đi 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ỏng giềng mà nú nhọ̃n gúi RREQ lần đầu tiờn. Entry chứa đường đi ngược này sẽ được tồn tại trong một khoảng thời gian đủ để gúi RREQ tỡm đường đi đến đớch và gúi RREP phản hồi cho node nguồn, sau đú entry này sẽ được xúa đi.

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ú đường trong Router cache?

Hoặc

Cú đường nhưng DSN của Router 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 hàng xúm

Thờm <Source, Request_id> vào Router cache của node Bắt đầu tiến trỡnh khỏm phỏ (adsbygoogle = window.adsbygoogle || []).push({});

đường tại nguồn

Kết thỳc tiến trỡnh khỏm phỏ đường

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

Hỡnh 2.6. 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 điều kiện thỏa 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.

Cơ chế duy trỡ thụng tin định tuyến:

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 nỳt lỏng giềng, 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ỏng giềng đang ở trạng thỏi active, những node đú sẽ tiếp tục chuyển gúi tin đú đến cỏc node lỏng giềng 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 [1].

Sau khi nhọ̃n thụng bỏo này, cỏc node sẽ xúa tất cả cỏc đường đi cú chứa node hỏng, đồng thời cú thể sẽ khởi động lại tiến trỡnh Route discovery 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ỏng giềng để tỡm đến địa chỉ đớch.

Một phần của tài liệu Tìm hiểu ảnh hưởng của giao thức định tuyến AODV và DSR trong điều khiển tắc nghẽn của TCP và TFRC trên mạng MANET (Trang 42 - 45)