UDP həmişə sürətli deyil: OpenVPN nəqliyyatını seçmək
UDP OpenVPN üçün məqul standartdır, hökm deyil. Nəqliyyatları eyni yolda və tapşırıqda müqayisə edin və hansı dinləyicinin həqiqətən işlədiyini yoxlayın.
Hər təlimat UDP-nin OpenVPN üçün TCP-dən üstün olduğunu deyir və bu məsləhət ölçmə deyil, standart seçimdir. Nəqliyyat paketlərin necə çatdırıldığını və yol onları itirdikdə nə baş verdiyini dəyişir, tunelin necə şifrələndiyini yox. Məhdudiyyətli portalın və ya yalnız 443 portuna icazə verən proksinin arxasında daha yavaş variant ümumiyyətlə qoşulan variantdır. Aşağıdakılar protokolun etdiyini giriş şəbəkənizin nəyə icazə verdiyindən ayırır.
Nəqliyyat əslində nəyi dəyişir
TCP etibarlı, nizamlı bayt axını təqdim edir və itən hər şeyi yenidən göndərir, RFC 9293 bunu belə müəyyən edir. UDP dataqramları şəbəkəyə ötürür və OpenVPN həmin soket üzərində öz etibarlılıq qatını işlədir. TCP-ni TCP daxilində kapsulyasiya etmək iki bərpa dövrəsini yığır, buna görə itən bir seqment daxili axını saxlayır xarici yenidən göndərmə çatana qədər. Bu qarşılıqlı təsir UDP-nin əsl arqumentidir və bu, ötürmə qabiliyyəti kimi deyil, gecikmə kimi görünür.
Təsir itki və gediş-dönüş vaxtı ilə miqyaslanır. Təmiz yerli yolda hər iki nəqliyyat eyni hiss olunur, buna görə laboratoriya ölçməsi şikayəti nadir hallarda təkrar edir. Sıx mobil bağlantıda fərq böyük ötürmə heç nə hiss etməmişdən çox əvvəl interaktiv sessiyalarda görünür.
Bunların heç biri məxfilik və ya bütövlüyə toxunmur. TLS əl sıxması və məlumat kanalı şifrəsi hər iki nəqliyyat üçün eynidir, ona görə keçid zəif şifrə dəstini xilas edə bilməz.
TCP yerini harada qazanır
Giriş şəbəkələri TCP seçməyin adi səbəbidir. Otel, hava limanı və ya qonaq şəbəkəsi çıxan 443-ə icazə verib qalan hər şeyi ata bilər və həmin portda TCP dinləyicisi işləyən yeganə profildir. Bu, performans deyil, əlçatanlıqdır və tək başına kifayət qədər yaxşı səbəbdir.
TCP həmçinin yol sabit, amma ara qurğular düşmən olduqda kömək edir. Bəzi şəbəkələr uzunömürlü UDP axınlarını sıfırlayır, adi veb trafikinə bənzəyən TCP sessiyalarına isə dözür. Bu bənzəyişin uğurlu olması konkret şəbəkənin xassəsidir və heç bir təlimat bunu hamısı üçün vəd edə bilməz. Protokolu günahlandırmadan əvvəl uğursuz olan şəbəkənin içində sınaqdan keçirin.
Rədd edilən giriş nəqliyyat problemi deyil. Bağlantını zorla keçirmək üçün sertifikat yoxlamasını söndürmək daha pis nəticəli fərqli dəyişiklikdir.
TCP profilini hazır saxlamaq praktik kompromisdir. Əksər müştərilər hər ikisini saxlayır və şəbəkə UDP yolunu rədd etdikdə keçməyə icazə verir, bu da ehtiyac olana qədər heç bir şeyə başa gəlmir. Etməməli olduğunuz şey fərqli son nöqtələrə baxan iki profil təqdim etməkdir, çünki o zaman müqayisəniz serverləri ölçür.
Həqiqətən hansı dinləyicinin olduğunu yoxlayın
Performansı müqayisə etməzdən əvvəl hər iki tərəfin nəqliyyat və port barədə razılaşdığını təsdiqləyin. Müştəri faylında proto udp dəyərini proto tcp ilə əvəz etmək server dinləyicisi yaratmır. Server həmin protokol üçün konfiqurasiya edilməli və profil ona uyğun olmalıdır.
grep -E '^(proto|port|remote)' /etc/openvpn/server.conf
ss -lunp | grep openvpn
ss -ltnp | grep openvpn
grep serverə nə istifadə etməyin deyildiyini çap edir, iki soket siyahısı isə onun nəyə bağlandığını göstərir. UDP dinləyicisi yalnız birinci siyahıda, TCP dinləyicisi yalnız ikincidə görünür, buna görə itkin sətir heç vaxt tətbiq olunmamış profili tapmağın ən sürətli yoludur. Portu da müqayisə edin, çünki 1194-dəki TCP profili əksər giriş şəbəkələrində 443-dəkindən fərqli davranır. Dəyişiklikdən sonra xidməti yenidən başladın və bağlanmanı bildirən jurnal sətrini oxuyun.
Müştəri tərəfində təsdiq ucuzdur: bağlantını --verb 4 ilə işə salın və jurnalda nəqliyyat sətrini oxuyun. Müştəri UDP deyirsə, server isə TCP dinləyirsə, əl sıxma heç başlamır və heç bir tənzimləmə kömək etməz.
Nəqliyyat etiketini deyil, iş yükünü müqayisə edin
Ədalətli müqayisə nəqliyyatdan başqa hər şeyi sabit saxlayır. Eyni cihaz, eyni giriş şəbəkəsi, eyni hədəf host, eyni tətbiq və ideal olaraq eyni server. İki profil fərqli hostlara baxırsa, o hostları da ölçürsünüz.
Hər işə salma üçün üç nəticə qeyd edin: tunel qurulurmu, qalırmı və tapşırıq tamamlanırmı. Böyük ötürmələr ilişib qalarkən işləyən kiçik sorğular nəqliyyata deyil, paket ölçüsünə və MTU-ya işarə edir. Təkrar yenidən qoşulmalar yola və ya ara qurğu fasiləsinə işarə edir.
Həqiqətən qarşılaşdığınız şəraitdə işləyən profili saxlayın, digərini də yaddaşda saxlayın. Seçim insana deyil, şəbəkəyə aiddir, buna görə hər hansı tək standart cavab hardasa yanlışdır.