Lumalaban para sa milliseconds. Paano pumili ng isang server na may pinakamababang ping

Para sa maraming gawain, kritikal ang mga pagkaantala sa pagitan ng kliyente at server, halimbawa sa mga online na laro, video/voice conferencing, IP telephony, VPN, atbp. Kung ang server ay masyadong malayo sa kliyente sa antas ng IP network, ang mga pagkaantala (sikat na tinatawag na "ping", "lag") ay makagambala sa trabaho.

Ang geographic proximity ng isang server ay hindi palaging katumbas ng proximity sa IP routing level. Kaya, halimbawa, ang isang server sa ibang bansa ay maaaring "mas malapit" sa iyo kaysa sa isang server sa iyong lungsod. Ang lahat ay dahil sa mga kakaibang katangian ng pagruruta at pagtatayo ng network.

Lumalaban para sa milliseconds. Paano pumili ng isang server na may pinakamababang ping

Paano pumili ng isang server na mas malapit hangga't maaari sa lahat ng mga potensyal na kliyente? Ano ang koneksyon sa IP network? Paano idirekta ang isang kliyente sa pinakamalapit na server? Alamin natin sa artikulo.

Pagsukat ng mga pagkaantala

Una, alamin natin kung paano sukatin ang mga pagkaantala. Ang gawaing ito ay hindi kasing simple ng maaaring tila dahil ang mga pagkaantala ay maaaring mag-iba para sa iba't ibang mga protocol at laki ng packet. Maaari mo ring makaligtaan ang mga panandaliang kaganapan, tulad ng mga paglubog na tumatagal ng ilang millisecond.

ICMP - regular na ping

Gagamitin namin ang Unix ping utility; pinapayagan ka nitong manu-manong itakda ang mga pagitan sa pagitan ng pagpapadala ng mga packet, na hindi magagawa ng bersyon ng ping para sa Windows. Mahalaga ito dahil kung may mahabang paghinto sa pagitan ng mga packet, maaaring hindi mo lang makita kung ano ang nangyayari sa pagitan ng mga ito.

Laki ng package (opsyon -s) - bilang default, ang ping utility ay nagpapadala ng mga packet na 64 bytes ang laki. Sa ganitong maliliit na packet, ang mga phenomena na nangyayari sa mas malalaking packet ay maaaring hindi kapansin-pansin, kaya itatakda namin ang laki ng packet sa 1300 bytes.

Interval sa pagitan ng mga packet (opsyon -i) β€” oras sa pagitan ng mga pagpapadala ng data. Bilang default, ang mga packet ay ipinapadala isang beses bawat segundo, ito ay napakahaba, ang mga tunay na programa ay nagpapadala ng daan-daang at libu-libong mga packet bawat segundo, kaya itatakda namin ang pagitan sa 0.1 segundo. Ang programa ay hindi pinapayagan ang mas kaunti.

Bilang isang resulta, ang utos ay ganito ang hitsura:

ping -s 1300 -i 0.1 yandex.ru

Binibigyang-daan ka ng disenyong ito na makakita ng mas makatotohanang larawan ng mga pagkaantala.

Ping sa pamamagitan ng UDP at TCP

Sa ilang mga kaso, ang mga koneksyon sa TCP ay pinoproseso nang iba kaysa sa mga ICMP packet, at dahil dito, ang mga sukat ay maaaring mag-iba depende sa protocol. Madalas ding nangyayari na ang host ay hindi tumugon sa ICMP, at ang regular na ping ay hindi gumagana. Ito ang ginagawa ng isang host sa buong buhay niya, halimbawa. microsoft.com.

Kagamitan nping mula sa mga developer ng sikat na scanner nmap ay maaaring makabuo ng anumang mga packet. Maaari rin itong gamitin upang sukatin ang mga pagkaantala.
Dahil gumagana ang UDP at TCP sa mga partikular, kailangan nating "i-ping" ang isang partikular na port. Subukan nating i-ping ang TCP 80, iyon ay, ang web server port:

$ 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

Bilang default, ang nping ay nagpapadala ng 4 na packet at humihinto. Pagpipilian -c 0 nagbibigay-daan sa walang katapusang pagpapadala ng mga packet; upang ihinto ang programa, kailangan mong pindutin ang Ctrl+C. Ipapakita ang mga istatistika sa dulo. Nakikita namin na ang average na halaga ng rtt (round-trip time) ay 101ms.

MTR - traceroute sa mga steroid

Programa MTR Ang My Traceroute ay isang advanced na utility para sa pagsubaybay sa mga ruta sa isang malayong host. Hindi tulad ng karaniwang system utility traceroute (sa Windows ito ang tracert utility), maaari itong magpakita ng mga pagkaantala sa bawat host sa packet chain. Maaari din itong masubaybayan ang mga ruta hindi lamang sa pamamagitan ng ICMP, kundi pati na rin sa pamamagitan ng UDP at TCP.

$ sudo mtr microsoft.com

Lumalaban para sa milliseconds. Paano pumili ng isang server na may pinakamababang ping
(Nai-click) MTR program interface. Nagsimula ang pagsubaybay sa ruta sa microsoft.com

Agad na ipinapakita ng MTR ang ping sa bawat host sa chain, at ang data ay patuloy na ina-update habang tumatakbo ang program at makikita ang mga panandaliang pagbabago.
Ang screenshot ay nagpapakita na ang node #6 ay may mga packet losses, ngunit sa katunayan ito ay hindi ganap na totoo, dahil ang ilang mga router ay maaaring itapon lamang ang mga packet na may expired na TTL at hindi ibalik ang isang error na tugon, kaya ang packet loss data ay maaaring balewalain dito.

