какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

Урок 5. Сетевой уровень. Описание протокола IP

К протоколам сетевого уровня относят 2 протокола: IP и ICMP. В этом уроке мы рассмотрим протокол IPv4.

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

В отличие от протоколов верхних уровней IP протокол не устанавливает и не управляет соединениями, не контролирует передачу данных и не исправляет ошибки. Все эти функции возложены на протоколы транспортного и прикладного уровней.
При поступлении сегмента с транспортного уровня добавляется 20-ти байтный заголовок, хотя в некоторых случаях его длина может достигать и 60

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

Для чего нужен TTL?

Для предотвращения зацикливания при маршрутизации. При неправильной конфигурации пакет может блуждать по сети бесконечно, поэтому и ввели такой параметр. Максимальное значение равно 255, то есть пакет может пройти максимум через 255 маршрутизаторов.

Рассмотрим упрощенную схему работы протокола.

На передаче:

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

На приеме:

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

Порядок фрагментации следующий:

1) Проверяется флаг DF. Если он равен 1, то фрагментация не происходит ни при каких обстоятельствах и пакет уничтожается. Отправителю пакета посылается сообщение Fragmentation needed.

2) Если DF = 0, то исходный пакет делится на равные части. Последний фрагмент обычно меньше остальных.

3) Заголовок исходного пакета копируется в заголовки фрагментов, то есть все заголовки одинаковы.

4) В поле Identification всех фрагментов записывается уникальное и одинаковое число.

5) Во всех фрагментах, кроме последнего, флагу MF присваивается 1. В последнем фрагменте флаг MF равен 0.

6) В поле Fragment offset записывается положение фрагмента в общем потоке. В первом фрагменте это значение всегда равно 0.

Рассмотрим фрагментацию на простом примере. Необходимо фрагментировать пакет длиной в 300 байт на 3 части длиной по 100 байт.
Вот как выглядит заголовок исходного пакета

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

А вот как выглядят фрагменты после деления:

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

На приеме для сборки пакетов сравниваются следующие параметры:

Если первые 3 параметра совпадают, то фрагменты собираются.

Источник

Заголовок Пакета IP

Как показано на рисунке, протокол IP версии 4 определяет много различных полей в заголовке пакета IP. Эти поля содержат двоичные значения, на которые ссылаются службы IPv4, когда они передают пакеты по сети.

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

Здесь мы рассмотрим 6 ключевых полей:

Ключевые поля заголовка IPv4

IP Адрес Назначения

Поле «IP Адрес Назначения» содержит 32-разрядное двоичное значение, которое представляет адрес целевого узла в пакете Сетевого уровня.

IP Адрес Источника

Поле «IP Адрес Источника» содержит 32-разрядное двоичное значение, которое представляет адрес исходного узла (отправителя) в пакете Сетевого уровня.

Время жизни

Время жизни (TTL) является 8-разрядным двоичным значением, которое указывает на остающуюся «жизнь» пакета. Значение TTL уменьшается по крайней мере на единицу каждый раз, когда пакет обрабатывается маршрутизатором (то есть, хопом). Когда значение становится нулевым, маршрутизатор отбрасывает или сбрасывает пакет, и он удаляется из сетевого потока данных. Этот механизм предотвращает бесконечное блуждание между маршрутизаторами пакетов, которые не могут достигнуть своего места назначения, в так называемой маршрутной петле. Если бы маршрутные петли продолжали оставаться, то сеть стала бы переполненной пакетами данных, которые никогда не будут достигать своего места назначения. Постепенное уменьшение значения TTL на каждом хопе гарантирует, что в конечном счете это значение станет нулевым и что пакет с полем TTL с истекшим сроком будет отброшен.

Протокол

Это 8-разрядное двоичное значение указывает на тип полезной нагрузки данных, которые переносит пакет. Поле «Протокол» позволяет Сетевому уровню передать данные к соответствующему протоколу верхнего уровня.

Примеры значений этого поля:

Тип службы

Смещение Фрагмента

Как отмечалось ранее маршрутизатору, вероятно, придется фрагментировать пакет, передавая его с одного носителя (канала передачи) на другой, у которого MTU будет меньше. Когда происходит фрагментация, пакет IPv4 использует поле «Смещение Фрагмента» и флаг MF в заголовке IP, чтобы восстановить пакет, когда он достигает конечного хоста. Поле смещение фрагмента идентифицирует порядок, в котором необходимо поместить пакетный фрагмент при реконструкции пакета.

