10.1. DNS, DHCP и веб-службы
10.1. DNS, DHCP и веб-службы
Прикладной уровень предоставляет сетевые службы, с которыми непосредственно взаимодействуют программы пользователя. Ниже — ключевые протоколы корпоративной и публичной сети.
10.1.1. Таблица прикладных протоколов
| Протокол | Порт | Транспорт | Назначение |
|---|---|---|---|
| DNS | 53 | UDP/TCP | Разрешение доменных имён в IP-адреса |
| DHCP | 67/68 | UDP | Автоматическая выдача IP, маски, шлюза, DNS |
| HTTP | 80 | TCP | Передача веб-страниц без шифрования |
| HTTPS | 443 | TCP | HTTP поверх TLS — шифрованный веб |
| SMTP | 25, 587 | TCP | Отправка электронной почты |
| POP3 | 110 | TCP | Получение почты |
| IMAP | 143, 993 | TCP | Доступ к почте на сервере |
| SSH | 22 | TCP | Защищённый удалённый доступ к CLI |
| FTP | 20/21 | TCP | Передача файлов |
10.1.2. DNS — иерархия и типы записей
Иерархия: корневые серверы → TLD (.ru, .com) → авторитативные серверы домена.
| Тип записи | Назначение | Пример |
|---|---|---|
| A | Имя → IPv4 | www.example.com → 93.184.216.34 |
| AAAA | Имя → IPv6 | www.example.com → 2606:2800:220:1:248:1893:25c8:1946 |
| MX | Почтовый сервер | mail.example.com |
| CNAME | Псевдоним | www → example.com |
| NS | Авторитативный DNS-сервер | ns1.example.com |
| PTR | Обратное разрешение (IP → имя) | 8.8.8.8 → dns.google |
10.1.3. DHCP — процесс DORA
- Discover — клиент ищет DHCP-сервер (broadcast).
- Offer — сервер предлагает IP-адрес и параметры.
- Request — клиент запрашивает предложенный адрес.
- Acknowledge — сервер подтверждает; клиент настраивает интерфейс.
10.1.4. HTTP — структура запроса и ответа
HTTP-запрос: метод (GET, POST, PUT, DELETE), URI, версия (HTTP/1.1), заголовки, тело. HTTP-ответ: код состояния (200 OK, 301 Redirect, 404 Not Found, 500 Error), заголовки, тело.
Контрольные вопросы
- Какие параметры IP-адресации выдаёт DHCP помимо самого адреса?
- Чем запись A отличается от CNAME?
- Какой код HTTP означает успешный запрос?
- Почему для HTTPS используется порт 443?
10.1.5. Рекурсивный и итеративный DNS-запрос
Рекурсивный — клиент (или кэширующий резолвер) просит DNS-сервер полностью разрешить имя; сервер сам обходит иерархию. Итеративный — сервер возвращает лучший известный ответ или ссылку на следующий сервер (так работают корневые и TLD). Домашний роутер обычно рекурсивно обращается к DNS провайдера (8.8.8.8, 1.1.1.1).
10.1.6. Кэширование DNS и TTL
Каждая запись имеет TTL (time to live) в секундах. Пока TTL не истёк, резолвер отдаёт кэшированное значение. Низкий TTL (60–300 с) — при смене IP для балансировки; высокий (86400) — стабильные сервисы. После смены IP забыть про старый кэш — ipconfig /flushdns (Windows).
10.1.7. DHCP: опции и резервирование
Помимо IP, маски, шлюза и DNS сервер выдаёт опции: доменное имя (15), NTP-серверы (42), TFTP (66), PXE для сетевой загрузки. Резервирование (reservation) — привязка MAC к фиксированному IP (принтеры, серверы без статики). Lease time — срок аренды; по истечении — renewal (50 %) и rebinding (87,5 %).
10.1.8. HTTP: версии и отличия
| Версия | Особенности |
|---|---|
| HTTP/1.0 | Новое соединение на каждый запрос |
| HTTP/1.1 | Keep-alive, chunked, виртуальные хосты |
| HTTP/2 | Мультиплексирование в одном TCP, сжатие заголовков HPACK |
| HTTP/3 | QUIC/UDP, устойчивость к потерям |
10.1.9. TLS и HTTPS (без детализации криптографии)
После TCP-соединения на порт 443 клиент и сервер согласуют версию TLS, набор шифров и обмениваются сертификатами. Браузер проверяет цепочку доверия до корневого УЦ. SNI — указание имени хоста в ClientHello для нескольких сайтов на одном IP. Ошибки сертификата (просрочен, неверное имя) — блокировка или предупреждение.
10.1.10. Почтовые протоколы в корпоративной сети
SMTP — передача между серверами (порт 25) и отправка с аутентификацией (587 STARTTLS). IMAP — почта хранится на сервере, синхронизация папок. POP3 — загрузка и часто удаление с сервера. Для безопасности: SPF, DKIM, DMARC против подделки отправителя.
Дополнительные вопросы для самопроверки
- Чем рекурсивный DNS-запрос отличается от итеративного?
- Зачем уменьшают TTL перед миграцией сервера на новый IP?
- Почему HTTP/2 не устранил полностью проблему задержек при потерях?