Ko'pgina vazifalar uchun mijoz va server o'rtasidagi kechikishlar juda muhim, masalan, onlayn o'yinlar, video/ovozli konferentsiya, IP telefoniya, VPN va boshqalar. Agar server IP-tarmoq darajasida mijozdan juda uzoqda bo'lsa, kechikishlar (xalq orasida "ping", "lag" deb ataladi) ishga xalaqit beradi.
Serverning geografik yaqinligi har doim ham IP marshrutlash darajasidagi yaqinlikka teng kelavermaydi. Shunday qilib, masalan, boshqa mamlakatdagi server sizning shahringizdagi serverdan ko'ra sizga "yaqinroq" bo'lishi mumkin. Bularning barchasi marshrutlash va tarmoq qurilishining o'ziga xos xususiyatlariga bog'liq.
Barcha potentsial mijozlarga imkon qadar yaqin bo'lgan serverni qanday tanlash mumkin? IP tarmoq ulanishi nima? Mijozni eng yaqin serverga qanday yo'naltirish mumkin? Keling, maqolada bilib olaylik.
Kechikishlarni o'lchash
Birinchidan, kechikishlarni qanday o'lchashni bilib olaylik. Bu vazifa ko'rinadigan darajada oddiy emas, chunki kechikishlar turli protokollar va paket o'lchamlari uchun farq qilishi mumkin. Bundan tashqari, qisqa muddatli voqealarni, masalan, bir necha millisekund davom etadigan pasayishlarni o'tkazib yuborishingiz mumkin.
ICMP - muntazam ping
Biz Unix ping yordam dasturidan foydalanamiz; u sizga paketlarni yuborish orasidagi intervallarni qo'lda sozlash imkonini beradi, Windows uchun ping versiyasi buni qila olmaydi. Bu juda muhim, chunki paketlar o'rtasida uzoq tanaffuslar mavjud bo'lsa, ular orasida nima sodir bo'layotganini ko'rmasligingiz mumkin.
Paket hajmi (variant -s) - sukut bo'yicha, ping yordam dasturi 64 bayt o'lchamdagi paketlarni yuboradi. Bunday kichik paketlar bilan kattaroq paketlarda sodir bo'ladigan hodisalar sezilmasligi mumkin, shuning uchun biz paket hajmini 1300 baytga o'rnatamiz.
Paketlar orasidagi interval (variant -i) - ma'lumotlarni yuborish orasidagi vaqt. Odatiy bo'lib, paketlar soniyada bir marta yuboriladi, bu juda uzoq, haqiqiy dasturlar soniyada yuzlab va minglab paketlarni yuboradi, shuning uchun biz intervalni 0.1 soniyaga o'rnatamiz. Dastur shunchaki kamroq ruxsat bermaydi.
Natijada buyruq quyidagicha ko'rinadi:
ping -s 1300 -i 0.1 yandex.ru
Ushbu dizayn kechikishlarning yanada real rasmini ko'rish imkonini beradi.
UDP va TCP orqali ping
Ba'zi hollarda TCP ulanishlari ICMP paketlaridan farqli ravishda qayta ishlanadi va shuning uchun o'lchovlar protokolga qarab farq qilishi mumkin. Ko'pincha xost ICMP ga javob bermaydi va oddiy ping ishlamaydi. Masalan, uy egasi butun hayoti davomida shunday qiladi. microsoft.com.
Qulaylik
UDP va TCP ma'lum bir portda ishlayotganligi sababli, biz ma'lum bir portni "ping" qilishimiz kerak. Keling, TCP 80 ni, ya'ni veb-server portini pinglashga harakat qilaylik:
$ 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
Odatiy bo'lib, nping 4 ta paketni yuboradi va to'xtaydi. Variant -v 0 paketlarni cheksiz jo'natish imkonini beradi; dasturni to'xtatish uchun Ctrl+C tugmalarini bosishingiz kerak. Statistik ma'lumotlar oxirida ko'rsatiladi. Biz o'rtacha rtt (qaytish vaqti) qiymati 101ms ekanligini ko'ramiz.
MTR - steroidlarda traceroute
Dastur
$ sudo mtr microsoft.com
(Klik) MTR dasturi interfeysi. microsoft.com ga marshrutni kuzatish boshlandi
MTR darhol zanjirdagi har bir xostga pingni ko'rsatadi va dastur ishlayotgan vaqtda ma'lumotlar doimiy ravishda yangilanadi va qisqa muddatli o'zgarishlarni ko'rish mumkin.
Skrinshotda ko'rsatilgandek, β6 tugun paket yo'qotishlariga ega, lekin aslida bu mutlaqo to'g'ri emas, chunki ba'zi marshrutizatorlar muddati o'tgan TTL bilan paketlarni shunchaki tashlab yuborishi va xato javobini qaytarmasligi mumkin, shuning uchun bu erda paket yo'qotish ma'lumotlarini e'tiborsiz qoldirish mumkin.
WiFi va kabel
Ushbu mavzu maqolaga to'liq tegishli emas, lekin mening fikrimcha, kechikishlar kontekstida juda muhimdir. Men Wi-Fi-ni juda yaxshi ko'raman, lekin agar menda kabel orqali Internetga ulanish uchun eng kichik imkoniyat bo'lsa, men undan foydalanaman. Shuningdek, men har doim odamlarni WiFi kameralaridan foydalanishni taqiqlayman.
Agar siz jiddiy onlayn otishmalarni o'ynasangiz, videoni uzatsangiz yoki birjada savdo qilsangiz: iltimos, kabel orqali Internetdan foydalaning.
Bu erda WiFi va kabel ulanishlarini solishtirish uchun vizual test. Bu Wi-Fi routerga ping, ya'ni hali Internet ham emas.
(Bosish mumkin) Pingni simi va WiFi orqali WiFi router bilan taqqoslash
Ko'rinib turibdiki, Wi-Fi orqali kechikish 1 ms ko'proq va ba'zida o'n barobar ko'proq kechikishlar bo'lgan paketlar mavjud! Va bu juda qisqa vaqt. Shu bilan birga, xuddi shu router <1ms barqaror kechikishlarni keltirib chiqaradi.
Yuqoridagi misolda 802.11 gigagertsli Wi-Fi 2.4n ishlatiladi, faqat noutbuk va telefon WiFi ulanish nuqtasiga ulangan. Agar kirish nuqtasida ko'proq mijozlar bo'lsa, natijalar ancha yomon bo'lar edi. Shuning uchun men barcha ofis kompyuterlarini Wi-Fi-ga o'tkazishga qarshiman, agar ularga kabel orqali ulanish mumkin bo'lsa.
IP ulanishi
Shunday qilib, biz serverdagi kechikishlarni o'lchashni o'rgandik, keling, bizga eng yaqin serverni topishga harakat qilaylik. Buning uchun biz provayderimizning marshrutizatsiyasi qanday ishlashini ko'rib chiqishimiz mumkin. Buning uchun xizmatdan foydalanish qulay
Saytga kirganimizda IP manzilimiz avtonom tizimga tegishli ekanligini ko'ramiz
Avtonom tizimlarning ulanish grafigiga qarab, provayderimiz qaysi yuqori darajadagi provayderlar orqali dunyoning qolgan qismiga ulanganligini ko'rishimiz mumkin. Nuqtalarning har birini bosish mumkin, siz kirishingiz va u qanday provayder ekanligini o'qishingiz mumkin.
Provayderning avtonom tizimlarining ulanish grafigi
Ushbu vositadan foydalanib, har qanday provayderning, jumladan, xostingning kanallari qanday tuzilganligini o'rganishingiz mumkin. Qaysi provayderlarga bevosita ulanganligini ko'ring. Buni amalga oshirish uchun siz bgp.he.net qidiruviga serverning IP-manzilini kiritishingiz va uning avtonom tizimining grafigiga qarashingiz kerak. Bundan tashqari, bitta ma'lumot markazi yoki xosting provayderi boshqasiga qanday ulanganligini tushunishingiz mumkin.
Aksariyat trafik almashinuv punktlari almashinuv nuqtasida ma'lum bir routerdan ping va traceroute qilish imkonini beruvchi ko'rinishdagi oyna deb nomlangan maxsus vositani taqdim etadi.
Bu erda, masalan,
Shunday qilib, serverni tanlashda biz turli xil trafik almashinuv nuqtalaridan uning qanday ko'rinishini oldindan ko'rishimiz mumkin. Va agar bizning potentsial mijozlarimiz ma'lum bir geografik hududda joylashgan bo'lsa, biz server uchun optimal joyni topa olamiz.
Eng yaqin serverni tanlang
Biz mijozlarimiz uchun optimal serverni topish tartibini soddalashtirishga qaror qildik va yaqin atrofdagi joylarni avtomatik sinovdan o'tkazadigan sahifani yaratdik:
Bir sahifaga tashrif buyurganingizda, skript brauzeringizdan har bir serverga kechikishlarni o'lchaydi va ularni interaktiv xaritada ko'rsatadi. Ma'lumot markazini bosganingizda, test natijalari bilan ma'lumot ko'rsatiladi.
Tugma sizni barcha maΚΌlumotlar markazlarimiz uchun kechikish test sahifasiga olib boradi. Sinov natijalarini ko'rish uchun xaritadagi ma'lumotlar markazi nuqtasini bosing
Manba: www.habr.com