Verejný zoznam uzlov zobrazuje server s dobou behu meranou v týždňoch, vyberiete ho a pripojenie zlyhá hneď na prvý pokus. To nie je klamlivá reklama; je to nesprávna otázka položená číslu, ktoré meria niečo iné. Doba behu zvyčajne udáva, ako dlho proces, kontajner alebo stroj beží od posledného spustenia, a to je vlastnosť infraštruktúry vydavateľa, nie vašej cesty k nej. Považovať ju za spoľahlivosť je tá istá kategória chyby ako považovať počítadlo kilometrov auta za správu o ceste.

Čo číslo meria

Na hostiteľovi s moderným správcom služieb je počítadlo ukotvené na udalosť, ktorú skutočne môžete prečítať: časovú značku, keď jednotka prešla do aktívneho stavu, alebo čas bootovania stroja. Všetko ostatné je aritmetika na tomto ukotvení a definícia ukotvenia sa medzi vydavateľmi líši. Jeden zoznam sa môže resetovať pri reštarte démona, iný pri reštarte stroja a tretí pri ručnom resete, ktorý vykonal operátor túžiaci po čistom grafe.

systemctl show -p ActiveEnterTimestamp --value openvpn-server@server
uptime -s
systemctl is-active openvpn-server@server

Tieto tri príkazy odpovedajú na tri rôzne otázky a adresár, ktorý ukazuje jedno číslo, vám nemôže povedať, ktorý z nich použil. Porovnávať surové počítadlo z dvoch zoznamov preto nie je vôbec porovnanie, kým neviete, na čom sa každé z nich resetuje.

Proces môže bežať, aj keď je cesta nedostupná

Démon načúva. Certifikát je platný. Proces je nažive už dvadsaťtri dní. Nič z toho nezaručuje, že pakety z vašej siete k nemu dorazia, pretože dostupnosť je vlastnosťou celej cesty: poskytovateľovho vzostupného spoja, prepojenia medzi jeho sieťou a tou vašou, zahltenia na zdieľanom tranzitnom spoji a firewallu pred vaším vlastným pripojením.

Server môže byť tiež v prevádzke a napriek tomu na nič z iného dôvodu. Uzol, ktorý prijal oveľa viac klientov, než unesie jeho šírka pásma, ukáže dlhú dobu behu a otrasný zážitok, pretože počítadlo nemeria kapacitu ani súperenie. To je najčastejší spôsob, akým uzol s dlhou dobou behu sklame: nič nie je pokazené, všetko je zaneprázdnené.

Opačný prípad tiež stojí za zapamätanie. Uzol reštartovaný pred hodinou môže byť teraz úplne zdravý a radenie podľa najväčšieho čísla ho ticho vynechá. Doba behu nie je skóre kvality, a brať ju ako skóre vyberá podľa veku, nie podľa vhodnosti.

Čerstvosť: správa je staršia ako váš pokus

Verejné adresáre sú stránky generované z pravidelných kontrol, nie živá telemetria. Doba behu, ktorú čítate, bola vypočítaná pri poslednom obnovení a pripojenie, ktoré skúšate, nastáva po ňom. Medzitým môže poskytovateľ stratiť spoj, zmeniť certifikát, presunúť adresu alebo vyradiť uzol z prevádzky a stránka bude ďalej ukazovať posledný známy dobrý stav až do ďalšieho prechodu.

Táto medzera pôsobí aj opačným smerom. Uzol hlásený ako nedostupný sa mohol spamätať minúty po vygenerovaní správy, takže okamžitý nový pokus na inom uzle nie je vždy lepšou voľbou.

Praktické pravidlo je, že každé hlásené pole je tvrdenie o minulosti. Použite ho na zostavenie krátkeho zoznamu a potom overte meraním, ktoré sami vykonáte v okamihu, na ktorom vám záleží.

Čo namiesto toho testovať

Rozhodnite, čo od uzla potrebujete, a to testujte. Ak potrebujete dostupnosť, pokus o TCP spojenie na načúvajúci port vám za jednu sekundu povie viac ako akékoľvek počítadlo. Ak potrebujete funkčný tunel, dohodnite jeden. Ak potrebujete použiteľnú priepustnosť, preneste niečo skutočné a zmerajte to, pretože čas pripojenia a priepustnosť sú rôzne vlastnosti a rýchly handshake o tej druhej nehovorí nič.

nc -vz -w 5 vpn.example.net 1194
curl -sS -o /dev/null -w '%{time_connect} %{time_appconnect} %{time_total}\n' https://vpn.example.net/
mtr -rwc 20 vpn.example.net

Test opakujte, namiesto toho, aby ste verili jednému pokusu. Spoľahlivosť je rozdelenie v čase a podmienkach a jedno úspešné pripojenie je vzorka veľkosti jedna. Niekoľko pokusov počas hodín, keď pripojenie skutočne používate, prekoná akúkoľvek zverejnenú dobu behu s veľkým náskokom.

Čítanie verejných zoznamov uzlov bez klamania

Doba behu tiež nenesie žiadnu informáciu o veciach, ktoré ľudia zvyčajne od VPN chcú: platnosť certifikátu, kto prevádzkuje výstup, aká politika DNS platí a či operátor uchováva záznamy o pripojeniach. To sú oddelené tvrdenia, ktoré potrebujú oddelené dôkazy, a dlhé počítadlo nie je dôkazom pre žiadne z nich. Uzol môže byť mesiace stabilný a napriek tomu byť zlou voľbou pre požiadavku súkromia.

Kde zoznam skutočne pomáha, je zužovanie výberu. Zoraďte podľa toho, čo viete, že potrebujete, odfiltrujte uzly v regiónoch, ktoré s úlohou nesúvisia, a potom otestujte tri alebo štyri, ktoré zostanú. Uchovávajte fázu zlyhania každého pokusu namiesto jedného áno, či nie, pretože „handshake TLS zlyhal“ a „pripojené, ale bez priepustnosti“ vedú k úplne iným záverom.

Rámec na meranie výkonu cesty hovorí to isté v prísnejšej podobe: definujte metriku, podmienky a metódu skôr, než začnete zbierať čísla. Aplikované na zoznam uzlov to znamená, že pole doby behu je kontext. Meranie, ktoré vykonáte sami, je rozhodnutie.

Súvisiace články