Протокол Internet

Третий протокол сетевого уровня в семействе TCP/IP - Протокол Internet (IP). Он доставляет пакеты по сети Internet без гарантии доставки и без установления соединения.

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

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

В протоколе IP определен формат всех данных, передаваемых в Internet.

Рис. 1. Заголовок пакет протокола Internet
Заголовок пакет протокола Internet
На этом рисунке показаны первые 32 бита стандартного заголовка IP-пакета. Более подробно поля заголовка рассмотрены в таблице.

Поля заголовка IP

Флаг Описание
Версия В этом поле указывается версия протокола IP. В настоящий момент применяется протокол IP версии 4.
Длина Длина заголовка, выраженная в 32-разрядных словах.
Тип сервиса Содержит пять полей, в которых указываются предпочтительные для данного пакета тип приоритета, задержка, пропускная способность и надежность. (IP не гарантирует, что при передаче пакета будут применяться именно эти параметры.) По умолчанию применяется приоритет процедуры, а также обычные задержка, пропускная способность и надежность. В настоящий момент это поле редко применяется при передаче пакетов в Internet. Данная реализация протокола IP соответствует спецификации IP, описанной в документе RFC 791, Internet Protocol.
Суммарная длина Длина дейтаграммы в октетах с учетом заголовка. При прохождении пакета через шлюз он может быть фрагментирован, а затем собран на целевом хосте. Общая длина IP-пакета независимо настраивается для каждого интерфейса с помощью команды ifconfig или команды SMIT smit chinet. SMIT заносит значения в базу данных конфигурации на постоянной основе. Если вы хотите задать или изменить значения параметров для активной системы, воспользуйтесь командой ifconfig.
Идентификатор Содержит уникальное целое число, идентифицирующее дейтаграмму.
Флаги Это поле в сочетании с полем Идентификатор предназначено для управления фрагментацией дейтаграммы. В поле Флаги фрагментации указывается, допустима ли фрагментация дейтаграммы, а также является ли данный фрагмент последним.
Смещение фрагмента Смещение фрагмента в исходной дейтаграмме, указанное в блоках по 8 октетов.
Время жизни Определяет интервал времени, в течение которого дейтаграмма может оставаться в сети Internet. Такое ограничение позволяет удалять дейтаграммы с неправильно заданным маршрутом. По умолчанию время жизни пакета равно 255 секундам.
Протокол В этом поле задается тип протокола более высокого уровня.
Контрольная сумма заголовка Специальное значение, которое вычисляется для проверки целостности данных.
Адрес источника IP-адрес хоста-отправителя.
Адрес получателя IP-адрес хоста-получателя.
Опции Это поле предназначено для проверки и отладки сетевого соединения. Оно может отсутствовать в дейтаграмме.
Конец списка опций
Обозначает конец списка опций. Это поле указывается в конце всего списка опций, а не после каждой опции. Оно используется только в том случае, если конец списка не совпадает с концом всего заголовка IP. Конец списка опций указывается в том случае, если его длина превышает длину дейтаграммы.
Нет операции
Предназначено для выравнивания опций, например, для выравнивания начала следующей опции по 32-разрядной границе.
Запись произвольного маршрута
В этом поле источник дейтаграммы IP указывает информацию о маршрутизации, которая должна применяться шлюзами при передаче дейтаграммы целевому хосту. Здесь указывается произвольный маршрут источника: для передачи дейтаграммы следующему узлу маршрута шлюз или хост IP могут применять любой маршрут с любым числом промежуточных шлюзов.
Запись точного маршрута
В этом поле источник дейтаграммы IP указывает информацию о маршрутизации, которая должна применяться шлюзами при передаче дейтаграммы целевому хосту. Здесь указывается точный маршрут к источнику: шлюз или хост IP должны пересылать дейтаграмму непосредственно следующему узлу маршрута с помощью прямого соединения с этим узлом.
Запись о маршруте
В этом поле записывается маршрут IP-дейтаграммы.
Идентификатор потока
Идентификатор потока позволяет смоделировать поток данных, если дейтаграммы пересылаются через сеть, в которой не поддерживается передача потоков данных.
Временные метки Internet
Содержит временные метки прохождения пакета по маршруту.

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