TCP и UDP: надёжный против быстрого
Как TCP гарантирует доставку, почему UDP — нет, и когда нужен каждый из них.
IP доставляет пакеты «как получится»: они могут потеряться, продублироваться или прийти не по порядку. Приложениям это обычно не подходит. TCP добавляет надёжность поверх IP, а UDP сознательно её не добавляет.
Соединение закрыто. Пока ничего не подключено.
- Пакетов отправлено
- 0
- Повторов
- 0
- Статус
- Ещё не установлено
Прежде чем пойдут данные, TCP выполняет трёхстороннее рукопожатие: клиент шлёт SYN, сервер отвечает SYN-ACK, клиент подтверждает через ACK. Только после этого обе стороны знают, что соединение установлено.
UDP вообще обходится без рукопожатия. Он быстрее и требует меньше накладных расходов — поэтому на нём работают видеозвонки, игры и DNS. Потерять один пакет допустимо, а ждать повторной отправки — нет.
Практика
Расставь шаги трёхстороннего рукопожатия в правильном порядке.
Подсказки
- Начни с того, кто инициирует соединение.
- ACK всегда отвечает на предыдущий шаг.
10 XP
В видеозвонке потерялся один кадр. Какой протокол уместнее и почему?
Подсказки
- Подумай, что происходит при потере пакета.
- TCP жертвует скоростью ради надёжности.
12 XP
Первый SYN потерян. Заверши рукопожатие, правильно повторив попытку.
Подсказки
- Таймер истёк, ответа не пришло.
- Клиент повторяет SYN с тем же sequence number.
18 XP