Bảng 2.2 Thông tin lưu trữ trong Route Cache ti ạ thời điểm 1
B ng 2.5 ả Thông tin lưu trữ trong Route Cache tại thời điểm 4
Nút S A B C D E F G H I J K
Route
cache - [S] [S,A] [S,A,B] [S,A,B,C] [S] [S] [S,F] [S,F,G] [S,F,G,H] - [S,F] 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á l trình n ế ộ đế đích dừng. Giao thức định tuy n s c hi n các công ế ẽthự ệ
vi c sau: ệ
- D s phát gói tin ph n h i RREP v ngu n ẽ ả ồ ề ồ S thông qua đường đi đã tìm được; - Nút I v n ti p tẫ ế ục phát gói RREQ đểtìm đường đi đến D. Tuy nhiên, khi n D thì đế
gói RREQ s l p t c b hẽ ậ ứ ị ủy vì D đã nhận gói này trước đó, đồng th i D g i gói ờ ử
RREP v ngu n S thơng qua l trình này theo Hình 2.7; ề ồ ộ
- Nút J v n ti p tẫ ế ục phát gói RREQ đểtìm đường đi đến D. Tuy nhiên, trong trường h p này nút J khơng tìm th nút ợ ấy đích D và s g i gói RREP v ngu n ẽ ử ề ồ theo hướng
đường đi từ J v ề S như ảB ng 2.6 và b lo i. ị ạ
B ng 2.6. ả Thông tin lưu trữ trong Route Cache khi hồn thành khám khá l trình ộ
Nút S A B C D E F G H I J K
Route cach
e
- [S] [S,A] [S,A,B] [S,A,B,C] [S] [S] [S,F] [S,F,G] [S,F,G,H] [S,A,B,C] [S,F]
Trong khi các gói RREP được g i v ngu n, Route Cache s p tử ề ồ ẽ tiế ục lưu trữ đường
đi ngượ ạ ừ đích. Sau khi nút nguồc l i t n S nhận được gói ph n h i RREP, S s biả ồ ẽ ết được
đường đi đến đích và ựth c hi n g i d li u theo l trình này theo Hình 2.8. ệ ử ữ ệ ộ
Hình 2.8 Nút D phát gói RREP v nút S theo l trình . ề ộ đã khám phá
S E F A K G H I D C B J [S,F,G,H] [S,A,B,C] [S,A,B,C] S E F A K G H I D C B J S [ ,A,B,C,D]
38
Như vậy, trong trường h p này s có 2 l trình t ợ ẽ ộ ừ nút S đến nút D đó là: S, A, B, C, D và S, D. Giao thF, G, H, I, ức định tuy n DSR s s d ng m t trong hai ế ẽ ử ụ ộ đường đi này để
truy n d u t ề ữliệ ừ nút S đến nút D. Trong quá trình truy n d u nề ữliệ ế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ượ ại. Trong trườc l ng h p c ợ ả hai đường b h ng thì ti n trình khám phá l trình s t ng th c hi n l i. ị ỏ ế ộ ẽ ự độ ự ệ ạ
Trường h p 2: Trong Route Cache c a các nút là không r ng ợ ủ ỗ
s Route Cache c n D, ti n trình khám phá l
Giả ử ủa nút B đã lưu trữ đường đi đế ế ộ
trình v n th c hiẫ ự ện bình thường như trong trường h p 1ợ . Tuy nhiên, khi đến nút thuB ật toán 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á l trình s d ng và nút B s g i gói tin ph n h i RREP v nút ế ộ ẽ ừ ẽ ử ả ồ ề
ngu n S ồ thông qua đường đi đã xác định.
Duy trì khám phá nh tuy n đị ế
Cơ chế duy trì khám phá định tuy n DSR cho phép các nút trong h th ng m ng t ế ệ ố ạ ự động duy trì l trình nh tuy n trong Route Cache. C nút khi chuy n gói tin trên m ng ộ đị ế ác ể ạ
ph i có nhi m v xác nh n rả ệ ụ ậ ằng các gói tin đó đã chuyển đến nút k ế tiếp hay chưa (thông
qua s ph n h i thông tin c nút nh n). Trong mự ả ồ ủa ậ ột trường hợp nào đó mà nút đó phát hiện r ng gói tin khơng th truyằ ể ền đến nút k p, nó s g i gói Route Error (RERR) cho nút ế tiế ẽ ử
nguồn để thơng báo tình tr ng hi n th i c k t n i và a c nút k p mà nó khơng ạ ệ ờ ủa ế ố đị chỉ ủa ế tiế
thể truy n ề đi. Khi nút ngu n nhồ ận được gói RERR, nó s xóa l trình b m k t n i trong ẽ ộ ị ất ế ố
Route cache và tìm m l trình khác ột ộ đã tồ ạn t i trong Route cache ho c s khặ ẽ ởi động một tiến trình phám phá l trình m i thi t l p l i l trình t nguộ ớ để ế ậ ạ ộ ừ ồn đến đích theo yêu cầu.
2.2.2 AODV
Cơ chế hoạt động c a giao thủ ức định tuy n AODV ế đã được trình bày ph n 2.1.2.2, ở ầ
tương tự như giao thức định tuyến DSR, AODV cũng thực hi phát gói tin qu ng bá ện ả để
yêu c u khám phá l trình khi có u c u ầ ộ ầ tìm đường đi. Tuy nhiên, m khác biđiể ệt cơ bản c giao th AODV i v i DSR là s d ng nhiủa ức đố ớ ử ụ ều cơ chế kh nhau duy trì thơng tin ác để
bảng định tuy n AODV khơng s dế . ử ụng cơ chế đị nh tuy n ngu n ế ồ và cũng không cần biết thông tin v các nút láng gi ng c a nó, AODV d a trên các cề ề ủ ự ổng vào định tuy n c a t ng ế ủ ừ
nút trong bảng định tuyến để phát gói RREP v nút ngu n v nút nguề ồ à ồn dùng thơng tin đó để ử ữ ệu đến đích. Để đả g i d li 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 (ch s t trong bử ụ ỹ ậ ỉ ốthứ ự ảng định tuy n), k thuế ỹ ật
này dùng để nh n ra các ậ đường đi khơng cịn giá trị trong quá trình c p nh t bậ ậ ảng định tuyến để i b ra kh i bloạ ỏ ỏ ảng định tuy n. M nút s có m t b ế ỗi ẽ ộ ộ 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 ồ giai đoạn khám phá l trình nh tuy: ộ đị ến và duy trì l trình nh tuy n [4](pp.186-ộ đị ế
190)[22][84](pp.101-106)[96] được mô t chi tiả ết như sau:
Khám phá l trình nh tuy n ộ đị ế
Khám phá l trình nh tuy n s ộ đị ế ẽ được thi t l p khi m t nút ngu n có nhu c u truy n ế ậ ộ ồ ầ ề
thông tin đến m t nút khác trong mộ ạng, m i nút trong m ng ln duy trì 2 b ỗ ạ ộ đếm: Sequence number và Request ID. Trong đó cặp thơng tin <Sequence number, Request ID>
39
là định danh duy nh t cho m t gói RREQ. Giá tr c a c p thông tin này s ấ ộ ị ủ ặ ẽ đượ thay đổc i
như sau:
Đố ới v i Sequence number:
- Trước khi m nút khột ởi động ti n trình khám phá l trình, u này nhế ộ điề ằm tránh
xung độ ớt v i các gói RREP trước đó;
- Khi nhận được m gói RREP g i t ột ử ừ nút đích để l gói RREQ, nó s c p nhtrả ời ẽ ậ ậ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 Request ID :
- Khi có s ự thay đổi trong tồn b các nút láng gi ng c a nó dộ ề ủ ẫn đến s có m t s ẽ ộ ố đường đi trong bảng định tuy n s khơng cịn hi u l c. S Request sế ẽ ệ ự ố ID ẽ được tăng
lên khi nút khởi động l m t ti n trình khám phá l trình m ại ộ ế ộ ới. Source
address Request ID Source sequence No.
Destination
address Destination sequence No.
Hop count Hình 2.9. Các trường thơng tin trong gói RREQ
Tiến trình khám phá l trình ộ được khởi động khi nào m t ộ nút muốn truy n d ề ữ liệu v i m nút khác mà trong bớ ột ảng định tuy n cế ủa nó khơng có thơng tin định tuyến đến nút
đích đó. Khi đó nó s phát qu ng bá m t gói RREQ cho các nút láng gi ng c a nó. Thơng ẽ ả ộ ề ủ
tin trong RREQ ngồ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 nút ngu n, s Broadcast ID, giá tr ố ủ ồ ố ị
Sequence number được bi t l n cu i cùng c nút ế ầ ố ủa đích. Khi các nút 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 RREQ 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 (DSN) trong c ng vào ị ổ chứa thông tin nh tuy n cđị ế ủa nút v ề đường đi vớ ối s DSN trong gói RREQ, n u s DSN trong gói RREQ lế ố ớn hơn số
DSN trong nút thì nó s khơng s d ng thông tin trong nút ch bẽ ử ụ ứa ảng định tuyến để ltrả ời cho nút ngu n mà nó s p t c phát qu ng bá gói RREQ ồ ẽ tiế ụ ả đó đến các nút láng gi ng cề ủa
nó. Ngượ ạc l i nó s phát ẽ đơn hướng (Unicast) cho gói RREP ngược tr l i cho nút láng ở ạ
giềng của nó để báo đã nhận gói RREQ. Trong gói RREP, ngồi các thơng tin như: địa ch ỉ
nguồn, địa ch ỉ đích, cịn ch a các thông tin: DSN, Hop count, Time-ứ To-Live (TTL).
Ngượ ại thì qua bước l c 3.
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 nút ngu n b ng cách ghi nh n lồ ằ ậ ại địa ch c nút láng gi ng mà nó nh n gói ỉ ủa ề ậ
RREQ lần đầu tiên. Nút định tuy n ế 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 nút ả ồ
nguồn, sau đó thơng tin định tuy n này s ế ẽ được xóa đi.
Source
address Destination address Destination sequence number
Hop count Life-time
40
Quá trình ki m tra này s l p tu n t ể ẽ ặ ầ ự cho đến khi g nút ặp đích hoặc m nút trung ột gian mà có các u ki theo yêu c u cđiề ện ầ ủa bước 2. Trong quá trình tr v gói RREP, mả ề ột nút có th nh n cùng lúc nhiể ậ ều gói RREP, khi đó nó chỉ ử x lý gói RREP có s D l n ố SN ớ
nh t, ho c n u cùng s DSN 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 bẽ ậ ậ ầ ế ảng định tuy n c a nó và chuyế ủ ển gói RREP đi.
Để ấy rõ hơn cơ chế th khám phá l ộ trình định tuyến như mơ tả ằng các bướ b c c a ủ
thuật tốn đã trình bày ở trên. Hình 2.11 dưới đây trình bày lưu đồ thu t tốn khám phá l ậ ộ
trình c a giao thủ ức định tuy n ế AODV.
Hình 2.11. Cơ chế xử l khám phá ộl trình tại nút của AODV
Duy trì l trình 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 mà c n d a vào các ề ề chỉ ầ ự thông tin định tuyến nút trong bảng định
Trước đó nút đãnhận RREQ? <Source, Broadcast > ID
H y gói RREQ ủ Sai
Nút đang xét là nút đích?
C l trình trong Route cache? ó ộ ho c ặ
Có l trình ộ nhưng DSN của Route cache nh ỏ hơn DSN của RREQ
Sai
Phản h i RREP v ngu n ồ ề ồ Đúng
Thi t l l trình dế ập ộ ẫn ngược về nút phát gói RREQ Hop count = Hop count + 1
Sai Phát gói RREQ đến các nút láng giềng
Thêm <Source, Request > vào Route cache c nút ID ủa
Bắt đầu ti n trình ế khám phá l trình tộ ại nút ngu n ồ K t thúc n trình ế tiế khám phá l trình ộ Kết thc tiến trình xử l gói RREQ đ nhận Đúng Đúng
41
tuy n. Vì v y, khi m nút nh n th y r ng Next hop (ch ng k p) c a nó khơng th tìm ế ậ ột ậ ấ ằ ặ ế tiế ủ ể
thấy, thì nó s phát m t gói RERR 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ô cùng) và g i n t t c ử đế ấ ả các nút láng giềng đang ở ạ tr ng thái hoạt động, nh ng nút ữ đó sẽ ế ụ ti p t c chuyển gói tin đó đến các nút láng gi ng c a nó, và c ề ủ ứ như vậy cho đến khi t t c ấ ả các nút trong m ng ng thái hoạ ở trạ ạt
động nhận được gói tin này.
Sau khi nh n thông báo này, các nút s xóa t t c ậ ẽ ấ ả các đường đi có chứa nút h ng, ỏ đồng th i có th s khờ ể ẽ ởi động l i ti n trình khám phá l trình n u nó có nhu cạ ế ộ ế ầu định tuy n ế
d ữliệu đến nút b hị ỏng đó bằng cách g i m gói RREQ i s Sequence number b ng s ử ột (vớ ố ằ ố
Sequence number mà nó biết trước đó cộng thêm 1) đến các nút láng giềng đểtìm đường
đi đến đích.
2.3 Nghiên c u c i tiứ ả ến định tuy cho m ng MANET ến ạ
2.3.1 M t s nghiên c u v nh tuy cho m ng MANET ộ ố ứ ề đị ến ạ
Như phân tích ở ph n trên v các giao thầ ề ức định tuy n MANET, m t trong nh ng ế ộ ữ
vấn đề chúng ta quan tâm là tăng hiệu qu truy n tin c a mả ề ủ ạng trong đó tập trung c hai ả đặc tính là nh tính (qualitative) và đị định lượng (quantitative). Đối với đặc tính v nh ề đị
tính bao g m x lý phân tán, h k t n i ồ ử ỗ trợ ế ố đơn hướng, hoạt động d a trên yêu c u, kh ự ầ ả năng bảo m tậ . Các đặc tính v ề định lượng như thông lượng d li u n ữ ệ đế điểm đích (End to End data throughput), truy n tin, độ trễ ề thời gian khám phá l trình, t l gói tin khơng ộ ỷ ệ
truyền được khi có yêu c u truy n tin [71][79]. Vầ ề ới đặc điểm môi trường truy n d n vơ ề ẫ
tuy n thì các y u t làm ế ế ố ảnh hưởng chất lượng cũng như định lượng khá cao như các nhân
t nêu trên theo [10][99](pp.1-15), do ố ở đó việc c i ti n các giao thả ế ức định tuy n là giế ải pháp quan trọng để tăng hiệu qu truyả ền tin. Trong đó, ệvi c nghiên cứu để ả c i ti n giao ế
thức định tuy n t p trung vào các vế ậ ấn đề như sau:
+ Hiệu qu nh tuyả đị ến: Đây là yêu c u quan tr ng nh t c a giao thầ ọ ấ ủ ức định tuy n, v i ế ớ
yêu c u khám phá l trình và g i các gói tin t nguầ ộ ử ừ ồn đến đích. Vấn đề là phải tìm được
đường đi ngắn nh t theo mấ ục tiêu đặt ra, ví d ụ tìm đường đi có số nút trung gian th p nh t, ấ ấ
hoặc tìm đường đi ớ v i kho ng cách t nút nguả ừ ồn đến nút đích là ngắn nh t ho c k t h p ấ ặ ế ợ
các tiêu chí với nhau để tìm được đường đi tối ưu. Việc tìm được đường đi ngắn nh t theo ấ
nghĩa trên là tham số đị nh tính quan tr ng trong viọ ệc đánh giá hiệu qu nh tuy n ả đị ế
[27][35][93][98];
+ Tính ch u l Trong h ng phân tán, viị ỗi: ệ thố ệc xác định đường truy n t nguề ừ ồn đến
đích và tránh lỗi khi truy n t nguề ừ ồn đến đích là điều quan tr ng trong thi t k h th ng. ọ ế ế ệ ố Điều này cũng tương tự trong h ng m ng MANET, ệ thố ạ tuy nhiên do đặc điểm c a m ng ủ ạ
MANET v i vi c truy n t ớ ệ ề ừ nút đến nút theo ch ng ặ do đó việ ồ ại đườc t n t ng truy n t nút ề ừ
nguồn đến nút đích có thể ặ g p nhi u l i ho c m k t n i hoề ỗ ặ ất ế ố ặc thay đổi trong q trình nút di chuyển. Do đó, thực hi n vi c truy n tin ph i thông qua các nút láng gi ng v i các d ệ ệ ề ả ề ớ ữ
liệu dư thừa để đả m b o không b l i truy nả ị ỗ ề , đây cũng là một đặc điểm trong thi t k thu t ế ế ậ toán định tuy n cho m ng MANET [30][88]; ế ạ
+ Cân b ng t ằ ải: Đây là một vấn đề ầ c n ph i quan tâm trong thuả ật toán định tuyến