Флаг «Дополнительные Фрагменты»

Флаг «Дополнительные Фрагменты» (MF) является одиночным битом в поле Флагов, используемым со Смещением Фрагмента для фрагментации и реконструкции пакетов. Когда флаг «Дополнительные Фрагменты» устанавливается, это означает, что это не последний фрагмент пакета. Когда узел получения видит, что пакет прибывает с MF = 1, он исследует Смещение Фрагмента, чтобы определить, куда этот фрагмент должен быть помещен в рекоструируемом пакете. Когда узел получения принимает кадр с MF = 0 и ненулевое значение в смещении Фрагмента, он помещает этот фрагмент как последнюю часть в восстанавливаемый пакет. У нефрагментированного пакета вся информация о фрагментации равна нулю (MF = 0, смещение фрагмента = 0).

Флаг «Не Фрагментировать»

Флаг «Не Фрагментировать» (DF) является одиночным битом в поле Флагов, который указывает, что фрагментация пакета не допустима. Если бит флага «Не Фрагментировать» устанавливается, то фрагментация этого пакета НЕ разрешается. Если маршрутизатор должен фрагментировать пакет, чтобы передать его вниз к Канальному уровню, но бит DF установлен в 1, то маршрутизатор отбрасывает этот пакет.

Источник

Какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

Функции, реализуемые IP:

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

На данный момент наиболее распространена четвертая версия протокола (IPv4), однако ведутся активные работы по внедрению более совершенного IPv6.

Содержание

IPv4 [ править ]

IPv4 (англ. Internet Protocol version 4) — четвёртая версия интернет протокола (IP). Описан в IETF в статье RFC 791 (сентябрь 1981 года). Это один из самых используемых интернет протоколов. Был введен в использование в ARPANET в 1983 году.

Функция протокола — передавать дейтаграммы по множеству соединенных сетей.

Структура пакета [ править ]

Рассмотрим формат IPv4-дейтаграмм.

Дейтаграмма состоит из заголовка и основной части (данных). Биты передаются слева направо и сверху вниз (big-endian порядок). В настоящее время ясно, что лучше было бы использовать обратный (little-endian) порядок, но во время создания протокола это не было очевидно. Так на Intel x86 требуется программное преобразование, как при передаче, так и при приеме.

Рассмотрим структуру заголовка:

Пример [ править ]

IPv4 и его расположение внутри кадра.

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

IPv6 [ править ]

IPv6 (англ. Internet Protocol version 6) — новая версия интернет протокола (IP), являющаяся результатом развития IPv4. Протокол был создан IETF в 1996 году. Описан в спецификации RFC 2460.

Основной причиной для создания новой версии протокола послужил факт скорого исчерпания пула IPv4 адресов (по разным оценкам последние выделенные IANA адреса будут заняты в период с 2016 по 2020 года).

Основные отличия IPv6 от IPv4:

Структура пакета [ править ]

IP-адрес [ править ]

Определение:
IP-адрес — уникальный сетевой адрес узла в компьютерной сети, построенной по протоколу IP.

IPv4-адрес [ править ]

IPv4 использует 32-битные адреса, ограничивающие адресное пространство 4 294 967 296 (2 32 ) возможными уникальными адресами. У каждого хоста и маршрутизатора в Интеренете есть IP-адрес. IP-адрес не имеет отношения к хосту. Он имеет отношение к сетевому интерфейсу, поэтому иногда хост или маршрутизатор могут иметь несколько IP-адресов.

IP-адреса имеют иерархическую организацию. Первая часть имеет переменную длину и задает сеть, а последняя указывает на хост.

Обычно IP-адреса записываются в виде 4 десятичных чисел, каждое в диапозоне от 0 до 255, разделенными точками (dot-decimal notation). Каждая часть представляет один байт адреса. Например, шестнадцатиричный адрес 80D00297 записывается как 128.208.2.151.

Определение:
Префикс — непрерывный блок пространства IP-адресов, соответствующий сети, в которой сетевая часть совпадает для всех хостов.

Префикс задается наименьшим IP-адресом в блоке и размером блока. Размер определяется числом битов в сетевой части, оставшиеся биты в части хоста могут варьироваться. Таким образом, размер является степенью двойки. Он записывается после префикса IP-адреса в виде слэша и длины сетевой части в битах. В предыдущем примере префикс содержит 2 8 адресов и поэтому для сетевой части отводится 24 бита. Записывается так: 128.208.2.0/24.

