2

Вот сценарий:

A) Настольный клиент openvpn Таиланд B) Сервер OpenVPN в Сингапуре C) HTTP сервер в Лондоне

Задержка RTT от A до B составляет 50 мс Задержка RTT от B до C составляет 220 мс.

Потеря пакета (через iperf) на 5 Мбит между A и B составляет 2%. Потеря пакета на 5 Мбит (даже на 20 Мбит) между B и C составляет 0%.

Поскольку я управляю сервером и клиентом openvpn, у меня есть возможность установить туннельное соединение openvpn от A к B через UDP или TCP.

Руководство OpenVPN говорит мне, что канал данных тупой, он не реализует свой собственный протокол retran/ack.

Поэтому, если я делаю TCP/HTTP от A до C, я думаю, что лучше всего будет установить A в B в качестве туннеля OpenVPN TCP и позволить меньшему каналу rtt с задержкой разрешить потерю пакета, а не использовать openvpn UDP и затем позволить http / a-to более высокого / более высокого уровня разрешает потерю пакетов?

К вашему сведению, я спросил в #openvpn IRC о freenode, но безоговорочное утверждение типа «TCP-over-TCP никогда не бывает хорошей идеей», так что, надеясь на более информированные ответы, я очень рад принять меня неправильно с некоторым содержанием.

1 ответ1

2

См. Раздел « Проблема распада TCP », в частности, на что он ссылается.

В целом, кроме того, чтобы пробить дыры в брандмауэре, который поддерживает только TCP, лучше всего рассматривать VPN как "выделенную линию". Например, ваш дом к интернет-провайдеру не использует TCP, относитесь к вашему соединению OpenVPN таким же образом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .