Un elenco pubblico di nodi mostra un server con un tempo di attività misurato in settimane, quindi lo scegliete, e la connessione fallisce al primo tentativo. Non è pubblicità ingannevole; è la domanda sbagliata posta a un numero che misura qualcos’altro. Il tempo di attività di solito indica da quanto tempo un processo, un contenitore o una macchina è in esecuzione dal suo ultimo avvio, e questa è una proprietà dell’infrastruttura dell’editore, non del vostro percorso verso di essa. Trattarlo come affidabilità è lo stesso errore di categoria che trattare il contachilometri di un’auto come un rapporto stradale.

Che cosa misura il numero

Su un host con un gestore di servizi moderno, il contatore è ancorato a un evento che potete davvero leggere: la marca temporale in cui l’unità è passata allo stato attivo, o l’ora di avvio della macchina. Tutto il resto è aritmetica su quell’ancora, e la definizione dell’ancora varia tra gli editori. Un elenco può azzerarsi al riavvio del demone, un altro al riavvio della macchina, e un terzo a un azzeramento manuale fatto da un operatore che voleva un grafico pulito.

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

Quei tre comandi rispondono a tre domande diverse, e una directory che mostra un solo numero non può dirvi quale abbia usato. Quindi confrontare un contatore grezzo di due elenchi non è affatto un confronto finché non sapete su cosa si azzera ciascuno.

Un processo può essere attivo mentre il percorso è interrotto

Il demone ascolta. Il certificato è valido. Il processo è vivo da ventitré giorni. Nulla di ciò garantisce che i pacchetti della vostra rete lo raggiungano, perché la raggiungibilità è una proprietà dell’intero percorso: il collegamento ascendente del fornitore, il peering tra la sua rete e la vostra, la congestione su un collegamento di transito condiviso e il firewall davanti alla vostra connessione.

Un server può anche essere attivo e inutile per un altro motivo. Un nodo che ha accettato molti più client di quanti la sua larghezza di banda ne supporti mostrerà un tempo di attività lungo e un’esperienza pessima, perché il contatore non misura capacità né contesa. È il modo più comune in cui un nodo con molto tempo di attività delude: nulla è rotto, tutto è occupato.

Vale la pena ricordare anche il caso opposto. Un nodo riavviato un’ora fa può essere perfettamente sano adesso, e l’ordinamento per il numero più grande lo esclude in silenzio. Il tempo di attività non è un punteggio di qualità, e trattarlo come tale seleziona per età anziché per idoneità.

Freschezza: il rapporto è più vecchio del vostro tentativo

Le directory pubbliche sono pagine generate da controlli periodici, non telemetria in tempo reale. Il tempo di attività che leggete è stato calcolato all’ultimo aggiornamento, e la connessione che tentate avviene dopo. Nel frattempo un fornitore può far cadere un collegamento, cambiare un certificato, spostare un indirizzo o togliere un nodo dal servizio, e la pagina continuerà a riportare l’ultimo stato buono conosciuto fino alla successiva scansione.

Quel divario funziona anche nel senso opposto. Un nodo segnalato come inattivo potrebbe essersi ripreso pochi minuti dopo la generazione del rapporto, quindi un nuovo tentativo immediato su un altro nodo non è sempre la scelta migliore.

La regola pratica è che ogni campo riportato è un’affermazione sul passato. Usatelo per costruire una lista breve, poi verificate con una misurazione che fate voi stessi nel momento che vi interessa.

Che cosa testare invece

Decidete di cosa avete bisogno dal nodo e testatelo. Se vi serve la raggiungibilità, un tentativo di connessione TCP alla porta di ascolto vi dice in un secondo più di qualsiasi contatore. Se vi serve un tunnel funzionante, negoziatene uno. Se vi serve un throughput utilizzabile, trasferite qualcosa di reale e misuratelo, perché tempo di connessione e throughput sono proprietà diverse e una stretta di mano rapida non dice nulla sulla seconda.

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

Ripetete il test invece di fidarvi di un singolo tentativo. L’affidabilità è una distribuzione nel tempo e nelle condizioni, e una connessione riuscita è un campione di dimensione uno. Una manciata di tentativi nelle ore in cui usate davvero la connessione batterà qualsiasi tempo di attività pubblicato con un largo margine.

Leggere gli elenchi pubblici di nodi senza essere ingannati

Il tempo di attività non porta nemmeno informazioni sulle cose che le persone di solito vogliono da una VPN: la validità del certificato, chi gestisce l’uscita, quale politica DNS si applica e se l’operatore conserva registri delle connessioni. Sono affermazioni separate che richiedono prove separate, e un contatore lungo non è prova per nessuna di esse. Un nodo può essere stabile per mesi e restare una cattiva scelta per un requisito di privacy.

Dove un elenco aiuta davvero è nel creare la lista breve. Ordinate per ciò che sapete di dover avere, filtrate i nodi in regioni irrilevanti per il compito e poi testate i tre o quattro che restano. Conservate la fase di errore di ogni tentativo invece di un semplice sì o no, perché «la stretta di mano TLS è fallita» e «connesso ma senza throughput» portano a conclusioni del tutto diverse.

Il quadro per misurare le prestazioni del percorso fa lo stesso punto in forma più rigorosa: definite la metrica, le condizioni e il metodo prima di raccogliere numeri. Applicato a un elenco di nodi, ciò significa che il campo del tempo di attività è contesto. La misurazione che fate voi stessi è la decisione.

Articoli correlati