Сетевые адреса, адреса интерфейсов и широковещательные адреса [ править ]

IP адрес может означать одно из трех:

IPv6-адрес [ править ]

Адрес в IPv6 представляется как восемь групп из четырех шестнадцатеричных чисел, разделенных двоеточиями. При записи адреса используются следующие правила:

Типы IPv6 адресов [ править ]

Фрагментация [ править ]

Большинство каналов передачи данных устанавливают максимальную длину пакета (MTU). В случае, когда длина пакета превышает это значение, происходит фрагментация.

Маршрутизация [ править ]

Протокол IP требует, чтобы в маршрутизации участвовали все узлы (компьютеры). Длина маршрута, по которому будет передан пакет, может меняться в зависимости от того, какие узлы будут участвовать в доставке пакета. Каждый узел принимает решение о том, куда ему отправлять пакет на основании таблицы маршрутизации (routing tables).

Маска подсети [ править ]

Длина префикса не выводится из IP-адреса, поэтому протоколу маршрутизации вынуждены передавать префиксы на маршрутизаторы. Иногда префиксы задаются с помощью указания длины.

Определение:
Маска подсети — двоичная маска, соответствующая длине префикса, в которой единицы указывают на сетевую часть.

То есть маска подсети определяет как будут локально интерпретироваться IP адреса в сегменте IP сети, что для нас весьма важно, поскольку определяет процесс разбивки на подсети.

О маске подсети нужно помнить три вещи:

Бесклассовая междоменная маршрутизация [ править ]

Изначально использовалась классовая адресация (INET), но со второй половины 90-х годов XX века она была вытеснена бесклассовой адресацией (CIDR), при которой количество адресов в сети определяется маской подсети.

Таблицы маршрутизации со временем сильно растут, и с этим нужно что-то делать. Маршрутизатор может узнавать о расположении IP-адресов по префиксам различной длины. Но вместо того чтобы разделять сеть на подсети, мы объединим несколько коротких префиксов в один длинный. Этот процесс называется агрегацией маршрута (route aggregation). Длинный префикс, полученный в результате, иногда называют суперсетью (supernet), в противоположность подсетям с разделением блоков адресов.

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

При агрегации IP-адреса содержатся в префиксах различной длины. Один и тот же IP-адрес может рассматриваться одним маршрутизатором как часть блока /22 (содержащего 2 10 адресов), а другим — как часть более крупного блока /20 (содержащего 2 12 адресов). Это зависит от того, какой информацией обладает маршрутизатор. Такой метод называется CIDR (Classless InterDomain Routing — бесклассовая междоменная маршрутизация).

Также префиксы могут пересекаться. Согласно правилу, пакеты передаются в направлении самого специализированного блока, или самого длинного совпадающего префикса (longest matching prefix), в котором находится меньше всего IP-адресов.

По сути CIDR работает так:

Классы IP-сетей [ править ]

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

Раньше использовали классовую адресацию.

Сколько бит используется сетевым ID и сколько бит доступно для идентификации хостов (интерфейсов) в этой сети, определяется сетевыми классами.

Их структура и диапазоны указаны на рисунке.

Стандартные маски подсети для трех классов сетей:

Источник

Описание и структура IPv4

IP (internet protocol — протокол) — маршрутизируемый сетевой протокол, протокол сетевого уровня семейства («стека») TCP/IP. IPv4 описан в RFC 791 (сентябрь 1981 года).

Основные положения:

Структура IP пакета

Пакет протокола IP состоит из заголовка и поля данных. Максимальная длина пакета 65 535 байт. Заголовок обычно имеет длину 20 байт и содержит информацию о сетевых адресах отправителя и получателя, о параметрах фрагментации, о времени жизни пакета, о контрольной сумме и некоторых других. В поле данных IP- пакета находятся сообщения более высокого уровня.

Рассмотрим поля структуру IP- пакета на конкретном примере. какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

IP фрагментация, MTU, MSS, и PMTUD

Фрагментация IP пакетов: MTU, MSS, и PMTUD. PMTUD (Path MTU Discovery) и проблема фрагментации пакетов (network mtu ping packet)

