OpenVPN TCP против UDP

Carding 4 Carders

Professional
Messages
2,731
Reputation
13
Reaction score
1,369
Points
113
Если вы ищете услуги VPN, есть большая вероятность, что вы заметили, что OpenVPN - это протокол, который предлагает практически каждый провайдер. И это не удивительно.
OpenVPN безопасен и надежен. Это решение с открытым исходным кодом, что означает, что базовый код доступен в любое время для проверки специалистами по безопасности (что они регулярно делают).
Это также протокол, который предлагает широкую кросс-платформенную поддержку (он доступен практически для любого устройства), и, как правило, его легко настроить и с ним работать.
OpenVPN может использовать стандарты связи TCP (протокол управления передачей) и UDP (протокол пользовательских дейтаграмм). Большинство провайдеров VPN позволяют выбирать между ними. Но мало кто объясняет разницу между OpenVPN TCP и UDP и какие-либо преимущества одного из них перед другим.
Функция обоих стандартов - разбивать ваши данные на небольшие передаваемые пакеты. Однако дьявол кроется в деталях. То, как они это делают, совсем другое.
Ваш выбор TCP или UDP может реально повлиять на то, насколько хорошо VPN работает в вашей конкретной среде и для ваших конкретных потребностей. Хорошая идея - иметь хотя бы общее представление о двух технологиях.
Чтобы помочь, вот краткое изложение всего, что вам нужно знать о TCP, UDP, о том, как они работают с пакетами данных, и что вы должны выбрать, чтобы получить максимальную отдачу от соединения OpenVPN VPN.

Что такое пакеты данных​

Прежде чем мы углубимся в различия между TCP и UDP, полезно иметь общее представление о том, как данные передаются через Интернет. В конце концов, это тот уровень, на котором два стандарта действуют по-разному.
Когда ваше устройство отправляет данные по любой сети, включая Интернет, первым шагом в процессе является разделение этой информации на небольшие управляемые части. Они называются пакетами данных.
Каждый пакет будет содержать как минимум следующее:
  • IP-адрес источника (откуда приходит пакет)
  • IP-адрес назначения (куда отправляется пакет)
  • Флаги (различные флаги конфигурации, определяющие такие вещи, как приоритет)
  • Тип данных (электронная почта, содержимое веб-сайта, потоковое видео и т.д.)
  • Полезная нагрузка (фактическая информация, которую вы отправляете)
  • Трейлер (данные для отображения конца пакета)
Независимо от того, насколько велики общие данные, типичный размер пакета будет составлять от 1000 до 1500 байтов (от 1/1000 до 1/666 мегабайта).
Разделение больших объемов информации на мелкие части - вот что делает общение в Интернете надежным. Это помогает в управлении трафиком и позволяет различным частям ваших данных использовать разные сетевые пути, чтобы избежать таких вещей, как перегрузка сети.

Объяснение TCP​

TCP, или протокол управления передачей, безусловно, является наиболее часто используемым протоколом в Интернете. Его корни уходят корнями в 1983 год.
Причина, по которой TCP имеет такую стойкость, - это его надежность. Он имеет встроенный механизм исправления ошибок.
Исправление ошибок - главное отличие TCP от UDP. В Интернете, где условия сети сильно различаются от региона к региону и могут измениться в мгновение ока, это действительно удобная функция.

Исправление ошибок TCP​

В основе исправления ошибок TCP лежит номер пакета. К каждому отправленному пакету прикреплен уникальный и последовательный идентификатор.
Приемник требует, чтобы данные поступали в правильном порядке. Всякий раз, когда он получает ожидаемый фрагмент данных, он отправляет быстрое сообщение обратно отправителю, подтверждая этот факт.
Если получатель видит что-то, чего не хочет или не понимает, он просто сидит тихо, ожидая прибытия следующего пакета.
Порядковый номер позволяет протоколу TCP решать следующие проблемы:
  • Дублирование данных - благодаря магии сетей получатель может получить один и тот же пакет дважды, даже если он был отправлен только один раз. Порядковый номер позволяет получателю игнорировать любые данные, которые он уже обработал.
  • Потеря данных - Интернет-пакеты данных постоянно пропадают. Фактически, потеря данных в 1% считается вполне разумной. Когда получатель не получает пакет, он не может подтвердить его прибытие отправителю. Если через короткое время после пересылки данных отправитель не видит подтверждения, он просто повторно отправит ту же информацию. Таким образом, каждый пакет гарантированно (в конечном итоге) попадет туда, куда направляется.
  • Последовательность данных - пакеты данных также часто приходят не по порядку. Наличие порядкового номера, прикрепленного к каждому, позволяет получателю собирать вещи в правильном порядке.
