TCP и UDP: краткий обзор
Сравните надёжный TCP на основе соединения с быстрым и лёгким UDP
«TCP и UDP: краткий обзор» — бесплатный урок Cloud & IT Cert Prep на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cloud & IT Cert Prep, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cloud & IT Cert Prep содержит 4 уроков всего.
Два транспортных протокола
На транспортном уровне большую часть интернет-трафика передают два протокола: TCP (протокол управления передачей) и UDP (протокол пользовательских датаграмм).
Оба передают данные между приложениями, но по-разному сочетают надёжность и скорость. Знание того, когда используется каждый из них, — важная часть знаний для Network+.
TCP ориентирован на соединение
TCP ориентирован на соединение: перед передачей данных он устанавливает соединение, убеждаясь, что обе стороны готовы. Он гарантирует, что данные поступят полностью и в правильном порядке.
Если сегмент потерян, TCP обнаруживает пропуск и передаёт его повторно. Благодаря этой надёжности TCP выбирают для веб-страниц, электронной почты и передачи файлов, где важен каждый байт.
Трёхстороннее рукопожатие
TCP начинает соединение с помощью трёхстороннего рукопожатия: SYN, SYN-ACK, ACK. Клиент отправляет SYN, сервер отвечает SYN-ACK, а клиент подтверждает получение сообщением ACK.
Данные начинают передаваться только после этого обмена. Рукопожатие синхронизирует обе стороны и является классической темой экзамена — запомните три шага по порядку.
Client -> SYN
Server -> SYN-ACK
Client -> ACKUDP не устанавливает соединение
UDP не устанавливает соединение: он немедленно отправляет данные без рукопожатия и без гарантии доставки или порядка. Он просто направляет к месту назначения пакеты, называемые дейтаграммами.
Это делает UDP быстрым и лёгким, но приложение должно самостоятельно обрабатывать потерянные или пришедшие не по порядку данные, если это важно.
Надёжность и скорость
Основной компромисс очевиден: TCP повышает надёжность с помощью подтверждений и повторной передачи, что требует времени и дополнительных ресурсов. UDP отказывается от всего этого ради максимальной скорости.
- TCP: надёжный, упорядоченный, более медленный.
- UDP: быстрый, лёгкий, с доставкой по возможности.
Выбирайте протокол в зависимости от того, что важнее: точность или скорость.
Когда TCP предпочтительнее
Используйте TCP, когда каждый байт должен поступить правильно. Просмотр веб-страниц (HTTP/HTTPS), электронная почта (SMTP) и передача файлов (FTP) используют TCP.
Потеря части веб-страницы или файла повредила бы его, поэтому плата за надёжность TCP вполне оправданна. По объёму большая часть интернет-трафика использует TCP.
Когда UDP предпочтительнее
Используйте UDP, когда скорость и малая задержка важнее идеальной доставки. Для голосовых и видеозвонков в реальном времени, онлайн-игр и потоковой передачи часто используется UDP.
Во время видеозвонка пропуск слегка потерянного кадра лучше, чем пауза для его повторной передачи. Запросы DNS также используют UDP благодаря быстрым и небольшим сообщениям.
Управление потоком и окна
TCP включает управление потоком, чтобы не перегружать получателя, и использует скользящее окно, которое регулирует объём данных, находящихся в передаче до получения подтверждения.
Он также выполняет управление перегрузкой, замедляя передачу при высокой загрузке сети. В UDP ничего этого нет: регулирование скорости полностью возлагается на приложение.
Заголовки и дополнительные расходы
Заголовок TCP больше (минимум 20 байт), поскольку содержит порядковые номера, подтверждения и флаги. Заголовок UDP занимает всего 8 байт и содержит только порты источника и назначения, а также длину.
Меньший заголовок UDP означает меньшие дополнительные расходы на каждый пакет, что обеспечивает ему преимущество в скорости при потоковом трафике большого объёма в реальном времени.
Выбор между ними
Чтобы принять решение, спросите себя: требуется ли приложению гарантированная доставка в правильном порядке? Если да, выбирайте TCP. Если для него важнее скорость и оно допускает некоторые потери, выбирайте UDP.
Многие протоколы делают этот выбор осознанно: DNS использует UDP для быстрых запросов, но переключается на TCP для больших передач. Понимание компромисса объясняет такие проектные решения.
TCP и UDP вместе
Оба протокола используют номера портов, чтобы направлять трафик нужному приложению; этому посвящён следующий урок. Схема адресации у них общая, но гарантии доставки различаются.
Понимание различий между TCP и UDP — основа для изучения конкретных протоколов и портов, которые рассматриваются далее в курсе.
Быстрая проверка
Сопоставьте протокол с соответствующей потребностью.
Повторение
Вы сравнили TCP и UDP.
- TCP: с установлением соединения, надёжный, сохраняет порядок; использует рукопожатие SYN/SYN-ACK/ACK.
- UDP: без установления соединения, быстрый, доставляет данные без гарантий, без рукопожатия.
- TCP подходит для веб-соединений, электронной почты и передачи файлов; UDP — для голосовой связи, видео, игр и запросов DNS.
- TCP обеспечивает управление потоком и перегрузкой; UDP оставляет это приложению.
- Оба протокола используют номера портов для обращения к приложениям.
Часто задаваемые вопросы
Урок «TCP и UDP: краткий обзор» бесплатный?
Да — полный текст урока «TCP и UDP: краткий обзор» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cloud & IT Cert Prep, подпишись на CoddyKit PRO. Курс Cloud & IT Cert Prep содержит 4 уроков всего.
Чему я научусь в уроке «TCP и UDP: краткий обзор»?
Сравните надёжный TCP на основе соединения с быстрым и лёгким UDP Ты практикуешь Cloud & IT Cert Prep с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cloud & IT Cert Prep?
Предыдущий опыт не требуется. Cloud & IT Cert Prep на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «TCP и UDP: краткий обзор»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cloud & IT Cert Prep?
Да. Каждый урок Cloud & IT Cert Prep включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- TCP и UDP: краткий обзор
- Для чего нужны номера портов
- Протоколы веб-доступа и передачи файлов
- Протоколы удалённого доступа и почты