IP

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску

IP (англ. Internet Protocol — межсетевой протокол) — маршрутизируемый сетевой протокол, основа стека протоколов TCP/IP.

Протокол IP (RFC 791) используется для ненадёжной доставки данных (разделяемых на так называемые пакеты) от одного узла сети к другому. Это означает, что на уровне этого протокола не даётся гарантий надёжной доставки пакета до адресата. В частности, пакеты могут прийти не в том порядке, в котором были отправлены, оказаться повреждёнными или не прибыть вовсе. Гарантии безошибочной доставки пакетов дают протоколы более высокого (транспортного) уровня — например, TCP — которые используют IP в качестве транспорта.

В современной сети Интернет используется IP четвёртой версии, также известный как IPv4. В протоколе IP этой версии каждому узлу сети ставится в соответствие IP-адрес длиной 4 октета (иногда говорят «байта», подразумевая распространённый восьмибитовый минимальный адресуемый фрагмент памяти ЭВМ). При этом компьютеры в подсетях объединяются общими начальными битами адреса. Количество этих бит, общее для данной подсети, называется маской подсети (ранее использовалось деление пространства адресов по классам — A, B, C; класс сети определялся диапазоном значений старшего октета и определял число адресуемых узлов в данной сети, сейчас используется бесклассовая адресация).

В настоящее время вводится в эксплуатацию шестая версия протокола — IPv6, которая позволяет адресовать значительно большее количество узлов, чем IPv4. Эта версия отличается повышенной разрядностью адреса, встроенной возможностью шифрования и некоторыми другими особенностями. Переход с IPv4 на IPv6 связан с трудоёмкой работой операторов связи и прозводителей программного обеспечения и не может быть выполнен одномоментно. На начало 2007 года в Интернете присутствовало около 760 сетей, работающих по протоколу IPv6. Для сравнения, на то же время в адресном пространстве IPv4 присутствовало более 203 тысяч сетей, но в IPv6 сети гораздо более крупные, нежели в IPv4.

IP-пакет[править | править код]

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

Структура IP-датаграммы (пакета)[править | править код]

В протоколе четвертой версии (IPv4)[править | править код]

Версия (4 бит) Длина (4 бит) Тип обслуживания (8 бит)
Длина пакета
Идентификатор
0 DF MF Смещение фрагмента
Число переходов (TTL) Протокол
Контрольная сумма заголовка
IP-адрес отправителя
(32 бита)
IP-адрес получателя
(32 бита)
Параметры (до 320 бит)
Данные (до 65535 байт минус заголовок)
  • Версия — для IPv4 значение поля должно быть равно 4.
  • Длина — длина заголовка IP-пакета в 32-битных словах (dword). Именно это поле указывает на начало блока данных в пакете. Минимальное корректное значение для этого поля равно 5.
  • Идентификатор — значение, определяемое отправителем пакета и предназначенное для определения корректной последовательности пакетов.
  • 3 бита флагов. Первый бит должен быть всегда равен нулю, второй бит DF (don’t fragment) определяет возможность фрагментации пакета и третий бит MF (more fragments) показывает, не является ли этот пакет последним в цепочке пакетов.
  • Смещение фрагмента — значение, определяющее позицию фрагмента в потоке данных.
  • Протокол — идентификатор интернет-протокола следующего уровня (см. IANA protocol numbers и RFC 1700). В IPv6 называется «Next Header».

В протоколе 6 версии (IPv6)[править | править код]

Версия (4 бита) Класс трафика (8 бит) Метка потока (20 бит)
Длина полезной нагрузки (16 бит) След. заголовок (8 бит) Число переходов
IP-адрес отправителя
(128 бит)
IP-адрес получателя
(128 бит)
Данные
  • Версия — для IPv6 значение поля должно быть равно 6.
  • Класс трафика — определяет приоритет трафика (QoS, класс обслуживания).
  • Метка потока — уникальное число, одинаковое для однородного потока пакетов.
  • Длина полезной нагрузки — длина данных (заголовок IP-пакета не учитывается).
  • Следующий заголовок — Определяет следующий инкапсулированный протокол.
  • Число переходов — максимальное число роутеров, которые может пройти пакет. При прохождении роутера это значение уменьшается на единицу и по достижению нуля пакет отбрасывается.

Диапазоны для локальных сетей[править | править код]

При подключении пользовательского компьютера к Интернету, IP-адреса выбираются из диапазона, предоставленного провайдером. Компьютеры, не имеющие IP-адреса, выданного провайдером, могут (при правильной настройке маршрутизации) работать с другими локальными компьютерами, имея IP-адреса из диапазонов, зарезервированных для локальных сетей (RFC 1918):

  • сеть класса А 10.0.0.0 — 10.255.255.255 (маска подсети 255.0.0.0)
  • сеть класса B 172.16.0.0 — 172.31.255.255 (маска подсети 255.240.0.0)
  • сеть класса C 192.168.0.0 — 192.168.255.255 (маска подсети 255.255.0.0)
  • сеть класса D 2001:0DB8::/32 в IPv6 — зарезервировано для будущих поколений

Компьютеры с такими адресами могут получать доступ к Интернету посредством прокси-серверов или NAT.

При построении сетей, составляющих Интернет (например сетей провайдеров), выбираются строго определённые диапазоны адресов, назначенные организацией ICANN. ICANN является «высшей инстанцией» в вопросах резервирования диапазонов и имеет свои представительства по всему миру — например, в Европе распределение адресов координирует RIPE NCC.

Ссылки[править | править код]

  • RFC 791 — IP
  • RFC 1918
  • RFC 3330 — Специальные диапазоны адресов в IPv4.

См. также[править | править код]