Опции могут присутствовать в любой датаграмме, но должны всегда быть обработаны. А именно, наличие или отсутствие какой-либо опции дело отправителя, но каждый Internet модуль должен быть в состоянии произвести разбор каждой опции.
Опции могут оканчиваться не на 32-битной границе. В этом случае Internet заголовок может дополняться нулевыми октетами. Первый из них должен интерпретироваться как заключительная опция, а остальные - как октеты выравнивания Internet заголовка по границе.
Каждый Internet модуль должен быть в состоянии реагировать на каждую опцию. Например, опция безопасности требует классификации, внесения ограничений, или передачи по изолированному пути.
Options (опции) поле переменной длины. Опции могут появиться в датаграммах, а могут и не появляться. Признаком наличия опций является превышение указанной в первом байте длины заголовка значения длины фиксированной части заголовка (=20).
Длина поля опций Lopc определяется по следующей формуле:
Lopc=4*Lzag - 20;
где Lzag - значение поля длина заголовка в первом байте,
20 - длина фиксированной части заголовка.
Опции должны поддерживаться всеми Internet модулями (хостами и шлюзами). Не обязательно каждая конкретная датаграмма несет опции, но нести их все же может. В некоторых приложениях опция секретности должна присутствовать во всех датаграммах. Поле опций не имеет постоянной длины. Опций может не быть, а может быть несколько.
Типы и форматы полей опций можно найти здесь.