Lotta per millisecondi. Cumu sceglie u servitore cù u ping più bassu

Per parechje attività, i ritardi trà u cliente è u servitore sò critichi, per esempiu in ghjochi in linea, videoconferenza / voce, telefonia IP, VPN, etc. Se u servitore hè troppu luntanu da u cliente à u livellu di a rete IP, i ritardi (popularmente chjamati "ping", "lag") interferiscenu cù u travagliu.

A vicinanza geografica di un servitore ùn hè micca sempre uguale a vicinanza à u nivellu di routing IP. Cusì, per esempiu, un servitore in un altru paese pò esse "più vicinu" à voi cà un servitore in a vostra cità. Tuttu per via di e peculiarità di u routing è a custruzzione di a rete.

Lotta per millisecondi. Cumu sceglie u servitore cù u ping più bassu

Cumu sceglie un servitore chì hè u più vicinu pussibule à tutti i clienti potenziali? Chì ghjè a cunnessione di a rete IP? Cumu indirizzà un cliente à u servitore più vicinu? Scupritemu in l'articulu.

Ritardi di misurazione

Prima, imparemu à misurà i ritardi. Stu compitu ùn hè micca cusì simplice quant'ellu pare perchè i ritardi pò varià per diversi protokolli è dimensioni di pacchetti. Puderete ancu missu avvenimenti di corta durazione, cum'è dips chì duranu uni pochi millisecondi.

ICMP - ping regulare

Useremu l'utilità ping Unix; permette di stabilisce manualmente l'intervalli trà l'inviu di pacchetti, chì a versione ping per Windows ùn pò micca fà. Questu hè impurtante perchè s'ellu ci sò longu pause trà i pacchetti, pudete simpricimenti ùn vede micca ciò chì succede trà elli.

Dimensione di u pacchettu (opzione -s) - per difettu, l'utilità ping manda pacchetti di 64 byte in dimensione. Cù tali picculi pacchetti, i fenomeni chì si verificanu cù pacchetti più grossi ùn ponu micca esse notevuli, cusì avemu da stabilisce a dimensione di u pacchettu à 1300 bytes.

Intervallu trà i pacchetti (opzione -i) - tempu trà mandati di dati. Per automaticamente, i pacchetti sò mandati una volta per seconda, questu hè assai longu, i prugrammi veri mandanu centinaie è millaie di pacchetti per seconda, cusì avemu da stabilisce l'intervallu à 0.1 seconde. U prugramma simpricimenti ùn permette micca menu.

In u risultatu, u cumandimu pare cusì:

ping -s 1300 -i 0.1 yandex.ru

Stu disignu permette di vede una stampa più realistica di ritardi.

Ping via UDP è TCP

In certi casi, e cunnessione TCP sò processate in modu diversu da i pacchetti ICMP, è per quessa, e misurazioni ponu varià secondu u protocolu. Succede ancu spessu chì l'ospitu simpricimenti ùn risponde micca à ICMP, è u ping regulare ùn funziona micca. Hè ciò chì un òspite faci tutta a so vita, per esempiu. microsoft.com.

Utilità nping da i sviluppatori di u famosu scanner nmap pò generà ogni pacchettu. Pò esse ancu usatu per misurà i ritardi.
Siccomu UDP è TCP operanu nantu à quelli specifichi, avemu bisognu di "ping" un portu specificu. Pruvemu di ping TCP 80, vale à dì u portu di u servitore web:

$ sudo nping --tcp -p 80 --delay 0.1 -c 0 microsoft.com

