[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 1:
{{Карточка протокола
|Аббр = IPv4
|Название = Internet protocol
|Уровень = Сетевой
|Семейство = [[стек протоколов TCP/IP|TCP/IP]]
|Создан = [[1981]]
<!-- |Порт = xxx/[[Ethernet]] -->
|Назначение = Основа стека [[TCP/IP]]
|Спецификация = RFC 791
}}
{{другие значения}}
'''IP''' ({{lang-en|''Internet Protocol''}} — межсетевой протокол) — [[маршрутизация|маршрутизируемый]] [[сетевой протокол]], основа [[стек протоколов TCP/IP|стека протоколов TCP/IP]].
 
Протокол IP (RFC 791) используется для негарантированной доставки данных (разделяемых на так называемые [[пакет]]ы) от одного узла сети к другому. Это означает, что на уровне этого протокола (третий уровень [[Сетевая модель OSI|сетевой модели OSI]]) не даётся гарантий надёжной доставки пакета до адресата. В частности, пакеты могут прийти не в том порядке, в котором были отправлены, продублироваться (когда приходят две копии одного пакета; в реальности это бывает крайне редко), оказаться повреждёнными (обычно повреждённые пакеты уничтожаются) или не прибыть вовсе. Гарантии безошибочной доставки пакетов дают протоколы более высокого ([[транспортный уровень|транспортного]]) уровня [[Сетевая модель OSI|сетевой модели OSI]] — например, [[TCP]] — которые IP используют в качестве транспорта.
 
В современной сети [[Интернет]] используется IP четвёртой версии, также известный как IPv4. В протоколе IP этой версии каждому узлу сети ставится в соответствие [[IP-адрес]] длиной 4 [[октет (информатика)|октета]] (иногда говорят «[[байт]]а», подразумевая распространённый восьмибитовый минимальный адресуемый фрагмент памяти ЭВМ; название "октет" идёт с тех времён, когда байты на разных компьютерах содержали разное число битов). При этом компьютеры в [[бесклассовая адресация|подсетях]] объединяются общими начальными [[бит]]ами адреса. Количество этих бит, общее для данной подсети, называется [[маска подсети|маской подсети]] (ранее использовалось деление пространства адресов по классам — A, B, C; класс сети определялся диапазоном значений старшего октета и определял число адресуемых узлов в данной сети, сейчас используется [[бесклассовая адресация]]).
 
В настоящее время вводится в эксплуатацию шестая версия протокола — [[IPv6]], которая позволяет адресовать значительно большее количество узлов, чем IPv4. Эта версия отличается повышенной разрядностью адреса, встроенной возможностью шифрования и некоторыми другими особенностями. Переход с IPv4 на IPv6 связан с трудоёмкой работой операторов связи и производителей программного обеспечения и не может быть выполнен одномоментно. На начало [[2007]] года в [[Интернет]]е присутствовало около 760 сетей, работающих по протоколу IPv6. Для сравнения, на то же время в адресном пространстве IPv4 присутствовало более 203 тысяч сетей, но в IPv6 сети гораздо более крупные, нежели в IPv4.
== == ==
 
== '''.i.''' == == == ==
== IP-пакет ==
'''IP-пакет''' — форматированный блок [[информация|информации]], передаваемый по [[Компьютерная сеть|вычислительной сети]]. Соединения вычислительных сетей, которые не поддерживают пакеты, такие как традиционные соединения типа «точка-точка» в телекоммуникациях, просто передают данные в виде последовательности [[байт]]ов, [[символ]]ов или [[бит]]ов. При использовании пакетного форматирования сеть может передавать длинные сообщения более надежно и эффективно.<!-- see [[en:Packet#IP_packets]] -jno -->
 
==Структура IP-датаграммы (пакета)== <!-- термин "пакет" (1) распространен и (2) остался в статье -jno -->
 
=== В протоколе четвертой версии (IPv4) ===
{|class="wide" width=100 %
|- align=center
|colspan=8 |0
|colspan=8 |1
|colspan=8 |2
|colspan=8 |3
|- align=center
|width=3 % |0
|width=3 % |1
|width=3 % |2
|width=3 % |3
|width=3 % |4
|width=3 % |5
|width=3 % |6
|width=3 % |7
|width=3 % |0
|width=3 % |1
|width=3 % |2
|width=3 % |3
|width=3 % |4
|width=3 % |5
|width=3 % |6
|width=3 % |7
|width=3 % |0
|width=3 % |1
|width=3 % |2
|width=3 % |3
|width=3 % |4
|width=3 % |5
|width=3 % |6
|width=3 % |7
|width=3 % |0
|width=3 % |1
|width=3 % |2
|width=3 % |3
|width=3 % |4
|width=3 % |5
|width=3 % |6
|width=3 % |7
|- align=center
!width=25 % colspan=4|Версия
!width=25 % colspan=4|IHL
!colspan=8|[[Тип обслуживания|Тип&nbsp;обслуживания]]
!colspan=16 align=center|Длина пакета
|- align=center
!colspan=16|Идентификатор
!colspan=3 |Флаги
!colspan=13|Смещение фрагмента
|- align=center
!colspan=8|Число переходов ([[Time to live|TTL]])
!colspan=8|Протокол
!colspan=16|Контрольная сумма заголовка
|- align=center
!colspan=32|IP-адрес&nbsp;отправителя&nbsp;(32&nbsp;бита)
|- align=center
!colspan=32|IP-адрес&nbsp;получателя&nbsp;(32&nbsp;бита)
|- align=center
!colspan=16|Параметры&nbsp;(до&nbsp;320&nbsp;бит)
!colspan=16|Данные (до 65535 байт минус заголовок)
|}
* Версия — для IPv4 значение поля должно быть равно 4.
* IHL — длина заголовка IP-пакета в 32-битных словах (dword). Именно это поле указывает на начало блока данных в пакете. Минимальное корректное значение для этого поля равно 5.
* Идентификатор — значение, назначаемое отправителем пакета и предназначенное для определения корректной последовательности фрагментов при сборке датаграммы.
* 3 бита флагов. Первый бит должен быть всегда равен нулю, второй бит DF (don’t fragment) определяет возможность фрагментации пакета и третий бит MF (more fragments) показывает, не является ли этот пакет последним в цепочке пакетов.
* Смещение фрагмента — значение, определяющее позицию фрагмента в потоке данных.
* Протокол — идентификатор интернет-протокола следующего уровня (см. [http://www.iana.org/assignments/protocol-numbers IANA protocol numbers] и RFC 1700). В IPv6 называется «Next Header».
 
=== В протоколе 6 версии ([[IPv6]]) ===
<!--
Таблица разваливается, ширина ячеек в браузере неправильная, несмотря на указания width. Или я что-то напутал или,
наверное, лучше всего будет переделать ее в картинку, а ссылки перенести в описание ниже. ~drdaeman
-->
{|class="standard" width=70 %
|- align=center
|width=12.5 % colspan=4|Версия&nbsp;(4&nbsp;бита)
|width=25 % colspan=8|[[Класс обслуживания|Класс&nbsp;трафика]]&nbsp;(8&nbsp;бит)
|width=62.5 % colspan=20|[[IPv6#Метка потока|Метка&nbsp;потока]]&nbsp;(20&nbsp;бит)
|- align=center
|width=150 % colspan=16|Длина&nbsp;полезной&nbsp;нагрузки&nbsp;(16&nbsp;бит)
|width=25 % colspan=8|След.&nbsp;заголовок&nbsp;(8&nbsp;бит)
|width=25 % colspan=8|Число&nbsp;переходов
|- align=center
|colspan=32|IP-адрес&nbsp;отправителя&nbsp;(128&nbsp;бит)
|- align=center
|colspan=32|IP-адрес&nbsp;получателя&nbsp;(128&nbsp;бит)
|- align=center
|colspan=32|Данные
|}
* Версия — для IPv6 значение поля должно быть равно 6.
* Класс трафика — определяет приоритет трафика (QoS, [[класс обслуживания]]).
* Метка потока — уникальное число, одинаковое для однородного потока пакетов.
* Длина полезной нагрузки — длина данных (заголовок IP-пакета не учитывается).
* Следующий заголовок — Определяет следующий [[Инкапсуляция (компьютерные сети)|инкапсулированный]] протокол.
* Число переходов — максимальное число роутеров, которые может пройти пакет. При прохождении роутера это значение уменьшается на единицу и по достижению нуля пакет отбрасывается.
 
== Диапазоны для локальных сетей ==
При подключении пользовательского компьютера к [[Интернет]]у, IP-адреса выбираются из диапазона, предоставленного [[провайдер]]ом. Компьютеры, не имеющие IP-адреса, выданного провайдером, могут (при правильной настройке маршрутизации<ref>Используемые при этом технологии (NAT, SOCKS, HTTP-Proxy) не имеют никакого отношения к маршрутизации!</ref>) работать с другими локальными компьютерами, имея IP-адреса из диапазонов, зарезервированных для локальных сетей (RFC 1918)<ref>Никто не запрещает использовать произвольные IP-адреса; но если организация станет использовать IP-адреса, выданные какому-либо серверу в [[Интернет]], то этот сервер станет ей недоступен. Указанные диапазоны отличаются тем, что [[InterNIC]] обязался никому их не выдавать, а значит, при использовании IP-адресов из этих диапазонов подобной коллизии быть не может.</ref>:
* 10.0.0.0 — 10.255.255.255 (одна сеть класса A)
* 172.16.0.0 — 172.31.255.255 (шестнадцать сетей класса B)
* 192.168.0.0 — 192.168.255.255 (256 сетей класса C)
* сеть 2001:0DB8::/32 в IPv6 — зарезервировано для примеров и документации
Компьютеры с такими адресами могут получать доступ к Интернету посредством [[прокси-сервер]]ов или [[NAT]].
 
При построении сетей, составляющих [[Интернет]] (например, сетей провайдеров), выбираются строго определённые диапазоны адресов, назначенные организацией [[IANA]] (подконтрольна [[ICANN]], «высшей инстанции» в вопросах резервирования диапазонов адресов) и имеет свои представительства по всему миру<ref>[http://www.iana.org/numbers/ IANA — Number Resources]</ref> — например, в Европе распределение адресов координирует [[RIPE NCC]].
 
== См. также ==
* [[IP-адрес]]
* [[ping]]
* [[127.0.0.1]] — localhost:loopback, замыкание на себя
* [[IP посредством почтовых голубей]]
 
== Ссылки ==
* RFC 791 — IP
* RFC 1918
* RFC 3330 — Специальные диапазоны адресов в IPv4.
 
== Примечания ==
{{список примечаний}}
 
{{IPstack}}
 
[[af:Internetprotokol]]
[[ar:بروتوكول الإنترنت]]
[[bg:Internet Protocol]]
[[ca:Protocol d'Internet]]
[[cs:Internet Protocol]]
[[da:Internetprotokol]]
[[de:Internet Protocol]]
[[en:Internet Protocol]]
[[eo:IP]]
[[es:Protocolo de Internet]]
[[fa:پروتکل اینترنت]]
[[fi:IP]]
[[fr:Internet Protocol]]
[[gl:Protocolo de Internet]]
[[he:Internet Protocol]]
[[hr:Internet protokol]]
[[hu:Internetprotokoll]]
[[id:Protokol Internet]]
[[is:Internet Protocol]]
[[it:Internet Protocol]]
[[ja:Internet Protocol]]
[[ka:ინტერნეტ ოქმი]]
[[ko:IP]]
[[la:Interretalis Protocollum]]
[[lo:ອິນເຕີຣ໌ເນັຕ ໂປຣໂຕໂຄລ]]
[[lv:Internet Protocol]]
[[mk:Интернет Протокол]]
[[nl:Internetprotocol]]
[[nn:Internet Protocol]]
[[no:Internet Protocol]]
[[pl:IP]]
[[pt:Protocolo de Internet]]
[[ro:Protocol pentru Internet]]
[[si:අන්තර්ජාල ප්‍රොටෝකෝලය]]
[[simple:Internet Protocol]]
[[sk:Internet Protocol]]
[[so:Internet protocol]]
[[sr:Интернет протокол]]
[[su:Protokol Internet]]
[[sv:Internetprotokoll]]
[[ta:இணைய நெறிமுறை]]
[[th:โพรโทคอลอินเทอร์เน็ต]]
[[uk:Іnternet Protocol]]
[[ur:دستور شبکہ]]
[[vi:IP]]
[[yi:אינטערנעט פראטאקאל]]
[[zh:网际协议]]
[[zh-yue:網際協議]]