Когда сервис возвращает Connection refused, а деплой упирается в ETIMEDOUT — понимание сетей перестаёт быть теорией. Backend-разработчику нужно знать, почему localhost:5432 не работает из другого контейнера. DevOps — как трафик идёт между зонами доступности. Системному администратору — почему DNS сломался после изменения конфигурации.
Это руководство — не учебник по Cisco и не справочник для экзамена. Здесь рабочая модель сетей от физического сигнала до HTTP-запроса: подробно, с диаграммами, с практикой в терминале.
Часть 1. Что такое компьютерная сеть
Компьютерная сеть — система, позволяющая устройствам обмениваться данными. Любое устройство с сетевым интерфейсом называется хостом, или узлом: ваш ноутбук, сервер в дата-центре, контейнер в кластере Kubernetes.
По чему передаются данные
«Дорога» для данных — среда передачи — бывает трёх видов:
- Медные провода (витая пара) — электрический сигнал. Стандарт для офисных и дата-центровых сетей.
- Оптическое волокно — световой сигнал, высокая скорость на больших расстояниях. По оптике проходят магистральные линии между городами и подводные кабели между континентами.
- Радиоэфир — Wi-Fi, мобильная связь. Нет физического подключения, но сигнал ослабевает с расстоянием и «глушится» препятствиями.
Типичный путь пакета: Wi-Fi от устройства до точки доступа → оптика по магистрали → ethernet или Wi-Fi у получателя. Среда меняется несколько раз, но содержимое пакета остаётся неизменным.
Два фундамента любой сети: адресация и протоколы
Адресация. У каждого устройства должен быть адрес — как у каждого дома есть почтовый адрес. Без адреса непонятно, кому предназначены данные. Адресов на самом деле два: один работает внутри локальной сети (MAC), другой маршрутизируется глобально (IP). Это одна из ключевых идей раздела.
Протоколы. Протокол — набор правил, по которым устройства договариваются о формате данных, порядке обмена, обработке ошибок. Без стандартных протоколов устройства разных производителей не смогли бы взаимодействовать. Работу разбили на маленькие независимые слои — и доверили каждый слой отдельному протоколу. Именно такое разделение и сделало возможным современный интернет.
Часть 2. Виды сетей: от персональной до глобальной
Сети различают по охватываемой площади:
- PAN (Personal Area Network) — соединение в пределах рабочего места: беспроводные наушники, мышь, смарт-часы. Радиус — несколько метров.
- LAN (Local Area Network) — сеть в пределах здания или нескольких зданий: корпоративная сеть офиса, домашний роутер, сеть кластера в дата-центре. Именно здесь работают MAC-адреса и протокол ARP.
- MAN (Metropolitan Area Network) — городская сеть, обычно в управлении провайдера или городских служб.
- WAN (Wide Area Network) — глобальная сеть, связывающая LAN по всему миру. Интернет — крупнейшая WAN.
На практике вы работаете прежде всего с LAN (корпоративная сеть, VPC, pod-сеть кластера) и воспринимаете WAN как «всё, что за шлюзом».
Часть 3. Модель OSI и стек TCP/IP
Чтобы разные устройства могли взаимодействовать, работу сети разделили на уровни. Каждый уровень выполняет свою задачу, не зная деталей соседних — это принцип абстракции. Починить или улучшить один уровень можно независимо от остальных.
Самая известная схема — модель OSI с 7 уровнями. На практике используют стек TCP/IP из 4 уровней — именно он работает в интернете.
ping не проходит — проблема на L3 или ниже. DNS резолвится, TCP устанавливается, но HTTP отдаёт 502 — проблема на L7. Уровни дают чеклист: сузить зону поиска за секунды вместо перебора всего стека.
В повседневном общении вы будете встречать отсылки к номерам уровней: «проблема L3» — маршрутизация и IP; «балансировщик L7» — смотрит в HTTP-заголовки, а не просто распределяет TCP-соединения.
Уровни OSI сверху вниз
7. Прикладной — логика приложения. HTTP, HTTPS, DNS, SSH, SMTP, FTP. Здесь рождаются данные.
6. Представления — стандартизация формата данных, шифрование. Обеспечивает, что разные реализации читают данные одинаково (кодировка, сжатие, TLS).
5. Сеансовый — управление сеансом связи: установка, поддержание, восстановление. На практике функции уровней 5–7 часто реализованы вместе.
4. Транспортный — доставка данных между процессами. Делит данные на сегменты, управляет надёжностью и порядком. Протоколы: TCP и UDP.
3. Сетевой — маршрутизация между сетями. Протокол IP, единица данных — пакет.
2. Канальный — передача внутри одного сегмента сети. MAC-адреса, Ethernet, единица данных — кадр.
1. Физический — передача битов по среде: электрический сигнал по проводу, свет по оптике, радиоволны по воздуху.
В стеке TCP/IP уровни 5–7 объединены в «прикладной», уровни 1–2 — в «сетевого доступа».
Инкапсуляция: конверт внутри конверта
На каждом уровне к данным добавляется заголовок с адресами и служебной информацией — «конверт». Это инкапсуляция: данные обёртываются последовательно, образуя структуру «матрёшки».
- Приложение создаёт данные.
- Транспортный уровень добавляет TCP/UDP-заголовок → сегмент.
- Сетевой уровень добавляет IP-заголовок → пакет.
- Канальный уровень добавляет заголовок с MAC-адресами → кадр.
- Физический уровень преобразует кадр в биты.
На принимающей стороне процесс обратный — деинкапсуляция: каждый уровень снимает свой заголовок и передаёт данные уровню выше.
У каждого «конверта» своя задача. Конверт с IP-адресом нужен, чтобы найти нужную сеть в глобальном интернете. Конверт с MAC-адресом — чтобы передать данные конкретному соседу прямо сейчас. Два слоя адресации работают вместе.
Устройства сети: хаб, коммутатор, маршрутизатор
Промежуточные устройства отличаются тем, до какого уровня OSI они «понимают» трафик.
Хаб (концентратор) — L1. Получив сигнал, повторяет его всем подключённым портам без разбора адресов. Создаёт лишний трафик и коллизии. Исторически использовались в первых Ethernet-сетях; сегодня полностью вытеснены коммутаторами.
Коммутатор (switch) — L2. Читает MAC-адреса из заголовков кадров и отправляет кадр только на нужный порт. Соединяет устройства внутри одной LAN — это стандартное устройство в корпоративных сетях и дата-центрах.
Маршрутизатор (router) — L3. Читает IP-адреса, соединяет разные сети, строит маршруты. Ваш домашний роутер, шлюз VPC в AWS, пограничный маршрутизатор дата-центра — всё это маршрутизаторы.
Межсетевой экран (firewall) — L3–L7 в зависимости от типа. Фильтрует трафик по правилам: IP, порт, протокол, состояние соединения. В Linux — iptables или nftables. В облаке — Security Groups (AWS) или Network Security Groups (Azure). Правила применяются по порядку, первое совпавшее — побеждает.
Часть 4. Ethernet и MAC-адрес
Ethernet — доминирующая технология локальных сетей. Описывает и формат кадра, и физическую передачу. Скорость эволюционировала от 10 Мбит/с в первых реализациях 1980-х до 400 Гбит/с в современных дата-центровых решениях.
В основе Ethernet — принцип равноправного доступа к среде. Если два устройства начинают передачу одновременно, сигналы накладываются — коллизия. Алгоритм CSMA/CD решает это: перед передачей устройство слушает среду; при коллизии оба устройства останавливаются, ждут случайное время и пробуют снова. В современных коммутируемых сетях с полным дуплексом коллизии фактически исключены — у каждого порта коммутатора своя выделенная линия.
MAC-адрес — физический идентификатор интерфейса
Каждый сетевой интерфейс имеет MAC-адрес — 48-битный идентификатор, назначенный производителем.
Записывается шестью парами шестнадцатеричных цифр через двоеточие: F8:63:3F:28:4E:CE. Первые три байта — OUI (Organizationally Unique Identifier), идентифицируют производителя. Последние три — уникальный номер интерфейса. Во всём мире не должно быть двух интерфейсов с одинаковым MAC.
MAC-адрес FF:FF:FF:FF:FF:FF — широковещательный: кадр с таким адресом получателя принимают все устройства в сегменте. Используется в ARP и других протоколах L2-уровня.
ip link show # MAC-адреса всех интерфейсов
ip addr show eth0 # конкретный интерфейс
Что внутри кадра Ethernet
Каждый кадр содержит: MAC-адрес получателя, MAC-адрес отправителя, поле EtherType (указывает протокол вышестоящего уровня: 0x0800 = IPv4, 0x86DD = IPv6), данные (IP-пакет) и контрольную сумму CRC для проверки целостности.
Принимающий коммутатор проверяет CRC. Если не совпадает — кадр отбрасывается. Ошибки физического уровня (повреждение кабеля, помехи) видны как рост счётчиков ошибок интерфейса.
Часть 5. IP-адресация
MAC-адрес работает только в пределах одного L2-сегмента. Чтобы маршрутизировать трафик между сетями — через интернет, между зонами доступности AWS, между узлами Kubernetes — используют IP-адреса.
IPv4: структура адреса
IPv4-адрес — 32 бита, записанные четырьмя десятичными числами через точку: 192.168.1.100. Адрес делится на две части:
- Сетевая часть — идентификатор сети (аналог названия улицы). Одинакова у всех устройств в одной сети.
- Хостовая часть — уникальный номер устройства внутри сети (аналог номера дома).
Устройства с одинаковой сетевой частью могут общаться напрямую — через коммутатор, без маршрутизатора. Если сетевые части разные — нужен маршрутизатор.
CIDR и маска подсети
Граница между сетевой и хостовой частью задаётся маской подсети или CIDR-нотацией:
192.168.1.0/24 — 256 адресов (254 хоста), маска 255.255.255.0
10.0.0.0/8 — ~16 млн адресов, маска 255.0.0.0
172.16.0.0/12 — ~1 млн адресов, маска 255.240.0.0
/24 означает: первые 24 бита — сетевая часть, оставшиеся 8 — хостовая. Маску удобно воспринимать как «линейку»: там, где в маске 255 — сетевая часть; там, где 0 — хостовая.
Практический вопрос: принадлежит ли адрес данной подсети? 192.168.1.200 и 192.168.1.100 — оба в 192.168.1.0/24, одна сеть. 192.168.2.50 — уже другая.
Приватные диапазоны (RFC 1918)
Три диапазона зарезервированы для частных сетей и не маршрутизируются в публичном интернете:
| Диапазон | CIDR | Типичное применение |
|---|---|---|
| 10.0.0.0 – 10.255.255.255 | /8 | Корпоративные сети, облачные VPC |
| 172.16.0.0 – 172.31.255.255 | /12 | Docker-сети по умолчанию |
| 192.168.0.0 – 192.168.255.255 | /16 | Домашние роутеры, офисные LAN |
При создании Docker-сети или VPC в AWS/GCP вы выбираете адрес из этих диапазонов. IPv4-адресов в публичном пространстве всего ~4 млрд — и все они уже распределены.
Специальные адреса:
127.0.0.1— loopback,localhost. Трафик не выходит за пределы хоста.0.0.0.0— при привязке сервиса означает «слушать на всех интерфейсах». Сервер, слушающий0.0.0.0:8080, принимает соединения на любом сетевом интерфейсе хоста.- Широковещательный адрес подсети — последний в диапазоне (
192.168.1.255для/24).
127.0.0.1 — он недоступен снаружи контейнера, даже с хост-машины. Bind на 0.0.0.0 — обязательное условие, чтобы сервис был виден через docker network или Kubernetes Service.
IPv6
Адресов IPv4 физически не хватает: 2³² ≈ 4 млрд — все распределены. NAT — временное решение. IPv6 использует 128-битные адреса: 2001:0db8:85a3::8a2e:0370:7334. Адресного пространства достаточно, чтобы адресовать каждый атом на Земле. IPv6 устраняет необходимость в NAT: каждое устройство может иметь глобально уникальный публичный адрес.
Часть 6. Как выбирается маршрут: свой или чужой
Перед отправкой каждого пакета устройство решает: получатель находится в моей сети или нет? Ответ определяет, как именно передать пакет.
Устройство сравнивает сетевые части своего IP и IP получателя с помощью маски:
Получатель в той же сети — устройства общаются напрямую через коммутатор. MAC-адрес в кадре ставится самого получателя. ARP (см. следующую часть) находит нужный MAC.
Получатель в другой сети — пакет отдаётся шлюзу по умолчанию (default gateway). IP-адрес назначения в пакете остаётся адресом конечного получателя — именно там конечная цель. MAC-адрес в кадре ставится шлюза — именно ему пакет передаётся физически прямо сейчас. Шлюз принимает кадр, извлекает пакет, смотрит на IP назначения и передаёт дальше — следующему маршрутизатору.
Получатель в другой сети → MAC шлюза, но IP в пакете всё равно конечного.
Таблица маршрутизации
Каждый хост и каждый маршрутизатор хранит таблицу — список правил «куда отправлять пакеты для данного диапазона адресов»:
ip route show
# Вывод:
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
10.0.0.0/8 via 10.0.0.1 dev tun0
default via 192.168.1.1 — шлюз по умолчанию. Всё, для чего нет специфичного маршрута, уходит туда. Побеждает правило с самым длинным совпадающим префиксом (longest prefix match) — специфичный маршрут 10.0.0.0/8 всегда приоритетнее default.
Маршрутизаторы в интернете хранят таблицы с сотнями тысяч записей (протокол BGP). Принцип тот же.
Часть 7. Протокол ARP
Чтобы отправить кадр, нужен MAC-адрес получателя или шлюза. Но отправитель знает только IP. Откуда взять MAC?
Эту задачу решает ARP (Address Resolution Protocol) — протокол, который связывает IP-адреса (L3) с MAC-адресами (L2) внутри одной подсети.
Процесс, шаг за шагом:
- Хост A хочет отправить пакет хосту B (знает IP, не знает MAC). Рассылает широковещательный ARP-запрос: «У кого IP
192.168.1.30? Сообщите192.168.1.10.» MAC назначения в кадре —FF:FF:FF:FF:FF:FF, запрос получают все устройства сегмента. - Устройства с другими IP игнорируют запрос.
- Хост B (
192.168.1.30) отвечает юникастом: «Это я. Мой MAC —AA:BB:CC:DD:EE:FF.» - Хост A сохраняет пару
IP → MACв ARP-кэш. Следующие пакеты идут без повторного запроса.
ip neigh show # ARP-кэш (таблица соседей)
arp -n # устаревший вариант
Маршрутизатор не пропускает ARP-запросы в другие сети — они ограничены одним L2-сегментом. Поэтому MAC-адрес устройства из чужой сети напрямую узнать нельзя. При отправке в другую сеть ARP нужен для MAC шлюза, а не конечного хоста.
Если IP меняется (перезапуск контейнера, динамический адрес DHCP) — устаревший ARP-кэш у соседей может давать неверный MAC. Время хранения записи регулируется настройками ОС.
Часть 8. TCP и UDP — транспортный уровень
TCP: гарантированная доставка
TCP (Transmission Control Protocol) устанавливает соединение через трёхстороннее рукопожатие: клиент отправляет SYN → сервер отвечает SYN-ACK → клиент подтверждает ACK. После этого данные передаются с нумерацией сегментов, подтверждениями и повторной отправкой потерянных. Порядок байт на приёмной стороне гарантирован.
Цена надёжности — задержка: ожидание подтверждений и overhead рукопожатия при каждом новом соединении.
Используется: HTTP/HTTPS, SSH, PostgreSQL/MySQL, SMTP — везде, где потеря данных недопустима.
ss -tn # активные TCP-соединения
ss -tnp # с именами процессов
UDP: скорость без гарантий
UDP (User Datagram Protocol) — без установки соединения, без подтверждений, без гарантии порядка и доставки. Отправитель посылает датаграммы, не зная, дошли ли они.
Используется: DNS-запросы, видеостриминг, VoIP, онлайн-игры, QUIC (основа HTTP/3). В этих приложениях потеря единственного пакета не критична, а задержка — критична.
Порты
Порты позволяют держать несколько сервисов на одном IP-адресе. TCP и UDP имеют независимые пространства портов (0–65535).
| Порт | Протокол |
|---|---|
| 22 | SSH |
| 25 | SMTP |
| 53 | DNS |
| 80 | HTTP |
| 443 | HTTPS |
| 5432 | PostgreSQL |
| 6379 | Redis |
| 27017 | MongoDB |
ss -tlnp # TCP, слушающие порты, с процессами
ss -tlnp | grep :5432 # конкретный порт
Firewall-правила оперируют комбинацией IP:port и протокола. Когда сервис недоступен — первый шаг диагностики: убедиться, что порт слушается (ss -tlnp) и не заблокирован (iptables -L или Security Group).
Часть 9. DNS: как имя превращается в адрес
DNS (Domain Name System) — распределённая иерархическая база данных, переводящая доменные имена в IP-адреса.
Как происходит резолвинг
Запрос api.example.com:
- Система смотрит в локальный DNS-кэш ОС и
/etc/hosts. - Если нет — запрос уходит на рекурсивный резолвер (ваш DHCP-сервер или публичный: Cloudflare
1.1.1.1, Google8.8.8.8). - Резолвер обращается к корневым серверам (13 кластеров по всему миру) — они знают, кто управляет зоной
.com. - Затем к TLD-серверу
.com— он знает, кто управляетexample.com. - Затем к авторитативному серверу
example.com— он возвращает IP. - Результат кэшируется на время TTL записи.
Типы DNS-записей
| Запись | Назначение |
|---|---|
| A | Имя → IPv4 |
| AAAA | Имя → IPv6 |
| CNAME | Имя → другое имя (алиас) |
| MX | Почтовый сервер домена |
| TXT | Произвольный текст (SPF, DKIM, верификация домена) |
| NS | Авторитативные серверы зоны |
| PTR | Обратный DNS: IP → имя |
| SRV | Адрес сервиса с портом и приоритетом |
dig example.com A # A-запись
dig example.com MX # MX-записи
dig +short example.com # только IP
dig @8.8.8.8 example.com A # запрос к конкретному резолверу
dig +trace example.com # трассировка делегирования
dig -x 93.184.216.34 # обратный DNS
nslookup example.com 1.1.1.1
DNS в контейнерных средах
В Docker каждая сеть имеет встроенный DNS-резолвер — контейнеры находят друг друга по имени (db, redis), а не по IP (IP назначается динамически и меняется при перезапуске).
В Kubernetes DNS решает ту же задачу для Pod’ов и сервисов: my-service.my-namespace.svc.cluster.local.
Часть 10. NAT: почему адрес 192.168.x.x
NAT (Network Address Translation) — механизм, позволяющий множеству устройств с приватными IP выходить в интернет через один публичный адрес.
Когда хост с 192.168.1.100 обращается к 93.184.216.34:443, шлюз подменяет исходный адрес своим публичным IP и записывает в таблицу трансляций: «соединение с 192.168.1.100:54321 → публичный:54321». При получении ответа — обратная трансляция.
Часть 11. Полный путь запроса: собираем всё вместе
Посмотрим, что происходит при открытии сайта — на всех уровнях сразу.
-
Прикладной уровень. Браузер определяет IP сервера через DNS (запрос → рекурсивный резолвер → авторитативный сервер → ответ). Устанавливает TCP-соединение (SYN → SYN-ACK → ACK). Для HTTPS — TLS-рукопожатие. Отправляет HTTP-запрос.
-
Транспортный уровень. TCP делит запрос на сегменты с нумерацией. Целевой порт — 443 для HTTPS.
-
Сетевой уровень. Каждый сегмент упаковывается в IP-пакет: IP источника (ваш хост) и IP назначения (сервер).
-
Проверка маршрута. Ваш хост сравнивает сети по маске: IP сервера в другой сети → пакет уходит к шлюзу по умолчанию.
-
ARP. MAC шлюза ещё не в кэше → ARP-запрос широковещанием в сегмент. Шлюз отвечает своим MAC. MAC сохраняется в ARP-кэш.
-
Канальный уровень. Пакет упаковывается в кадр: MAC источника (ваш интерфейс), MAC назначения (шлюз).
-
Физический уровень. Кадр уходит битами по Wi-Fi или ethernet.
-
На маршрутизаторе. Получает кадр, извлекает IP-пакет, смотрит таблицу маршрутизации, упаковывает в новый кадр и передаёт следующему маршрутизатору. Так по цепочке hop за hop — до сервера назначения. На каждом hop MAC-адреса меняются, IP-адреса — нет (до NAT).
-
На сервере. Деинкапсуляция. ОС передаёт данные процессу, слушающему порт 443. Формируется HTTP-ответ, он идёт обратно по тому же механизму.
Весь этот путь занимает десятки или сотни миллисекунд — в зависимости от географического расстояния и числа hop’ов.
Часть 12. Практика: диагностика из терминала
Это команды, которые реально использует сетевой инженер, DevOps и системный администратор.
Адреса и интерфейсы
ip addr show # все интерфейсы и IP-адреса
ip link show # состояние интерфейсов (UP/DOWN, MTU)
ip route show # таблица маршрутизации
ip neigh show # ARP-кэш
Проверка связи
# ICMP: проверяет L3-связность (если не заблокирован firewall)
ping -c 4 8.8.8.8
ping -c 4 example.com
# Трассировка маршрута — задержка на каждом hop'е
traceroute example.com
mtr example.com # более информативный интерактивный вариант
Открытые порты и соединения
ss -tlnp # TCP, слушающие порты, с именами процессов
ss -tn # все активные TCP-соединения
ss -tlnp | grep :5432 # конкретный порт
arp -n # ARP-таблица (устаревший вариант ip neigh)
DNS
dig example.com A # A-запись
dig example.com MX # MX-записи
dig +short example.com # только IP
dig @8.8.8.8 example.com # запрос к конкретному резолверу
nslookup example.com 1.1.1.1
Проверка TCP-соединения
# Проверить доступность порта (nc — netcat)
nc -zv 192.168.1.10 5432
# -z = только проверить порт, данные не отправлять
# -v = verbose
# curl с подробностями о соединении
curl -v https://example.com/api/health
Словарь
Хост (узел) — любое устройство в сети с сетевым интерфейсом.
PDU (Protocol Data Unit) — единица данных на каждом уровне: данные → сегмент → пакет → кадр → биты.
Инкапсуляция / деинкапсуляция — упаковка данных в заголовки при спуске по уровням OSI и обратная распаковка.
MAC-адрес — 48-битный физический идентификатор сетевого интерфейса. Работает в пределах одного L2-сегмента.
IP-адрес — логический сетевой адрес, используется для маршрутизации между сетями.
CIDR — нотация подсети вида /24, указывает длину сетевой части адреса.
Шлюз по умолчанию — маршрутизатор, через который уходит трафик для всех адресов вне локальной сети.
ARP (Address Resolution Protocol) — протокол получения MAC-адреса по известному IP внутри подсети.
DNS (Domain Name System) — иерархическая распределённая система, переводящая доменные имена в IP-адреса.
NAT (Network Address Translation) — трансляция приватных IP в публичный при выходе в интернет.
TCP — транспортный протокол с установкой соединения и гарантией доставки и порядка.
UDP — транспортный протокол без соединения и гарантий, минимальный overhead.
Часто задаваемые вопросы
Чем MAC-адрес отличается от IP-адреса? MAC — физический идентификатор интерфейса, задаётся производителем, работает только в пределах одного L2-сегмента. IP — логический, назначается в сети, используется для маршрутизации между сетями. Для каждой передачи нужны оба: IP говорит «конечная цель», MAC говорит «отдать этому соседу прямо сейчас».
Зачем нужны обе модели — OSI и TCP/IP? OSI из семи уровней — инструмент для размышлений и диагностики: по ней легко объяснять и находить поломки. TCP/IP из четырёх уровней — то, что реально работает в технике. Они описывают одно и то же с разной детализацией.
Что происходит, если у двух устройств в одной сети одинаковый IP?
Конфликт: ARP-ответы будут приходить от обоих, и сеть запутается, кому слать трафик. Оба устройства будут работать с ошибками. В Linux видно в dmesg | grep ARP, Windows показывает уведомление.
Почему данные режут на пакеты, а не передают целиком? Надёжнее и эффективнее. Маленький пакет легче передать через промежуточные узлы. При потере переотправляется только один пакет. Пакеты могут идти разными маршрутами и собираться на приёмной стороне.
Чем 0.0.0.0 отличается от 127.0.0.1?
127.0.0.1 (localhost) — loopback, трафик не выходит за пределы хоста. 0.0.0.0 при привязке сервиса — «слушать на всех интерфейсах»: сервис доступен через localhost и через любой внешний IP хоста. Для контейнеров критично: сервис, привязанный к 127.0.0.1 внутри контейнера, недоступен снаружи контейнера.
Зачем нужен IPv6, если есть IPv4? Адресов IPv4 физически не хватает: 2³² ≈ 4 млрд — все распределены. NAT — временное решение. IPv6 с 128-битными адресами устраняет проблему: каждое устройство может иметь глобально уникальный публичный адрес.
Что такое VLAN? VLAN (Virtual LAN) — логическое разделение одной физической сети на изолированные сегменты. Устройства в разных VLAN не видят L2-трафик друг друга, даже подключённые к одному коммутатору. Используется для разделения prod/staging, изоляции безопасности, мультиарендности.
Как работает DHCP? DHCP автоматически выдаёт IP-адреса при подключении: DHCP Discover (broadcast) → DHCP Offer → DHCP Request → DHCP Acknowledge. Сервер выдаёт IP, маску, адрес шлюза и DNS-серверы. Аренда ограничена по времени — именно поэтому IP меняется при переподключении.
Как firewall принимает решения?
По правилам фильтрации: IP источника/назначения, порт, протокол, состояние соединения (stateful firewall разрешает ответы на инициированные соединения). В Linux — iptables или nftables. Правила применяются по порядку, первое совпавшее — побеждает.
Что учить дальше
Понимание основ открывает несколько профессиональных направлений.
Сетевой инженер — углублённая работа с инфраструктурой: BGP, OSPF, MPLS, QoS, проектирование топологий, VPN. Вендоры: Cisco, Juniper, Huawei. В облаке: AWS VPC, Azure VNET, Yandex Cloud VPC.
DevOps-инженер — сети как инфраструктура деплоя: overlay-сети в Kubernetes (Calico, Flannel, Cilium), service mesh (Istio, Linkerd), балансировщики нагрузки (nginx, HAProxy, ALB), firewall-политики, VPN между окружениями.
Системный администратор — поддержка корпоративной инфраструктуры: Active Directory, DHCP, DNS, мониторинг (Zabbix, Nagios), управление доступом, VLAN-сегментация.
Backend-разработчик — понимание сетей нужно для отладки timeout’ов, настройки connection pool’ов, работы с TLS-сертификатами, проектирования распределённых систем с предсказуемой latency.