Протокол IP. Основные функции и структура IP-пакета.

Протокол Internet выполняет две главные функции: адресацию и фрагментацию.

 

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

 

Модули Internet используют поля в заголовке Internet для фрагментации и восстановления датаграмм Internet, когда это необходимо для их передачи через сети с малым размером пакетов.

 

Сценарий действия состоит в том, что модуль Internet меняет размер на каждом из хостов, задействованных в internet-коммуникации и на каждом из шлюзов, обеспечивающих взаимодействие между сетями. Эти модули придерживаются общих правил для интерпретации полей адресов, для фрагментации и сборки Internet датаграмм. Кроме этого, данные модули (и особенно шлюзы) имеют процедуры для принятия решений о маршрутизации, а также другие функции.

 

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

 

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

 

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

 

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

 

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

 

Контрольная сумма заголовка обеспечивает проверку того, что информация, используемая для обработки датаграмм Internet, передана правильно. Данные могут содержать ошибки. Если контрольная сумма неверна, то Internet датаграмма будет разрушена, как только ошибка будет обнаружена.

 

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

 

Обнаруженные ошибки могут быть оглашены посредством протокола ICMP (Internet Control Message Protocol) [3], который поддерживается модулем Internet протокола.

 

СТРУКТУРА IP ПАКЕТА

 

IP пакет состоит из заголовка и поля данных. Заголовок, как правило, имеющий длину 20 байт, имеет следующую структуру:

 

 

В поле «номер версии» указывают версию протокола IP.

 

Поле «длина заголовка» указывает значение длины заголовка, измеренное в 32-битовых словах (обычно заголовок имеет длину 20байт, это 5 32-битовых слов).

 

Поле «Тип сервиса» задаёт приоритетность пакета и вид критерия выбора маршрута. Буквы PR означают приоритет (принимает значения от 0—нормальный пакет - до 7— пакет, управляющий информацией);

 

D – маршрут, выбирается для минимизации задержки доставки;

 

Т – максимизация пропускной способности;

 

R – максимизация надёжности доставки.

 

Поле «общая длина» означает общую длину пакета с учётом заголовка и поля данных.

 

Поле «идентификатор пакета» используется для распознавания пакетов, образовавшихся путём фрагментации исходного пакета. Все фрагменты имеют одинаковое значение этого поля.

 

Поле «флаги»: D – запрет маршрутизатору фрагментировать данный пакет; M – говорит о том, что данный пакет является промежуточным (непоследним).

 

Поле «смещение фрагмента» используется при сборке/разборке фрагментов пакетов. Должно быть кратно 8 байтам.

 

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

 

Поле «протокол верхнего уровня» указывает, какому протоколу принадлежит информация, размещённая в поле данных пакета.

 

Поле «контрольная сумма» рассчитывается по заголовку пакета. Если она не верна, пакет отбрасывается.

 

IP адрес источника и IP адрес назначения состоят из 4-х цифр, разделённых точкой. «Опции» является необязательным. Там можно указать точный маршрут, регистрировать проходимые пакетом маршрутизаторы.

 

Поле «выравнивание» служит для того, чтобы убедиться в том, что IP заголовок заканчивается на 32-битной границе.