1. Основы компьютерных сетей и ключевые протоколы (TCP/IP, HTTP, DNS, DHCP)
Основы компьютерных сетей и ключевые протоколы (TCP/IP, HTTP, DNS, DHCP)
Представьте: вы открываете браузер, вводите адрес сайта и через секунду видите страницу. За эти мгновения ваш компьютер обменивается данными с десятками устройств по всему миру, проходя через маршрутизаторы, серверы и DNS-системы. На техническом собеседовании вас почти наверняка спросят, как именно это работает — и поверхностного ответа будет недостаточно.
Модель OSI и стек TCP/IP
Чтобы устройства могли общаться между собой, им нужен единый «язык». Описание этого языка называется моделью сетевого взаимодействия. Существует эталонная модель OSI из семи уровней — от физического (кабели, сигналы) до прикладного (браузер, почтовый клиент). На практике используется упрощённая модель TCP/IP из четырёх уровней:
| Уровень TCP/IP | Что делает | Примеры протоколов | |---|---|---| | Прикладной | Интерфейс для приложений | HTTP, DNS, SMTP, FTP | | Транспортный | Надёжная доставка данных между процессами | TCP, UDP | | Сетевой | Адресация и маршрутизация пакетов | IP, ICMP, ARP | | Канальный | Передача данных по физическому каналу | Ethernet, Wi-Fi |
На собеседовании часто просят назвать уровни OSI или сравнить OSI с TCP/IP. Ключевое отличие: OSI — теоретическая модель, TCP/IP — то, что реально работает в интернете.
IP-адресация и подсети
Каждое устройство в сети получает IP-адрес — уникальный идентификатор, по которому к нему можно доставить данные. IPv4-адрес выглядит как четыре числа от 0 до 255, разделённых точками: 192.168.1.10.
Часть адреса обозначает сеть, а часть — хост внутри сети. Границу определяет маска подсети. Например, маска 255.255.255.0 (или /24 в CIDR-нотации) означает: первые 24 бита — сеть, последние 8 — хосты. В такой подсети может быть до устройств (адреса .0 и .255 зарезервированы).
> Приватные адреса — диапазоны 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 — используются внутри локальных сетей и не маршрутизируются в интернете. Именно такие адреса вы видите на домашнем роутере.
Протокол TCP: надёжная доставка
TCP (Transmission Control Protocol) гарантирует, что данные дойдут в правильном порядке и без потерь. Для этого он использует трёхстороннее рукопожатие (three-way handshake):
После этого данные передаются с контролем целостности. Если пакет потерян — TCP запросит повторную отправку. Именно поэтому загрузка файла через HTTP всегда завершается полностью, даже при нестабильном соединении.
UDP (User Datagram Protocol) — полная противоположность: данные отправляются без гарантий, но зато быстрее. UDP используют для видеозвонков, онлайн-игр и DNS-запросов — там, где важна скорость, а потеря нескольких пакетов некритична.
HTTP: язык веба
HTTP (HyperText Transfer Protocol) — протокол прикладного уровня, по которому браузер общается с веб-сервером. Работает по модели клиент-сервер: клиент отправляет запрос, сервер возвращает ответ.
Базовый HTTP-запрос выглядит так:
Сервер отвечает с кодом состояния:
HTTP работает поверх TCP на порту 80. Его защищённая версия HTTPS добавляет шифрование через TLS и работает на порту 443. На собеседовании часто спрашивают разницу: HTTP передаёт данные открытым текстом, HTTPS шифрует их, защищая от перехвата.
DNS: телефонная книга интернета
Когда вы вводите google.com, ваш компьютер не знает IP-адрес этого сервера. За перевод доменного имени в IP отвечает DNS (Domain System).
Процесс разрешения имени:
.com, .ru и т.д.), затем к авторитетным DNS-серверам домена.Проверить DNS-разрешение можно командой:
На собеседовании могут спросить: «Что произойдёт, если DNS-сервер недоступен?» — пользователь не сможет открыть сайт по имени, но прямой переход по IP-адресу будет работать.
DHCP: автоматическая настройка сети
Когда ваш ноутбук подключается к Wi-Fi, он получает IP-адрес, маску подсети, адрес шлюза и DNS-серверы — всё автоматически. За это отвечает DHCP (Dynamic Host Configuration Protocol).
Процесс получения адреса (DORA):
Адрес выдаётся на определённый срок — аренду (lease). Когда срок истекает, устройство может продлить аренду или получить новый адрес.
> DHCP — это именно то, почему вам не нужно вручную настраивать IP-адрес на каждом устройстве дома. Без него каждое устройство пришлось бы конфигурировать вручную.
Как протоколы работают вместе
Когда вы открываете https://example.com, происходит следующее:
example.com в IP-адрес.Каждый уровень добавляет свой заголовок к данным — этот процесс называется инкапсуляцией. На принимающей стороне заголовки снимаются в обратном порядке.