|IP option 9, Strict Source Route|
|Protocol type:||Connectionless network layer protocol.|
|Option length:||Variable length.|
|Links:||IANA: IP option numbers.|
The IP Strict Source Route option is used to route the IP packet based on information supplied by the source.
RFC 791, pgs 19, 20:
The strict source and record route (SSRR) option provides a means for the source of an internet datagram to supply routing information to be used by the gateways in forwarding the datagram to the destination, and to record the route information.
The recorded route address is the internet module's own internet address as known in the environment into which this datagram is being forwarded.
This procedure of replacing the source route with the recorded route (though it is in the reverse of the order it must be in to be used as a source route) means the option (and the IP header as a whole) remains a constant length as the datagram progresses through the internet.
This option is a strict source route because the gateway or host IP must send the datagram directly to the next address in the source route through only the directly connected network indicated in the next address to reach the next gateway or host specified in the route.
Must be copied on fragmentation. Appears at most once in a datagram.
|MAC header||IP header||IP option 9||Data :::|
IP Option 9:
|Type||Length||Pointer||Route Data  :::|
Type. 8 bits. Set to 137.
C, Copy flag. 1 bit. Set to 1.
Indicates the option is to be copied into all fragments.
Class. 2 bits. Cleared to 0.
This is a control option.
Option. 5 bits. Set to 9.
The IP option number.
Total length of the option.
4 to 255
The pointer into the route data indicates the byte which begins the next source address to be processed. The pointer is relative to this option.
If the address in destination address field has been reached and the pointer is not greater than the length, the next address in the source route replaces the address in the destination address field, and the recorded route address replaces the source address just used, and pointer is increased by four.
Route Data .
A route data is composed of a series of internet addresses. Each internet address is 32 bits. If the pointer is greater than the length, the source route is empty (and the recorded route full) and the routing is to be based on the destination address field.
[RFC 791] Internet Protocol.