2 Cấu trúc của luận văn
2.7.3 Dynamic Source Routing (DSR)
Đặc điểm nổi bật của DSR [29] là sử dụng định tuyến nguồn. Nút nguồn biết được toàn bộ từng chặng định tuyến (hop-by-hop route) tới nút đích. Các chặng này được lưu trong bộ nhớ định tuyến (route cache). Gói dữ liệu (data packet) chứa định tuyến nguồn trong phần tiêu đề của gói tin. Khi một nút trong mạng ad-hoc cố gắng gửi một gói dữ liệu tới nút đích mà nó chưa biết đường đi tới đó, nút nguồn phải tìm kiếm tuyến đường (route discovery) một cách động. Công việc tìm kiếm đường đi được thực hiện bằng cách gửi đi một thông điệp yêu cầu định tuyến RR EQ tới toàn bộ các nút trong mạng. Mỗi nút mạng khi nhận được RREQ sẽ phát quảng bá lại gói tin đó, trừ trường hợp nút đó chính là nút đích hoặc là một nút trung gian trong tuyến đường tới nút đích được lưu trong bộ nhớ định tuyến. Các nút này khi nhận được RREQ sẽ gửi trả lại một thông điệp trả lời định tuyến RREP cho nút nguồn. RREQ và RREP cũng được định tuyến nguồn: RREQ xây dựng đường đi trong mạng; RREP tự quay trở lại nút nguồn bằng cách đi dọc theo tuyến đường này. Tuyến đường mà RREP đã đi sẽ được lưu lại trong bộ nhớ (cache) tại nút nguồn để sử dụng lại sau đó.
Nếu bất cứ liên kết nào trong định tuyến nguồn bị phá vỡ, nút nguồn sẽ nhận được thông báo – gói tin báo lỗi định tuyến RERR (route error). Nút nguồn sẽ loại bỏ tất cả các tuyến đường có sử dụng liên kết này ra khỏi bộ nhớ (cache). Nút nguồn lại khởi tạo một quá trình tìm kiếm đường đi mới khi cần thiết. DSR sử dụng rất nhiều định tuyến nguồn và lưu lại đường đi. Không cần thiết phải sử dụng một kỹ thuật đặc biệt nào để dò tìm định tuyến lặp. Bất cứ nút trung gian nào cũng có thể lưu lại tuyến đường chứa trong gói tin mà nó chuyển tiếp để có thể sử dụng lại về sau.