Každý návod říká, že UDP je pro OpenVPN lepší než TCP, a tato rada je výchozí nastavení, nikoli měření. Transport mění, jak se pakety doručují a co se stane, když je cesta zahodí, ne jak se tunel šifruje. Za captive portálem nebo proxy, které povoluje jen port 443, je pomalejší varianta ta, která se vůbec připojí. Následující text odděluje, co dělá protokol, od toho, co dovoluje vaše přístupová síť.

Co transport skutečně mění

TCP doručuje spolehlivý, uspořádaný bajtový tok a znovu odesílá vše, co se ztratí, jak stanoví RFC 9293. UDP předává datagramy síti a OpenVPN nad tímto socketem provozuje vlastní vrstvu spolehlivosti. Zapouzdření TCP do TCP skládá dvě smyčky obnovy, takže jeden ztracený segment může zdržet vnitřní tok, dokud nedorazí vnější opakované odeslání. Právě tato interakce je skutečný argument pro UDP a projevuje se jako latence, nikoli jako propustnost.

Účinek roste se ztrátami a dobou oběhu. Na čisté místní cestě oba transporty působí stejně, a proto laboratorní test málokdy stížnost zopakuje. Na přetíženém mobilním spoji je rozdíl vidět v interaktivních relacích dlouho předtím, než si velký přenos něčeho všimne.

Nic z toho se netýká důvěrnosti ani integrity. TLS handshake a šifra datového kanálu jsou pro oba transporty stejné, takže přepnutí nezachrání slabou šifrovou sadu.

Kde si TCP zaslouží své místo

Přístupové sítě jsou obvyklým důvodem, proč zvolit TCP. Hotel, letiště nebo hostovská síť mohou povolit odchozí 443 a zahodit vše ostatní, a TCP listener na tomto portu je jediný profil, který funguje. To je dosažitelnost, ne výkon, a samo o sobě je to dost dobrý důvod.

TCP pomáhá i tehdy, když je cesta stabilní, ale mezilehlá zařízení jsou nepřátelská. Některé sítě resetují dlouhé UDP toky, zatímco tolerují TCP relace, které připomínají běžný webový provoz. Zda tato podobnost uspěje, je vlastnost konkrétní sítě a žádný návod to nemůže slíbit pro všechny. Testujte uvnitř sítě, která selhává, než obviníte protokol.

Odmítnuté přihlášení není problém transportu. Vypnutí ověřování certifikátu, aby se spojení protlačilo, je jiná změna s mnohem horším výsledkem.

Mít připravený TCP profil je praktický kompromis. Většina klientů ukládá oba a umožňuje přepnout, když síť odmítne UDP cestu, což nic nestojí, dokud to nepotřebujete. Co byste dělat neměli, je dodávat dva profily ukazující na různé koncové body, protože pak vaše srovnání měří servery.

Ověřte, který listener skutečně máte

Než začnete porovnávat výkon, potvrďte, že obě strany souhlasí s transportem a portem. Změna proto udp na proto tcp v klientském souboru nevytvoří serverový listener. Server musí být pro tento protokol nakonfigurován a profil mu musí odpovídat.

grep -E '^(proto|port|remote)' /etc/openvpn/server.conf
ss -lunp | grep openvpn
ss -ltnp | grep openvpn

grep vypíše, co bylo serveru řečeno používat, zatímco dva výpisy socketů ukazují, k čemu je připojen. UDP listener se objeví jen v prvním výpisu a TCP listener jen ve druhém, takže chybějící řádek je nejrychlejší cestou k profilu, který nebyl nikdy použit. Porovnejte i port, protože TCP profil na 1194 se ve většině přístupových sítí chová jinak než ten na 443. Po změně službu restartujte a přečtěte řádek v logu, který hlásí navázání.

Ověření na straně klienta je levné: spusťte spojení s --verb 4 a přečtěte řádek o transportu v logu. Pokud klient hlásí UDP, zatímco server poslouchá na TCP, handshake nikdy nezačne a žádné ladění nepomůže.

Porovnávejte zátěž, ne označení transportu

Poctivé srovnání drží vše kromě transportu konstantní. Stejné zařízení, stejná přístupová síť, stejný cílový hostitel, stejná aplikace a ideálně stejný server. Pokud dva profily ukazují na různé hostitele, měříte i ty hostitele.

U každého běhu zaznamenejte tři výsledky: zda se tunel naváže, zda zůstane stát a zda se úloha dokončí. Malé požadavky, které fungují, zatímco velké přenosy se zaseknou, ukazují na velikost paketů a MTU, ne na transport. Opakovaná znovupřipojení ukazují na cestu nebo na časový limit mezilehlého zařízení.

Ponechte si profil, který funguje v podmínkách, které skutečně potkáváte, a druhý si uložte. Volba patří síti, ne člověku, a proto je každá jediná výchozí odpověď někde špatná.

Související články