TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
Шрифт:
Датаграмма с Basic Security может содержать и поле Extended Security. Для этих полей существует несколько различных подформатов, определяющих требования различных владельцев авторства.
Маршрутизатор или хост должен уничтожить информацию, на которую у него нет права авторства. Системы безопасности конфигурируются с различными классификационными уровнями и могут посылать и получать сведения об авторстве (авторствах), если это разрешено. Отметим, что многие коммерческие продукты не поддерживают таких возможностей.
6.16.8 Конец списка вариантов и отсутствие операций
Вариант "без операций" (No Operation)
Конец списка вариантов (End of Option List) служит для заполнения полей вариантов до 32-разрядной границы.
6.16.9 Кодирование вариантов
Существуют два однобайтовых варианта, кодируемых следующим образом:
No Operation 00000001
End of Option List 00000000
Оставшиеся варианты задаются несколькими битами. Каждый начинается октетом типа и октетом длины.
Для рассматриваемых вариантов возникает следующий вопрос: нужно ли их копировать в заголовки получаемых при фрагментации датаграмм? Копирование выполняется для Security, Strict Source Route и Loose Source Route. Поля Record Route и Timestamp копируются только в первый фрагмент датаграммы.
Октет типа подразделяется на:
Биты | Функция | Описание |
---|---|---|
0 | Флаг копирования | Устанавливается в 1 для копирования при фрагментации |
1-2 | Класс варианта | 0 — для датаграмм или сетевых управляющих сообщений, 2 — для отладки и измерений |
3-7 | Номер варианта | Уникальное значение для каждого из вариантов |
В таблице 6.5 показаны значения октета типа и его деление на поля Copy (копирование), Class (класс) и Option Number (номер варианта) для каждого стандартного варианта.
Таблица 6.5 Поля Copy, Class и Option Number
Значение | Copy | Class | Number | Имя |
---|---|---|---|---|
0 | 0 | 0 | 0 | End of Options List |
1 | 0 | 0 | 1 | No Operation |
137 | 1 | 0 | 9 | Strict Source Route |
131 | 1 | 0 | 3 | Loose Source Route |
7 | 0 | 0 | 7 | Record Route |
68 | 0 | 2 | 4 | Timestamp |
130 | 1 | 0 | 2 | Security |
133 | 1 | 0 | 5 | Extended Security |
Форматы наиболее общих полей вариантов представлены на рис. 6.13.
Рис. 6.13. Форматы полей вариантов
6.16.10 Кодирование Strict Source Route
Вариант Strict Source Route (точный маршрут от источника) содержит указатели на список адресов. Указатель определяет позицию следующего обрабатываемого адреса. Первоначально указатель имеет значение 4, которое увеличивается на 4 при каждом попадании.
6.16.11 Кодирование Loose Source Route
Вариант Loose Source Route (произвольный маршрут от источника) содержит указатели на список адресов. Исходное положение указателя, как в предыдущем случае, здесь 4 и увеличивается на 4 при достижении каждого из адресов списка.
6.16.12 Кодирование Record Route
Вариант Record Route (запись маршрута) содержит указатели и место для записи адресов. Первоначально указатель имеет значение 4, а место, предназначенное для записи адреса, пусто.
При достижении каждого маршрутизатора его адрес записывается по указателю, а значение указателя увеличивается на 4. Когда будет занято все выделенное для записи место, датаграмма продолжит путь к точке назначения без записи дополнительных адресов.
6.16.13 Кодирование Timestamp
Вариант Timestamp (временная метка) содержит указатель, подполе переполнения и подполе флага. Подполе флага определяет один из трех возможных для временной метки форматов.
Если в подполе флага содержится 0, то при каждом попадании в выделенном месте записывается временная метка, а значение указателя увеличивается на 4. Когда будет заполнено все предварительно выделенное пространство, значение подполя переполнения увеличивается на единицу и все поступающие датаграммы отбрасываются.
Если подполе флага хранит 1, то при каждом попадании по IP-адресу на пустое место будет записываться временная метка, а значение указателя увеличиваться на 8. Когда будет заполнено все предварительно выделенное пространство, значение подполя переполнения увеличивается на единицу и запись меток прекращается. Предположим, что отправитель хочет записать временные метки для списка предварительно выбранных узлов. В этом случае в поле флага нужно указать 3 и заполнить список выбранных адресов интернета. Если в текущий момент указатель установлен на адрес маршрутизатора, это устройство заполнит место для временной метки и увеличит значение указателя на 8.
6.16.14 Кодирование Basic и Extended Security Options
Значения этих полей устанавливаются военными и правительственными агентствами. Дополнительные сведения можно получить в RFC 1108.
6.17 Пример заголовка IP
На рис. 6.14 показан результат работы анализатора Sniffer компании Network General для заголовка MAC-кадра сети DIX Ethernet и для заголовка IP.