Открыть сервисСервис

IP-адрес в компьютерных сетях

IP-адрес — уникальный числовой идентификатор, присваиваемый устройству или интерфейсу в сети, работающей по протоколу IP (Internet Protocol). Адрес используется для адресации и маршрутизации пакетов данных между узлами сети. В стеке протоколов TCP/IP адрес выполняет роль сетевого идентификатора, тогда как роль транспортного идентификатора играет номер порта. Различают IPv4 и IPv6 — две основные версии протокола, отличающиеся длиной адреса и форматом записи.

История

Протокол IP был разработан в 1970-х годах в рамках проекта ARPANET, предшественника современного интернета. Первая версия — IPv4 — описана в документе RFC 791 (1981 год). 32-битное адресное пространство давало около 4,3 млрд уникальных адресов, что на момент создания казалось избыточным. Однако стремительный рост числа подключённых устройств привёл к исчерпанию свободных блоков: последние крупные диапазоны были распределены IANA в 2011 году. Для решения проблемы в 1998 году стандартизирован IPv6 (RFC 2460, позднее RFC 8200) со 128-битным адресом.

Структура IPv4-адреса

Адрес IPv4 — это 32 бита, записываемые как четыре десятичных числа от 0 до 255, разделённые точками, например 192.168.0.1. Каждое число соответствует одному байту.

Адрес логически делится на две части:

  • номер сети — определяет подсеть, к которой принадлежит устройство;
  • номер узла (хоста) — идентифицирует конкретное устройство внутри подсети.

Граница между частями задаётся маской подсети. Маска — это 32-битное число, в котором единицы соответствуют битам номера сети, а нули — битам хоста. Например, маска 255.255.255.0 (или /24 в бесклассовой записи CIDR) означает, что первые 24 бита относятся к сети, а последние 8 — к узлу.

Классы адресов

Исторически (до внедрения CIDR) адреса делились на классы:

КлассПервые битыДиапазон первого октетаНазначение
A01–126Крупные сети
B10128–191Средние сети
C110192–223Малые сети
D1110224–239Многоадресная рассылка
E1111240–255Резерв

Частные и публичные адреса

Часть диапазонов зарезервирована для внутреннего использования и не маршрутизируется в интернете. К частным относятся:

  • 10.0.0.0/8;
  • 172.16.0.0/12;
  • 192.168.0.0/16.

Также существуют адреса особого назначения: 127.0.0.0/8 (loopback, «петля»), 169.254.0.0/16 (link-local), 0.0.0.0 и 255.255.255.255. Технология NAT позволяет множеству устройств с частными адресами выходить в интернет через один публичный адрес.

IPv6

Адрес IPv6 занимает 128 бит и записывается как восемь групп по четыре шестнадцатеричные цифры, разделённых двоеточиями, например 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Для сокращения допускается опускать ведущие нули и заменять одну последовательность нулевых групп на двойное двоеточие. Пространство адресов IPv6 практически неисчерпаемо, что снимает проблему дефицита. Переход осуществляется постепенно, часто в режиме двойного стека, когда устройство поддерживает оба протокола.

Способы назначения

Адрес может быть назначен двумя основными способами:

  • статически — вручную, администратором; применяется для серверов, сетевого оборудования, где важна предсказуемость;
  • динамически — автоматически, с помощью протокола DHCP, который выдаёт адрес на определённое время (аренду).

Существует также самоназначение через APIPA при недоступности DHCP-сервера.

Служебные протоколы

Для работы адресации служат несколько протоколов:

Просмотр и утилиты

Для работы с адресами применяются стандартные утилиты. Команда ipconfig (Windows) или ip addr (Linux) показывает текущие настройки. Утилита ping проверяет доступность узла, traceroute отслеживает маршрут пакетов, nslookup и dig работают с DNS.

Значение и ограничения

IP-адрес — фундамент маршрутизации в интернете: без него невозможна доставка пакетов между сетями. Вместе с тем адрес не является постоянным идентификатором пользователя: при динамической адресации он меняется, а NAT скрывает множество устройств за одним публичным адресом. Это создаёт сложности для точной идентификации, что учитывается в вопросах приватности и регулирования. Геолокация по IP даёт лишь приблизительное положение — обычно на уровне города или региона.

Источники

  • RFC 791 (Internet Protocol)
  • RFC 8200 (Internet Protocol, Version 6)
  • RFC 1918 (Address Allocation for Private Internets)
  • Таненбаум Э., Уэзеролл Д. «Компьютерные сети»
  • Олифер В., Олифер Н. «Компьютерные сети. Принципы, технологии, протоколы»