Fjochtsje foar millisekonden. Hoe kinne jo in tsjinner kieze mei de leechste ping

Foar in protte taken binne fertragingen tusken de kliïnt en tsjinner kritysk, bygelyks yn online spultsjes, fideo- / stimkonferinsjes, IP-telefony, VPN, ensfh. As de tsjinner te fier fan 'e kliïnt is op it IP-netwurknivo, dan sille fertragingen (yn 'e folken neamd "ping", "lag") it wurk bemuoie.

Geografyske tichtby fan in tsjinner is net altyd gelyk oan tichtby op it IP-routingnivo. Sa, bygelyks, in tsjinner yn in oar lân kin wêze "tichter by jo dan in tsjinner yn jo stêd. Alles troch de eigenaardichheden fan routing en netwurkbou.

Fjochtsje foar millisekonden. Hoe kinne jo in tsjinner kieze mei de leechste ping

Hoe kinne jo in server kieze dy't sa ticht mooglik is by alle potensjele kliïnten? Wat is IP-netwurkferbining? Hoe kinne jo in kliïnt rjochtsje nei de tichtste server? Litte wy útfine yn it artikel.

Fertragingen mjitten

Litte wy earst leare hoe't jo fertragingen mjitten. Dizze taak is net sa ienfâldich as it liket, om't fertragingen kinne ferskille foar ferskate protokollen en pakketgrutte. Jo kinne ek eveneminten op koarte termyn misse, lykas dips dy't in pear millisekonden duorje.

ICMP - reguliere ping

Wy sille it Unix-ping-hulpprogramma brûke; it lit jo de yntervallen manuell ynstelle tusken it ferstjoeren fan pakketten, wat de pingferzje foar Windows net kin dwaan. Dit is wichtich, om't as d'r lange pauzes binne tusken pakketten, jo miskien gewoan net sjogge wat der tusken bart.

Pakket grutte (opsje -s) - standert stjoert it ping-hulpprogramma pakketten fan 64 bytes yn grutte. Mei sokke lytse pakketten binne ferskynsels dy't foarkomme mei gruttere pakketten miskien net te merken, dus sille wy de pakketgrutte op 1300 bytes ynstelle.

Ynterval tusken pakketten (opsje -i) - tiid tusken gegevensferstjoeren. Standert wurde pakketten ien kear per sekonde ferstjoerd, dit is heul lang, echte programma's stjoere hûnderten en tûzenen pakketten per sekonde, sadat wy it ynterval ynstelle op 0.1 sekonde. It programma lit gewoan net minder ta.

As resultaat sjocht it kommando der sa út:

ping -s 1300 -i 0.1 yandex.ru

Dit ûntwerp lit jo in mear realistysk byld fan fertragingen sjen.

Ping fia UDP en TCP

Yn guon gefallen wurde TCP-ferbiningen oars ferwurke as ICMP-pakketten, en hjirtroch kinne mjittingen ferskille ôfhinklik fan it protokol. It bart ek faak dat de host gewoan net reagearret op ICMP, en gewoane ping wurket net. Dat docht bygelyks in gasthear syn hiele libben. microsoft.com.

Utility nping fan 'e ûntwikkelders fan' e ferneamde scanner nmap kin alle pakketten generearje. It kin ek brûkt wurde om fertragingen te mjitten.
Sûnt UDP en TCP operearje op spesifike, moatte wy in spesifike poarte "pinge". Litte wy besykje TCP 80 te pingjen, dat is de poarte fan 'e webserver:

$ 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

Standert stjoert nping 4 pakketten en stopt. Opsje -c 0 makket it einleaze ferstjoeren fan pakketten mooglik; om it programma te stopjen, moatte jo Ctrl+C drukke. Statistiken wurde oan 'e ein toand. Wy sjogge dat de gemiddelde rtt (round-trip tiid) wearde is 101ms.

MTR - traceroute op steroïden

It programma MTR Myn Traceroute is in avansearre helpmiddel foar it folgjen fan rûtes nei in host op ôfstân. Oars as it gewoane systeemprogramma traceroute (yn Windows is dit it tracert-hulpprogramma), kin it fertragingen sjen litte oan elke host yn 'e pakketketen. It kin ek trace rûtes net allinnich fia ICMP, mar ek fia UDP en TCP.

$ sudo mtr microsoft.com

Fjochtsje foar millisekonden. Hoe kinne jo in tsjinner kieze mei de leechste ping
(Klikbere) MTR programma ynterface. Rûte tracing nei microsoft.com begûn

MTR toant fuortendaliks de ping oan elke host yn 'e keten, en de gegevens wurde hieltyd bywurke wylst it programma rint en koarte-termyn feroarings kinne sjoen wurde.
It skermôfbylding lit sjen dat knooppunt #6 pakketferlies hat, mar yn feite is dit net hielendal wier, om't guon routers pakketten mei in ferrûne TTL gewoan ferwiderje kinne en gjin flaterantwurd weromjaan, sadat de pakketferliesgegevens hjir kinne wurde negearre.

