В настоящих рекомендациях использованы следующие обозначения:
* | - множество всех двоичных строк конечной длины, включая пустую строку; |
- длина (число компонент) строки *; | |
- множество всех двоичных строк длины , где - целое неотрицательное число; нумерация подстрок и компонент строки осуществляется справа налево, начиная с нуля; | |
- конкатенация двоичных строк и из *, т.е. строка из , в которой левая подстрока из совпадает со строкой , а правая подстрока из совпадает со строкой ; | |
- двоичная строка, состоящая из нулей; | |
- усечение двоичной строки длины , , до двоичной строки длины , выполняющееся по правилу: , , =0,1, ..., ; | |
- представление элемента кольца в виде двоичной строки длины : для , где , =0, 1, ..., , выполнено равенство ; | |
- представление символа в виде двоичной строки длины 8, выполняющееся по следующему правилу: , где - ASCII-представление символа ; | |
- представление символьной строки , состоящей из символов, в виде двоичной строки длины , , выполняющееся по правилу: | |
- ключ шифрования пакета. Длина значения определяется использованным криптографическим набором; | |
- ключ сквозной имитозащиты пакета. Длина значения определяется использованным криптографическим набором; | |
- ключ шифрования и сквозной имитозащиты пакета. Длина значения определяется использованным криптографическим набором; | |
- ключ транзитной имитозащиты пакета. Длина значения определяется использованным криптографическим набором; | |
Version | - версия IPIir-заголовка. Текущий документ описывает IPIir-заголовок, для которого Version=1. Длина поля равна 8 бит; |
CS | - идентификатор криптографического набора, определяющий состав криптографических механизмов и их параметров, используемых при создании IPIir-пакета. Длина поля равна 8 бит; |
T | - флаг наличия полей для транзитной имитозащиты. Если T = 1, то в IPIir-заголовке присутствуют поля Transitldentifier, TransitlntegrityCheckValue и TransitlnitValue, иначе поля отсутствуют. При вычислении и проверке сквозной имитовставки (ICV) в поле T необходимо подставить 0. Длина поля равна 1 бит; |
D | - флаг наличия поля DestinationIdentifer. Если D = 1, то в заголовке присутствует поле DestinationIdentifer, иначе поле отсутствует. Идентификатор узла-получателя необходим при маршрутизации IPIir-пакетов. Длина поля равна 1 бит; |
ExtID | - флаг расширенных идентификаторов сетевых узлов. Если ExtID = 0, то все идентификаторы сетевых узлов (поле Sourceldentifier и, при наличии, поля Destinationldentifier и Transitldentifier) имеют длину 32 бита. Если ExtID = 1, то все идентификаторы сетевых узлов имеют длину 64 бита. Длина поля равна 1 бит; |
ExtSN | - флаг расширенного порядкового номера пакета. Если ExtSN=0, то поле порядкового номера пакета SequenceNumber имеет длину 32 бита. Если ExtSN = 1, то поле SequenceNumber имеет длину 64 бита. Длина поля равна 1 бит; |
DAR | - флаг отключения механизма предотвращения повторов. Использование флага регулируется политиками безопасности. Длина поля равна 1 бит; |
R1 | - поле, зарезервированное для будущих применений. При формировании IPIir-заголовка поле должно быть заполнено нулями. Принимающая сторона не должна анализировать содержимое поля. Длина поля равна 3 бита; |
KN | - номер ключа обмена, используемого для шифрования и вычисления сквозной имитовставки, но не для вычисления транзитной имитовставки. Длина поля равна 4 бита; |
TKN | - номер ключа обмена, который использовался для вычисления транзитной имитовставки. Если транзитная имитозащита не используется, т.е. T = 0, то поле должно иметь значение 0. При вычислении и проверке сквозной имитовставки (ICV) вместо конкретного значения в поле TKN необходимо подставить 0. Длина поля равна 4 бита; |
Timestamp | - время отправки пакета. Поле содержит значение времени отправки по астрономическим часам узла-отправителя в POSIX-формате времени, уменьшенное на 0x40000000 с. Время переполнения поля оценивается 2140 годом. Длина поля равна 32 бита; |
Sourceldentifier | - идентификатор сетевого узла-отправителя, с помощью которого узел-получатель определяет отправителя IPIir-пакета и связанный с ним контекст узла-отправителя для обработки пакета. Длина поля равна 32 бита при ExtID = 0 или 64 бита при ExtID = 1; |
Destinationldentifier | - идентификатор сетевого узла-получателя, необходимый при маршрутизации IPIir-пакетов. Поле присутствует, если D = 1. Длина поля равна 32 бита при ExtID = 0 или 64 бита при ExtID = 1; |
SequenceNumber | - порядковый номер пакета; беззнаковое целое. Длина поля равна 32 бита при ExtSN = 0 или 64 бита при ExtSN = 1; |
InitValue (IV) | - сквозная синхропосылка, которая может использоваться при выполнении операций шифрования и выработки сквозной имитовставки, а также для формирования производных ключей для этих операций. Длина поля определяется использованным криптографическим набором; |
Type, Length, Value | - кортежи полей (тип, длина, значение), позволяющие передавать дополнительную информацию в составе IPIir-пакета. Туре - тип значения, содержащегося в поле Value. Длина поля равна 8 бит. Length - байтовая длина поля Value. Длина поля равна 8 бит. Value - произвольные данные типа Туре; |
PayloadData | - поле переменной длины, содержащее исходный IP-пакет или его часть, в зависимости от режима работы IPIir-протокола; |
Staffing | - сетевое дополнение IPIir-пакета, позволяющее обеспечить необходимую длину IPIir-сообщения для его более эффективной обработки. Поле Staffing заполняется последовательностью целых чисел, представленных в двоичном виде: в первый байт помещается цифра 1, во второй - 2 и т.д. Длина значения определяется значением поля SL, если SL отсутствует (S = 0) или имеет значение 0, то поле Staffing отсутствует; |
SL | - число байт сетевого дополнения Staffing. Поле присутствует, если S = 1. Длина поля равна 8 бит; |
Mode | - режим, в котором сформирован IPIir-пакет. Длина поля равна 2 бита; |
TLV | - флаг наличия полей Type, Length и Value. Если TLV = 1, то IPIir-тело начинается с кортежей (Type, Length, Value), в противном случае кортежи отсутствуют. Длина поля равна 1 бит; |
S | - флаг наличия поля SL. Если S = 1, то в IPIir-теле присутствует поле SL, иначе поле отсутствует. Длина поля равна 1 бит; |
R2 | - поле, зарезервированное для будущих применений. При формировании IPIir-сообщения поле должно быть заполнено нулями. Принимающая сторона не должна анализировать содержимое поля. Длина поля равна 4 бита; |
NextHeader | - номер протокола исходного IP-пакета. Длина поля равна 8 бит; |
IntegrityCheckValue (ICV) | - сквозная имитовставка, вычисляемая для данных от начала IPIir-сообщения и до поля NextHeader включительно. Длина поля определяется использованным криптографическим набором; |
Transitldentifier | - идентификатор транзитного узла, последним маршрутизировавшего данный IPIir-пакет. Каждый транзитный узел обновляет значение этого поля, записывая в него свой идентификатор. Поле присутствует, если T = 1. Длина поля равна 32 бита при ExtID = 0 или 64 бита при ExtID = 1; |
TransitlnitValue (TIV) | - транзитная синхропосылка, которая используется при выработке транзитной имитовставки, а также для формирования производных ключей транзитной имитозащиты пакета. Поле присутствует, если T = 1. Длина поля определяется использованным криптографическим набором; |
TransitlntegrityCheck- Value (TICV) | - транзитная имитовставка, вычисляемая для данных от начала IPIir-сообщения и до поля TransitlnitValue включительно. Поле присутствует, если T = 1. Длина поля определяется использованным криптографическим набором. |