IPv4 (Internet Protocol version 4) — четверта версія протоколу IP, на якій досі працює більша частина інтернету. IPv4-адреса — це 32-бітне число, яке зазвичай записується у вигляді чотирьох десяткових чисел через крапку: 192.168.1.1.
Структура IPv4-адреси
192 . 168 . 1 . 1
^ ^ ^ ^
| | | Хост (номер пристрою)
| | Підмережа
| Мережа
Клас мережі
Кожне число — це один байт (0–255). Разом: 4 байти × 8 біт = 32 біти = ~4,3 млрд можливих адрес.
Маски підмережі та CIDR-нотація
| CIDR | Маска | Хостів | Приклад |
|---|---|---|---|
| /8 | 255.0.0.0 | 16 777 214 | 10.0.0.0/8 |
| /16 | 255.255.0.0 | 65 534 | 172.16.0.0/16 |
| /24 | 255.255.255.0 | 254 | 192.168.1.0/24 |
| /28 | 255.255.255.240 | 14 | 192.168.1.16/28 |
| /30 | 255.255.255.252 | 2 | 10.0.0.0/30 (P2P) |
| /32 | 255.255.255.255 | 1 | Один хост |
Приватні (RFC 1918) діапазони
Ці адреси не маршрутизуються в інтернеті — лише в локальних мережах:
| Діапазон | CIDR | Призначення |
|---|---|---|
| 10.0.0.0 – 10.255.255.255 | /8 | Корпоративні мережі |
| 172.16.0.0 – 172.31.255.255 | /12 | Середні організації |
| 192.168.0.0 – 192.168.255.255 | /16 | Домашні мережі, офіси |
| 127.0.0.0 – 127.255.255.255 | /8 | Loopback (127.0.0.1) |
Перевірка своєї IPv4-адреси
# На Linux — зовнішня IP-адреса
curl ifconfig.me
# Локальна IP-адреса інтерфейсів
ip addr show
# або
ifconfig
Чому закінчуються IPv4-адреси
32 біти = 4 294 967 296 адрес. З них ~600 мільйонів зарезервовано (приватні, мультикаст, loopback). IANA вичерпала пул вільних /8 блоків ще у 2011 році. Регіональні реєстри (RIPE, ARIN) вичерпують запаси з 2019–2023 років.
Розбір типових помилок адресації
Сервер отримав IP, але недоступний ззовні, хоча інтерфейс "up" — часта причина: адреса призначена в чужій підмережі, яка не збігається з мережею шлюзу, і пакети не можуть вийти далі локального сегмента.
ip addr show eth0
inet 192.168.1.50/24
ip route show
default via 10.0.0.1 dev eth0
# Шлюз 10.0.0.1 не входить у мережу 192.168.1.0/24 — маршрут непрацездатний
IP-адреса інтерфейсу і адреса шлюзу за замовчуванням мають перебувати в одній підмережі (з урахуванням маски). Якщо провайдер видав 192.168.1.50/24, шлюз має бути виду 192.168.1.1, а не з іншої мережі.
Два сервери з однаковою IP-адресою конфліктують у локальній мережі — у логах це видно як постійні обриви з'єднання і повідомлення ARP про дублювання.
dmesg | grep -i duplicate
IPv4: 192.168.1.50 is already in use! (kernel arp)
Таке трапляється під час ручного призначення статичних IP без урахування пулу DHCP або під час клонування VPS без зміни мережевих налаштувань. Перевірте діапазон DHCP на роутері і переконайтеся, що статичні адреси винесені за його межі.
Класи адрес: історична довідка
| Клас | Діапазон першого октету | Маска за замовчуванням | Актуальність сьогодні |
|---|---|---|---|
| A | 1–126 | /8 | Не використовується, витіснена CIDR |
| B | 128–191 | /16 | Не використовується, витіснена CIDR |
| C | 192–223 | /24 | Не використовується, витіснена CIDR |
| D (мультикаст) | 224–239 | — | Використовується для мультикаст-груп |
Коли IPv4 вже недостатньо
- Проєкт потребує багато публічних адрес одночасно (наприклад, тисячі віртуальних хостів з окремою IP) — оренда стількох IPv4 дорога і часто фізично обмежена у провайдера.
- Потрібна підтримка зростаючої кількості IoT-пристроїв з прямою адресацією — IPv4 з NAT ускладнює такі сценарії, IPv6 знімає це обмеження завдяки величезному адресному простору.
- Партнер або регулятор вимагає сумісність з IPv6 (наприклад, деякі держзамовлення і мобільні мережі вже IPv6-first) — тоді IPv4 потрібен паралельно, а не замість нього.
- Хостинг обмежує кількість додаткових IPv4 на акаунт — якщо проєкту потрібно більше публічних адрес, ніж дозволяє ліміт провайдера, це вже архітектурне обмеження, а не технічне налаштування.
Перевірка результату
- Перевірте призначену адресу:
ip addr showмає показати потрібну IP з коректною маскою на потрібному інтерфейсі. - Перевірте маршрут за замовчуванням:
ip route show defaultмає вказувати на шлюз усередині тієї самої підмережі. - Перевірте зв'язність:
ping -c 3 8.8.8.8має отримати відповіді без втрат пакетів. - Перевірте DNS-резолвінг із цієї адреси:
curl -4 ifconfig.meмає повернути саме ту публічну IP, яка очікується.
Розрахунок масок і діапазонів детально розібрано в статті про CIDR, а механізм приховування приватних адрес за однією публічною — у статті про NAT.