Сваки водич каже да UDP побеђује TCP за OpenVPN, а тај савет је подразумевана поставка, не мерење. Транспорт мења како се пакети достављају и шта се дешава када их пут изгуби, а не како се тунел шифрује. Иза captive портала или проксија који дозвољава само порт 443, спорија опција је она која се уопште повезује. Оно што следи раздваја шта протокол ради од онога што ваша приступна мрежа дозвољава.

Шта транспорт заправо мења

TCP испоручује поуздан, уређен ток бајтова и поново шаље све што се изгуби, како прописује RFC 9293. UDP предаје датаграме мрежи, а OpenVPN води сопствени слој поузданости преко тог сокета. Инкапсулација TCP-а у TCP слаже две петље опоравка, па један изгубљени сегмент може задржати унутрашњи ток док не стигне спољно поновно слање. Та интеракција је прави аргумент за UDP и појављује се као латенција, а не као пропусност.

Учинак расте са губицима и временом кружног пута. На чистом локалном путу оба транспорта делују идентично, зато лабораторијски бенчмарк ретко репродукује жалбу. На загушењној мобилној вези разлика се види у интерактивним сесијама много пре него што велики пренос ишта примети.

Ништа од овога не дира поверљивост ни интегритет. TLS руковање и шифра податковног канала исти су за оба транспорта, па пребацивање не може спасити слаб скуп шифри.

Где TCP заслужује своје место

Приступне мреже су уобичајен разлог за избор TCP-а. Хотел, аеродром или гостинска мрежа могу дозволити одлазни 443 и одбацити све остало, а TCP слушалац на том порту једини је профил који ради. То је доступност, а не перформанса, и довољно је добар разлог сам по себи.

TCP помаже и када је пут стабилан, али су посредни уређаји непријатељски. Неке мреже ресетују дуготрајне UDP токове док толеришу TCP сесије које личе на обичан веб саобраћај. Да ли та сличност успева, својство је конкретне мреже и ниједан водич то не може обећати за све. Тестирајте унутар мреже која пада пре него што оптужите протокол.

Одбијена пријава није проблем транспорта. Искључивање провере сертификата да се веза прогура друга је промена са много горим исходом.

Држати TCP профил спремним практичан је компромис. Већина клијената чува оба и дозвољава пребацивање када мрежа одбије UDP пут, што ништа не кошта док не затреба. Оно што не треба радити јесте испоручити два профила усмерена на различите крајње тачке, јер тада ваше поређење мери сервере.

Проверите који слушалац заиста имате

Пре поређења перформанси потврдите да се обе стране слажу о транспорту и порту. Промена proto udp у proto tcp у клијентској датотеци не ствара серверски слушалац. Сервер мора бити конфигурисан за тај протокол, а профил се мора с њим подударати.

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

grep исписује шта је серверу речено да користи, док два списка сокета показују на шта је везан. UDP слушалац појављује се само на првом списку, а TCP слушалац само на другом, па је ред који недостаје најбржи начин да нађете профил који никада није примењен. Упоредите и порт, јер TCP профил на 1194 понаша се другачије од оног на 443 у већини приступних мрежа. Поново покрените сервис након промене и прочитајте ред у логу који извештава о повезивању.

Потврда на страни клијента је јефтина: покрените везу са --verb 4 и прочитајте ред о транспорту у логу. Ако клијент каже UDP док сервер слуша на TCP, руковање никада не почиње и никакво подешавање не помаже.

Упоредите радно оптерећење, не ознаку транспорта

Поштено поређење држи све осим транспорта константним. Исти уређај, иста приступна мрежа, исти одредишни хост, иста апликација и идеално исти сервер. Ако два профила показују на различите хостове, мерите и те хостове.

Забележите три исхода за свако покретање: да ли се тунел успоставља, да ли остаје успостављен и да ли се задатак довршава. Мали захтеви који раде док се велики преноси заглаве упућују на величину пакета и MTU, а не на транспорт. Поновна повезивања упућују на пут или на истек времена посредног уређаја.

Задржите профил који ради у условима у којима се заиста нађете, а други сачувајте. Избор припада мрежи, а не особи, и зато је сваки појединачни подразумевани одговор негде погрешан.

Повезани чланци