Сетевые протоколы и адресация
Адресация — система идентификаторов на каждом уровне сети: MAC внутри сегмента, IP между сетями, порт для приложения.
Что такое Сетевые протоколы и адресация
Адресация — то, как узел отвечает на вопрос «кому передать данные». Единого адреса не существует: на каждом уровне свой идентификатор, и все они работают одновременно, вложенные друг в друга.
Ethernet MAC-адрес 52:54:00:ab:cd:ef какому устройству в сегменте
↓
IP IP-адрес 93.184.216.34 какому узлу в сети
↓
TCP порт 443 какому приложению на узле
↓
HTTP URI /api/v1/users какому ресурсу в приложении
Разделение не избыточно: MAC не уходит дальше первого маршрутизатора, IP не знает про приложения, порт бессмысленен без IP. Открывая страницу, вы задействуете все четыре — и каждый протокол отвечает ровно за свой слой.
Кто во что превращает
Адреса разных уровней связывают отдельные протоколы, и именно они ломаются чаще всего:
| Из чего | Во что | Кто делает |
|---|---|---|
Имя example.com |
IP-адрес | DNS |
| IP-адрес в сегменте | MAC-адрес | ARP (в IPv6 — NDP) |
| Приватный IP | публичный IP | NAT |
| Ничего | свой IP-адрес | DHCP |
Отсюда практический вывод: «сайт не открывается» — это отказ на одном из этих переходов, и диагностика состоит в том, чтобы найти, на каком.
Адресация в облаке
В облаке у сервера почти всегда два адреса, и это сбивает с толку тех, кто привык к железу.
- Приватный IP — из диапазона вашей VPC, например
10.0.1.15. Выдаётся автоматически, живёт вместе с инстансом и умирает вместе с ним. Внутри сети сервисы общаются именно по нему. - Публичный IP — белый адрес, доступный из интернета. Его не видно внутри гостевой ОС:
ip addrпокажет только приватный, а публичный навешивается платформой снаружи через NAT «один к одному».
Именно поэтому команда ip addr на облачном инстансе и сервис вроде ifconfig.me показывают разные адреса — оба ответа верные, просто про разные вещи.
EIP
EIP (Elastic IP) — публичный адрес, который принадлежит не инстансу, а вашему аккаунту. Обычный публичный IP выдаётся при запуске и теряется при остановке; EIP вы резервируете за собой и назначаете на любой сервер, а при необходимости — переносите.
Разница решает вполне конкретные задачи:
| Обычный публичный IP | EIP | |
|---|---|---|
| Кому принадлежит | инстансу | аккаунту |
| Переживает пересоздание | нет | да |
| Переносится между серверами | нет | да, за секунды |
| Оплата | вместе с инстансом | обычно и за простой тоже |
Зачем это на практике:
- Переключение при аварии. Сломался сервер — переносите EIP на резервный. Адрес не меняется, DNS править не нужно, кеш резолверов не мешает. Это быстрее смены A-записи, у которой есть TTL.
- Белые списки у партнёров. Согласовать IP с банком или внешним API — недели. Пересоздавать сервер после этого с новым адресом нельзя.
- Репутация для почты. PTR-запись и история адреса в спам-листах привязаны к конкретному IP — терять его при каждом деплое недопустимо.
- Разделение жизненных циклов. Сервер — расходник, адрес — постоянная величина: можно пересобрать инстанс с нуля, оставив точку входа прежней.
В разных облаках это называется по-разному — Elastic IP, floating IP, плавающий адрес, — но идея одинакова: белый адрес как самостоятельный ресурс.
Что помнить при проектировании
- Диапазоны не должны пересекаться. Если VPC и офисная сеть обе используют
192.168.1.0/24, соединить их через VPN не выйдет — маршрутизатор не поймёт, куда слать пакет. Планируйте CIDR заранее. - Внутри — по именам, не по адресам. Приватный IP меняется при пересоздании инстанса; FQDN или имя сервиса — нет.
- Публичный адрес — не всем. Базам и внутренним сервисам он не нужен: выход в интернет им даёт NAT-шлюз, а входящих соединений быть не должно.
- Метаданные лежат на
169.254.169.254— служебный link-local адрес, по которому инстанс узнаёт о себе: имя, ключи, cloud-init-конфиг.
Связанные термины
- IP-адрес — основной идентификатор узла
- Маска подсети и CIDR — как режут адресное пространство
- NAT — связывает приватные и публичные адреса
- VPC — где живёт облачная адресация
- DNS — верхний уровень адресации, имена
- Сетевые протоколы — правила поверх адресов
Готовы запустить GPU-задачу?
Запустить GPU-сервер