Каждое устройство в сети — от телефона до сервера Google — имеет числовой адрес. Разбираемся, как устроен IPv4, зачем нужны классы и частные адреса, и почему мир переходит на IPv6.
IP-адрес — это уникальный числовой идентификатор устройства в сети. Без него пакеты данных не знали бы, куда идти.
В главе 4 вы узнали, что DNS преобразует доменные имена в IP-адреса. Теперь разберёмся, как устроены сами IP-адреса — от двоичной записи до классов и масок.
32 бита, 4 октета, точка между ними — анатомия адреса IPv4
IPv4 (Internet Protocol version 4) — четвёртая версия интернет-протокола. Адрес состоит из 32 бит, разделённых на 4 октета по 8 бит. Каждый октет записывается в десятичной форме и может принимать значения от 0 до 255.
Пример: 192.168.1.15
Каждый октет — это 8 бит. Степени двойки: 128, 64, 32, 16, 8, 4, 2, 1. Чтобы перевести двоичное число в десятичное, складываем степени двойки, где стоит 1.
Пример: 11000000 = 128 + 64 = 192
Пример: 10101000 = 128 + 32 + 8 = 168
11111111 = 128+64+32+16+8+4+2+1 = 255. Поэтому в IPv4 нет октетов больше 255.
IP-адрес identifies устройство, а порт — конкретную программу на этом устройстве. Запись: 192.168.1.15:8080 — IP 192.168.1.15, порт 8080.
Стандартные порты: HTTP — 80, HTTPS — 443, FTP — 21, SSH — 22.
A, B, C, D, E — как первые биты определяют размер сети
Изначально IP-адреса делились на 5 классов по первым битам первого октета. Класс определял, сколько бит отводится под сеть (network), а сколько — под узел (host).
| Класс | Первые биты | Диапазон 1-го октета | Маска по умолч. | Сетей | Узлов в сети |
|---|---|---|---|---|---|
| A | 0xxx | 1 – 126 | /8 (255.0.0.0) | 126 | 16 777 214 |
| B | 10xx | 128 – 191 | /16 (255.255.0.0) | 16 384 | 65 534 |
| C | 110x | 192 – 223 | /24 (255.255.255.0) | 2 097 152 | 254 |
| D | 1110 | 224 – 239 | — | Мультивещание (multicast) | |
| E | 1111 | 240 – 255 | — | Зарезервирован | |
| Адрес / диапазон | Назначение |
|---|---|
| 0.0.0.0 | «Этот хост» — используется при загрузке (DHCP) |
| 127.0.0.0/8 | Петля (loopback) — 127.0.0.1 = «сам компьютер» |
| 255.255.255.255 | Широковещательный (broadcast) — всем в локальной сети |
| 169.254.x.x | Link-local — когда DHCP не ответил (APIPA) |
Почему у вашего ноутбука «192.168.x.x» и как он выходит в Интернет
Не все IP-адреса маршрутизируются в Интернете. Три диапазона зарезервированы для локальных сетей — они не выходят за пределы вашей сети:
| Диапазон | Класс | Маска | Размер |
|---|---|---|---|
| 10.0.0.0 – 10.255.255.255 | A | /8 | 16,7 млн адресов |
| 172.16.0.0 – 172.31.255.255 | B | /12 | 1 млн адресов |
| 192.168.0.0 – 192.168.255.255 | C | /16 | 65 тыс адресов |
NAT (Network Address Translation) позволяет десяткам устройств с частными адресами выходить в Интернет через один публичный IP. Роутер подменяет адрес отправителя в исходящих пакетах и запоминает, кому вернуть ответ.
Все устройства за роутером имеют адреса 192.168.1.x. Роутер через NAT отправляет их запросы в Интернет со своего публичного IP.
Тысячи компьютеров с адресами 10.x.x.x выходят через несколько публичных IP. NAT-шлюз ведёт таблицу соответствий.
IPv4 исчерпан — мир переходит на IPv6
IPv4 даёт 2³² ≈ 4,3 миллиарда адресов. К 2010-м годам они закончились. NAT отсрочил кризис, но не решил проблему полностью.
IPv6 — 128 бит, записывается в виде 8 групп по 4 шестнадцатеричных цифры через двоеточие:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
:: вместо :0000:0000:0db8 → db82001:db8:85a3::8a2e:370:7334| Параметр | IPv4 | IPv6 |
|---|---|---|
| Длина | 32 бита | 128 бит |
| Запись | Десятичная через точку | Шестнадцатеричная через двоеточие |
| Кол-во адресов | ≈ 4,3 × 10⁹ | ≈ 3,4 × 10³⁸ |
| Заголовок | 20–60 байт | 40 байт (фиксированный) |
| NAT | Часто нужен | Не нужен (адресов хватит всем) |
| Безопасность | IPsec — опционально | IPsec — встроен |
Введите IPv4-адрес и узнайте его двоичное представление, класс, тип и другую информацию.
Адрес сети = IP-адрес AND маска. Нажмите «Следующий октет», чтобы увидеть, как побитовое И определяет сетевую часть.