6.2. Опции мобильности
Сообщения мобильности могут включать ноль или несколько опций мобильности. Такая возможность предоставляет факультативные поля, которые необязательно должны присутствовать при каждом использовании конкретного заголовка мобильности, а также возможность будущих расширений формата сообщений. Такие опции включаются в поле Message Data самого сообщения после фиксированной части данных сообщения, специфицированных в подразделах сообщений раздела 6.1.
Наличие таких опций будет указываться полем Header Len заголовка мобильности. Если включается опция Binding Authorization Data (разд. 6.2.7), то она должна (MUST) быть последней опцией и не должна (MUST NOT) иметь завершающего заполнения. В противном случае, опции могут помещаться в любом порядке.
6.2.1. Формат
Опции мобильности кодируются в оставшемся пространстве поля Message Data сообщения мобильности с помощью формата тип — длина — значение (TLV) следующим образом:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Type | Option Length | Option Data... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Option Type (тип опции)
- 8-битовый идентификатор типа опции мобильности. При обработке заголовка мобильности, содержащего опцию, для которой приемник не распознает значения Option Type, приемник должен (MUST) тихо игнорировать и пропустить опцию, правильно обрабатывая любые оставшиеся в сообщении опции.
- Option Length (длина опции)
- 8-битовое целое без знака, представляющее длину опции мобильности в октетах, не включая полей Option Type и Option Length.
- Option Data (данные опции)
- Поле переменной длины, которое содержит специфические для опции данные.
Следующие подразделы специфицируют типы опций, которые в текущий момент времени определяются для использования в заголовке мобильности.
Реализации должны (MUST) молча игнорировать любые опции мобильности, которые они не понимают.
Опции мобильности могут иметь требования по выравниванию. Следуя соглашениям IPv6, эти опции выровнены в пакете так, что многооктетные значения в пределах поля Option Data каждой опции завершаются на естественных границах (т.е., поля шириною n октетов размещаются на целое кратное n октетов от начала заголовка, для n = 1, 2, 4, or 8) [11].