IP (англ.
Internet Protocol — межсетевой протокол) — маршрутизируемый сетевой протокол, основа стека протоколов TCP/IP.
Протокол IP (
RFC 791) используется для ненадёжной доставки данных (разделяемых на так называемые
пакеты) от одного узла сети к другому. Это означает, что на уровне этого протокола (третий уровень сетевой модели OSI)
не даётся гарантий надёжной доставки пакета до адресата. В частности,
пакеты могут прийти не в том порядке, в котором были отправлены,
оказаться повреждёнными или не прибыть вовсе. Гарантии безошибочной
доставки пакетов дают протоколы более высокого (транспортного) уровня сетевой модели OSI — например, 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)
|
0 |
1 |
2 |
3 |
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
Версия |
IHL |
Тип обслуживания |
Длина пакета |
|
Идентификатор |
Флаги |
Смещение фрагмента |
|
Число переходов (TTL) |
Протокол |
Контрольная сумма заголовка |
|
IP-адрес отправителя (32 бита) |
|
IP-адрес получателя (32 бита) |
|
Параметры (до 320 бит) |
Данные (до 65535 байт минус заголовок) |
-
Версия — для IPv4 значение поля должно быть равно 4.
-
IHL — длина заголовка 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
-
172.16.0.0 — 172.31.255.255
-
192.168.0.0 — 192.168.255.255
-
сеть 2001:0DB8::/32 в IPv6 — зарезервировано для примеров и документации
Компьютеры с такими адресами могут получать доступ к Интернету посредством прокси-серверов или NAT.
При построении сетей, составляющих Интернет (например сетей провайдеров), выбираются строго определённые диапазоны адресов, назначенные организацией ICANN.
ICANN является «высшей инстанцией» в вопросах резервирования диапазонов
и имеет свои представительства по всему миру — например, в Европе
распределение адресов координирует RIPE NCC.
источник: wikipedia.org
|