Надёжная доставка — от идеи к TCP
Задача
IP и Ethernet доставляют пакеты «как получится»: возможны потери, дубликаты, перестановка порядка. Приложениям (HTTP, файлы, SSH) нужен упорядоченный поток байтов без дыр.
Транспортный уровень решает это протоколами вроде TCP. Чтобы понять TCP, полезно пройти учебную лестницу rdt (reliable data transfer) — упрощённые протоколы, где каждый шаг добавляет один механизм.
rdt 1.0 — идеальный канал
Предположение: канал никогда не портит и не теряет биты. Отправитель шлёт, получатель читает — достаточно интерфейса «отправить / принять».
В реальном интернете так не бывает → нужны проверки и повторы.
rdt 2.x — ошибки в канале
Добавляют контрольную сумму (checksum) в заголовок кадра. Получатель пересчитывает сумму; при несовпадении кадр отбрасывает и ждёт повтор.
| Версия | Обратный канал | Поведение при ошибке |
|---|---|---|
| rdt 2.0 | Отдельные ACK / NAK | «Принял» / «Повтори» |
| rdt 2.1 | То же + номера пакетов (0/1) | Дубликаты отбрасывают по номеру |
| rdt 2.2 | Только ACK с номером ожидаемого пакета | NAK заменён на «ACK последнего верного» |
Идея скользящего окна из одного бита (alternating bit) живёт в TCP как нумерация байтов, только масштаб больше.
rdt 3.0 — потери и таймаут
Кадр или ACK могут пропасть. Отправитель запускает таймер; по истечении — повторная передача того же пакета. Получатель по номеру отличает дубликат от нового.
Таймаут + ACK — ядро надёжности TCP (оценка RTT — в 421).
Go-Back-N (GBN)
Когда задержка велика, ждать ACK на каждый пакет медленно. Конвейеризация — в полёте несколько пакетов сразу.
Go-Back-N: окно из N пакетов; при потере одного получатель отбрасывает всё «вперёд», отправитель откатывается и шлёт заново с потерянного. Просто реализовать, но неэффективно на каналах с высокой задержкой.
Selective Repeat (SR)
Selective Repeat: получатель буферизует пришедшие вне порядка сегменты и ACK-ит каждый по отдельности. Отправитель повторяет только потерянные, а не всё окно.
TCP ближе к SR, чем к GBN: подтверждения с номером байта, выборочные повторы при тройных дублирующих ACK (fast retransmit в реализациях Reno).
Мост к TCP
| Учебный элемент | В TCP |
|---|---|
| Номер пакета 0/1 | Sequence number байтов в потоке |
| ACK | Acknowledgment number |
| Таймаут | RTO, повтор сегмента |
| Окно N | Окно приёма + cwnd (перегрузка) |
| GBN / SR | Выборочные повторы, буфер приёмника |
Практика соединения, slow start и BDP — 421. Сравнение с UDP без надёжности — 4.
На собеседовании и в RFC часто ссылаются на «надёжную доставку поверх ненадёжного сервиса». Эта статья даёт словарь; реализацией занимаются стек ОС и ядро — разработчику чаще нужны симптомы в DevTools и Wireshark, а не ручная сборка rdt.
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Сеть и интернет - базовые принципы работы, уровни сетей (PAN/LAN/WAN) и общая логика обмена данными между устройствами. HTTPS (HTTP Secure) — это защищённая версия протокола HTTP. Данные передаются через зашифрованный канал. Это предотвращает перехват информации злоумышленниками. История сетевых технологий - этапы развития инфраструктуры передачи данных от ранних сетей к современному интернету. Сетевые устройства - назначение маршрутизаторов, коммутаторов и модемов в построении и поддержке сетевой инфраструктуры. Как устроен интернет, как соединены устройства в глобальной сети. Топология и маршрутизация данных. Настройка домашнего роутера - базовая конфигурация, параметры безопасности и оптимизация соединения для стабильной работы сети. Что такое CDN, почему сайты, расположенные в другой части планеты, грузятся так быстро. URL, URI и URN - различия идентификаторов ресурсов, структура адреса и роль path/query/fragment в веб-навигации. Модели OSI и TCP/IP, TCP/UDP, HTTP/HTTPS, порты и WebSocket — как устройства договариваются о формате обмена и устанавливают соединение. Основы IP-адресации - типы диапазонов, служебные адреса и назначение ключевых префиксов в IPv4/IPv6-сетях. CORS и политика одинакового источника - зачем нужны междоменные ограничения и как безопасно разрешать доступ между веб-ресурсами. Трёхстороннее рукопожатие, надёжная доставка, управление потоком и перегрузкой TCP — как протокол согласует скорость с сетью.Сеть и интернет - основы и принципы работы
HTTP и HTTPS
История развития сетевых технологий
Сетевые устройства - маршрутизаторы, коммутаторы, модемы
Архитектура глобальной сети
Настройка домашнего роутера
Глобальная доставка контента - CDN и кэширование
URL URI URN
Сетевые протоколы, порты и установка соединения
Основы IP-адресации
CORS - механизм междоменных запросов
TCP — соединение, окно и перегрузка