Фрагментация подразумевает разбиение блока данных (пакета) на равные части. Соответственно после фрагментации следующим этапом следует сборка фрагментов. Протокол IP позволяет выполнять фрагментацию только тех пакетов, которые поступают на входные порты маршрутизаторов. Следует различать фрагментацию сообщений в узле-отправителе, и динамическую фрагментацию сообщений в маршрутизаторах. Дело в том, что практически во всех стеках протоколов есть протоколы, которые осуществляют фрагментацию сообщений прикладного уровня на такие части, которые укладываются в кадры канального уровня. В стеке TCP/IP, например, эту задачу решает протокол транспортного уровня TCP. Этот протокол может разбивать поток байтов, передаваемый ему с прикладного уровня на сообщения нужного размера (например, на 1460 байт для протокола Ethernet).

Поэтому протокол IP в узле-отправителе не использует свои возможности по фрагментации пакетов.

А вот при необходимости передать пакет в следующую сеть, для которой размер пакета является слишком большим, IP-фрагментация становится необходимой.

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

В большинстве типов локальных и глобальных сетей значения MTU, то есть максимальный размер поля данных, в которое должен инкапсулировать свой пакет протокол IP, значительно отличается.

Итак, необходимость фрагментации пакетов на уровне IP мы пояснили. Теперь перейдем к самому процессу фрагментации пакетов IP.

Как мы уже выяснили из предыдущего раздела нашего урока, в поле Flags заголовка IP-пакет может быть помечен как не фрагментируемый. Любой пакет, помеченный таким образом, не может быть фрагментирован модулем IP ни при каких условиях.

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

Протокол IP допускает возможность использования в пределах отдельной подсети ее собственных средств фрагментирования, невидимых для протокола IP.

Процедуры фрагментации и сборки протокола IP рассчитаны на то, чтобы пакет мог быть разбит на практически любое количество частей, которые впоследствии могли бы быть вновь собраны.

Для того, чтобы не перепутать фрагмент различных типов, в заголовке IP-пакетов используется поле Identification.

Поле смещения фрагмента (Fragment Offset) сообщает получателю положение фрагмента в исходном пакете. Смещение фрагмента и длина определяют часть исходного пакета, принесенную этим фрагментом. Флаг «more fragments» показывает появление последнего фрагмента. Модуль протокола IP, отправляющий неразбитый на фрагменты пакет, устанавливает в нуль флаг «more fragments» и смещение во фрагменте.

Все эти поля дают достаточное количество информации для сборки пакета.

Итак, чтобы разделить на фрагменты большой пакет, модуль протокола IP, установленный, например, на маршрутизаторе, создает несколько новых пакетов и копирует содержимое полей IP-заголовка из большого пакета в IP-заголовки всех новых пакетов. Данные из старого пакета делятся на соответствующее число частей, размер каждой из которых, кроме самой последней, обязательно должен быть кратным 8 байт.

Размер последней части данных равен полученному остатку.

Каждая из полученных частей данных помещается в новый пакет.

Когда происходит фрагментация, то некоторые параметры IP-заголовка копируются в заголовки всех фрагментов, а другие остаются лишь в заголовке первого фрагмента.

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

В заголовок каждого пакета заносятся соответствующие значения в поле смещения «fragment offset», а в поле общей длины пакета помещается длина каждого пакета.

Теперь давайте рассмотрим процесс сборки фрагментов пакетов.

Чтобы собрать фрагменты пакета, модуль протокола IP объединяет IP-пакеты, имеющие одинаковые значения в полях идентификатора, отправителя, получателя и протокола.

Таким образом, отправитель должен выбрать идентификатор таким образом, чтобы он был уникален для данной пары отправитель-получатель, для данного протокола и в течение того времени, пока данный пакет (или любой его фрагмент) может существовать в составной IP-сети.

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

Однако, поскольку поле идентификатора допускает 65 536 различных значений, некоторые хосты могут использовать просто уникальные идентификаторы, не зависящие от адреса получателя.

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

Процедура объединения заключается в помещении данных из каждого фрагмента в позицию, указанную в заголовке пакета в поле «fragment offset».

Итак, после длительных объяснений давайте закрепим на примере все, что мы сейчас узнали о фрагментации IP-пакетов.

Рассмотрим процесс фрагментации IP-пакетов при передаче между сетями с разным размером пакетов на примере, который показан на этом рисунке. какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

Канальный и физический уровни обозначены, как К1, Ф1, К2, Ф2 соответственно.

Пусть компьютер 1 связан с сетью, имеющей значение MTU в 4096 байт, например с сетью FDDI.

При поступлении на IP-уровень компьютера 1 сообщения от транспортного уровня размером в 5600 байт протокол IP делит его на два IP-пакета. В первом пакете устанавливает признак фрагментации и присваивает пакету уникальный идентификатор, например 486.

