ТРЕБОВАНИЯ
к реализации протоколов передачи пакетов IP
1. Обмен данными осуществляется пакетами, имеющими структуру и формат согласно таблице N 1 для протокола IPv4 или таблице N 7 для протокола IPv6.
Таблица N 1
Наименование поля | Длина поля, бит | |||
Версия | 4 | |||
Длина заголовка | 4 | |||
Тип сервиса | 8 | |||
Полная длина | 16 | |||
Идентификатор | 16 | |||
Флаги | 3 | |||
Смещение фрагмента | 13 | |||
Время жизни | 8 | |||
Тип протокола следующего уровня | 8 | |||
Контрольная сумма заголовка | 16 | |||
IP-адрес источника | 32 | |||
IP-адрес назначения | 32 | |||
IP-опции (Режим обработки пакета) | переменная длина | |||
Заполнение | переменная длина | |||
Данные | Полная длина пакета с данными не превышает 65535 октетов | |||
Примечание: Минимальная длина заголовка пакета 20 байт, максимальная длина заголовка пакета 60 байт. |
1.1. Поле "Версия" содержит номер версии протокола IP.
1.2. Поле "Длина заголовка" содержит значение длины заголовка пакета в словах (одно слово - 32 бита).
1.3. Поле "Тип сервиса" содержит подполя, указанные в таблице N 2.
Таблица N 2
Наименование подполя | Длина, бит | |||
Приоритетность (Precedence) | 3 | |||
Задержка (Delay) | 1 | |||
Пропускная способность (Throughput) | 1 | |||
Достоверность (Relibility) | 1 | |||
Резервные биты (Reserved) | 2 |
Кодирование поля "Тип сервиса" выполняется в соответствии с правилами, приведенными в таблице N 3.
Таблица N 3
Разряд | Параметр | |||
0 | Зарезервировано | |||
1 | Значение "0" - пакет можно фрагментировать, | |||
2 | Значение "0" - последний фрагмент, |
Значение разрядов 0-2 игнорируется, если не поддерживается управление приоритетом передачи пакетов.
1.4. Поле "Длина пакета IP" содержит значение длины пакета в байтах, включая заголовок и данные.
1.5. Поле "Идентификатора пакета" используется процедурой фрагментации при сборке (разборке) пакета для определения последовательности передаваемых фрагментов.
1.6. Поле "Флаги" используется процедурой фрагментации для управления последовательностью сборки фрагментов пакета. Поле "Флаги" содержит подполя, указанные в таблице N 2.
Кодирование поля "Флаги" выполняется в соответствии со следующими правилами, приведенными в таблице N 4.
Таблица N 4
Наименование подполя | Длина, бит | |||
Резервный бит (Reserved) | 1 | |||
Возможность фрагментирования (DF) | 1 | |||
Указатель последнего фрагмента (MF) | 1 |
1.7. Поле "Смещение фрагмента" используется для указания смещения данного фрагмента относительно первого фрагмента в блоках фрагментации (8 байт). Для первого фрагмента смещение устанавливается в "0".