WiFi vs kabel

Fjochtsje foar millisekonden. Hoe kinne jo in tsjinner kieze mei de leechste ping
Dit ûnderwerp is net hielendal relevant foar it artikel, mar nei myn miening is it tige wichtich yn 'e kontekst fan fertragingen. Ik hâld echt fan WiFi, mar as ik sels de minste kâns haw om te ferbinen mei it ynternet mei in kabel, sil ik it brûke. Ik ried minsken ek altyd ôf om WiFi-kamera's te brûken.
As jo ​​​​serieuze online shooters spielje, fideo streame, of hannelje op 'e beurs: brûk asjebleaft it ynternet fia kabel.

Hjir is in fisuele test om WiFi- en kabelferbiningen te fergelykjen. Dit is in ping nei de WiFi-router, dat is noch net iens it ynternet.

Fjochtsje foar millisekonden. Hoe kinne jo in tsjinner kieze mei de leechste ping
(Klikber) Fergeliking fan ping mei in WiFi-router fia kabel en fia WiFi

It kin sjoen wurde dat oer WiFi de fertraging 1ms langer is en soms binne d'r pakketten mei fertragingen tsien kear langer! En dit is mar in koarte perioade fan tiid. Tagelyk produseart deselde router stabile fertragingen fan <1ms.

Yn it foarbyld hjirboppe wurdt WiFi 802.11n op 2.4GHz brûkt, allinich in laptop en in tillefoan binne ferbûn mei it WiFi-tagongspunt. As d'r mear kliïnten op it tagongspunt wiene, soene de resultaten folle slimmer wêze. Dêrom bin ik sa tsjin it wikseljen fan alle kantoarkompjûters nei WiFi as it mooglik is om se te berikken mei in kabel.

IP ferbining

Dat, wy hawwe leard om fertragingen oan 'e tsjinner te mjitten, litte wy besykje de tsjinner te finen dy't it tichtst by ús is. Om dit te dwaan kinne wy ​​sjen hoe't de routing fan ús provider wurket. It is handich om de tsjinst hjirfoar te brûken bgp.he.net

Fjochtsje foar millisekonden. Hoe kinne jo in tsjinner kieze mei de leechste ping

As wy tagong krije ta de side, sjogge wy dat ús IP-adres heart by it autonome systeem AS42610.

Troch te sjen nei de ferbiningsgrafyk fan autonome systemen, kinne wy ​​sjen troch hokker providers op heger nivo ús provider is ferbûn mei de rest fan 'e wrâld. Elk fan 'e stippen is te klikken, jo kinne yngean en lêze hokker soarte provider it is.

Fjochtsje foar millisekonden. Hoe kinne jo in tsjinner kieze mei de leechste ping
Konnektivitätgrafyk fan de autonome systemen fan de provider

Mei dit ark kinne jo studearje hoe't de kanalen fan elke provider, ynklusyf hosting, binne strukturearre. Sjoch mei hokker oanbieders it direkt ferbûn is. Om dit te dwaan, moatte jo it IP-adres fan de tsjinner ynfiere yn it sykjen nei bgp.he.net en sjoch nei de grafyk fan syn autonome systeem. Jo kinne ek begripe hoe't ien datasintrum of hostingprovider is ferbûn mei in oar.

De measte ferkearsútwikselingspunten jouwe in spesjaal ark neamd looking glass, wêrmei jo kinne ping en traceroute fan in spesifike router op it útwikselpunt.

Hjir, bygelyks, sjocht glês fan MGTS

Dat, by it kiezen fan in tsjinner, kinne wy ​​​​foarôf sjen hoe't it sil útsjen fan ferskate ferkearsútwikselpunten. En as ús potensjele kliïnten yn in bepaald geografysk gebiet lizze, kinne wy ​​de optimale lokaasje fine foar de tsjinner.

Selektearje de tichtstbye tsjinner

Wy besletten de proseduere te ferienfâldigjen foar it finen fan de optimale tsjinner foar ús kliïnten en hawwe in side makke mei automatyske testen fan lokaasjes yn 'e buert: RUVDS datacenters.
As jo ​​in side besykje, mjit it skript de fertragingen fan jo blêder nei elke server en toant se op in ynteraktive kaart. As jo ​​op in datasintrum klikke, wurdt ynformaasje mei testresultaten werjûn.

Fjochtsje foar millisekonden. Hoe kinne jo in tsjinner kieze mei de leechste ping

Fjochtsje foar millisekonden. Hoe kinne jo in tsjinner kieze mei de leechste ping

De knop bringt jo nei de latency testpagina foar al ús datasintra. Om de testresultaten te besjen, klikje jo op it gegevenssintrumpunt op 'e kaart

Fjochtsje foar millisekonden. Hoe kinne jo in tsjinner kieze mei de leechste ping

Boarne: www.habr.com

Add a comment