Alterna · учебный материал
Сетевые протоколы
Глава 6: сетевые протоколы — TCP, UDP, HTTP, FTP, SMTP, SSH. Модель TCP/IP, прикладные протоколы, HTTP-методы и коды. Интерактивные тренажёры для ЕГЭ.
Что в этом материале
- Модель TCP/IP: четыре уровня
- Матрёшка инкапсуляции
- TCP и UDP: два характера доставки
- Рукопожатие TCP
- Прикладные протоколы
- Собери HTTP-запрос
- Исследователь протоколов
- Порты: адреса внутри компьютера
- Определи протокол по порту
- Модель OSI: семь уровней
Содержание и основные понятия
← Вернуться к оглавлению
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
:
Клиент → сервер:
SYN
(«хочу соединиться»)
Сервер → клиент:
SYN+ACK
(«согласен, подтверждаю»)
Клиент → сервер:
ACK
(«принято, начинаем»)
Где используется TCP
Веб (HTTP/HTTPS), электронная почта (SMTP, IMAP), передача файлов (FTP), удалённый доступ (SSH) — везде, где важна
точность
.
UDP — User Datagram Protocol
Без соединения
: датаграммы отправляются «как получится». Нет подтверждений, нет порядка, нет повторных отправок. Зато
быстро
и
мало накладных расходов
.
Где используется UDP
Видеозвонки, онлайн-игры, DNS-запросы, стриминг — везде, где
скорость важнее
идеальной точности. Потерянный кадр видео — не катастрофа.
Свойство
TCP
UDP
Соединение
Да (handshake)
Нет
Гарантия доставки
Да (ACK + retry)
Нет
Порядок данных
Сохраняется
Не гарантирован
Скорость
Медленнее
Быстрее
Накладные расходы
Большие (заголовки 20+ байт)
Минимальные (8 байт)
Примеры
HTTP, FTP, SMTP, SSH
DNS, 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
Частично обновить
Изменить одно поле
Ответ сервера содержит
код состояния
:
Код
Значение
Пример
200
OK — успех
Страница загружена
301
Перенаправлено навсегда
Старый URL → новый
404
Не найдено
Страница удалена
403
Запрещено
Нет прав доступа
500
Ошибка сервера
Сбой в коде
HTTPS = HTTP + TLS
HTTPS шифрует трафик. Без HTTPS — ваш пароль, банковская карта и переписка летят
открытым текстом
. Всегда проверяйте
🔒
в адресной строке!
FTP — передача файлов
FTP
(File Transfer Protocol) — протокол для загрузки и скачивания файлов. Использует два соединения:
командное
(порт 21) и
данные
(порт 20).
SMTP, POP3, IMAP — электронная почта
Протокол
Порт
Назначение
SMTP
25 / 587
Отправка
почты (клиент → сервер → сервер)
POP3
110
Скачать
почту на устройство (удаляет с сервера)
IMAP
143
Синхронизация
почты (остаётся на сервере)
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 — быстро без гарантий. Используют
порты
для различения пр