Interested Article - IP

Internet Protocol ( IP , досл. «межсетевой протокол») — маршрутизируемый протокол сетевого уровня стека TCP/IP . Именно IP стал тем протоколом, который объединил отдельные компьютерные сети во всемирную сеть Интернет . Неотъемлемой частью протокола является адресация сети (см. IP-адрес ).

Свойства

IP объединяет сегменты сети в единую сеть, обеспечивая доставку пакетов данных между любыми узлами сети через произвольное число промежуточных узлов ( маршрутизаторов ). Он классифицируется как протокол сетевого уровня по сетевой модели OSI . IP не гарантирует надёжной доставки пакета до адресата — в частности, пакеты могут прийти не в том порядке, в котором были отправлены, продублироваться (приходят две копии одного пакета), оказаться повреждёнными (обычно повреждённые пакеты уничтожаются) или не прийти вовсе. Гарантию безошибочной доставки пакетов дают некоторые протоколы более высокого уровня — транспортного уровня сетевой модели OSI — например, TCP , которые используют IP в качестве транспорта.

Фрагментация IP-пакетов

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

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

Версия 4

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

Версия 6

С 1996 года вводится в эксплуатацию шестая версия протокола — IPv6 , которая позволяет адресовать значительно большее количество узлов, чем IPv4. Адресное пространство IPv6 составляет 2 128 . Такое большое адресное пространство было введено ради иерархичности адресов (это упрощает маршрутизацию). Тем не менее, увеличенное пространство адресов сделает NAT необязательным. Классическое применение IPv6 (по сети /64 на абонента; используется только unicast-адресация) обеспечит возможность использования более 300 млн IP-адресов на каждого жителя Земли. Эта версия отличается повышенной разрядностью адреса, встроенной возможностью шифрования и некоторыми другими особенностями [ какими? ] . Долгий переход с IPv4 на IPv6 связан с трудоёмкой работой операторов связи и производителей программного обеспечения и не может быть выполнен в один момент. К осени 2013 года в Интернете присутствовало более 14 000 сетей, работающих по протоколу IPv6. Для сравнения, к середине 2010 года в адресном пространстве IPv4 присутствовало более 320 тысяч сетей, но в IPv6 сети гораздо более крупные, нежели в IPv4.

Пакет

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

Версия 4 (IPv4)

Октет 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 Версия IHL Differentiated Services Code Point ECN Длина пакета
4 Идентификатор Флаги Смещение фрагмента
8 Время жизни ( TTL ) Протокол Контрольная сумма заголовка
12 IP-адрес отправителя
16 IP-адрес получателя
20 Параметры (от 0 до 10 32-битных слов)
Данные
  • Версия — для IPv4 значение поля должно быть равно 4.
  • IHL — (Internet Header Length) длина заголовка IP-пакета в 32-битных словах (dword). Именно это поле указывает на начало блока данных ( англ. payload — полезный груз) в пакете. Минимальное корректное значение для этого поля равно 5.
  • Длина пакета — (Total Length) длина пакета в октетах , включая заголовок и данные. Минимальное корректное значение для этого поля равно 20, максимальное — 65 535.
  • Идентификатор — (Identification) значение, назначаемое отправителем пакета и предназначенное для определения корректной последовательности фрагментов при сборке пакета. Для фрагментированного пакета все фрагменты имеют одинаковый идентификатор.
  • 3 бита флагов. Первый бит должен быть всегда равен нулю, второй бит DF (don’t fragment) определяет возможность фрагментации пакета и третий бит MF (more fragments) показывает, не является ли этот пакет последним в цепочке пакетов.
  • Смещение фрагмента — (Fragment Offset) значение, определяющее позицию фрагмента в потоке данных. Смещение задается количеством восьмибайтовых блоков, поэтому это значение требует умножения на 8 для перевода в байты.
  • Время жизни ( TTL ) — число маршрутизаторов, которые может пройти этот пакет. При прохождении маршрутизатора это число уменьшается на единицу. Если значение этого поля равно нулю, то пакет должен быть отброшен, и отправителю пакета может быть послано сообщение Time Exceeded ( ICMP тип 11 код 0).
  • Протокол — идентификатор сетевого протокола следующего уровня указывает, данные какого протокола содержит пакет, например, TCP , UDP , или ICMP (см. и ). В IPv6 называется «Next Header».
  • Контрольная сумма заголовка — (Header Checksum) вычисляется в соответствии с

Версия 6 ( IPv6 )

Позиция в октетах 0 1 2 3
Позиция в битах 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Версия Класс трафика Метка потока
4 32 Длина полезной нагрузки След. заголовок Число переходов
8 64 IP-адрес отправителя
12 96
16 128
20 160
24 192 IP-адрес получателя
28 224
32 256
36 288
  • Версия — для IPv6 значение поля должно быть равно 6.
  • Класс трафика — определяет приоритет трафика ( QoS , класс обслуживания ).
  • Метка потока — уникальное число, одинаковое для однородного потока пакетов.
  • Длина полезной нагрузки — длина данных в октетах (заголовок IP-пакета не учитывается).
  • Следующий заголовок — задаёт тип расширенного заголовка ( англ. IPv6 extension ), который идёт следующим. В последнем расширенном заголовке поле Next header задаёт тип транспортного протокола ( TCP , UDP и т. д.) и определяет следующий инкапсулированный уровень.
  • Число переходов — максимальное число маршрутизаторов , которые может пройти пакет. При прохождении маршрутизатора это значение уменьшается на единицу и по достижении нуля пакет отбрасывается.

См. также

Примечания

Ссылки

  • — спецификация IP.
  • — выделение адресов для частных сетей.
  • — специальные диапазоны адресов в IPv4.
Источник —

Same as IP