CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN VỀ MANET
2.4. GIAO THỨC ĐỊNH TUYẾN DSR
2.4.1. Cơ chế tạo thông tin định tuyến (Route Discovery)
Route Discovery cho phép các node trong mạng Ad Hoc tìm kiếm đƣờng đi đến đích một cách tự động thông qua các node trung gian. Tiến trình tạo thơng tin định tuyến s phát gói tin Route Request (RREQ) đến các node lân cận của nó trong mạng. Ngồi các trƣờng bình thƣờng nhƣ: địa chỉ nguồn, địa chỉ đích, đƣờng d n…, thơng tin trong gói RREQ c n chứa một số request ID là một số đƣợc tạo ra bởi node nguồn và là số không trùng nhau. Khi một node nhận gói RREQ thì nó s tiến hành kiểm tra thơng tin trong RREQ nhƣ sau:
Hình 2.5 Cơ ế ử lý ườ DSR Phát RREQ đến các node hàng xóm Trƣớc đó node chƣa nhận RREQ? <Source, Request_id>
Hủy gói RREQ
N
Node khơng có đƣờng đi đến đích trong Route
Cache?
Y
Node khơng là node đích?
Y
Phản hồi RREP về nguồn
Y
- Cập nhật thông tin về nguồn trong Router cache
- Cập nhật lại đƣờng dẫn cho gói RREQ
N
Kết thúc tiến trình khám phá
đƣờng Thêm <Source, Request_id> vào Router cache
của node
Nối đƣờng đi trong RREQ và đƣờng đi đã có trong Router cache cập nhật vào
RREQ N Bắt đầu tiến trình khám phá đƣờng tại nguồn ết thúc tiến trình xử lý gói RREQ đã nhận
- Bư : Thơng qua trƣờng request ID, nó s kiểm tra xem đ nhận gói tin này hay chƣa? Nếu đ tồn tại thì nó s loại bỏ gói tin đó và khơng xử lí gì thêm. Ngƣợc lại thì qua bƣớc 2.
- Bư : Nó kiểm tra trong Route Cache của nó có đƣờng đi đến node đích mà c n hiệu lực hay khơng? Nếu có đƣờng đi đến đích thì nó s phản hồi lại cho node nguồn b ng gói Route Reply (RREP) chứa thông tin về đƣờng đi đến đích và kết thúc tiến trình. Ngƣợc lại thì qua bƣớc 3.
- Bư : Nó kiểm tra địa chỉ đích cần tìm có trùng với điạ chỉ của nó hay khơng? Nếu trùng thì nó gởi lại cho node nguồn gói Route Reply (RREP) chứa thơng tin về đƣờng đi đến đích và kết thúc tiến trình. Ngƣợc lại thì nó s phát broadcast gói tin RREQ đến các node láng giềng của nó. Các nút láng giềng sau khi nhận gói tin RREQ s thực hiện việc kiểm tra thông tin (quay về bƣớc 1)
Nhƣ vậy, quá trình này cứ tiếp tục cho đến khi node nguồn nhận đƣợc thơng tin về đƣờng đi đến đích hoặc thơng tin r ng khơng thể định tuyến đến đích. Gói Route Reply (RREP) đƣợc gởi đến nguồn b ng cơ chế phát Unicast với Source Route là đảo ngƣợc Source Route trong gói RREQ.
Ví dụ: Xét mơ hình mạng Ad Hoc với mơ hình truyền thơng nhƣ hình
2.6. Nút S cần truyền dữ liệu đến nút D. Hình 2.6 M A H ồ ú S E A F B K G H I S D J
Giả thuyết 1: Trong Route Cache của các nút hiện tại là rỗng.
- Nút S s phát gói tin Router Request (RREQ) đến các nút lân cận của nó (Hình 2.6.a.)
Hình 2.6.a Nú S RREQ ế ú l A, E, F
- Nút A, E, F s kiểm tra mình có phải là đích hay khơng? Nếu khơng s kiểm tra trong Route Cache về đƣờng đi đến đích. Theo giả thuyết ban đầu thì trong Route Cache s khơng có thơng tin về đƣờng đi đến đích. Do đó, nút E, F, A s cập nhật thông tin về đƣờng đi về nguồn vào Route Cache thơng qua gói tin RREQ, đồng thời s phát gói tin RREQ đến các nút lân cận của nó.
Bảng 2.1. Thơng tin lƣu trữ trong Route Cache tại thời điểm 1
- Nút A, E, F s phát gói tin RREQ đến các nút lân cận của nó (Hình 2.6.b.)
- Tại thời điểm này tại A và F đều nhận gói tin RREQ (vì A là nút láng giềng của F và ngƣợc lại). Do đó, hai gói tin này s bị hủy vì đ tồn tại trƣớc đó. Đồng thời, q trình tìm kiếm đƣờng đi v n chƣa hồn thành vì chƣa đạt đến đích. Vì vậy, các nút lân cận s lƣu trữ thông tin về đƣờng đi đến nguồn trong Route Cache và tiếp tục gửi gói tin RREQ đến các nút lân cận của nó.
B T lư R C ờ
- Nút B, K, G s phát gói tin RREQ đến các nút lân cận của nó (Hình 2.6.c.)
Hình 2.6.c Nú B, K, G RREQ ế ú C, G, H, K
- Tại thời điểm này, nút H cùng nhận gói RREQ từ 2 nút K và G. Trong trƣờng hợp này, gói tin nào đến sau s bị loại bỏ. Giả sử gói tin gửi từ K đến sau, vì thế giao thức DSR s loại bỏ gói tin này. Tiến trình khám phá đƣờng đi v n tiếp tục thực hiện.
B T lư R C ờ
- Nút H, C s phát gói tin RREQ đến các nút lân cận của nó (Hình 2.6.d.)
Hình 2.6.d Nú H, C RREQ ế ú l ề I, D, J B 4 T lư R C ờ 4
- Tại thời điểm này, D nhận đƣợc gói RREQ và kiểm tra biết đƣợc mình chính là đích nên tiến trình khám phá đƣờng đến đích dừng. Giao thức DRS s thực hiện các công việc sau:
+ D s phát gói tin phản hồi Route Reply (RREP) về nguồn thơng qua đƣờng đ tìm đƣợc.
+ Nút I v n tiếp tục phát gói RREQ để tìm đƣờng đến D. Tuy nhiên, khi tìm thấy D thì gói tin RREQ s lập tức bị hủy vì D đ nhận gói tin này trƣớc đó, đồng thời D gửi gói tin RREP về nguồn S thơng qua đƣờng này.
+ Nút J v n tiếp tục phát gói RREQ để tìm đến D. Tuy nhiên, trong trƣờng hợp này nút I khơng tìm thấy và s gửi gói RREP về nguồn.
- Trong khi các gói tin RREP đƣợc gửi về nguồn, Route Cache s tiếp tục lƣu trữ đƣờng đi ngƣợc lại từ đích. Sau khi nút nguồn S nhận đƣợc gói tin phản hồi RREP, S s biết đƣợc đƣợc đƣờng đi đến đích và tiến hành gửi dữ liệu theo con đƣờng này.
Hình 2.6.e Nú D RREP ề ú S ườ ã
- Nhƣ vậy, trong trƣờng hợp này s có 2 con đƣờng đi từ nút S đến nút D đó là: S,A,B,C,D và S,F,G,H,I,D. Giao thức DSR s sử dụng một trong hai con đƣờng này để truyền dữ liệu từ nút S đến nút D. Trong quá trình truyền dữ liệu nếu đƣờng thứ nhất đang sử dụng bị hỏng thì giao thức s sử dụng đƣờng thứ hai và ngƣợc lại. Trong trƣờng hợp cả hai đƣờng bị hỏng thì tiến trình khám phá đƣờng (Router Discovery) s tự động thực hiện lại.
Giả thuyết 2: Trong Route Cache của các nút là không rỗng. Giả sử Route Cache của nút B đ lƣu trữ đƣờng đi đến D. Tiến trình khám phá đƣờng đi v n thực hiện bình thƣờng nhƣ giả thuyết 1. Tuy nhiên, khi đến B giao thức DSR s kiểm tra trong Route Cache và phát hiện đƣợc đƣờng đi đến D chính là đích, nên tiến trình khám phá đƣờng s dừng và nút B s gửi gói tin phản hồi RREP về nguồn thơng qua đƣờng đi đ xác định.