В дополнение к порядковому номеру каждый пакет TCP также содержит контрольную сумму. Это механизм, который помогает получателю выяснить, не были ли данные каким-либо образом повреждены в процессе.
Если данные были повреждены, как и в случае с отсутствующим пакетом, получатель просто не отправит подтверждение и не будет ждать повторной отправки (в надежде, что повторная отправка будет правильной).
Все эти встроенные механизмы обработки ошибок делают TCP очень подходящим для задачи передачи данных в том, что, несмотря на внешний вид, на самом деле является довольно ненадежным и подверженным ошибкам Интернетом.

Плюсы использования TCP с OpenVPN​

Настройка вашего VPN-соединения для использования OpenVPN через TCP дает вам следующие преимущества:
  • Высокая надежность - TCP включает исправление ошибок и гарантирует доставку всех пакетов данных в порядке. Благодаря этим функциям он хорошо работает с шифрованием, где отсутствующие пакеты могут создать хаос и значительно замедлить соединение. Поскольку VPN шифруют данные, это идеально подходит.
  • Высокая совместимость - TCP - наиболее широко используемый протокол в Интернете. Это означает, что большинство сетей и брандмауэров прекрасно с ним работают, обеспечивая широкую совместимость. Даже в очень контролируемых сетях порты 53 (DNS), 80 (HTTP) и 443 (HTTPS) обычно остаются открытыми, чтобы обеспечить нормальный интернет-трафик.

Минусы использования OpenVPN с TCP​

При всей надежности протокола TCP есть несколько недостатков. В зависимости от того, для чего вы используете свое VPN-соединение, это может заставить вас отказаться от этой конфигурации OpenVPN.
  • Высокие накладные расходы. Механизм исправления ошибок протокола TCP достигается за счет скорости. Для каждого отправляемого пакета отправитель должен увидеть подтверждение от получателя, прежде чем он сможет пересылать дополнительные данные. Это создает значительные накладные расходы и задержку в VPN-подключении.
  • Задержка - если вы используете несколько нестабильное интернет-соединение, TCP будет повторно передавать отброшенные пакеты данных, создавая задержку. Для большинства статических данных (веб-сайты, загрузка файлов и т.д.) Это приемлемо и предпочтительно. Но для чувствительных ко времени приложений, таких как VoIP, потоковое видео или аудио, или игры, гораздо лучше пропустить недостающие данные и просто продолжить.

Победа над цензурой с помощью OpenVPN через TCP​

