A field in a datagram, or IP packet header. This field is not required in every datagram, though all standard implementations must include it. The options are primarily for network testing or debugging.

The length of the field depends on which options are chosen. Some options are one octet long, and consist of a single octet option code; others are of variable length. Each option has a single octet code, which is divided into three fields: a 1-bit copy flag, a 2-bit option class, and the 5-bit option number. The copy flag determines how routers treat options during fragmentation. The option class specifies the general option class and the option number specifies a specific option within that class. The single octet code may be followed by a single octet length and a set of data octets.

Some frequently used options:

  • Record route - Provides room for each router to enter the address of its outgoing interface as the packet travels. Similar to trace, but the outgoing interfaces on the path to and from the destination are recorded.
  • Timestamp - Similar to record route except the router also includes a timestamp.
  • Loose source routing - A series of IP addresses for interfaces is listed. Each must be used to pass the packet, but other hops in between are allowed.
  • Strict source routing - Like loose source, only the route must be followed exactly, with no hops in between.