Публичные и частные IP-адреса
У вашего ноутбука один адрес в домашней сети и совсем другой, общий со всем домом, когда он обращается в интернет. В этом руководстве — какой из них какой, три частных диапазона, которые использует каждая сеть, как роутер транслирует адреса между ними и какие особые адреса не относятся ни к тем, ни к другим.
В этой статье
Публичный IP-адрес уникален в интернете, его назначает вашему подключению провайдер, и его видит каждый сайт. Частный IP-адрес действует только внутри локальной сети и берётся из трёх диапазонов, зарезервированных RFC 1918: 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Роутер раздаёт частные адреса вашим устройствам и с помощью трансляции сетевых адресов (NAT) позволяет им всем делить его единственный публичный адрес. Поэтому 192.168.1.1 — частный адрес, 127.0.0.1 — ваш собственный компьютер, а 169.254.x.x означает, что адрес получить не удалось.
Частные диапазоны IP (RFC 1918)
В 1996 году RFC 1918 отвёл три блока пространства IPv4, которые кто угодно может использовать внутри собственной сети, не спрашивая регистратуру, — при условии, что пакеты с такими адресами никогда не ходят через публичный интернет. Маршрутизаторы интернета их отбрасывают, поэтому одни и те же адреса можно использовать заново в каждом доме, офисе и дата-центре на Земле. Три блока отличаются только размером:
| Диапазон | CIDR | Адресов | Типичное применение |
|---|---|---|---|
10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | 16 777 216 | Компании, кампусы, облачные сети, некоторые роутеры провайдеров |
172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | 1 048 576 | Сети среднего размера; Docker и некоторые корпоративные VPN |
192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | 65 536 | Домашние роутеры и роутеры малых офисов |
В IPv6 есть аналог — уникальные локальные адреса в fc00::/7 (на практике fd00::/8, RFC 4193), но поскольку адресов IPv6 в избытке, большинство устройств просто получают публичный адрес IPv6 вдобавок к частному адресу IPv4.
10.0.0.0/8
Самый большой блок: одна сеть на 16,7 миллиона адресов или, чаще, весь адресный план компании, нарезанный на сотни подсетей вроде 10.20.30.0/24 на этаж или офис. Некоторые провайдеры используют его и на частной стороне своего оборудования, а отдельные домашние роутеры (особенно некоторые кабельные шлюзы) по умолчанию раздают 10.0.0.x.
172.16.0.0/12
Шестнадцать смежных сетей /16, от 172.16.x.x до 172.31.x.x. О нём часто забывают — именно поэтому он полезен: Docker берёт сети для контейнеров начиная с 172.17.0.0/16, а VPN-продукты используют его, чтобы не пересекаться с сетью 192.168 дома, из которого подключается пользователь. Если адрес начинается со 172, но второе число вне диапазона 16–31, он публичный.
192.168.0.0/16
Домашний диапазон: 256 сетей по 256 адресов. Почти каждый потребительский роутер поставляется с собственным адресом 192.168.0.1 или 192.168.1.1 и раздаёт устройствам 192.168.0.x или 192.168.1.x. Поэтому 192.168.1.1 открывает панель администратора роутера в миллионах домов, и поэтому список устройств с адресом 192.168.1.20 ничего не говорит о том, в каком доме он находится. Калькулятор подсетей помечает любой адрес, попадающий в частный диапазон.
Что такое публичный IP?
Публичный адрес — это адрес из глобально маршрутизируемой части адресного пространства: зарегистрированный за сетью через региональную регистратуру, анонсированный в систему маршрутизации интернета и доступный откуда угодно. Провайдер назначает его вашему подключению, обычно динамически; это адрес, показанный в карточке ниже, и именно его видит каждый сайт, игра и приложение. Всё остальное, что не зарезервировано под специальные цели, — публичное, от 1.0.0.0 до 223.255.255.255.
Принадлежность публичного пространства — открытая информация. Проверка IP показывает, какая организация держит любой адрес, в какой стране он зарегистрирован и примерно где используется; система регистратур описана в статье что такое IP-адрес. Две оговорки для домашних пользователей: всё больше провайдеров ставят клиентов за NAT операторского класса, так что «публичный» адрес, который видит сайт, общий с другими абонентами, а адрес, который сообщает ваш роутер, — из диапазона 100.64.0.0/10; а публичный адрес мобильного телефона постоянно меняется и принадлежит шлюзу, который может находиться в другом городе.
Проверить сейчас
Край сети CloudflareСчитано на краю сети Cloudflare из этого запроса. На главной странице добавятся ваш провайдер, тип сети и проверки VPN, DNS и WebRTC.
ПодробнееКак их связывает NAT
Частные адреса были бы бесполезны, если бы устройства с ними не могли выйти в интернет. Эту задачу в роутере решает трансляция сетевых адресов (RFC 3022). Когда ваш ноутбук с адресом 192.168.1.20 отправляет пакет на сайт, роутер заменяет адрес отправителя своим публичным адресом, а порт отправителя — выбранным им портом, и сохраняет пару в таблице: 203.0.113.42:51234 ↔ 192.168.1.20:52001. Когда на порт 51234 приходит ответ, роутер находит запись в таблице, возвращает на место 192.168.1.20 и доставляет пакет. Тысячи соединений с множества устройств могут делить один публичный адрес, потому что каждое получает собственный внешний порт.
У этой схемы два последствия, с которыми вы сталкиваетесь ежедневно. Исходящие соединения работают сами собой, а вот для входящего соединения записи в таблице нет, и роутер его отбрасывает; поэтому домашнему серверу, камере или хосту игры нужен проброс портов (запись в таблице, сделанная вручную) либо UPnP, и поэтому NAT заодно служит грубым файрволом. А поскольку сайт видит только общий адрес, весь дом выглядит для него как один пользователь — так целую семью могут ограничить по частоте запросов разом. NAT операторского класса повторяет тот же трюк у провайдера сразу для сотен абонентов, с дополнительной проблемой: проброс портов становится невозможным; подробнее — в статьях что такое NAT и что такое CGNAT, а проверка портов показывает, что на самом деле доступно снаружи.
Особые диапазоны: 127.0.0.1, 169.254.x.x, 100.64.0.0/10
Не каждый непубличный адрес — частный адрес по RFC 1918. IANA ведёт реестр блоков специального назначения (RFC 6890 и более поздние обновления); вот те, что встречаются в домашних сетях.
| Блок | Название | Что это значит, если вы его видите |
|---|---|---|
127.0.0.0/8 | Loopback (петля) | 127.0.0.1 (и ::1 в IPv6) — это «этот компьютер». Пакеты никогда не покидают машину; localhost резолвится в него. Сервер, привязанный к этому адресу, доступен только с того же устройства (подробнее). |
169.254.0.0/16 | Link-local (APIPA) | Назначается самостоятельно, когда ни один DHCP-сервер не ответил (RFC 3927). Устройство с адресом 169.254.x.x не имеет рабочего соединения с роутером: проверьте кабель, пароль Wi-Fi или сам роутер (подробнее). |
100.64.0.0/10 | Общее адресное пространство | Зарезервировано под NAT операторского класса (RFC 6598). Если это WAN-адрес вашего роутера, провайдер делит один публичный адрес между несколькими абонентами; проброс портов не заработает, а некоторым играм будет трудно. |
0.0.0.0/8 | «Эта сеть» | 0.0.0.0 в настройках означает «нет адреса» или «любой адрес»; сервер, слушающий на нём, принимает соединения на всех интерфейсах. |
192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 | Документация | Зарезервированы для примеров в руководствах и статьях вроде этой; в настоящем интернете никогда не назначаются (RFC 5737). |
224.0.0.0/4 | Многоадресная рассылка | Групповые адреса, которые используют потоковое вещание, протоколы обнаружения и маршрутизации; никогда не бывают собственным адресом устройства. |
fe80::/10 | Link-local IPv6 | Есть у каждого интерфейса IPv6; работает только в пределах локального канала и ничего не говорит о доступе в интернет. |
Практическое правило: если адрес находится в 10/8, 172.16/12 или 192.168/16 — он частный; если в одной из строк выше — особый; иначе — публичный. Калькулятор подсетей применяет полный реестр IANA к любому введённому адресу, а какой у меня локальный IP показывает частный адрес, который видит ваш браузер.
Вопросы
Что такое частный IP-адрес?
Адрес из одного из диапазонов RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), действующий только внутри локальной сети. Роутер назначает такой адрес каждому устройству; интернет его никогда не видит, поэтому один и тот же адрес может существовать в каждом доме одновременно.
192.168.1.1 — это публичный IP?
Нет. Любой адрес, начинающийся со 192.168, — частный. 192.168.1.1 — адрес по умолчанию у огромного числа домашних роутеров, поэтому его ввод в браузере в большинстве сетей открывает страницу настроек роутера.
192.168 — это локальный IP?
Да: весь диапазон 192.168.0.0–192.168.255.255 зарезервирован для локальных сетей. Если устройство показывает адрес 192.168, это его локальный адрес; публичный адрес — другое число, которое вам может показать только сайт.
Что за IP-адрес 127.0.0.1?
Адрес петли (loopback), означающий «этот компьютер». Отправленный на него трафик никогда не покидает устройство; так программы общаются с сервером, запущенным на той же машине, а localhost — его имя. В IPv6 аналог — ::1.
Какие три IP-адреса являются частными?
Три частных диапазона: от 10.0.0.0 до 10.255.255.255, от 172.16.0.0 до 172.31.255.255 и от 192.168.0.0 до 192.168.255.255. Любой адрес внутри них частный; всё за их пределами, кроме блоков специального назначения, публичное.
Что такое RFC 1918?
Документ-стандарт 1996 года, Address Allocation for Private Internets, который зарезервировал три частных диапазона и установил правило, что они никогда не маршрутизируются в публичном интернете. Благодаря ему существует NAT, а частные адреса можно использовать свободно.
Источники и что почитать
- RFC 1918 — Address Allocation for Private Internets
- RFC 4193 — Unique Local IPv6 Unicast Addresses
- RFC 3022 — Traditional IP Network Address Translator (Traditional NAT)
- RFC 6598 — IANA-Reserved IPv4 Prefix for Shared Address Space
- RFC 3927 — Dynamic Configuration of IPv4 Link-Local Addresses
- RFC 5737 — IPv4 Address Blocks Reserved for Documentation
- RFC 6890 — Special-Purpose IP Address Registries
- IANA — IPv4 Special-Purpose Address Registry