Стек протоколов TCP/IP IPv4, IPv6, ICMP, ARP, RARP,TCP, UDP
Состав стека
Формат IPv4
Заголовок IP – версия и длина Поле Версия (Version) указывает версию протокола IP (4 -IPv4 или 6 - IPv6). Поле Длина заголовка (HLEN) измеряется в 32-разрядных словах, обычно 20 байт (HLEN=5), при использовании полей Опции (IP Options) до 60 байт.
Поле типа сервиса (TOS - type-of- service)
Приоритет 0 - Обычный уровень 1 – Приоритетный 2 – Немедленный 3 – Срочный 4 – Экстренный 5 - critic/ecp 6 - Межсетевое управление 7 - Сетевое управление Биты способа доставки дейтограммы D=1 требует минимальной задержки T=1 - высокую пропускную способность R=1 - высокую надежность C=1 низкую стоимость.
Биты способа доставки дейтограммы DTRC FTP управление1000 FTP данные0100 TFTP1000 DNS1000 UDP0000 TCP0000 telnet1000 ICMP0000 IGP0010 SMTP управление1000 SMTP данные0100 SNMP0010
Полная длина Полная длина - размер дейтаграммы в байтах с учетом заголовка и данных. Размер поля позволяет использовать дейтаграммы длиной до байтов
Фрагментация IP Идентификация Флаги Бит 0 -зарезервирован Бит 1-возможность фрагментирования Бит 2 наличие дополнительных фрагментов Смещение фрагмента уникальное значение для обеспечения корректного порядка сборки фрагментов дейтаграммы должен иметь нулевое значение 0 Можно фрагментировать 1 Не фрагментировать 0 Последний фрагмент 1 Есть еще фрагменты от начала дейтаграммы измеряется в 8-байтовых (64 бита) словах
время жизни и контрольная сумма заголовка Поле время жизни (TTL - time to live) задает время жизни дейтограммы в секундах. При каждой обработке дейтограммы (например в маршрутизаторе) это время уменьшается в соответствии со временем пребывания в данном устройстве или согласно протоколу обработки. Если TTL=0, дейтограмма из системы удаляется. Во многих реализациях TTL измеряется в числе шагов, в этом случае каждый маршрутизатор выполняет операцию TTL=TTL-1. Контрольная сумма (Header Checksum) занимает 2 байта и рассчитывается только по заголовку.
Поле протокол КодОбознач.Описание 0Зарезервировано 1ICMPПротокол контрольных сообщений 2IGMPГрупповой протокол управления 4IPIP поверх IP (инкапсуляция/туннели) 6TCPПротокол управления передачей 17UDPПротокол дейтограмм пользователя 88IGRPCisco - протокол маршрутизации 101+не определены 255зарезервировано
IP адрес
Опции КлассОписание 0Дейтограмма пользователя или сетевое управление 1Зарезервировано для будущего использования 2Отладка и измерения (диагностика) 3Зарезервировано для будущего использования
Опции КлассНомерДлинаОписание 00 Конец списка опций. 01 Никаких операций 0211 Ограничения,связанные с секретностью 03 Свободная маршрутизация 07 Запись маршрута 09 Жесткая маршрутизация 24 Временная метка Интернет
IP V6 формат заголовка
IP V6 назначение полей Версия – 6 Приоритет – уровень доставки пакета 24-битный код метки потока (для мультимедиа) код длины поля данных в байтах Следующий заголовок - Идентифицирует тип заголовка, который следует непосредственно за IPv6 заголовком (см v4). Предельное число шагов Уменьшается на 1 в каждом узле. При предельном числе шагов, равном нулю, пакет удаляется
Приоритет КодНазначение 0Нехарактеризованный трафик 1Заполняющий трафик (сетевые новости) 2Несущественный информационный трафик (например, электронная почта) 3Резерв 4Существенный трафик (напр., FTP, HTTP, NFS) 5Резерв 6Интерактивный трафик (напр. telnet, x-win) 7Управляющий трафик Интернет (напр., маршрутные протоколы, snmp)
Адресация IP V6 unicast: Идентификатор одиночного интерфейса. Пакет, посланный по уникастному адресу, доставляется интерфейсу, указанному в адресе. anycast: Идентификатор набора интерфейсов (принадлежащих разным узлам). Пакет, посланный по эникастному адресу, доставляется одному из интерфейсов, указанному в адресе (ближайший, в соответствии с мерой, определенной протоколом маршрутизации). multicast: Идентификатор набора интерфейсов (обычно принадлежащих разным узлам). Пакет, посланный по мультикастинг-адресу, доставляется всем интерфейсам, заданным этим адресом. В IPv6 не существует широковещательных адресов, их функции переданы мультикастинг-адресам.
Уникастные адреса
Пример уникастного адресного формата с использованием MAC адреса
IPv4 в IPv6
Эникаст-адрес маршрутизатора субсети
Мультикастинг-адрес
Структура вложения пакетов для IPv6
ARP - address resolution protocol
PROXI-ARP
RARP
ICMP - internet control message protocol осуществляет передачу отклика на пакет или эхо на отклик; осуществляет контроль времени жизни дейтограмм в системе; реализует переадресацию пакета; выдает сообщения о недостижимости адресата или о некорректности параметров; формирует и пересылает временные метки; выдает запросы и отклики для адресных масок и другой информации.
ICMP запрос-отклик
Примеры назначения ICMP ТипКодОписание сообщения 00Эхо-ответ (ping-отклик) 3хнедостижима/не доступен и т.д. 40Отключение источника при переполнении очереди 5хПереадресовать 80Эхо запроса (ping-запрос). 90Объявление маршрутизатора 130Запрос временной метки
Объявление маршрутизатора
Запрос временной метки
Порты для приложений НомерФункц.Описание 20 FTP-data FTP (данные) 21 FTP Протокол FTP (управление) 23 telnet Подключение терминала 25 SMTP Протокол передачи почтовых сообщений 118 SQLserv SQL-сервер Система X Windows
Заголовок UDP
UDP в IP
Контрольная сумма UDP
TCP Transmission Control Protocol
Заголовок TCP код позиции в сообщении определяет порядковый номер первого байта в поле данных Поле HLEN пределяет длину заголовка сегмента, которая измеряется в 32-разрядных словах. Поле размер окна сообщает, сколько октетов готов принять получатель Поле контрольная сумма предназначено для обеспечения целостности сообщения. Поле указатель важной информации представляет собой указатель последнего байта, содержащий информацию, которая требует немедленного реагирования.
Флаги TCP флагиЗначение бита, если он равен 1 urg Флаг важной информации, поле Указатель важной информации имеет смысл, если urg=1 ack Номер октета, который должен прийти следующим, правилен psh Этот сегмент требует выполнения операции push. Получатель должен передать эти данные прикладной программе как можно быстрее. rst Прерывание связи. syn Флаг для синхронизации номеров сегментов, используется при установлении связи. fin Отправитель закончил посылку байтов.
Опции TCP
Соединение с ожиданием
Соединение с смещением окна
Смещение окон
Установление соединения
Разрыв соединени
Одновременная работа
Диаграмма состояний