Собрал в пять логических групп:
Адресация (как найти устройство),
Пакеты и слои (как данные путешествуют),
Протоколы (как общаются приложения),
Инфраструктура (как строятся сети) и
Производительность (как сделать всё быстро).
Поехали!
Адресация: как устройства находят друг друга
1. IP-адрес — цифровой паспорт устройства
Каждое устройство в сети должно иметь уникальный идентификатор — IP-адрес. Представьте его как почтовый адрес дома. Есть две версии:
- IPv4 — классика, например 192.168.0.1. Четыре числа от 0 до 255 — всего около 4,3 миллиарда комбинаций. Этого уже мало для современного мира.
- IPv6 — новое поколение, например 2001:db8::8a2e:370:7334. Адресов так много, что их хватит на каждую песчинку на Земле.
Также IP делятся на публичные (видны в интернете) и частные (используются внутри локальных сетей).
Например, ваш ноутбук может иметь частный IP 192.168.1.10, а роутер — публичный 85.12.34.56. Именно роутер «выдаёт» вас в интернет.
💡 Запомните: публичный IP — ваш адрес во всемирной паутине, частный — только для дома или офиса.
2. DNS — телефонная книга интернета
Людям трудно запоминать IP-адреса вроде 142.250.80.46. Гораздо проще сказать google.com. DNS (Domain Name System) как раз переводит доменные имена в IP.
Процесс выглядит так:
- Браузер проверяет свой кеш и системный кеш.
- Если ничего нет, идёт запрос к DNS-резолверу (обычно от провайдера или публичному, как 8.8.8.8).
- Резолвер спрашивает корневые серверы, потом серверы зоны .com, потом авторитативный сервер для google.com — и получает нужный IP.
- Результат кешируется на всех уровнях, поэтому следующие запросы выполняются почти мгновенно.
Без DNS интернет был бы неудобен, как навигация по городу без названий улиц.
3. Порты — двери для приложений
IP-адрес доставляет пакет до нужного компьютера, но на компьютере работают десятки программ. Как понять, что пакет адресован именно веб-серверу, а не почтовому клиенту? Для этого существуют порты — числа от 0 до 65535.
Известные порты:
- 22 — SSH (удалённое управление)
- 53 — DNS
- 80 — HTTP
- 443 — HTTPS
- 5432 — PostgreSQL
- 6379 — Redis
Когда вы открываете сайт, браузер автоматически стучится в порт 443. Если на одной машине запущено два веб-сервера, им назначают разные порты, например 8080 и 8081. Это как квартиры в одном доме — адрес (IP) общий, но номер квартиры (порт) разный.
4. MAC-адрес — физический идентификатор
IP-адреса помогают маршрутизировать трафик между разными сетями. Но внутри одной локальной сети (например, домашнего Wi-Fi) для доставки используется MAC-адрес — уникальный идентификатор, «прошитый» в сетевой карте. Он выглядит как a4:83:e7:1b:22:9c.
Когда ваш ноутбук хочет поговорить с принтером в той же сети, он отправляет ARP-запрос: «Кто имеет IP 192.168.1.20?» Принтер отвечает своим MAC-адресом, и коммутатор отправляет данные прямо ему.
Важно: MAC-адрес обычно постоянен, но современные смартфоны могут его рандомизировать в общественных Wi-Fi для защиты приватности. В повседневной работе вы редко его настраиваете, но знание о MAC пригодится при отладке сетей или настройке правил безопасности.
5. NAT — как один публичный IP обслуживает всю семью
У вашего домашнего роутера один публичный IP, а устройств — смартфоны, ноутбуки, телевизоры — может быть десяток. Как они все выходят в интернет? Благодаря NAT (Network Address Translation).
Роутер заменяет частные IP и порты внутренних устройств на свой публичный IP и уникальные порты:
- 192.168.1.10:51234 → 85.12.34.56:40001
- 192.168.1.11:49876 → 85.12.34.56:40002
Он хранит таблицу соответствий, и когда ответ приходит, роутер знает, какому устройству его переслать. Для внешнего мира все запросы выглядят как исходящие от одной машины.
NAT спас IPv4 от полного исчерпания, но создаёт проблемы для прямых соединений (P2P) — два устройства за NAT не могут легко соединиться без внешнего посредника (например, STUN-сервера).
6. DHCP — автоматическая настройка сети
Раньше, чтобы подключиться к сети, нужно было вручную вводить IP, маску подсети, шлюз и DNS. Это неудобно. DHCP (Dynamic Host Configuration Protocol) делает всё автоматически.
Процесс называют DORA:
- Discover — устройство кричит: «Есть ли кто, кто даст мне IP?»
- Offer — DHCP-сервер предлагает свободный IP.
- Request — устройство просит именно этот IP.
- Acknowledge — сервер подтверждает и выдаёт настройки на определённый срок (аренду).
Когда аренда заканчивается, устройство пытается продлить её. Без DHCP администрирование даже небольшой офисной сети превратилось бы в кошмар.
Пакеты и уровни: как данные путешествуют
7. Пакеты — разбиваем данные на части
Данные по сети не передаются одним гигантским куском. Они делятся на пакеты — небольшие блоки, каждый со своим заголовком (IP источника, IP назначения, порядковый номер) и частью данных.
Например, сообщение «Привет, это длинное сообщение» может быть разбито на:
- Пакет 1: seq=1, data="Привет, это "
- Пакет 2: seq=2, data="длинное соо"
- Пакет 3: seq=3, data="бщение"
Пакеты могут идти разными маршрутами, прибывать вразнобой или теряться. Принимающая сторона должна собрать их в правильном порядке — за это отвечает транспортный уровень.
8. Модель OSI — семь слоёв абстракции
Модель OSI — это концептуальная схема, которая описывает, как сетевые функции разделены на семь уровней. На практике чаще используют упрощённую модель TCP/IP, но знание OSI помогает говорить на одном языке с сетевыми инженерами.
Самые важные для разработчика уровни:
- Уровень 3 (Сетевой) — IP-адресация и маршрутизация.
- Уровень 4 (Транспортный) — TCP и UDP, управление потоками.
- Уровень 7 (Прикладной) — HTTP, DNS, WebSocket — то, с чем работают приложения.
Главное преимущество такой слоистой структуры — независимость. HTTP не нужно знать, как работает Wi-Fi, а TCP — что за кабель используется. Это позволяет менять технологии на одном уровне, не затрагивая остальные.
9. Подсети и CIDR — делим сеть на части
Большую сеть удобно разбивать на подсети. Например, в корпоративной сети можно выделить отдельную подсеть для отдела разработки, другую — для тестирования. CIDR (бесклассовая междоменная маршрутизация) — это нотация, которая описывает, сколько бит отводится под сеть.
Пример: 192.168.1.0/24 означает, что первые 24 бита (первые три числа) — это сеть, а оставшиеся 8 бит (от 0 до 255) — адреса устройств. В облаках (AWS, GCP) вы часто будете видеть 10.0.0.0/16 или /24. Это позволяет писать простые правила файрвола: разрешить доступ к БД только из подсети 10.0.1.0/24 — гораздо удобнее, чем перечислять сотни IP.
10. Роутер и коммутатор — два разных «раздатчика»
- Коммутатор (Switch) работает на 2-м уровне. Он соединяет устройства внутри одной локальной сети и передаёт кадры по MAC-адресам. Это как внутренняя почта в одном здании.
- Роутер (Router) работает на 3-м уровне. Он соединяет разные сети (например, вашу домашнюю сеть и интернет) и направляет пакеты по IP-адресам. Это как городская почта, которая знает, как доставить письмо в другой город.
Ваш домашний «роутер» на самом деле часто объединяет роутер, коммутатор и точку доступа Wi-Fi. Коммутаторы внутри дата-центров обеспечивают высокоскоростной обмен между серверами, а роутеры связывают дата-центры с внешним миром.
Протоколы: правила общения
11. TCP и UDP — надёжность против скорости
На транспортном уровне два главных протокола:
- TCP — надёжный, с установкой соединения. Он гарантирует доставку всех данных в правильном порядке, повторяет потерянные пакеты. Подходит для веб-страниц, API, почты, файлов — везде, где важна целостность.
- UDP — лёгкий, без установки соединения. Не гарантирует доставку или порядок, но очень быстрый. Используется для видеозвонков, стриминга, онлайн-игр, DNS — где небольшие потери допустимы, а задержка критична.
Новый протокол QUIC (лежит в основе HTTP/3) работает поверх UDP, добавляя надёжность и шифрование на уровне приложения — это даёт скорость UDP с гарантиями TCP.
12. HTTP / HTTPS — язык веба
Клиент отправляет запрос. Сервер отправляет ответ, содержащий код состояния, заголовки и тело запроса.
HTTP — протокол запрос-ответ. Клиент отправляет запрос (метод, путь, заголовки, тело), сервер отвечает кодом (200, 404, 500 и т.д.) и данными. HTTP не сохраняет состояние между запросами, поэтому для идентификации пользователей используют cookies, сессии или токены.
HTTPS — это HTTP поверх TLS (шифрование). Все данные шифруются, а сертификат сервера проверяется, чтобы вы точно общались с нужным сайтом. Сегодня HTTPS — стандарт, обычный HTTP остаётся только в устаревших или локальных системах.
13. TLS — щит безопасности
TLS (Transport Layer Security) даёт HTTPS три гарантии:
- Конфиденциальность — никто не может прочитать данные.
- Целостность — данные нельзя изменить незаметно.
- Аутентификация — вы уверены, что сервер — это тот, за кого он себя выдаёт.
В процессе рукопожатия сервер предъявляет сертификат, подписанный доверенным центром. Браузер проверяет его, после чего стороны договариваются о симметричном ключе для быстрого шифрования. TLS 1.3 сократил число обменов, сделав соединение быстрее, а при возобновлении сессии — ещё быстрее.
14. WebSocket — постоянный канал связи
В обычном HTTP клиент всегда инициирует запрос, сервер отвечает. Это неудобно для чатов, биржевых котировок, игр или совместного редактирования — где серверу нужно самому отправлять данные клиенту в реальном времени.
WebSocket устанавливает постоянное двустороннее соединение. Начинается как HTTP-запрос с заголовком Upgrade, затем переключается на WebSocket-протокол. После этого обе стороны могут отправлять сообщения в любое время без накладных расходов на новые запросы.
Если вам нужна только односторонняя отправка от сервера к клиенту (например, уведомления), рассмотрите Server-Sent Events (SSE) — он проще и работает поверх HTTP.
Инфраструктура: из чего строятся сети
15. Файрвол — страж порядка
Файрвол (межсетевой экран) решает, какой трафик разрешён, а какой запрещён. Правила обычно строятся на основе IP-адресов, портов и протоколов.
Пример:
РАЗРЕШИТЬ tcp с любого на 10.0.1.0/24 порт 443
РАЗРЕШИТЬ tcp с 10.0.0.0/16 на 10.0.2.10 порт 5432
ЗАБЛОКИРОВАТЬ всё остальное
Последнее правило — «блокировать всё, что явно не разрешено» — основа безопасности.
Файрволы бывают stateful (отслеживают состояние соединений — если ваш сервер инициировал запрос, ответ пропускается автоматически) и stateless (проверяют каждый пакет изолированно). В облаках их называют Security Groups (AWS), NSG (Azure) или firewall rules (GCP).
16. VPN — защищённый туннель через интернет
VPN (Virtual Private Network) создаёт зашифрованный тоннель через публичную сеть. Ваше устройство подключается к VPN-серверу, и весь трафик идёт через этот тоннель, как будто вы находитесь внутри частной сети.
Два основных сценария:
- Корпоративный VPN — удалённые сотрудники получают доступ к внутренним ресурсам компании.
- Потребительский VPN — скрывает ваш реальный IP и меняет географическое положение для обхода блокировок.
Технологии: WireGuard (современный и быстрый), OpenVPN, IPsec. Но помните: VPN не делает вас полностью анонимным — вы просто переносите доверие с вашего провайдера на VPN-провайдера.
17. Прокси и обратный прокси — посредники
Прямой прокси (forward proxy) находится перед клиентами. Он перехватывает их запросы в интернет, может фильтровать, кешировать, скрывать реальные IP клиентов. Часто используется в корпоративных сетях.
Обратный прокси (reverse proxy) находится перед серверами. Клиенты отправляют запросы ему, а он распределяет их между бэкендами. Обратные прокси — это:
- Nginx, HAProxy, Envoy, Cloudflare — они могут завершать TLS, кешировать ответы, ограничивать частоту запросов, балансировать нагрузку.
Обратный прокси — это «лицо» вашего сервиса для внешнего мира.
18. Балансировщик нагрузки — диспетчер трафика
Когда у вас несколько экземпляров одного сервиса, нужен балансировщик нагрузки, который распределяет входящие запросы между ними.
Он обычно работает как обратный прокси и использует разные алгоритмы:
- Round Robin — по очереди.
- Least Connections — на сервер с наименьшим числом активных соединений.
- IP Hash — чтобы один и тот же клиент всегда попадал на один сервер (полезно для сессий).
- Weighted — более мощным серверам можно дать больший вес.
Балансировщик также регулярно проверяет здоровье бэкендов (health checks) и исключает из ротации те, которые не отвечают. Это обеспечивает отказоустойчивость.
19. CDN — глобальный кеш
CDN (Content Delivery Network) — это сеть серверов, разбросанных по всему миру. Они хранят копии ваших статических файлов (изображения, CSS, JS, видео) и отдают их пользователям из ближайшей точки.
Преимущества:
- Меньшая задержка (контент приходит быстрее).
- Снижение нагрузки на ваш исходный сервер.
- Защита от DDoS (CDN может поглощать атаки).
Современные CDN умеют кешировать даже динамические ответы API, выполнять «краевые» вычисления (Edge Functions) и управлять TLS-сертификатами.
Производительность: как ускорить сеть
20. Задержка, пропускная способность и пропускная способность (не путайте!)
Три ключевых параметра:
- Задержка (Latency) — время, за которое один пакет добирается от источника к получателю (измеряется в миллисекундах). Это как время ответа на вопрос.
- Пропускная способность (Bandwidth) — максимальный объём данных, который сеть может передать за секунду (бит/с). Это как ширина трубы.
- Пропускная способность (Throughput) — реальный объём данных, переданных за секунду. Обычно меньше заявленной bandwidth из-за накладных расходов, потерь и задержек.
Увеличение bandwidth не всегда снижает latency. Если сервер находится на другом континенте, даже гигабитный канал не сделает отклик мгновенным. Для снижения задержки используют кеши, CDN, выбор ближайшего региона. Для повышения throughput — сжатие, параллельные запросы, оптимизация протоколов.
🚀 Совет: всегда измеряйте реальную throughput, а не полагайтесь на теоретическую bandwidth.
Заключение
Мы пробежались по 20 фундаментальным понятиям, которые лежат в основе любой сетевой архитектуры. Понимание этих концепций поможет вам:
- читать и писать конфигурации (Nginx, файрволы, DNS),
- проектировать отказоустойчивые системы,
- диагностировать проблемы с задержками и соединениями,
- уверенно проходить технические собеседования.
Если вы хотите углубиться в какую-то тему, вот краткий список для дальнейшего изучения: BGP, Anycast, gRPC, MQTT, HTTP/2 и HTTP/3, eBPF, Service Mesh.
Спасибо, что дочитали до конца! Делитесь в комментариях, какая концепция была для вас самой сложной, — обсудим.
Страховка на собеседовании и поиск работы
Знание есть, но стресс мешает ?
Бесплатное сообщество для прокачки карьеры в IT
Подпишись на https://t.me/IT_Interview_Partner_Bot
Подпишись на https://t.me/LyakhovEugene