Чтобы понять различия между TCP и UDP, вы должны сначала иметь представление о базовом протоколе IP. Эта статья объяснит, что представляют собой все эти протоколы, разницу между UDP и TCP, и некоторые примеры использования каждого из них..
Протокол IP
Каждому устройству, подключенному к Интернету, назначается уникальный IP-адрес, состоящий из цифр и десятичных знаков. Как и физические адреса улиц, IP-адреса позволяют компьютерам, подключенным к Интернету, находить друг друга и отправлять сообщения туда и обратно, функция под названием «маршрутизация». Без протокола IP у нас не было бы Интернета.
Интернет-протокол работает, разбивая данные на маленькие кусочки, называемые дейтаграммы или пакеты. Затем куски отправляются через Интернет с одного IP-адреса на другой.
В дополнение к самим данным, IP-пакеты содержат информацию о маршрутизации, такую как IP-адрес назначения, куда они направляются. Эта информация называется «заголовок.»
Как только пакет покидает ваше устройство, он отправляется шлюз. Этот шлюз является еще одним компьютером, который может видеть часть IP-адресов в Интернете. Если IP-адрес назначения пакета не тот, который может видеть шлюз, пакет перенаправляется на следующий шлюз по линии. Этот процесс повторяется до тех пор, пока пакет не достигнет шлюза, который распознает IP-адрес назначения как принадлежащий его домен. Этот шлюз пересылает пакет на компьютер, адрес которого указан в заголовке.
Поскольку данные разбиты на пакеты, не обязательно все путешествовать по одному и тому же маршруту через Интернет или даже приходить в порядке.
Каждый раз, когда вы используете Интернет, скорее всего, вы используете протокол IP. Он не зависит от типа данных, которыми обмениваются, поэтому он используется практически для всего, включая текст, изображения, аудио, видео, игры, электронную почту, обмен сообщениями, файлы и многое другое..
Большинство приложений сегодня используют четвертую версию интернет-протокола, известную как IPv4. Возможно, вы также слышали о замене IPv4, IPv6. В настоящее время обе версии работают параллельно, но внедрение IPv6 растет и в конечном итоге полностью заменит IPv4. Причина в том, что в мире не хватает адресов IPv4 – его изобретатели не предвидели распространения Интернета в той степени, в которой оно существует сегодня. IPv6 позволяет использовать гораздо больше IP-адресов, а также некоторые другие технические обновления, которые мы не будем здесь рассматривать..
Смотрите также: IPV6 против IPV4
TCP
TCP пришел раньше UDP. Это означает Протокол управления передачей. Вы часто будете видеть, что это называется TCP / IP, хотя нет разницы между этим и TCP.
Протокол IP разбивает данные на пакеты и отправляет их по Интернету в пункт назначения, но как собрать эти пакеты вместе после их поступления? Вот для чего был изобретен TCP. Как только пакеты достигают своего места назначения, они снова собираются принимающим устройством в исходную форму.
TCP требует, чтобы обе стороны установили связь и отправили данные. TCP гарантирует, что получатель получит пакеты в порядке согласно порядковые номера включен в шапку. Получатель отправит сообщение обратно отправителю для каждого пакета, признавая что они были получены. Все пакеты, не подтвержденные получателем, отправляются снова. Пакеты проверяются на наличие ошибок с помощью контрольная сумма, который также включен в заголовок.
Из-за всей этой обратной связи между клиентом и сервером TCP может надежно гарантировать целостность данных, передаваемых через Интернет. Проще говоря, это может гарантировать, что данные поступают именно так, как они были отправлены без изменений или отсутствующих частей. Это делает TCP полезным для огромного диапазона приложений, и это наиболее часто используемый протокол в Интернете. Каждый раз, когда вы нажимаете на ссылку, загружаете файл в веб-браузер, обновляете приложение или открываете электронное письмо, вероятно, используется TCP.
Тем не менее, вся эта двусторонняя связь замедляет TCP. Если пакет пропадает, вся операция задерживается до повторной отправки. Хотя в реальной жизни это выражается только в миллисекундах, это может повлиять на производительность приложений, которым требуется большая пропускная способность. Введите UDP.
UDP
UDP означает Протокол пользовательских датаграмм. Напомним, что датаграмма и пакет более или менее одно и то же. UDP, также построенный поверх протокола IP, работает аналогично TCP, но проще и быстрее.
Основное отличие состоит в том, что UDP не требует от получателя подтверждения что каждый пакет был получен. Любые пакеты, которые теряются при передаче, не отправляются повторно. Это позволяет компьютерам общаться быстрее, но полученные данные могут не полностью соответствовать отправленным данным..
Пакеты UDP не имеют порядковых номеров, поэтому они могут поступать не по порядку. Тем не менее, они имеют контрольные суммы, поэтому поступающие пакеты защищены от повреждения или модификации при передаче..
По этой причине UDP используется, когда скорость предпочтительнее целостности и исправления ошибок. Некоторые распространенные приложения включают потоковое видео и музыку, прямые трансляции, голосовые и видеозвонки (VoIP) и онлайн-игры. В этих случаях не имеет значения, теряете ли вы случайный видеокадр или нажатие кнопки, что благоприятствует UDP. DNS-трафик обычно обменивается по протоколу UDP.
Смотрите также: Руководство по UDP
OpenVPN через UDP и TCP
Многие популярные приложения VPN, использующие протокол OpenVPN, позволяют пользователям выбирать между протоколами UDP и TCP. Ни один из них не лучше других, и большинство конечных пользователей не заметят большой разницы. Как мы уже упоминали ранее, UDP, как правило, будет предлагать более высокие скорости, но в зависимости от конкретного случая.
В некоторых случаях один или другой может потребоваться для обхода брандмауэра. UDP и TCP могут работать на разных портах, и некоторые брандмауэры могут, например, помещать в черный список обычный порт OpenVPN. Если вы обнаружите, что ваше соединение OpenVPN заблокировано из-за цензуры, попробуйте перейти на другой протокол. TCP вообще лучше для этого.
UDP против TCP
Вот краткий обзор некоторых основных различий между UDP и TCP:
UDP:
- Используется для потокового видео, игр, VoIP, прямых трансляций
- Быстрее и требует меньше ресурсов
- Пакеты не обязательно приходят в порядке
- Позволяет пропустить пакеты; отправитель не может знать, был ли получен пакет
TCP:
- Наиболее широко используемый протокол в интернете
- TCP гарантирует отсутствие пакетов и отправка всех данных получателю
- TCP отправляет пакеты по порядку, чтобы их можно было легко объединять
- Медленнее и требует больше ресурсов
Если вы понимаете следующую шутку, то у вас есть общее представление о различиях между TCP и UDP.
«Breitling Wingwalkers» от Агн Фун, лицензированный по CC BY 2.0
«Многослойность интернета» Jsoon eu, лицензированная по CC BY-SA 3.0
“отправить” на веб-странице или отправляете электронное письмо, вы используете TCP. Однако, из-за всей этой обратной связи, TCP может быть медленнее, чем UDP, особенно при передаче больших объемов данных.
UDP UDP означает протокол пользовательских датаграмм. В отличие от TCP, UDP не требует установления соединения между отправителем и получателем. Вместо этого он просто отправляет датаграммы (пакеты) на указанный IP-адрес и порт. UDP не гарантирует, что пакеты будут доставлены в порядке, в котором они были отправлены, или что они будут доставлены вообще. Он также не предоставляет обратной связи о том, что пакеты были получены.
Таким образом, UDP быстрее, чем TCP, и часто используется для приложений, где скорость более важна, чем точность, например, для потоковой передачи видео или аудио. Он также может использоваться для игр, где быстрый отклик важен.
OpenVPN через UDP и TCP OpenVPN – это программное обеспечение для создания виртуальной частной сети (VPN). Он может использовать как UDP, так и TCP для передачи данных. Обычно UDP используется для OpenVPN, так как он быстрее и лучше подходит для передачи больших объемов данных. Однако, если сеть имеет высокую степень потерь пакетов, TCP может быть более надежным выбором.
UDP против TCP В целом, если вам нужна надежность и точность, используйте TCP. Если вам нужна скорость, используйте UDP. Однако, как всегда, это зависит от конкретного приложения и сетевых условий. Некоторые приложения могут использовать оба протокола в зависимости от ситуации.
В целом, понимание различий между TCP и UDP может помочь вам выбрать правильный протокол для вашего приложения и обеспечить оптимальную производительность и надежность.
ку или отправляете сообщение в Интернете, вы используете TCP. Однако, из-за всей этой обратной связи, TCP может быть медленнее, чем UDP, особенно при передаче больших файлов или потокового видео.
UDP UDP означает протокол пользовательских датаграмм. В отличие от TCP, UDP не требует установления соединения между отправителем и получателем. Вместо этого он просто отправляет датаграммы (пакеты) на указанный IP-адрес и порт. UDP не гарантирует, что пакеты будут доставлены в порядке, в котором они были отправлены, или что они будут доставлены вообще. Он также не предоставляет обратной связи о том, что пакеты были получены.
Таким образом, UDP быстрее, чем TCP, и часто используется для приложений, где скорость передачи данных более важна, чем точность. Например, он может использоваться для потоковой передачи видео или аудио, где небольшие задержки или потери пакетов не будут сильно влиять на качество.
OpenVPN через UDP и TCP OpenVPN – это программное обеспечение для создания виртуальной частной сети (VPN). Он может использовать как UDP, так и TCP для передачи данных. Обычно UDP используется для OpenVPN, так как он быстрее и лучше подходит для передачи потокового видео или аудио. Однако, если сеть имеет высокую степень потерь пакетов, TCP может быть более надежным выбором, так как он гарантирует, что все пакеты будут доставлены.
UDP против TCP В целом, если вам нужна надежность и точность, используйте TCP. Если вам нужна скорость и вы можете позволить себе некоторые потери пакетов, используйте UDP. Однако, как всегда, это зависит от конкретного приложения и сетевых условий.
В целом, понимание различий между TCP и UDP может помочь вам выбрать правильный протокол для вашего приложения и обеспечить оптимальную производительность и надежность.