# Internet Protocol Options

There are a number of optional parameters that may be present in an Internet Protocol version 4 datagram. They typically configure a number of behaviors such as for the method to be used during source routing, some control and probing facilities and a number of experimental features.

## Available options

The possible options that can be put in the IPv4 header are as follows:
| Field | Size (bits) | Description |
| Copied | 1 | Set to 1 if the options need to be copied into all fragments of a fragmented packet. |
| Option Class | 2 | A general options category. 0 is for control options, and 2 is for debugging and measurement. 1 and 3 are reserved. |
| Option Number | 5 | Specifies an option. |
| Option Length | 8 | Indicates the size of the entire option (including this field). This field may not exist for simple options. |
| Option Data | Variable | Option-specific data. This field may not exist for simple options. |
The table below shows the defined options for IPv4. The Option Type column is derived from the Copied, Option Class, and Option Number bits as defined above.
| Option Type (decimal/hexadecimal) | Option Name | Description |
| 0/0x00 | EOOL | End of Option List |
| 1/0x01 | NOP | No Operation |
| 2/0x02 | SEC | Security (defunct) |
| 7/0x07 | RR | Record Route |
| 10/0x0A | ZSU | Experimental Measurement |
| 11/0x0B | MTUP | MTU Probe |
| 12/0x0C | MTUR | MTU Reply |
| 15/0x0F | ENCODE | ENCODE |
| 25/0x19 | QS | Quick-Start |
| 30/0x1E | EXP | RFC3692-style Experiment |
| 68/0x44 | TS | Time Stamp |
| 82/0x52 | TR | Traceroute |
| 94/0x5E | EXP | RFC3692-style Experiment |
| 130/0x82 | SEC | Security (RIPSO) |
| 131/0x83 | LSR | Loose Source Route |
| 133/0x85 | E-SEC | Extended Security (RIPSO) |
| 134/0x86 | CIPSO | Commercial IP Security Option |
| 136/0x88 | SID | Stream ID |
| 137/0x89 | SSR | Strict Source Route |
| 142/0x8E | VISA | Experimental Access Control |
| 144/0x90 | IMITD | IMI Traffic Descriptor |
| 145/0x91 | EIP | Extended Internet Protocol |
| 147/0x93 | ADDEXT | Address Extension |
| 148/0x94 | RTRALT | Router Alert |
| 149/0x95 | SDB | Selective Directed Broadcast |
| 151/0x97 | DPS | Dynamic Packet State |
| 152/0x98 | UMP | Upstream Multicast Packet |
| 158/0x9E | EXP | RFC3692-style Experiment |
| 205/0xCD | FINN | Experimental Flow Control |
| 222/0xDE | EXP | RFC3692-style Experiment |

## Loose source routing

Loose Source Routing is an IP option which can be used for address translation. LSR is also used to implement mobility in IP networks.
Loose source routing uses a source routing option in IP to record the set of routers a packet must visit. The destination of the packet is replaced with the next router the packet must visit. By setting the forwarding agent (FA) to one of the routers that the packet must visit, LSR is equivalent to tunneling. If the corresponding node stores the LSR options and reverses it, it is equivalent to the functionality in mobile IPv6.
The name loose source routing comes from the fact that only part of the path is set in advance.

## Strict source routing

Strict source routing is in contrast with loose source routing, in which every step of the route is decided in advance where the packet is sent.

## Restrictions and considerations

The following two options are discouraged because they create security concerns: Loose Source and Record Route (LSRR) and Strict Source and Record Route (SSRR). Many routers block packets containing these options.