DSR là giao thức phản ứng dựa trên định tuyến nguồn [7,8]. Mỗi gói tin mang trong tiêu đề một danh sách có thứ tự và đầy đủ về các nút cần đi qua để tới đích. Do đó, các nút trung gian chỉ cần duy trì các liên kết với các hàng xóm để chuyển tiếp các gói tin. Tuy nhiên, nút nguồn cần biết thứ tự hoàn chỉnh các chặng tới đích.
Mỗi nút duy trì một bộ nhớ đường đi - Route Cache có chứa các đường đi đã biết. Khi đường được cần đến không có trong Route Cache, quá trình phát hiện
đường được khởi tạo bằng việc phát gói tin yêu cầu đường Route Request. Khi một nút nhận được gói tin yêu cầu đường, nút tìm trong Route Cache đường tới đích
được yêu cầu. Nếu đường trong Route Cache không tìm thấy, nút chuyển tiếp gói tin yêu cầu đường cho các hàng xóm sau khi bổ sung địa chỉ vào thứ tự các chặng
được lưu trong gói tin yêu cầu đường. Gói tin yêu cầu đường được truyền qua mạng cho tới khi đến đích hoặc nút có đường đi tới đích. Nếu đường được tìm thấy, gói tin trả lời (Route Reply) có chứa thứ tự các chặng tới đích được gửi trở lại nguồn.
Để đảm bảo các đường đi là hợp lệ, DSR sử dụng cơ chế bảo trì đường đi để
phát hiện các thay đổi liên kết. Các cơ chế bảo trì đường bao gồm việc thực hiện các biên nhận theo chặng hoặc đầu cuối, kèm theo đó là cơ chế phát các gói tin Route
Error để thông báo về sựđứt liên kết. DSR có thể sử dụng thông tin trạng thái được truyền từ lớp MAC để thông báo về sựđứt liên kết này. Trong trường hợp có sựđứt liên kết, gói tin Route Error được gửi lại cho nút nguồn. Nút nguồn sau đó sẽ xoá bỏ liên kết bị hỏng ra khỏi Route Cache và tất cả các đường có chứa chặng này
được cắt tại điểm có liên kết hỏng. Ngoài ra, các nút trung gian chuyển tiếp gói tin
Route Error có thể cập nhật Route Cache theo cách tương tự.