WiFi kumpara sa cable

Lumalaban para sa milliseconds. Paano pumili ng isang server na may pinakamababang ping
Ang paksang ito ay hindi ganap na nauugnay sa artikulo, ngunit sa palagay ko ito ay napakahalaga sa konteksto ng mga pagkaantala. Gustung-gusto ko ang WiFi, ngunit kung mayroon akong kahit kaunting pagkakataon na kumonekta sa Internet gamit ang isang cable, gagamitin ko ito. Palagi ko ring hinihikayat ang mga tao na gumamit ng mga WiFi camera.
Kung naglalaro ka ng mga seryosong online shooter, mag-stream ng video, o mag-trade sa stock exchange: mangyaring gamitin ang Internet sa pamamagitan ng cable.

Narito ang isang visual na pagsubok upang ihambing ang WiFi at mga koneksyon sa cable. Ito ay isang ping sa WiFi router, iyon ay, hindi pa sa Internet.

Lumalaban para sa milliseconds. Paano pumili ng isang server na may pinakamababang ping
(Nai-click) Paghahambing ng ping sa isang WiFi router sa pamamagitan ng cable at sa pamamagitan ng WiFi

Ito ay makikita na sa paglipas ng WiFi ang pagkaantala ay 1ms mas mahaba at kung minsan ay may mga packet na may mga pagkaantala ng sampung beses na mas mahaba! At ito ay isang maikling panahon lamang. Kasabay nito, ang parehong router ay gumagawa ng mga matatag na pagkaantala ng <1ms.

Sa halimbawa sa itaas, WiFi 802.11n sa 2.4GHz ang ginagamit, isang laptop at telepono lang ang nakakonekta sa WiFi access point. Kung marami pang kliyente sa access point, mas malala ang resulta. Ito ang dahilan kung bakit tutol ako sa paglipat ng lahat ng mga computer sa opisina sa WiFi kung posible na maabot ang mga ito gamit ang isang cable.

Pagkakakonekta ng IP

Kaya, natutunan naming sukatin ang mga pagkaantala sa server, subukan nating hanapin ang pinakamalapit na server sa amin. Para magawa ito, maaari naming tingnan kung paano gumagana ang pagruruta ng aming provider. Maginhawang gamitin ang serbisyo para dito bgp.he.net

Lumalaban para sa milliseconds. Paano pumili ng isang server na may pinakamababang ping

Kapag na-access namin ang site, nakikita namin na ang aming IP address ay kabilang sa autonomous system AS42610.

Sa pamamagitan ng pagtingin sa connectivity graph ng mga autonomous system, makikita natin kung saan ang mga provider na may mataas na antas ay konektado ang ating provider sa ibang bahagi ng mundo. Ang bawat isa sa mga tuldok ay naki-click, maaari kang pumasok at basahin kung anong uri ng provider ito.

Lumalaban para sa milliseconds. Paano pumili ng isang server na may pinakamababang ping
Connectivity graph ng mga autonomous system ng provider

Gamit ang tool na ito, maaari mong pag-aralan kung paano nakaayos ang mga channel ng anumang provider, kabilang ang pagho-host. Tingnan kung sa aling mga provider ito direktang konektado. Upang gawin ito, kailangan mong ipasok ang IP address ng server sa paghahanap para sa bgp.he.net at tingnan ang graph ng autonomous system nito. Maiintindihan mo rin kung paano konektado ang isang data center o hosting provider sa isa pa.

Karamihan sa mga traffic exchange point ay nagbibigay ng espesyal na tool na tinatawag na looking glass, na nagbibigay-daan sa iyong mag-ping at mag-traceroute mula sa isang partikular na router sa exchange point.

Narito, halimbawa, naghahanap ng baso mula sa MGTS

Kaya, kapag pumipili ng isang server, makikita natin nang maaga kung ano ang magiging hitsura nito mula sa iba't ibang mga palitan ng trapiko. At kung ang aming mga potensyal na kliyente ay matatagpuan sa isang partikular na heograpikal na lugar, mahahanap namin ang pinakamainam na lokasyon para sa server.

Piliin ang pinakamalapit na server

Nagpasya kaming gawing simple ang pamamaraan para sa paghahanap ng pinakamainam na server para sa aming mga kliyente at lumikha ng isang pahina na may awtomatikong pagsubok sa mga kalapit na lokasyon: Mga sentro ng data ng RUVDS.
Kapag bumisita ka sa isang page, sinusukat ng script ang mga pagkaantala mula sa iyong browser sa bawat server at ipinapakita ang mga ito sa isang interactive na mapa. Kapag nag-click ka sa isang data center, ipapakita ang impormasyon na may mga resulta ng pagsubok.

Lumalaban para sa milliseconds. Paano pumili ng isang server na may pinakamababang ping

Lumalaban para sa milliseconds. Paano pumili ng isang server na may pinakamababang ping

Dadalhin ka ng button sa latency test page para sa lahat ng aming mga data center. Upang tingnan ang mga resulta ng pagsubok, mag-click sa punto ng data center sa mapa

Lumalaban para sa milliseconds. Paano pumili ng isang server na may pinakamababang ping

Pinagmulan: www.habr.com

Magdagdag ng komento