动态源路由协议(Dynamic Source Routing, DSR)是在移动自组网(MANET)中使用的一种路由协议。它工作在TCP/IP协议族的网际层。

 

  动态源路由协议(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)