Протокол IP

Дейтаграмма (пакет) протокола имеет формат, показанный на рисунке 6.9.

 
 

Поле «номер версии» (4 бита) указывает сейчас почти повсеместно версию IPv4, однако некоторые домены уже переходят на версию IPv6.

Поле «длина заголовка» (4 бита) указывает длину в 32-разрядных словах. Обычная длина – 5 слов, однако за счет поля опций (options) она может быть увеличена до 15 слов (60 байт).

Рис.6.9.

Поле «тип сервиса» (8 бит) содержит:

· Три бита PR, указывающие приоритет пакета (0 – нормальный; 7 – самый высокий). Значение этого поля может приниматься во внимание маршрутизаторами.

· Биты D, T и R используются протоколами маршрутизации. Они задают критерий выбора маршрута. D=1 – указывает на необходимость минимизации задержки при доставке данного пакета. T=1 – показывает на желательность максимизации пропускной способности. R=1 – указывает на необходимость обеспечения максимальной надежности доставки.

· Два последних бита в этом поле зарезервированы.

Поле «общая длина» (2 байта) — это общая длина в байтах заголовка и поля данных. Максимальная длина составляет 65535 байт. При передаче по разным сетям длина пакета выбирается исходя из размера внутренней области кадра. На рисунке показано такое размещение для сети Ethernet. По стандарту все устройства сети Интернет должны быть готовы принимать дейтаграммы длиной 576 байт.

Передача дейтаграммы в кадре называется инкапсуляцией. Длина пакета выбирается с учетом максимальной длины кадра протокола нижнего уровня, несущего IP-пакеты. Для сети Ethernet – это 1500 байт, для FDDI – 4096 байт.

При необходимости протокол IP выполняет функции фрагментации и сборки. Это разделение дейтаграммы на части и их последующее объединение. Фрагментация осуществляется с учетом максимальной длины единицы передачи MTU (Maximum Transmission Unit) конкретной сети. Формируемые маршрутизатором фрагменты идентифицируются смещением относительно начала исходной дейтаграммы.

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

Поле «флаги» (3 бита) содержит:

· Бит DF (Do not Fragment) = 1 запрещает маршрутизатору фрагментировать данный пакет.

· Бит MF (More Fragments) = 1 указывает на то, что данный пакет является промежуточным (не последним) фрагментом.

· Третий бит зарезервирован

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

Поле «время жизни» (1 байт) указывает предельный срок, в течении которого пакет может перемещаться по сети. Задается в секундах. Каждый маршрутизатор вычитает величину задержки (но не менее 1 сек.) из этой величины. Если параметр становится равным нулю — пакет уничтожается. (Этот параметр можно считать часовым механизмом самоуничтожения.) На практике каждый маршрутизатор просто вычитает 1 из значения этого поля «Time to live», т.к. скорости в сети высокие и время пересылки между узлами практически всегда не превышает 1 секунды.

Поле «протокол верхнего уровня» (1 байт) указывает, какому протоколу предназначается информация, размещенная в поле данных пакета. Например: 6 — для протокола TCP; 17 — протоколу UDP; 87 — протоколу OSPF и т.д.

Поле «контрольная сумма» (2 байта) применяется для защиты от ошибок заголовка пакета. Это сумма по mod 8 всех 16-битовых слов заголовка. При обнаружении маршрутизатором ошибки пакет отбрасывается.

Поля «адрес отправителя» и «адрес получателя» (по 32 бита).

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

Поле «выравнивание» – это дополнение (при необходимости) нулями до полного 32-битового слова.

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: