← Вернуться к оглавлению
Alterna · глава 6 · страница 6.1

Сетевые протоколы

Протокол — это язык, на котором компьютеры договариваются об обмене данными. Без протоколов сеть — набор проводов без смысла.

В главе 4 вы узнали, что данные в сети разбиваются на пакеты и путешествуют по стеку TCP/IP. Теперь разберём каждый уровень подробнее.

Протоколы определяют: как установить соединение, как гарантировать доставку, как отправить письмо или загрузить файл.

ФГОС · базовый ЕГЭ · задание 13
01

Модель TCP/IP: четыре уровня

Каждый уровень решает свою задачу и использует протоколы следующего

ФГОСЕГЭ 13

Зачем нужны уровни?

Когда вы открываете https://alterna-edu.ru, происходит множество процессов. Модель TCP/IP делит их на 4 уровня, чтобы каждый отвечал за одну задачу:

УровеньЗадачаПротоколыЕдиница данных
ПрикладнойФормат данных для пользователяHTTP, FTP, SMTP, DNS, SSHСообщение
ТранспортныйДоставка между процессамиTCP, UDPСегмент
МежсетевойМаршрутизация между сетямиIP, ICMP, ARPПакет
КанальныйПередача в локальной сетиEthernet, Wi-FiКадр (frame)
Аналогия Отправка посылки: прикладной — вы пишете письмо; транспортный — регистрируете заказное (гарантия доставки); межсетевой — указываете адрес на конверте; канальный — курьер везёт между зданиями.

Инкапсуляция

При отправке каждый уровень добавляет свой заголовок к данным:

Данные TCP + Данные IP + TCP + Данные ETH + IP + TCP + Данные Прикладной Транспортный Межсетевой Канальный Отправка: заголовки добавляются ↓ Получение: заголовки снимаются ↑ ETH IP TCP HTTP-данные (GET /index.html) ← полный кадр в кабеле →
Рис. 1. Инкапсуляция: каждый уровень добавляет свой заголовок (как матрёшка)
🪆

Матрёшка инкапсуляции

наведите на уровень · какие заголовки добавляются
интерактив

Данные проходят через 4 уровня. На каждом — свой заголовок. Наведите на уровень, чтобы увидеть реальные поля.

L4 Кадр Ethernet
MAC-источник: AA:BB:CC:11:22:33
MAC-получатель: DD:EE:FF:44:55:66
EtherType: 0x0800 (IPv4)
FCS: контрольная сумма кадра
L3 Пакет IP
IP-источник: 192.168.1.10
IP-получатель: 93.184.216.34
TTL: 64 (макс. хопов)
Протокол: 6 (TCP)
L2 Сегмент TCP
Порт-источник: 49152 (динамический)
Порт-получатель: 80 (HTTP)
Seq: 1001 (номер байта)
ACK: 2001 (подтверждение)
Флаги: SYN, ACK, FIN
L1 HTTP-данные
Запрос: GET /index.html HTTP/1.1
Host: alterna-edu.ru
User-Agent: Mozilla/5.0
Наведите на уровень — увидите реальные поля заголовков.
02

TCP и UDP: два характера доставки

TCP — надёжный и медленный; UDP — быстрый и «без гарантий»

ФГОСЕГЭ 13

TCP — Transmission Control Protocol

Гарантированная доставка: каждый сегмент подтверждается. Если пакет потерян — отправляется снова. Данные приходят в порядке отправки.

Перед передачей TCP устанавливает соединение — three-way handshake:

  1. Клиент → сервер: SYN («хочу соединиться»)
  2. Сервер → клиент: SYN+ACK («согласен, подтверждаю»)
  3. Клиент → сервер: ACK («принято, начинаем»)
Где используется TCP Веб (HTTP/HTTPS), электронная почта (SMTP, IMAP), передача файлов (FTP), удалённый доступ (SSH) — везде, где важна точность.

UDP — User Datagram Protocol

