Коммуникационный протокол IPv4 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Коммуникационный протокол IPv4



Протокол IP специфицирует три основных элемента:

· блок данных – пакет IP, с которым работает протокол;

· механизмы распространения (маршрутизации) пакетов;

· способы обработки конфликтных ситуаций.

Пакет IP состоит из заголовка и блока данных (рис.4.49,а).

В настоящее время в сети Интернет могут циркулировать IP-пакеты двух версий:

· IP-пакет версии 4 (IPv4);

· IP-пакет версии 6 (IPv6).

Протокол IP обрабатывает и интерпретирует только поля заголовка.

Формат заголовка пакета IPv4 показан на рис.4.49,б).

Рассмотрим назначения полей заголовка.

«Номер версии» (4 бита) – используется для указания версии протокола IP, который должен обрабатывать данный пакет. В настоящее время осуществляется постепенный переход от версии 4 к версии 6, и большинство узлов могут обрабатывать пакеты обеих версий. Если это поле содержит значение, отличное от указанных версий протокола, пакет уничтожается.

«Длина заголовка» (4 бита) – задает значение длины заголовка пакета, измеренной в 32-битовых (4-байтовых) словах. Минимальное значение длины (при отсутствии необязательных полей «Параметры» и «Наполнение») равно 5, что соответствует заголовку длиной 20 байт. Максимальное значение этого 4-битового поля равно 15, что соответствует заголовку длиной 60 байт. Следовательно, максимальный размер необязательных полей «Параметры» и «Наполнение» равен 40 байтам.

«Тип сервиса» (Type of Service, ToS) – 8-битовое поле, предназначенное для оптимизации транспортной службы, содержащее:

· 3-битовое поле «Приоритет» принимает 8 значений: от 0 (нормальный приоритет) до 7 (сетевое управление);

· биты D,T,R задают тип транспортировки, который "запрашивает" пакет; установка этих битов в состояние "1" требует:

- D=1 (Delay – задержка) – малой задержки при передаче пакета;

- T=1 (Throughput – пропускная способность) – высокой пропускной способности;

- R=1 (Reliability – надежность, достоверность) – высокой надежности;

· 2 резервных бита.

Стандарты, принятые в конце 90-х годов, дали новое название этому полю – байт дифференцированное обслуживание или DS-байт – и переопределили назначение его битов.

Поле «Тип сервиса» не всегда используется маршрутизаторами. «Общая длина» (16 бит) – задает длину пакета, включая заголовок и данные, измеренную в байтах. Общая длина пакета IP может достигать 65 535 байт, однако в большинстве сетей столь большие пакеты не используются.

Протокол IP должен обеспечивать межсетевое взаимодействие между разными сетями, различающимися, в том числе, ограничением на максимальную длину кадра, разрешенным в той или иной физической сети (Maximum Transfer Unit, MTU). Поэтому протокол IP вынужден решать задачу, более свойственную транспортному протоколу, – разбивку больших пакетов на малые и наоборот – их сборку. Это требуется делать в тех случаях, когда на вход некоторой физической сети поступает пакет, превосходящий по длине MTU для данной сети. Такая операция называется фрагментированием (fragmentation) и осуществляется следующим образом. Блок данных большого исходного пакета разделяется на фрагменты длиной MTU для физической сети, в которую направляются фрагменты. При этом фрагменты упаковываются в пакеты, заголовки которых похожи на заголовок исходного пакета.

В стандартах TCP/IP предусматривается, что все узлы должны принимать пакеты длиной не менее 576 байт, независимо от того, являются они фрагментами или целыми пакетами.

Следующие три поля заголовка пакета указывают на то, что данные пакеты являются фрагментами одного большого пакета.

«Идентификатор пакета» (16 бит) – общий для всех фрагментов идентификатор, указывающий на принадлежность фрагмента к одному большому пакету.

«Флаги» (3 бита) – содержат признаки (биты), связанные с фрагментацией:

· DF (Do not Fragment – не фрагментировать) – значение, равное 1, запрещает маршрутизатору фрагментировать пакет;

· MF (More Fragments – больше фрагментов) – значение, равное 1, означает, что фрагмент является промежуточным;

· один бит зарезервирован.

«Смещение фрагмента» (13 бит) – смещение в байтах поля данных этого фрагмента относительно начала поля данных исходного нефрагментированного пакета. Смещение используется при сборке фрагментов в пакет и должно быть кратно 8 байтам.

«Время жизни» (Time To Live, TTL) – 8-битовое поле, содержащее время, измеряемое в секундах, в течение которого пакет может существовать в сети. Хосты и маршрутизаторы, обрабатывающие данный пакет, уменьшают значение этого поля в период обработки и хранения пакета как минимум на 1 плюс время ожидания в очереди. Однако на практике в каждом маршрутизаторе обычно из этого времени просто вычитается 1. Таким образом, время жизни фактически измеряется количеством маршрутизаторов, через которые проходит пакет. Когда время жизни истекает, пакет уничтожается. При этом источник сообщения уведомляется о потере пакета. Наличие конечного времени жизни пакета, равное 255 (8 двоичных разрядов), обеспечивает, в частности, защиту от таких нежелательных событий, как передача пакета по циклическому маршруту, перегрузка сетей.

«Протокол» (8 бит) – указывает протокол вышележащего уровня, которому предназначена информация, содержащаяся в поле данных пакета IP. Например, значение 6 соответствует протоколу TCP, а значение 17 – протоколу UDP.

«Контрольная сумма заголовка» (16 бит) – используется для контроля целостности только заголовка пакета IP и вычисляется как сумма всех 16-битовых полуслов заголовка в дополнительном коде, преобразованная также в дополнительный код. Таким образом, вычисляемая получателем контрольная сумма заголовка вместе с этим полем должна быть равна нулю. Поскольку некоторые поля заголовка могут изменять свои значения в процессе передачи пакета по сети, контрольная сумма вычисляется и проверяется в каждом маршрутизаторе и в конечном узле.

«IP-адрес источника» (32 бита) – IP-адрес отправителя пакета.

«IP-адрес назначения» (32 бита) – IP-адрес получателя пакета.

«Параметры» – необязательное поле переменной длины, применяемое для указания параметров, используемых обычно при отладке сети и связанных, например, с режимами безопасности или маршрутизации.

«Наполнение» – поле переменной длины, необходимое для дополнения заголовка пакета до целого числа 32-битовых слов.



Поделиться:


Последнее изменение этой страницы: 2016-08-06; просмотров: 800; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.13.201 (0.007 с.)