Признак фрагментации во втором пакете равен нулю, что показывает, что это последний фрагмент пакета.

Общая величина IP-пакета составляет 2800 плюс 20 (размер IP-заголовка), то есть 2820 байт, что умещается в поле данных кадра FDDI.

Далее модуль IP компьютера 1 передает эти пакеты своему сетевому интерфейсу (образуемому протоколами канального уровня К1 и физического уровня Ф1)

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

После того, как кадры пройдут уровень сетевого интерфейса маршрутизатора (К1 и Ф1) и освободятся от заголовков FDDI, модуль IP по сетевому адресу определяет, что прибывшие два пакета нужно передать в сеть 2, которая является сетью Ethernet и имеет значение MTU, равное 1500.

Следовательно, прибывшие IP-пакеты необходимо фрагментировать.

Маршрутизатор извлекает поле данных из каждого пакета и делит его еще пополам, чтобы каждая часть уместилась в поле данных кадра Ethernet.

Затем он формирует новые IP-пакеты, каждый из которых имеет длину 1400 + 20 = 1420 байт, что меньше 1500 байт, поэтому они нормально помещаются в поле данных кадров Ethernet.

В результате в компьютер 2 по сети Ethernet приходят четыре IP-пакета с общим идентификатором 486.

Протокол IP, работающий в компьютере 2, должен правильно собрать исходное сообщение.

Если пакеты пришли не в том порядке, в котором были посланы, то смещение укажет правильный порядок их объединения.

Отметим, что IP-маршрутизаторы не собирают фрагменты пакетов в более крупные пакеты, даже если на пути встречается сеть, допускающая такое укрупнение. Это связано с тем, что отдельные фрагменты сообщения могут перемещаться по интерсети по различным маршрутам, поэтому нет гарантии, что все фрагменты проходят через какой-либо промежуточный маршрутизатор на их пути.

При приходе первого фрагмента пакета узел назначения запускает таймер, который определяет максимально допустимое время ожидания прихода остальных фрагментов этого пакета.

Таймер устанавливается на максимальное из двух значений: первоначальное установочное время ожидания и время жизни, указанное в принятом фрагменте.

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

Источник

Протокол IP — протокол интернет. Формат заголовка IP-пакета.

IP расшифровывается как Internet Protocol, часто его называют протокол интернет. Но строго говоря это не совсем так, правильный перевод межсетевой протокол или протокол межсетевого взаимодействия.

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

Протокол Ip возник задолго до того, как появилась и стала набирать популярность сеть, которую мы называем интернет. В англоязычной терминологии internetworking означает объединение сетей, и цель протокола ip как раз объединить сети, построенные с помощью разных технологий канального уровня. У этой терминологии словом internet называлась объединенная сеть, а subnet — подсеть или отдельная сеть. Словом Internet с большой буквы сейчас называется самая крупная объединенная сеть построенная по протоколу ip.

Место в моделях OSI и TCP/IP

В модели взаимодействия открытых систем и в модели TCP/IP протокол IP, находится на одном и том же уровне — сетевом.

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

Сетевой уровень стека протоколов TCP/IP включая также и другие протоколы кроме ip. Это ARP, DHCP и ICMP, но для передачи данных используется только протокол ip, остальные протоколы служат для обеспечения корректной работы крупной составной сети.

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

Сервисы IP

IP также, как и Ethernet обеспечивают передачи данных без гарантии доставки, не гарантируется как доставка, так и порядок следования сообщений. Протокол Ip так же как и Ethernet использует передачу данных без установки соединения.

IP пакет просто отправляется в сеть в надежде, что он дойдет до получателя, если пакет по каким-то причинам не дошел, не предпринимается никаких попыток оповестить отправителя, и также не предпринимается попыток запросить этот пакет снова. Считается, что ошибка должна быть исправлена протоколами, которые находятся на вышестоящих уровнях.

Задачей IP является объединение сети, построенных на основе разных технологий канального уровня, которые могут значительно отличаться друг от друга в одну крупную объединенную сеть, в которой компьютеры могут свободно общаться друг с другом не взирая на различия конкретной сетевой технологии. Вторая важная задача протокола IP, это маршрутизация, то есть поиск маршрута от отправителя к получателю в крупной составной сети через промежуточные узлы маршрутизаторы. Также IP обеспечивает необходимое качество обслуживания.