Без соединения: датаграммы отправляются «как получится». Нет подтверждений, нет порядка, нет повторных отправок. Зато быстро и мало накладных расходов.

Где используется UDP Видеозвонки, онлайн-игры, DNS-запросы, стриминг — везде, где скорость важнее идеальной точности. Потерянный кадр видео — не катастрофа.
СвойствоTCPUDP
СоединениеДа (handshake)Нет
Гарантия доставкиДа (ACK + retry)Нет
Порядок данныхСохраняетсяНе гарантирован
СкоростьМедленнееБыстрее
Накладные расходыБольшие (заголовки 20+ байт)Минимальные (8 байт)
ПримерыHTTP, FTP, SMTP, SSHDNS, VoIP, игры, стриминг
🤝

Рукопожатие TCP

пошаговая анимация · three-way handshake
интерактив

Нажимайте «Шаг» или «Авто», чтобы увидеть, как клиент и сервер устанавливают TCP-соединение.

SYN (seq=x)
Клиент отправляет SYN-пакет с начальным номером последовательности. «Хочу соединиться!»
SYN+ACK (seq=y, ack=x+1)
Сервер отвечает: «Согласен! Вот мой номер. Подтверждаю твой.»
ACK (ack=y+1)
Клиент подтверждает: «Принято!» Соединение установлено. Можно передавать данные.
DATA + ACK
Данные передаются. Каждый сегмент подтверждается. При потере — повторная отправка.
Нажмите «Шаг» для начала рукопожатия.
03

Прикладные протоколы

Протоколы, с которыми вы сталкиваетесь каждый день

ФГОСЕГЭ 13

HTTP / HTTPS — веб

HTTP (HyperText Transfer Protocol) — основа веба. Браузер отправляет запрос, сервер возвращает ответ.

Запрос содержит метод (что сделать) и URL (к какому ресурсу):

МетодНазначениеПример
GETПолучить ресурсОткрыть страницу
POSTОтправить данныеЗаполнить форму
PUTЗаменить ресурсОбновить профиль
DELETEУдалить ресурсУдалить комментарий
PATCHЧастично обновитьИзменить одно поле

Ответ сервера содержит код состояния:

КодЗначениеПример
200OK — успехСтраница загружена
301Перенаправлено навсегдаСтарый URL → новый
404Не найденоСтраница удалена
403ЗапрещеноНет прав доступа
500Ошибка сервераСбой в коде
HTTPS = HTTP + TLS HTTPS шифрует трафик. Без HTTPS — ваш пароль, банковская карта и переписка летят открытым текстом. Всегда проверяйте 🔒 в адресной строке!

FTP — передача файлов

FTP (File Transfer Protocol) — протокол для загрузки и скачивания файлов. Использует два соединения: командное (порт 21) и данные (порт 20).

SMTP, POP3, IMAP — электронная почта

ПротоколПортНазначение
SMTP25 / 587Отправка почты (клиент → сервер → сервер)
POP3110Скачать почту на устройство (удаляет с сервера)
IMAP143Синхронизация почты (остаётся на сервере)

SSH — безопасный доступ

SSH (Secure Shell, порт 22) — шифрованный удалённый доступ к командной строке сервера. Заменил небезопасный Telnet (порт 23, без шифрования).

DNS — телефонная книга Интернета

DNS (Domain Name System, порт 53) преобразует доменные имена в IP-адреса. Подробно — на странице 6.2.

📝

Собери HTTP-запрос

drag-and-drop · собери запрос в правильном порядке
интерактив

Перетащите фрагменты HTTP-запроса в правильном порядке. Первая строка — метод и путь, затем заголовки, пустая строка, тело.

GET /index.html HTTP/1.1
Host: alterna-edu.ru
User-Agent: Mozilla/5.0
Accept: text/html
 
