Назначение полей пакета IP
Московский Технический Университет Связи и Информатики
Отчет к лабораторной работе № 28.
Основы сетевых технологий
Ознакомление с основами реализации TCP/IP протоколов на базе 100-мегабитной коммутируемой сети Ethernet.
Выполнила: Аликин С.С.
Проверил: Куриленко С.
Дата: 09.03.2009
Москва 2009
Отчет к лабораторной работе № 28.
Цель работы.
1.1. Изучение основ реализации TCP/IP протоколов в сетях на базе коммутируемого 100-мегабитного Ethernet..
1.2. Изучение способов реализации основных протоколов TCP/IP.
1.3. Получение практических навыков реализации технологии Ethernet и TCP/IP.
Спецификация оборудования и мат. обеспечения лаборатории 211.
Схема с форматом и назначением полей пакета IP и TCP.
Формат полей пакета IP.
Назначение полей пакета IP.
Поле версия характеризует версию IP-протокола (например, 4 или 6). Формат пакета определяется программой и, вообще говоря, может быть разным для разных значений поля версия. Только размер и положение этого поля незыблемы. Поэтому в случае изменений длины IP-адреса слишком тяжелых последствий это не вызовет.
Поле HLEN - длина заголовка, измеряемая в 32-разрядных словах, обычно заголовок содержит 20 октетов (HLEN=5, без опций и заполнителя). Заголовок для IPv6 имеет размер в два раза больше, чем для IPv4.
Поле полная длина определяет полную длину IP-дейтаграммы (до 65535 октетов), включая заголовок и данные.
Одно-октетное поле тип сервиса (TOS - type of service) характеризует то, как должна обрабатываться дейтаграмма. Формат поля TOS определен в документе RFC-1349. Это поле делится на 6 субполей:
Поля идентификатор, флаги (3 бита) и указатель фрагмента (fragment offset) управляют процессом фрагментации и последующей "сборки" дейтаграммы.
Идентификатор представляет собой уникальный код дейтаграммы, позволяющий идентифицировать принадлежность фрагментов и исключить ошибки при "сборке" дейтаграмм.
Бит 0 поля флаги является резервным, бит 1 служит для управления фрагментацией пакетов (0 - фрагментация разрешена; 1 - запрещена), бит 2 определяет, является ли данный фрагмент последним (0 - последний фрагмент; 1 - следует ожидать продолжения).
Поле время жизни (TTL - time to live) задает время жизни дейтаграммы в секундах, т.е. предельно допустимое время пребывания дейтаграммы в системе. При каждой обработке дейтаграммы, например в маршрутизаторе, это время уменьшается в соответствии со временем пребывания в данном устройстве или согласно протоколу обработки. Если TTL=0, дейтаграмма из системы удаляется. Во многих реализациях TTL измеряется в числе шагов, в этом случае каждый маршрутизатор выполняет операцию TTL=TTL-1. TTL помогает предотвратить зацикливание пакетов.
Поле протокол аналогично полю тип в Ethernet-кадре и определяет структуру поля данные.
Поле контрольная сумма заголовка вычисляется с использованием операций сложения 16-разрядных слов заголовка по модулю 1. Сама контрольная сумма является дополнением по модулю один полученного результата сложения. Обратите внимание, здесь осуществляется контрольное суммирование заголовка, а не всей дейтаграммы.
Поле опции не обязательно присутствует в каждой дейтаграмме. Размер поля опции зависит от того, какие опции применены. Если используется несколько опций, они записываются подряд без каких-либо разделителей. Каждая опция содержит один октет кода опции, за которым может следовать октет длины и серия октетов данных. Если место, занятое опциями, не кратно 4 октетам, используется заполнитель.
Адрес источника и адрес приемника, четырехбайтовые IP-адреса узлов сети. Подробно структура IP-адреса описана ниже.
Дополнительные данные заголовка – последовательность полей произвольной длины, описывающих необязательные данные заголовка. Такие данные используются для специальных целей (управление сетью, секретность и т.п.).
Данные выравнивания, не имеющие смысла данные, включаемые в заголовок только для выравнивания его длины до границы четырехбайтового слова.
Формат полей пакета TCP.