Формат заголовка IP-пакета

Для того чтобы понять, как протокол IP реализует эту задачу, рассмотрим формат заголовка IP пакета.

какое поле в заголовке ipv4 используется для предотвращения бесконечной пересылки пакета по сети

Номер версии

Первое поле номер версии. Сейчас используется две версии протокола IP 4 и 6. Большая часть компьютеров использует IPv4. Длина адреса в этой версии 4 байта. Формат адреса IP версии 4 мы рассматривали подробно. Проблема в том, что адресов IPv4, четыре с небольшим миллиарда, что уже сейчас не хватает для всех устройств в сети, а в будущем точно не хватит. Поэтому была предложена новая версия IPv6 в которой длина IP адреса составляет 16 байт. Сейчас эта версия вводится в эксплуатацию, но процесс занимает очень долгое время.

Длина заголовка

Следующее поле длина заголовка. В отличии от Ethernet заголовок IP включает обязательные поля, а также может включать дополнительные поля, которые называются опции. В поле длина заголовка записывается полная длина, как обязательной части, так и опции.

Тип сервиса

Следующее поле тип сервиса. Это поле нужно для обеспечения необходимого качества обслуживания, но сейчас на практике используется очень редко.

Общая длина

Следующее поле общая длина. Общая длина содержит длину всего IP пакета, включая заголовок и данные. Максимальная длина пакета 65 535 байт, но на практике такие большие пакеты не используются, а максимальный размер ограничен размером кадра канального уровня, а для Ethernet это 1 500 байт. В противном случае для передачи одного IP пакета необходимо было бы несколько кадров канального уровня что неудобно.

Идентификатор пакета

Поля идентификатор пакета, флаги и смещение фрагмента используются для реализации фрагментации.

Время жизни

Дальше идет поле время жизни. Время жизни Time To Live или TTL — это максимальное время в течение которого пакет может перемещаться по сети. Оно введено для того чтобы пакеты не гуляли по сети бесконечно, если в конфигурации сети возникла какая-то ошибка. Например, в результате неправильной настройке маршрутизаторов в сети, может образоваться петля. Раньше, время жизни измерялось в секундах, но сейчас маршрутизаторы обрабатывают пакет значительно быстрее чем за секунду, поэтому время жизни уменьшается на единицу на каждом маршрутизаторе, и оно измеряется в количествах прохождения через маршрутизаторы по-английски (hop) от слова прыжок. Таким образом название время жизни сейчас стало уже некорректным.

Тип протокола

После времени жизни, указывается тип протокола следующего уровня. Это поле необходимо для реализации функции мультиплексирования и демультиплексирования, то есть передачи с помощью протокола IP данных от разных протоколов следующего уровня. В этом поле указывается код протокола следующего уровня, некоторые примеры кодов для TCP код 6, UDP — 17 и ICMP — 1.

Контрольная сумма

Затем идет контрольная сумма, которая используется для проверки правильности доставки пакета, если при проверке контрольные суммы обнаруженные ошибки, то пакет отбрасывается, никакой информации отправителю пакета не отправляется. Контрольная сумма рассчитывается только по заголовку IP пакета и она пересчитывается на каждом маршрутизаторе из-за того что данные в заголовке меняются. Как минимум изменяется время жизни пакета, а также могут измениться некоторые опции.

IP адрес получателя и отправителя

После контрольной суммы идут IP адрес отправителя, и IP адрес получателя. В IPv4 длина IP адреса четыре байта, 32 бита на этом обязательная часть IP заголовка заканчивается, после этого идут не обязательные поля которые в IP называются опции.

Опции

Некоторые примеры опций. Для диагностики работы сети используется опция — записать маршрут, при которой в IP пакет записывается адрес каждого маршрутизатора через которую он проходит.

И опция — временные метки, при установке которой, каждый маршрутизатор записывает время прохождения пакеты.

Также опции позволяют отказаться от автоматической маршрутизации, и задать маршрут отправитель:

Опции в заголовке IP может быть несколько и они могут иметь разный размер. В то же время длина IP заголовка должна быть кратна 32, поэтому при необходимости, в конце IP заголовок заполняются нулями до выравнивание по границе 32 бита. Следует отметить, что сейчас опции в заголовке IP почти не используются.

В статье был рассмотрен протокол IP (Internet Protocol) — протокол межсетевого взаимодействия. Протокол IP является основой интернета. В OSI находится на сетевом уровне.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *