Коды протоколов Интернет
Таблица 4.4.1.2. Коды протоколов Интернет
Код протокола Интернет | Сокращенное название протокола | Описание |
- | Зарезервировано | |
ICMP | Протокол контрольных сообщений [rfc792] | |
IGMP | Групповой протокол управления [rfc1112] | |
GGP | Протокол маршрутизатор-маршрутизатор [RFC-823] | |
IP | IP поверх IP (инкапсуляция/туннели) | |
ST | Поток [rfc1190] | |
TCP | Протокол управления передачей [RFC-793] | |
UCL | UCL | |
EGP | Протокол внешней маршрутизации [RFC-888] | |
IGP | Протокол внутренней маршрутизации | |
BBN-MON | BBN-RCC мониторирование | |
NVP-II | Сетевой протокол для голосовой связи [RFC-741] | |
PUP | PUP | |
ARGUS | argus | |
Emcon | emcon | |
Xnet | Перекрестный сетевой отладчик [IEN158] | |
Chaos | Chaos | |
UDP | Протокол дейтограмм пользователя [RFC-768] | |
MUX | Мультиплексирование [IEN90] | |
DCN-MEAS | DCN измерительные субсистемы | |
HMP | Протокол мониторирования ЭВМ (host [RFC-869]) | |
PRM | Мониторирование при передаче пакетов по радио | |
XNS-IDP | Xerox NS IDP | |
Trunk-1 | Trunk-1 | |
Trank-2 | Trunk-2 | |
Leaf-1 | Leaf-1 | |
Leaf-2 | Leaf-2 | |
RDP | Протокол для надежной передачи данных [RFC-908] | |
IRTP | Надежный TP для Интернет [RFC-938] | |
ISO-TP4 | ISO транспортный класс 4 [RFC-905] | |
Netblt | Массовая передача данных [RFC-969] | |
MFE-NSP | Сетевая служба MFE | |
Merit-INP | Межузловой протокол Merit | |
SEP | Последовательный обмен | |
не определен | ||
IDRP | Междоменный протокол маршрутизации | |
XTP | Xpress транспортный протокол | |
DDP | Протокол доставки дейтограмм | |
IDPR-CMTP | IDPR передача управляющих сообщений | |
TP++ | TP++ транспортный протокол | |
IL | IL-транспортный протокол | |
SIP | Простой Интернет-протокол | |
SDRP | Протокол маршрутных запросов для отправителя | |
SIP-SR | SIP исходный маршрут | |
SIP-Frag | SIP-фрагмент | |
IDRP | Интер-доменный маршрутный протокол | |
RSVP | Протокол резервирования ресурсов канала | |
GRE | Общая инкапсуляция маршрутов | |
BNA | BNA | |
SIPP-ESP | SIPP ESЗ | |
I-NLSP | Интегрированная система безопасности сетевого уровня | |
Swipe | IP с кодированием | |
NHRP | nbma протокол определения следующего шага | |
55-60 | не определены | |
Любой внутренний протокол ЭВМ | ||
CFTP | CFTP | |
Любая локальная сеть | ||
Sat-Expak | Satnet и Expak | |
MIT-Subn | Поддержка субсетей MIT | |
RVD | Удаленный виртуальный диск MIT | |
IPPC | IPPC | |
Любая распределенная файловая система | ||
Sat-Mon | Мониторирование Satnet | |
не определен | ||
IPCV | Базовая пакетная утилита | |
PVP | Пакетный видео-протокол | |
BRsat-Mon | Резервное мониторирование Satnet | |
Wb-mon | Мониторирование Expak | |
Wb-expak | Широкополосная версия Expak | |
ISO-IP | ISO Интернет протокол | |
IGRP | IGRP (Cisco) - внутренний протокол маршрутизации | |
OSPFIGP | OSPFIGP - внутренний протокол маршрутизации | |
MTP | Транспортный протокол мультикастинга | |
101-254 | не определены | |
зарезервировано |
Опции IP-протокола
Рис. 4.4.1.2. Формат описания опций
Флаг копия равный 1 говорит о том, что опция должна быть скопирована во все фрагменты дейтограммы. При равенстве этого флага 0 опция копируется только в первый фрагмент. Ниже приведены значения разрядов 2-битового поля класс опции:
Значение поля класс опции | Описание |
Дейтограмма пользователя или сетевое управление | |
Зарезервировано для будущего использования | |
Отладка и измерения (диагностика) | |
Зарезервировано для будущего использования |
В таблице, которую вы найдете ниже, приведены значения классов и номеров опций.
Класс опции | Номер опции | Длина описания | Назначение |
- | Конец списка опций. Используется, если опции не укладываются в поле заголовка (смотри также поле "заполнитель") | ||
- | Никаких операций (используется для выравнивания октетов в списке опций) | ||
Ограничения, связанные с секретностью (для военных приложений) | |||
* | Свободная маршрутизация. Используется для того, чтобы направить дейтограмму по заданному маршруту | ||
* | Запись маршрута. Используется для трассировки | ||
Идентификатор потока. Устарело. | |||
* | Жесткая маршрутизация. Используется, чтобы направить дейтограмму по заданному маршруту | ||
* | Временная метка Интернет |
* в колонке "длина" - означает - переменная.
Наибольший интерес представляют собой опции временные метки и маршрутизация. Опция записать маршрут (RR) создает дейтограмму, где зарезервировано место, куда каждый маршрутизатор по дороге должен записать свой IP-адрес (например, утилита traceroute). Формат опции записать маршрут в дейтограмме представлен ниже на рис. 4.4.1.3 (предусмотрено место для записи 9 IP-адресов, к сожаления, реализация RR не является обязательной):
Рис. 4.4.1.3 Формат опций записать маршрут
Поле код содержит номер опции (7 в данном случае). Поле длина определяет размер записи для опций, включая первые 3 октета. Указатель отмечает первую свободную позицию в списке IP-адресов (куда можно произвести запись очередного адреса). Интересную возможность представляет опция маршрут отправителя, которая открывает возможность посылать дейтограммы по заданному отправителем маршруту. Это позволяет исследовать различные маршруты, в том числе те, которые недоступны через узловые маршрутизаторы. Существует две формы такой маршрутизации: Свободная маршрутизация и Жесткая маршрутизация (маршрутизация отправителя). Форматы для этих опций показаны ниже:
Рис. 4.4.1.3а. Формат опций маршрутизации
Жесткая маршрутизация означает, что адреса определяют точный маршрут дейтограммы. Проход от одного адреса к другому может включать только одну сеть. Свободная маршрутизация отличается от предшествующей возможностью прохода между двумя адресами списка более чем через одну сеть. Поле длина задает размер списка адресов, а указатель отмечает адрес очередного маршрутизатора на пути дейтограммы.
IP-слой имеет маршрутные таблицы, которые просматриваются каждый раз, когда IP получает дейтограмму для отправки. Когда дейтограмма получается от сетевого интерфейса, IP первым делом проверяет, принадлежит ли IP-адрес места назначения к списку локальных адресов, или является широковещательным адресом. Если имеет место один из этих вариантов, дейтограмма передается программному модулю в соответствии с кодом в поле протокола. IP-процессор может быть сконфигурирован как маршрутизатор, в этом случае дейтограмма может быть переадресована в другой узел сети. Маршрутизация на IP-уровне носит пошаговый характер. IP не знает всего пути, он владеет лишь информацией - какому маршрутизатору послать дейтограмму с конкретным адресом места назначения.
Просмотр маршрутной таблицы происходит в три этапа:
- Ищется полное соответствие адресу места назначения. В случае успеха, пакет посылается соответствующему маршрутизатору или непосредственно интерфейсу адресата. Связи точка-точка выявляются именно на этом этапе.
- Ищется соответствие адресу сети места назначения. В случае успеха система действует также как и в предшествующем пункте. Одна запись в таблице маршрутизации соответствует всем ЭВМ, входящим в данную сеть.
- Осуществляется поиск маршрута по умолчанию и, если он найден, дейтограмма посылается в соответствующий маршрутизатор.
Для того чтобы посмотреть, как выглядит простая маршрутная таблица, воспользуемся командой netstat -rn (ЭВМ Sun. Флаг -r выводит на экран маршрутную таблицу, а -n отображает IP-адреса в цифровой форме. С целью экономии места таблица в несколько раз сокращена).
routing tables destination | gateway | flags | refcnt | use | interface |
193.124.225.72 | 193.124.224.60 | ughd | le0 | ||
192.148.166.1 | 193.124.224.60 | ughd | le0 | ||
193.124.226.81 | 193.124.224.37 | ughd | le0 | ||
192.160.233.201 | 193.124.224.33 | ughd | le0 | ||
192.148.166.234 | 193.124.224.60 | ughd | le0 | ||
193.124.225.66 | 193.124.224.60 | ughd | le0 | ||
192.148.166.10 | 193.124.224.60 | ughd | le0 | ||
192.148.166.250 | 193.124.224.60 | ughd | le0 | ||
192.148.166.4 | 193.124.224.60 | ughd | le0 | ||
145.249.16.20 | 193.124.224.60 | ughd | le0 | ||
192.102.229.14 | 193.124.224.33 | ughd | le0 | ||
default | 193.124.224.33 | ug | le0 | ||
193.124.224.32 | 193.124.224.35 | u | le0 | ||
193.124.134.0 | 193.124.224.50 | ugd | le0 |
Колонка destination - место назначение, Default - отмечает маршрут по умолчанию; Gateway - IP-адреса портов подключения (маршрутизаторов); REFCNT (reference count) - число активных пользователей маршрута; USE - число пакетов, посланных по этому маршруту; interface - условные имена сетевых интерфейсов. Расшифровка поля FLAGS приведено ниже:
u | Маршрут работает (up). |
g | Путь к маршрутизатору (gateway), если этот флаг отсутствует, адресат доступен непосредственно. |
h | Маршрут к ЭВМ (host), адрес места назначения является полным адресом этой ЭВМ (адрес сети + адрес ЭВМ). Если флаг отсутствует, маршрут ведет к сети, а адрес места назначения является адресом сети. |
d | Маршрут возник в результате переадресации. |
m | Маршрут был модифицирован с помощью переадресации. |
Опция временные метки работает также как и опция запись маршрута. Каждый маршрутизатор на пути дейтограммы делает запись в одном из полей дейтограммы (два слова по 32 разряда; смотри раздел 4.4.15). Формат этой опции отображен на рисунке 4.4.1.4.
Рис. 4.4.1.4 Формат опции "временные метки"
Смысл полей длина и указатель идентичен тому, что сказано о предыдущих опциях. 4-битовое поле переполнение содержит число маршрутизаторов, которые не смогли записать временные метки из-за ограничений выделенного места в дейтограмме. Значения поля флаги задают порядок записи временных меток маршрутизаторами:
Таблица 4.4.1.3.
Значение флага | Назначение |
Записать только временные метки; опустить IP-адреса. | |
Записать перед каждой временной меткой IP-адрес (как в формате на предыдущем рисунке). | |
IP-адреса задаются отправителем; маршрутизатор записывает только временные метки, если очередной IP-адрес совпадает с адресом маршрутизатора |
Временные метки должны содержать время в миллисекундах, отсчитанное от начала суток. Если маршрутизатору некуда положить свою временную метку (число меток превысило 9), он инкрементирует счетчик переполнение.
Взаимодействие других протоколов с IP можно представить из схемы на рис. 4.4.1.5. В основании лежат протоколы, обеспечивающие обмен информацией на физическом уровне, далее следуют протоколы IP, ICMP, ARP, RARP, IGMP и протоколы маршрутизаторов. Чем выше расположен протокол, тем более высокому уровню он соответствует. Протоколы, имена которых записаны в одной и той же строке, соответствуют одному и тому же уровню. Но все разложить аккуратно по слоям невозможно - некоторые протоколы занимают промежуточное положение, что и отражено на схеме, (области таких протоколов захватывают два уровня. Здесь протоколы IP, ICMP и IGMP помещены на один уровень, для чего имеется не мало причин. Но иногда последние два протокола помещают над IP, так как их пакеты вкладываются в IP-дейтограммы. Так что деление протоколов по уровням довольно условно. На самом верху пирамиды находятся прикладные программы, хотя пользователю доступны и более низкие уровни (например, ICMP), что также отражено на приведенном рисунке (4.4.1.5).