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) адреса делились на классы:
| Класс | Первые биты | Диапазон первого октета | Назначение |
|---|---|---|---|
| A | 0 | 1–126 | Крупные сети |
| B | 10 | 128–191 | Средние сети |
| C | 110 | 192–223 | Малые сети |
| D | 1110 | 224–239 | Многоадресная рассылка |
| E | 1111 | 240–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-сервера.
¶Служебные протоколы
Для работы адресации служат несколько протоколов:
- DHCP — динамическая выдача адресов и параметров сети;
- DNS — сопоставление доменных имён и IP-адресов;
- ARP — определение MAC-адреса по известному IP в локальной сети;
- ICMP — диагностика, например утилита ping.
¶Просмотр и утилиты
Для работы с адресами применяются стандартные утилиты. Команда ipconfig (Windows) или ip addr (Linux) показывает текущие настройки. Утилита ping проверяет доступность узла, traceroute отслеживает маршрут пакетов, nslookup и dig работают с DNS.
¶Значение и ограничения
IP-адрес — фундамент маршрутизации в интернете: без него невозможна доставка пакетов между сетями. Вместе с тем адрес не является постоянным идентификатором пользователя: при динамической адресации он меняется, а NAT скрывает множество устройств за одним публичным адресом. Это создаёт сложности для точной идентификации, что учитывается в вопросах приватности и регулирования. Геолокация по IP даёт лишь приблизительное положение — обычно на уровне города или региона.