|IP option 7, Record Route|
|Protocol type:||Connectionless network layer protocol.|
|Option length:||Variable length.|
|Links:||IANA: IP option numbers.|
This option is used to trace the route an IP packet takes through the network.
RFC 791, pg. 20, 21.
The record route option provides a means to record the route of an internet datagram.
When an internet module routes a datagram it checks to see if the record route option is present. If it is, it inserts its own internet address as known in the environment into which this datagram is being forwarded into the recorded route beginning at the byte indicated by the pointer, and increments the pointer by four.
If the route data area is already full (the pointer exceeds the length) the datagram is forwarded without inserting the address into the recorded route. If there is some room but not enough room for a full address to be inserted, the original datagram is considered to be in error and is discarded. In either case an ICMP parameter problem message may be sent to the source host.
Not copied on fragmentation, goes in first fragment only. Appears at most once in a datagram.
|MAC header||IP header||IP option 7||Data :::|
IP Option 7:
|Type||Length||Pointer||Route Data  :::|
Type. 8 bits. Set to 7.
C, Copy flag. 1 bit. Cleared to 0.
Indicates the option is not to be copied into all fragments.
Class. 2 bits. Cleared to 0.
The option is a control option.
Option. 5 bits. Set to 7.
The IP option number.
Total length of the option in bytes.
4 to 255
The pointer into the route data indicates the byte which begins the next area to store a route address. The pointer is relative to this option.
Route Data .
A recorded route is composed of a series of internet addresses. Each IP address is 32 bits in size. If the pointer is greater than the length, the recorded route data area is full. The originating host must compose this option with a large enough route data area to hold all the address expected. The size of the option does not change due to adding addresses. The intitial contents of the route data area must be zero.
[RFC 791] Internet Protocol.