Starting Nping 0.7.80 ( https://nmap.org/nping ) at 2020-04-30 13:07 MSK
SENT (0.0078s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
SENT (0.1099s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.2068s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=43 id=0 iplen=44  seq=1480267007 win=64240 <mss 1440>
SENT (0.2107s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.3046s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=43 id=0 iplen=44  seq=1480267007 win=64240 <mss 1440>
SENT (0.3122s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.4247s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=42 id=0 iplen=44  seq=2876862274 win=64240 <mss 1398>

Max rtt: 112.572ms | Min rtt: 93.866ms | Avg rtt: 101.093ms
Raw packets sent: 4 (160B) | Rcvd: 3 (132B) | Lost: 1 (25.00%)
Nping done: 1 IP address pinged in 0.43 seconds

Per automaticamente, nping manda 4 pacchetti è ferma. Opzione -c 0 permette l'invio infinitu di pacchetti; per piantà u prugramma, avete bisognu di appughjà Ctrl + C. E statistiche saranu mostrate à a fine. Avemu vistu chì u valore mediu rtt (tempu di andata) hè 101ms.

MTR - traceroute nantu à i steroidi

U prugrammu MTR My Traceroute hè una utilità avanzata per tracciate rotte à un host remoto. A cuntrariu di l'utilità di u sistema usuale traceroute (in Windows questu hè l'utilità tracert), pò vede ritardi à ogni host in a catena di pacchetti. Pò ancu tracciate rotte micca solu via ICMP, ma ancu via UDP è TCP.

$ sudo mtr microsoft.com

Lotta per millisecondi. Cumu sceglie u servitore cù u ping più bassu
(Cliccabile) Interfaccia di u prugramma MTR. A traccia di rotta à microsoft.com hà iniziatu

MTR mostra immediatamente u ping à ogni òspite in a catena, è i dati sò constantemente aghjurnati mentre u prugramma hè in esecuzione è i cambiamenti à cortu termine ponu esse vistu.
A screenshot mostra chì u node #6 hà perdite di pacchetti, ma in fattu questu ùn hè micca veramente veru, perchè certi routers ponu solu scartà i pacchetti cù un TTL scadutu è ùn rinvià micca una risposta d'errore, perchè i dati di perdita di pacchetti ponu esse ignorati quì.

WiFi vs cable

Lotta per millisecondi. Cumu sceglie u servitore cù u ping più bassu
Stu tema ùn hè micca sanu pertinenti à l'articulu, ma in my opinion hè assai impurtante in u cuntestu di ritardi. Amu veramente u WiFi, ma se aghju ancu a minima opportunità per cunnette à Internet cù un cable, l'aghju da aduprà. Ancu sempre scoragiu a ghjente di utilizà e camere WiFi.
Sè ghjucate à shooters in linea serii, streaming video, o cummerciu in borsa: per piacè utilizate Internet via cable.

Eccu una prova visuale per paragunà e cunnessione WiFi è cable. Questu hè un ping à u router WiFi, vale à dì, ancu micca l'Internet.

Lotta per millisecondi. Cumu sceglie u servitore cù u ping più bassu
(Cliccabile) Paragone di ping à un router WiFi via cable è via WiFi

Pò esse vistu chì nantu à WiFi u ritardu hè 1ms più longu è qualchì volta ci sò pacchetti cù ritardu dece volte più longu! È questu hè solu un cortu periodu di tempu. À u listessu tempu, u listessu router produce ritardi stabili di <1ms.

In l'esempiu sopra, u WiFi 802.11n à 2.4GHz hè utilizatu, solu un laptop è un telefunu sò cunnessi à u puntu d'accessu WiFi. S'ellu ci era più clienti nantu à u puntu d'accessu, i risultati seranu assai peggiu. Hè per quessa ch'e sò cusì contru à cambià tutti l'urdinatori di l'uffiziu à u WiFi s'ellu hè pussibule di ghjunghje cù un cable.

Connettività IP

Allora, avemu amparatu à misurà i ritardi à u servitore, pruvemu à truvà u servitore più vicinu à noi. Per fà questu, pudemu vede cumu funziona u routing di u nostru fornitore. Hè cunvenutu per utilizà u serviziu per questu bgp.he.net

Lotta per millisecondi. Cumu sceglie u servitore cù u ping più bassu

Quandu accede à u situ, vedemu chì u nostru indirizzu IP appartene à u sistema autònumu AS42610.

Fighjendu u graficu di cunnessione di i sistemi autonomi, pudemu vede per quale i fornituri di livellu più altu chì u nostru fornitore hè cunnessu cù u restu di u mondu. Ognunu di i punti hè clicable, pudete entre è leghje chì tipu di fornitore hè.

Lotta per millisecondi. Cumu sceglie u servitore cù u ping più bassu
Graficu di cunnessione di i sistemi autonomi di u fornitore

Utilizendu stu strumentu, pudete studià cumu sò strutturati i canali di qualsiasi fornitore, cumpresu l'ospitu. Vede à quale fornituri hè direttamente cunnessu. Per fà questu, avete bisognu di inserisce l'indirizzu IP di u servitore in a ricerca di bgp.he.net è fighjate à u graficu di u so sistema autònumu. Pudete ancu capisce cumu un centru di dati o un fornitore di hosting hè cunnessu à un altru.

A maiò parte di i punti di scambiu di u trafficu furnisce una strumenta speciale chjamata vetru di vetru, chì vi permette di ping è traceroute da un router specificu à u puntu di scambiu.

Per esempiu, vetru di vetru da MGTS

Allora, quandu sceglite un servitore, pudemu vede in anticipu cumu si vede da diversi punti di scambiu di trafficu. È se i nostri clienti potenziali sò situati in una certa zona geografica, pudemu truvà u locu ottimale per u servitore.

Sceglie u servitore più vicinu

Avemu decisu di simplificà a prucedura per truvà u servitore ottimali per i nostri clienti è hà creatu una pagina cù teste automatiche di lochi vicini: I centri di dati RUVDS.
Quandu visitate una pagina, u script misura i ritardi da u vostru navigatore à ogni servitore è li mostra nantu à una mappa interattiva. Quandu clicate nantu à un centru di dati, l'infurmazioni cù i risultati di a prova hè visualizata.

Lotta per millisecondi. Cumu sceglie u servitore cù u ping più bassu

Lotta per millisecondi. Cumu sceglie u servitore cù u ping più bassu

U buttone vi porta à a pagina di prova di latenza per tutti i nostri centri di dati. Per vede i risultati di a prova, cliccate nantu à u puntu di u centru di dati nantu à a mappa

Lotta per millisecondi. Cumu sceglie u servitore cù u ping più bassu

Source: www.habr.com

Add a comment