|DSR, Dynamic Source Routing Protocol|
|Protocol type:||Transport layer protocol.|
DSR is a simple and efficient routing protocol designed specifically for use in multi-hop wireless ad hoc networks of mobile nodes. DSR allows the network to be completely self-organizing and self-configuring, without the need for any existing network infrastructure or administration. The protocol is composed of the two main mechanisms of "Route Discovery" and "Route Maintenance", which work together to allow nodes to discover and maintain routes to arbitrary destinations in the ad hoc network. All aspects of the protocol operate entirely on demand, allowing the routing packet overhead of DSR to scale automatically to only what is needed to react to changes in the routes currently in use. The protocol allows multiple routes to any destination and allows each sender to select and control the routes used in routing its packets, for example, for use in load balancing or for increased robustness. Other advantages of the DSR protocol include easily guaranteed loop- free routing, operation in networks containing unidirectional links, use of only "soft state" in routing, and very rapid recovery when routes in the network change. The DSR protocol is designed mainly for mobile ad hoc networks of up to about two hundred nodes and is designed to work well even with very high rates of mobility.
|MAC header||IP header||DSR header||Data :::|
|Next header||F||reserved||Payload length|
Identifies the next protocol header following this header. Uses the same values as the IPv4 protocol field. If no header follows, then this field MUST be set to 59 (no next header).
F, Flow State Header.
If this field is set, the header is a DSR Flow State. Otherwise, the header is a DSR Options header.
Must be cleared to 0.
The size of the Options section in bytes.
Options. Variable length.