動態源路由協議(Dynamic Source Routing Protocol,DSR)是壹個專門為多跳無線Ad Hoc網絡設計的簡單且高效的路由協議。所有的路由都是由DSR路由協議動態地、自動地確定和維護,它提供快速反應式服務,以便幫助確保數據分組的成功交付,即使在節點移動或者其他網絡狀況變化的條件下也是如此。
DSR路由協議有兩個主要機制組成——路由尋找(Route Discovery)機制和路由維護(RouteMaintenance)機制。路由尋找機制在源節點需要給目的節點發送壹個分組並且還不知道到達目的節點的路由的時候使用。當源節點正在使用壹條到達目的節點的源路由的時候,源節點使用路由維護機制可以檢測出因為拓撲變化不能使用的路由,當路由維護指出壹條源路由已經中斷而不再起作用的時候,為了將隨後的數據分組傳輸到目的節點,源節點能夠盡力使用壹條偶然獲知的到達目的節點的路由,或者重新調用路由尋找機制找到壹條新路由。在DSR路由協議中,路由尋找機制和路由維護機制均是完全按需操作,不需要某個網絡層次的某種周期分組,如DSR不需要任何周期性的路由廣播分組、鏈路狀態探測分組。DSR路由協議的的所有狀態都是“軟狀態”,因為任何狀態的丟失都不會影響DSR路由協議的正確操作,因為所有狀態都是按需建立,所有狀態在丟失之後如果仍然需要的話則能夠很容易得到迅速恢復。DSR路由協議的路由尋找機制和路由維護機制的操作是的單向鏈和不對稱路由很容易得到支持。
DSR路由協議的完整版本直接使用“源路由”,節點使用路由緩沖器存儲節點所知的源路由,當發現新路由時,更新緩沖器內的條目。節點所發送的每個數據分組均在其分組頭中攜帶其將要通過的壹個完整的、按序排列的路由信息。
DSR選項頭格式如下:
它的首部采用擴展性良好的TLV格式。除固定部分外,不同類型的選項(option)以TLV格式附加在固定部分之後。
選項的種類包括:
路由請求(Route Request)
路由應答(Route Reply)
確認請求(ACK Request)
確認(ACK)
源路由(Source Route)