Использование VPN, настроенной для запуска OpenVPN через TCP, имеет одно дополнительное преимущество, которое некоторые из нас могут найти очень полезным.
Некоторым правительствам нравится вводить цензуру в Интернете. Они блокируют доступ к любому веб-сайту или услуге, которые, по их мнению, не соответствуют их взглядам, ограничивая доступ своих граждан к информации.
VPN часто являются отличным способом обойти эти попытки цензуры, поэтому те же самые правительства любят блокировать их использование. Как оказалось, один из лучших способов убедиться, что последнее не произойдет, - это использовать OpenVPN с TCP.
Защищенные веб-сайты (те, чьи URL-адреса начинаются с https: //) используют технологию, называемую SSL, для шифрования данных, передаваемых между сервером веб-сайта и вашим устройством.
Много лет назад SSL использовался только на сайтах, где безопасность имела первостепенное значение. Подумайте о банках или интернет-магазинах.
Однако за последнее время это изменилось. Сегодня почти каждый сайт использует технологию SSL (а если нет, то, вероятно, скоро будет).
Из-за своей распространенности SSL в значительной степени считается неблокируемым даже самыми жесткими правительствами. Это краеугольная технология, и отказ от нее серьезно, если не полностью, нанесет вред Интернету.
Интересно то, что SSL использует протокол TCP на порту 443. OpenVPN, построенный на библиотеках OpenSSL, может быть настроен для запуска TCP на том же порту. Многие провайдеры VPN позволяют вам это делать.
Когда VPN использует OpenVPN TCP на порту 443, любые данные, отправляемые через соединение, выглядят как обычный трафик SSL веб-сайта, а не трафик VPN. Данные также зашифрованы и, следовательно, не могут быть идентифицированы. Это эффективный и сложный способ скрыть использование VPN.

Объяснение UDP​

UDP или протокол пользовательских дейтаграмм - еще один широко используемый протокол передачи в Интернете. Он возник примерно в то же время, что и TCP, но обычно используется только в очень определенных обстоятельствах.
Протокол UDP обрабатывает пакеты данных так же, как TCP, с одним существенным отличием - почти полное отсутствие исправления ошибок.
Пакет UDP не включает порядковый номер. Он не содержит встроенного механизма для исправления ошибок, кроме контрольной суммы, чтобы гарантировать, что часть данных поступит к месту назначения неповрежденной.
Хотя это делает передачу данных UDP более подверженной ошибкам, она также делает ее намного быстрее, чем TCP. Это причина, по которой все самые быстрые провайдеры VPN выбирают UDP в качестве конфигурации OpenVPN по умолчанию.
Когда вы транслируете потоковое видео или аудио или вам нужна сверхнизкая задержка для таких приложений, как игры или VoIP, протокол UDP должен быть вашим предпочтительным протоколом.

Плюсы использования UDP с OpenVPN​

Настройка OpenVPN для использования UDP имеет несколько очевидных преимуществ. Использование рекомендуется при:
  • Работа с медленным соединением. В некоторых случаях накладные расходы, создаваемые шифрованием VPN, могут привести к очень низкой производительности соединения. Использование UPD вместо TCP может ускорить процесс за счет сокращения дополнительных задержек обработки и исправления ошибок, которые возникают с последним.
  • Передача данных, зависящих от времени. Если вы отправляете или получаете трафик VoIP или видео в реальном времени через VPN-соединение, потерянные пакеты не имеют такого значения, как просто передача данных. То же самое касается потокового видео и аудио, а также онлайн-игр. Во всех этих случаях UDP очень хорошо подходит для этой задачи.

Минусы использования OpenVPN с UDP​

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

Почему UDP лучше для потоковой передачи​

Без сомнения, UDP является рекомендуемым протоколом для потоковой передачи видео и аудио. Это лучший выбор, чем TCP, по следующим причинам:
  1. UDP быстрее. У него нет механизма исправления ошибок TCP, и, следовательно, отправителю не нужно ждать подтверждения от получателя перед пересылкой дополнительных данных.
  2. UDP имеет меньшую задержку и большую скорость отклика, чем TCP. Это опять же из-за отсутствия исправления ошибок.
  3. Поскольку протокол UDP работает быстрее и быстрее реагирует на запросы, ему требуется меньше предварительной выборки и буферизации аудио или видео. В результате поток будет воспроизводиться быстрее, что в целом улучшит качество воспроизведения.

Обзор различий между UDP и TCP​

Подводя итог, вот основные различия между TCP и UDP. Есть и другие, более технические, но они наиболее важны для выбора протокола для использования с вашим VPN-соединением:
TCPUDP
СкоростьПомедленнееБыстрее
НадежностьВысокаяНизкая
Обнаружение ошибокдаТолько повреждение пакета
Исправление ошибкидаНет, поврежденные пакеты отбрасываются
Контроль перегрузкидаНет
ПриложенияПросмотр веб-страниц, электронная почта, передача файловПотоковое аудио и видео, игры, VoIP и прямые трансляции
Для более подробного технического сравнения UDP и TCP, которое выходит за рамки данной статьи, см. Видео ниже.

OpenVPN через UDP или TCP​

Каждый ведущий провайдер VPN предлагает вам на выбор использование OpenVPN с TCP или UDP. Какой из двух вариантов вы должны выбрать, в конечном итоге сводится к скорости и надежности, а что для вас важнее.
UDP лучше подходит для потоковой передачи, игр и общения в реальном времени (как аудио, так и видео). С этими приложениями потеря пакета здесь или там не имеет большого значения. Но наличие быстрого соединения и уверенность в том, что ваше устройство не слишком сильно отстает, имеет решающее значение.
TCP, с другой стороны, хорошо работает для доступа к статическим данным. Если вы используете VPN-соединение для просмотра веб-страниц, отправки электронной почты или загрузки файлов, лучшим вариантом будет настройка OpenVPN на использование TCP. Это также более надежный выбор, когда вы пытаетесь победить цензуру правительства или интернет-провайдера.
Если вы делаете все понемногу со своим VPN, а выбор OpenVPN TCP или UDP неясен, я предлагаю вам сначала попробовать UDP. Посмотрите, как идут дела. Если у вас возникнут проблемы с подключением или стабильностью, вы можете в любой момент переключиться на TCP.
 
  • Like
Reactions: Prt
Top