1Первая строка (метод + путь)
2Заголовок Host
3Заголовок User-Agent
4Заголовок Accept
5Пустая строка (конец заголовков)
Связь с главой 8 В главе 8 «Веб-разработка» ты научишься использовать fetch() в JavaScript для отправки HTTP-запросов из кода. Всё, что ты узнал о протоколах здесь — работает под капотом каждого fetch(). Перейти к JavaScript →
🔌

Исследователь протоколов

нажмите на уровень · детали и примеры
интерактив

Нажимайте на уровни стека, чтобы узнать, какие протоколы на них работают.

Прикладной уровень
HTTP · HTTPS · FTP · SMTP · DNS · SSH · IMAP · POP3
Протоколы для конкретных задач: веб, почта, файлы, удалённый доступ. Работают с данными пользователя. Порты: HTTP=80, HTTPS=443, FTP=21, SMTP=25, DNS=53, SSH=22.
Транспортный уровень
TCP · UDP
Доставка данных между процессами. TCP — надёжно с подтверждениями. UDP — быстро без гарантий. Используют порты для различения приложений (80 — веб, 53 — DNS).
Межсетевой уровень
IP · ICMP · ARP
IP-адресация и маршрутизация между сетями. IP доставляет пакеты от источника к получателю. ICMP — диагностика (ping). ARP — определение MAC-адреса по IP.
Канальный уровень
Ethernet · Wi-Fi (802.11) · PPP
Передача кадров в локальной сети. Ethernet — по кабелю (MAC-адреса). Wi-Fi — по радиоканалу. MAC-адрес — «паспорт» сетевой карты (48 бит, уникален).
Нажмите на уровень стека для подробностей.
04

Порты: адреса внутри компьютера

IP указывает компьютер, порт — программу на нём

ФГОСЕГЭ 13

Зачем нужны порты?

На сервере одновременно работают веб-сервер, почта, DNS. IP-адрес доставляет пакет к компьютеру, а порт (число 0–65535) — к нужной программе.

Аналогия IP-адрес — это адрес здания. Порт — номер квартиры. Письмо (пакет) приходит в здание (IP), а курьер (TCP/UDP) относит его в нужную квартиру (порт).

Диапазоны портов

ДиапазонТипПримеры
0–1023Well-known (системные)80 (HTTP), 443 (HTTPS), 22 (SSH), 53 (DNS), 25 (SMTP)
1024–49151Registered (зарегистрированные)3306 (MySQL), 5432 (PostgreSQL), 8080 (альт. HTTP)
49152–65535Dynamic (динамические)Временные порты клиентов
Запомните для ЕГЭ HTTP → 80, HTTPS → 443, FTP → 21, SMTP → 25, DNS → 53, SSH → 22.
🔢

Определи протокол по порту

15 вопросов · выбери правильный протокол
интерактив

Каждый протокол использует свой номер порта. Сможешь определить, какой протокол скрывается за числом?

05

Модель OSI: семь уровней

Теоретическая эталонная модель (на практике используют TCP/IP)

ФОП · углублённый

Зачем OSI, если есть TCP/IP?

OSI (Open Systems Interconnection) — теоретическая модель из 7 уровней, созданная для обучения. На практике работает TCP/IP (4 уровня), но OSI помогает разобраться в деталях.

Уровень OSIФункцияПротоколы≈ TCP/IP
7. ПрикладнойИнтерфейс для приложенийHTTP, FTP, SMTP, DNSПрикладной
6. ПредставленияКодирование, шифрованиеSSL/TLS, JPEG, ASCII
5. СеансовыйУправление сессиейRPC, NetBIOS
4. ТранспортныйНадёжная доставкаTCP, UDPТранспортный
3. СетевойМаршрутизацияIP, ICMPМежсетевой
2. КанальныйКадры, MAC-адресаEthernet, Wi-FiКанальный
1. ФизическийСигналы, кабелиUSB, RJ-45, оптикаКанальный
Мнемоника Для запоминания уровней OSI сверху вниз: «Прикладной Представления Сеансовый Транспортный Сетевой Канальный Физический» — «Программист Пишет Стихи Так Складно Красиво Фантастически».