Отличия TCP и UDP протоколов

VPN с каким протоколом вам более подойдёт?

Протокол – это набор правил, определяющий, как узлы сети должны передавать данные друг другу. Вы скорее всего слышали про высокоуровневые протоколы – HTTP, SSH, IMAP, DHCP.

В сфере телекоммуникаций огромное количество протоколов, каждый из которых решает какую-то свою задачу. Из-за того, что их много, есть даже специальные модели, определяющие «уровни протоколов». Если представить, что ваше сообщение, – это конфета, то протоколы в каком-то плане играют роль обёрток для этой конфеты.

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

Первым делом плитку шоколада запакуют в обёртку. Затем всё это положат в брендированный пакет. После этого, кто-нибудь в отделе доставки увидит, что это шоколадка – подарок, а потому пакет дополнительно украсят, дабы всё выглядело подобающе. Наконец, фабрика передаст пакет с подарком почтовой компании.

Почтовая компания же, получив пакет, запакует его в коробку и напишет на ней адрес вашего друга. Наконец, они погрузят всё это в грузовик и отправят в точку выдачи.

Когда грузовик приедет в точку выдачи, процесс пойдёт в обратную сторону: сперва выгрузят, потом проверят адрес получателя, распакуют коробку и так далее.

Весь этот процесс оборачивания-разворачивания шоколадки – ровно то, как работают протоколы в Интернете. Итак, что же выбрать?

Протоколы транспортного уровня TCP и UDP держат на себе весь интернет. Оба они являются частью набора протоколов TCP/IP и предназначены для доставки.

TCP (Transmission Control Protocol) - протокол сквозной связи, созданный в 1974 году и до сих пор востребованный в мире. Только вдумайтесь, почти 50 лет прошло, везде мобильный интернет и беспроводные сети, а TCP остаётся неизменным. Перед тем, как начинать передачу данных, используется протокол рукопожатия для установления соединения, и лишь затем начинается передача пакетов. Надёжность протокола объясняется тем, что он не теряет пакеты информации во время передачи, отправляя запрос на подтверждение получения. Если требуется, данные будут отправлены повторно. Из недостатков протокола можно выделить низкую скорость работы протокола. Это объясняется сложностью обеспечения надёжной передачи данных с упорядочиванием пакетов.

UDP (User Datagram Protocol) создан в 1980 году. Это более простой протокол, который не требует установки соединения между хостами для передачи данных. Пакеты отправляются сразу, без проверки клиента на предмет готовности принимать данные. Из-за такого подхода протокол менее надёжен - пакеты легко могут потеряться. А ещё отсутствует порядок отправки пакетов с данными, из-за чего получатель принимает неупорядоченную информацию. Зато передача данных происходит намного быстрее, если сравнивать с TCP.

 

Протокол TCP гарантирует доставку, а также обеспечивает целостность данных, передаваемых в сети. Поэтому он применяется для передачи данных, которые чувствительны к нарушению целостности, — например, текстов, файлов и т.п. TCP используется при передаче данных в таких протоколах, как HTTP, Telnet, FTP, SMTP. При использовании протокола нужно учесть, что при увеличении потери пакетов время, затрачиваемое на доставку файла, увеличивается.

Если нам очень важна скорость передачи, а вот потеря пакетов не так критична (как, например, в голосовом или видеотрафике), то лучше использовать UDP, или User Datagram Protocol. В отличие от TCP он обеспечивает передачу данных без получения подтверждения от пользователя. Проще говоря, просто отправляет пакеты и не ждет ничего в ответ. Из-за этого достигается высокая скорость в ущерб надежности. Чаще всего UDP применяется в чувствительных ко времени службах, где потерять пакеты лучше, чем ждать. Звонки в Skype или Google Meet, стриминг видео, онлайн-трансляции используют этот протокол из-за того, что они чувствительны ко времени и рассчитаны на определенный уровень потерь. Вся голосовая связь через интернет работает по протоколу UDP. Также UDP очень часто используется в онлайн-играх. Аналогичная история с DNS-серверами, поскольку они должны быть быстрыми и эффективными.

Так проще для понимания

 

Если подытожить, в чём разница между TCP и UDP, то можно сказать следующее: протокол TCP нужен в ситуациях, когда требуется точная передача данных с подтверждением получения. Это может быть отправка медиаконтента, обычная интернет-переписка. UDP подойдёт для передачи голосовых сообщений и потокового видео с IP-камер, например. Каждый протокол полезен и нужен, они отлично дополняют друг друга. Просто TCP больше подходит для длительных сеансов, а UDP - для коротких сеансов.

109 4
2 1
Login to post comments
sasha sofyin@1581410412/22/2023, 12:48 am

Я знаю неплохой анекдот про UDP, но не факт, что он до вас дойдёт.
Я знаю неплохой анекдот про TCP, но если он до вас не дойдёт, то я повторю

bb33@1645490912/22/2023, 12:27 am