Mai Văn Linh-ĐTVT2-CH2009 59
Ngoài số thứ tự nguồn và đích, một thông tin hữu ích khác cũng được cất giữ
vào các entry Bảng định tuyến và được gọi là “trạng thái mềm” được kết hợp với entry. Kết hợp với các entry định tuyến tuyến đường ngược là một bộ đếm thời gian được gọi là “bộ đếm thời gian hết hạn RREQ”. Mục đích của bộđếm thời gian này là thanh lọc những entry định tuyến tuyến đường ngược từ những nút không nằm trên tuyến từ nguồn tới đích.
Thời gian hết hạn phụ thuộc vào kích thước của mạng Ad hoc. Một thông số
quan trọng khác kết hợp với entry định tuyến là timeout của các tuyến đang được lưu giữ, hay thời gian mà sau đó tuyến đường này coi như mất hiệu lực. Trong mỗi một entry Bảng định tuyến, địa chỉ của các nút hàng xóm mà gói tin đi qua để đến
đích sẽ duy trì. Một nút được coi là hoạt động với đích khi nó phát sinh hay gửi ít nhất một gói tin tới đích đó trong timeout hoạt động gần đây nhất. Thông tin này
được duy trì và do đó tất cả các nút nguồn hoạt động có thểđược thông báo khi có một liên kết bịđứt.
Một entry tuyến hoạt động nếu nó được sử dụng bởi bất kỳ một nút hoạt động nào. Một đường đi từ một nút nguồn đến một nút đích gọi là “active path” khi các gói tin được chuyển tiếp trên các trên các entry tuyến hoạt động. Chú ý rằng, tất cả
các tuyến trong Bảng định tuyến được kèm theo các trình tự đích, để đảm bảo không có tuyến bị lặp, thậm chí khi tỉ lệ gói tin thấp hay tốc đô di chuyển của nút cao. Một nút di động duy trì một entry bảng định tuyến cho mỗi nút đích. Mỗi một entry bảng định tuyến mang các thông tin sau:
• Địa chỉ IP của nút mạng đích • Số thứ tự của nút mạng đích • Số các nút mạng để tới đích • Nút mạng trong bước tiếp theo
• Thời gian tồn tại của đường định tuyến
• Danh sách các nút mạng gần kề còn hoạt động
• Bộđệm yêu cầu: đểđảm bảo mỗi yêu cầu được xử lý một lần và không bị bỏ
Mai Văn Linh-ĐTVT2-CH2009 60
Mỗi khi một entry tuyến được dùng để truyền gói tin dữ liệu từ nguồn tới đích, timeout cho entry đó sẽ được reset tới thời gian hiện tại cộng thêm timeout tuyến hoạt động. Nếu một tuyến mới được yêu cầu cho một nút di động, các nút di động so sánh số thứ tự đích của tuyến mới với tuyến hiện tại. Nếu số thứ tự tuyến mới cao hơn, nó sẽđược chọn, nếu bằng nhau thì tuyến mới sẽđược chọn khi có metric nhỏ hơn (số chặng ít hơn) tới đích.
2.5.5 Duy trì tuyến
Sự chuyển động của nút ra ngoài phạm vi của một tuyến đường hoạt động không ảnh hướng tới định tuyến đích. Nếu nút nguồn rời khỏi một phiên hoạt động, nó có thể khởi tạo lại thủ tục Khám phá tuyến mới tới đích
Khi cả nút đích và nút trung gian cùng dịch chuyển, một bản tin RREP đặc biệt
được gửi tới nút nguồn. Các bản tin Hello được sử dụng để đảm bảo liên kết đối xứng, cũng nhưđể phát hiện liên kết lỗi. Như một sự lựa chọn, và với trễ thấp hơn nhiều, các liên kết lỗi được phát hiện bằng cách sử dụng LLACK (LinkLayerACKnowledgment).
Một liên kết là lỗi nếu nó không thể chuyển tiếp được gói tin đến chặng tiếp theo.
Khi chặng tiếp theo không thểđến được, nút trước của liên kết lỗi sinh ra một bản tin RREP thu gọn với một số thứ tự mới, đó là một số thứ tự lớn hơn một so với các số thứ tự trước đây của tất cả các nút lân cận trước. Những nút này thiết lập lại bản tin tới các nút hoạt động và các nút khác. Quá trình này tiếp tục cho tới khi tất cả các nút nguồn hoạt động được thông báo; nó sẽ kết thúc vì AODV duy trì các tuyến không loop và một số lượng nút xác định trong mạng Ad hoc.
Khi nhận được thông báo về liên kết lỗi, nút nguồn có thể khởi tạo một quá trình khám phá nếu có yêu cầu một tuyến tới đích. Để xác định một tuyến có cần thiết nữa hay không, một nút có thể kiểm tra tuyến có được sử dụng gần đây không cũng như kiểm tra khối điều khiển giao thức tầng cao hơn để thấy các kết nối ... Nếu nút nguồn hay các nút khác dọc theo tuyến cũ muốn tạo ra một tuyến mới tới nút
Mai Văn Linh-ĐTVT2-CH2009 61
bảo rằng nó xây dựng một tuyến mới và sẽ không có nút nào trả lời nếu chúng vẫn sử dụng tuyến cũ như một giá trị hợp lệ.
2.5.6 Quản lý kết nối cục bộ
Các nút học được từ hàng xóm của chúng theo một trong hai cách sau. Bất cứ
khi nào nút nhận một tin quảng bá từ một hàng xóm, nó sẽ cập nhật thông tin kết nối cục bộđể đảm bảo thông tin hàng xóm đó. Trong sự kiện một nút sẽ không gửi bất cứ gói tin tới tất cả các hàng xóm tiếp theo của nó trong khoảng thời gian một gói tin, nó sẽ quảng bá tới nút hàng xóm một bản tin Hello- một bản tin RREP thu gọn chứa nhận dạng của nó và số thứ tự. Số thứ tự của nút không bị thay đổi trong khi gửi bản tin Hello. Bản tin Hello này không bị truyền ra ngoài vùng lân cận của nút vì nó chứa giá trị TTL. Hàng xóm mà nhận gói tin này sẽ cập nhật thông tin kết nối cục bộ tới nút đó. Nhận một bản tin quảng bá hay bản tin Hello từ các hàng xóm mới hay không nhận được các bản tin Hello liên tục từ môt nút hàng xóm trước đó thì nó coi như kết nối cục bộđã thay đổi. Nếu không nhận được bản tin Hello từ các hàng xóm không còn hoạt động, nó sẽ không kích hoạt bất cứ giao thức nào. Nếu một nút gửi bản tin Hello mà không được nhận ở các nút tiếp theo dọc theo tuyến
đường hoạt động, các nút này sẽ được gửi thông báo về liên kết lỗi. Chúng ta xác
định rằng giá trị tối đa với mất gói Hello được cho phép là hai. Quản lý kết nối cục bộ với bản tin Hello được sử dụng để đảm bảo rằng chỉ có các với kết nối hai chiều mới được coi là hàng xóm. Với mục đích này, mỗi bản tin Hello được gửi đi bởi một nút phải liệt kê các nút mà nó nghe được. Mỗi nút phải chắc chắn rằng nó chỉ
sử dụng các tuyến tới hàng xóm khi các hàng xóm đấy nghe được bản tin Hello của nút. Để tiết kiệm băng thông, các nút chỉ nên quản lý kết nối khi nó được cấu hình rõ ràng trong các nút.
Mai Văn Linh-ĐTVT2-CH2009 62
2.5.7.1 Định dạng bản tin RREQ
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type |J|R|G|D|U| Reserved | Hop Count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RREQ ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Hình 2.18 Định dạng bản tin RREQ của AODV
• Type 1
• J - Join flag; dành cho multicast. • R - Repair flag; dành cho multicast.
• G - Gratuitous RREP flag; cho biết bản tin RREP vu vơ có được unicast
đến địa chỉ IP đích hay không.
• D - Destination only flag; cho biết chỉ có đích có thểđáp ứng RREQ này. • U - Unknown sequence number; cho biết nó nhận ra số thứ tựđích.
• Reserved - bằng 0.
• Hop Count - Số chặng từđịa chỉ IP khởi tạo đến nút có thể thực hiện được yêu cầu.
• RREQ ID - Một số thứ tự xác định duy nhất bản tin RREQ cụ thể.
• Destination IP Address- Địa chỉ IP của nút tới mà có một tuyến được cung cấp tới nút đó.
• Destination Sequence Numer – Số thứ tự lớn nhất đã được nhận bởi nút khởi tạo cho bất kỳ tuyến đường nào tới đích.
Mai Văn Linh-ĐTVT2-CH2009 63
• Địa chỉ IP khởi tạo – địa chỉ IP của nút mà RREQ được chỉ định cho nút
đó.
• Số thứ tự khởi tạo – Số thứ tự hiện tại được sử dụng cho entry tuyến được phát sinh bởi khởi tạo của RREQ.
2.5.7.2 Định dạng bản tin RREP
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type |R|A| Reserved |Prefix Sz| Hop Count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator IP address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Hình 2.19 Định dạng RREP của AODV • Type 2
• R - Repair flag; dành cho multicast.
• A - Acknowledgment required; yêu cầu báo nhận. • Reserved - Sent as 0; ignored on reception.
• Hop Count – Số chặng từđịa chỉ IP nguồn đến địa chỉ IP đích.
• Destination IP Address – Địa chỉ IP của đích (có một tuyến được cung cấp cho đích đó).
• Destination Sequence Number – Số thứ tựđích được kết hợp với tuyến. • Orginatior IP Address – Địa chỉ IP của nút mà bản tin RREQ được khởi tạo
cho nó.
• Lifetime – Thời gian tính bằng ms mà mỗi nút nhận được RREP và xem xét tuyến là hợp lệ.
Mai Văn Linh-ĐTVT2-CH2009 64
2.5.7.3Định dạng bản tin RERR
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type |N| Reserved | DestCount |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Unreachable Destination IP Address (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Unreachable Destination Sequence Number (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| | Additional Unreachable Destination IP Addresses (if needed) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Additional Unreachable Destination Sequence Numbers (if needed)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Hình 2.20 Định dạng RERR của AODV
• Type 3
• N- No delete flag; thiết lập khi một nút thực hiện sửa một liên kết cục bộ, các nút trước đó sẽ bị xóa.
• Reserved - bằng 0.
• DestCount – số lượng đích không thể tới được được chứa trong bản tin; thấp nhất là 1.
• Unreachable Destination IP Address – Địa chỉ IP đích không thể đến do liên kết hỏng.
• Unreachable Destination Sequence Number – Số thứ tự trong entry bảng
định tuyến cho các đích được liệt kê trong trường Destination IP Address trước
2.5.8 Định dạng bản tin RREP-ACK
Bản tin RREP-ACK được gửi đi đểđáp ứng với bản tin RREP với bộ bit “A”,
để tránh hình thành đường khép kín khi Khám phá tuyến.
Mai Văn Linh-ĐTVT2-CH2009 65 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Hình 2.21 Định dạng RREP-ACK của AODV • Type 4 • Reserved - bằng 0. TỔNG KẾT
Qua việc nghiên cứu một số giao thức trong mạng Ad hoc ta có thể thấy rằng chưa có giao thức nào có đầy đủ các tính năng và không thể khẳng định giao thức nào là tối ưu cho mạng Ad hoc. Tuy nhiên, chức năng chính của các giao thức là tìm
được đường đi tới đích, không phải đường ngắn nhất hay đường tối ưu nhất được
đáp ứng.