Формат IP-пакета версии IPv4
Формат IP-пакета версии IPv4
Флаги TOS (Type Of Service)
Фрагментация IP дейтаграмм
Фрагментация
Общий сценарий работы модуля IP
126.50K
Категория: ИнтернетИнтернет

Формат IP-пакета версии IPv4

1. Формат IP-пакета версии IPv4

4-bit
Version
4-bit Header
Length
8-bit Type of
Service
16-bit
Identification
8-bit Time to Live
3-bit
Flags
8-bit
Protocol
13-bit
Fragment
Offset
16-bit Header Checksum
32-bit Source Address
32-bit Destination Address
Options &Padding
Data
16-bit Total
Length

2. Формат IP-пакета версии IPv4

13-бит смещение фрагмента
Длина заголовка это количество 32-битных слов в заголовке, включая любые
опции. Так как это 4-битное поле, оно ограничивает размер заголовка в 60 байт.
Обычная величина в этом поле (когда отсутствуют опции) - 5.

3. Флаги TOS (Type Of Service)

Три младших бита (“Precedence”) определяют приоритет
дейтаграммы:
111 - управление сетью
110 101 100 011 010 001 000 – обычная передача
(максимальный приоритет)
(минимальный приоритет)
Биты D,T,R,C определяют желаемый тип маршрутизации:
D (Delay)
- минимальная задержка,
T (Throughput)
- максимальная пропускная способность,
R (Reliability)
- максимальная надежность,
C (Cost)
- минимальная стоимость.
В дейтаграмме может быть установлен только один из битов D,T,R,C.
Старший бит байта не используется.

4.

• До середины 90-х годов поле TOS в большинстве реализаций
игнорировалось. Но после начала разработок средств
обеспечения качества обслуживания (QoS) внимание к этому
возросло. Появилось предложение замены поля TOS на поле
DSCP (Differenciated Services Code Point), которое также имеет
8 бит (см. RFC-2474). Иногда это поле называется байтом DS
(Differentiated Services).
0
1
2
3
4
Селектор класса
5
6
7
Поле ECN
Стандартным значением DSCP по умолчанию является 000000.
Биты ECN используются в алгоритме раннего предупреждения о
перегрузках (см. RFC 3168).

5. Фрагментация IP дейтаграмм

• Различные среды передачи имеют различный максимальный
размер передаваемого блока данных (MTU - Media Transmission
Unit), это число зависит от скоростных характеристик среды и
вероятности возникновения ошибки при передаче. Например,
размер MTU в 10Мбит/с Ethernet равен 1536 октетам, в 100
Мбит/с FDDI - 4096 октетам.
• При передаче дейтаграммы из среды с большим MTU в среду c
меньшим MTU может возникнуть необходимость во
фрагментации дейтаграммы. Фрагментация и сборка
дейтаграмм осуществляются модулем протокола IP. Для этого
применяются поля “ID” (Identification), “Flags” и “Fragment Offset”
заголовка дейтаграммы.
• Фрагментация может быть осуществлена как на отправляющем
хосте, так и на промежуточном маршрутизаторе.
• Когда IP-дейтаграмма фрагментирована, она не собирается
вновь до тех пор, пока не достигнет конечного пункта
назначения.

6. Фрагментация


Поля идентификатор, флаги (3 бита) и указатель фрагмента
(fragment offset) управляют процессом фрагментации и последующей
"сборки" дейтаграммы. Идентификатор представляет собой
уникальный код дейтограммы, позволяющий идентифицировать
принадлежность фрагментов и исключить ошибки при "сборке"
дейтограмм.
Бит 0 поля флаги является резервным, бит 1 (DF) служит для
управления фрагментацией пакетов (0 - фрагментация разрешена; 1 запрещена), бит 2 (MF) определяет, является ли данный фрагмент
последним (0 - последний фрагмент; 1 - следует ожидать
продолжения).
Fragment Offset - смещение фрагмента, значение поля указывает, на
какой позиции в поле данных исходной дейтаграммы находится данный
фрагмент. Смещение считается 64-битовыми порциями, т.е.
минимальный размер фрагмента равен 8 октетам, а следующий
фрагмент в этом случае будет иметь смещение 1. Первый фрагмент
имеет смещение нуль.
Когда IP-дейтаграмма фрагментируется, каждый фрагмент становится
пакетом, с собственным IP заголовком, и маршрутизируется
независимо от других пакетов.
если один фрагмент потерялся, дейтаграмма должна быть целиком
повторно передана

7. Общий сценарий работы модуля IP


с одного из интерфейсов уровня доступа к среде передачи (например,
с Ethernet-интерфейса) в модуль IP поступает дейтаграмма;
модуль IP анализирует заголовок дейтаграммы;
если пунктом назначения дейтаграммы является данный компьютер:
– если дейтаграмма является фрагментом большей дейтаграммы, ожидаются
остальные фрагменты, после чего из них собирается исходная большая
дейтаграмма;
– из дейтаграммы извлекаются данные и направляются на обработку одному
из протоколов вышележащего уровня (какому именно - указывается в
заголовке дейтаграммы);
если дейтаграмма не направлена ни на один из IP-адресов данного
узла, то дальнейшие действия зависят от того, разрешена или
запрещена ретрансляция (forwarding) “чужих” дейтаграмм;
если ретрансляция разрешена, то определяются следующий узел сети,
на который должна быть переправлена дейтаграмма для доставки ее
по назначению, и интерфейс нижнего уровня, после чего дейтаграмма
передается на нижний уровень этому интерфейсу для отправки; при
необходимости может быть произведена фрагментация дейтаграммы;
если же дейтаграмма ошибочна или по каким-либо причинам не может
быть доставлена, она уничтожается; при этом, как правило,
отправителю дейтаграммы отсылается ICMP-сообщение об ошибке.

8.

При получении данных от вышестоящего уровня для отправки
их по сети IP-модуль формирует дейтаграмму с этими
данными, в заголовок которой заносятся адреса
отправителя и получателя (также полученные от
транспортного уровня) и другая информация; после чего
выполняются следующие шаги:
• если дейтаграмма предназначена этому же узлу, из нее
извлекаются данные и направляются на обработку одному из
протоколов транспортного уровня (какому именно - указывается
в заголовке дейтаграммы);
• если дейтаграмма не направлена ни на один из IP-адресов
данного узла, то определяются следующий узел сети, на
который должна быть переправлена дейтаграмма для доставки
ее по назначению, и интерфейс нижнего уровня, после чего
дейтаграмма передается на нижний уровень этому интерфейсу
для отправки; при необходимости может быть произведена
фрагментация дейтаграммы;
• если же дейтаграмма ошибочна или по каким-либо причинам не
может быть доставлена, она уничтожается.
English     Русский Правила