Технические основы IP-сетей. Структура сетевого протокола TCP/IP. Уровень канала данных. Прикладной уровень, страница 7

Data – Данные

Fixed Length of 20 bytes – Фиксированная длина 20 байт        

Variable Length – Переменная длина

Рис. 3-7 Формат IP-дейтаграммы

IP-дейтаграмма состоит из заголовка и поля данных (см. рис. 3-7). Длина начальной части заголовка постоянна и составляет 20 байт. Длина оставшейся части может изменяться. Значения полей заголовка приводятся ниже. 

1. Фиксированная часть заголовка IP-дейтаграммы

Версия: Поле «Версия» содержит 4 бита и указывает версию протокола IP, используемую при создании дейтаграммы. Версии протокола IP обеих сторон, участвующих в соединении, должны быть совместимыми. Текущая версия протокола IP - 4.

Длина заголовка: Поле длины заголовка также занимает 4 бита. Максимальное значение, которое может содержать данное поле - 15 слов (одно слово состоит из 4 байт). Следовательно, максимальное значение длины заголовка дейтаграммы в протоколе IP – 60 байт. Если длина заголовка IP-пакета не является кратной 4 байтам, к заголовку добавляется поле заполнения. Поле данных всегда имеет размер кратный 4 байтам, так как это удобно на практике. Случается, что такой длины заголовка (60 байт) не достаточно (например, если станция-источник используется в качестве маршрутизатора). Цель ограничения длины заголовка – попытка снизить объем служебных данных, обрабатываемых пользователем.  

Тип сервиса: Длина поля составляет 8 бит. Поле используется для повышения эффективности предоставления услуг.

Первые 3 бита поля типа сервиса указывают приоритет дейтаграммы, который может иметь одно из 8 значений. 

Четвертый бит - D – запрашивает минимальные задержки при передаче. 

Пятый бит - T –запрашивает максимальную пропускную способность. 

Шестой бит - R – запрашивает максимизацию надежности при передаче, т. е. наименьшую вероятность того, что дейтаграмма будет отброшена узловой станцией в процессе передачи по сети.

Седьмой бит – C – был введен недавно. Запрашивает выбор более экономичного маршрута. 

Последний бит в настоящее время не используется.

Общая длина: Общая длина обозначает сумму длин заголовка и поля данных, измеряемую в байтах. Поле общей длины занимает 16 бит, т. о. максимальная длина дейтаграммы, используемая в настоящее время, составляет 65535 байт.

Если очень длинная дейтаграмма при передаче разбивается на фрагменты, “общая длина” обозначает сумму длин заголовка и поля данных каждого фрагмента в отдельности, а не длину первоначальной дейтаграммы до фрагментации.

Идентификатор (ID): Поле идентификатора IP-дейтаграммы имеет тот же смысл, что и идентификатор блока данных IPDU в модели OSI. Фрагменты дейтаграмм собираются заново в первоначальную дейтаграмму. Следует отметить, что поле ID не содержит в себе порядкового номера фрагмента, поскольку протокол IP предоставляет услуги без установления соединения, и нет необходимости в строгой последовательности приёма дейтаграмм.  

Флаг: Поле флага занимает 3 бита. В настоящее время смысловую нагрузку несут только первые два бита.

Младший бит поля «Флаг» используется для передачи сообщения MF (More Fragment – «Будут еще фрагменты»). Значение MF, равное 1, указывает на то, что далее последуют другие фрагменты дейтаграммы. MF=0 означает, что данный фрагмент является последним.

Средний бит флага используется для передачи сообщения DF (Don’t Fragment - «Запрет фрагментации»). Фрагментирование возможно только при DF=0.

Смещение фрагмента: Поле смещения фрагмента имеет тот же смысл, что и  аналогичное поле IPDU OSI, различия имеются только в единицах измерения. В данном случае смещение фрагмента изменяется порциями по 8 байт. Таким образом, поля смещения фрагмента IP-дейтаграммы (13 бит) соответствует 16-битовому полю смещения фрагмента IPDU OSI.

Время жизни: Данное поле обозначает время жизни дейтаграммы (TTL, Time To Live) в секундах. Рекомендуемое значение - 32 секунды, однако оно также может составлять как 3-4 секунды, так и 255 секунд.