Миллисекунддор үчүн күрөшүңүз. Эң төмөн пинг менен серверди кантип тандоо керек

Көптөгөн тапшырмалар үчүн кардар менен сервердин ортосундагы кечигүү маанилүү, мисалы, онлайн оюндарда, видео/үндүү конференцияларда, IP телефонияда, VPNде ж.б. Эгерде сервер кардардан IP тармагынын деңгээлинде өтө алыс болсо, анда кечигүү (эл арасында “пинг”, “артташуу” деп аталат) ишке тоскоол болот.

Сервердин географиялык жакындыгы дайыма эле IP багыттоо деңгээлинде бирдей боло бербейт. Мисалы, башка өлкөнүн сервери сиздин шаарыңыздагы серверге караганда сизге "жакыныраак" болушу мүмкүн. Мунун баары маршруттук жана тармактык курулуштун өзгөчөлүгүнө байланыштуу.

Миллисекунддор үчүн күрөшүңүз. Эң төмөн пинг менен серверди кантип тандоо керек

Бардык потенциалдуу кардарларга мүмкүн болушунча жакын серверди кантип тандоо керек? IP тармак байланышы деген эмне? Кардарды эң жакын серверге кантип багыттоо керек? Келгиле, макалада билели.

Кечигүүнү өлчөө

Биринчиден, кечигүүнү кантип өлчөөнү үйрөнөлү. Бул маселе көрүнгөндөй жөнөкөй эмес, анткени ар кандай протоколдор жана пакеттердин өлчөмдөрү үчүн кечигүүлөр ар кандай болушу мүмкүн. Сиз ошондой эле кыска мөөнөттүү окуяларды, мисалы, бир нече миллисекундга созулган түшүүлөрдү өткөрүп жиберишиңиз мүмкүн.

ICMP - кадимки пинг

Биз Unix пинг утилитасын колдонобуз; ал пакеттерди жөнөтүү ортосундагы интервалдарды кол менен орнотууга мүмкүндүк берет, аны Windows үчүн пинг версиясы жасай албайт. Бул абдан маанилүү, анткени пакеттердин ортосунда узак тыныгуулар болсо, сиз алардын ортосунда эмне болуп жатканын көрбөй калышыңыз мүмкүн.

Пакет өлчөмү (опция -s) - демейки боюнча, пинг утилитасы 64 байт өлчөмүндөгү пакеттерди жөнөтөт. Мындай кичинекей пакеттерде чоңураак пакеттерде пайда болгон кубулуштар байкалбашы мүмкүн, ошондуктан пакеттин өлчөмүн 1300 байтка орнотобуз.

Пакеттердин ортосундагы интервал (опция -i) — маалыматтарды жөнөтүү ортосундагы убакыт. Демейки боюнча, пакеттер секундасына бир жолу жөнөтүлөт, бул абдан узун, реалдуу программалар секундасына жүздөгөн жана миңдеген пакеттерди жөнөтөт, ошондуктан биз интервалды 0.1 секундга орнотобуз. Программа жөн эле азыраак жол бербейт.

Натыйжада, буйрук төмөнкүдөй көрүнөт:

ping -s 1300 -i 0.1 yandex.ru

Бул дизайн кечигүүлөрдүн реалдуу сүрөтүн көрүүгө мүмкүндүк берет.

UDP жана TCP аркылуу ping

Кээ бир учурларда, TCP байланыштары ICMP пакеттерине караганда башкача иштетилет жана ушундан улам өлчөөлөр протоколго жараша өзгөрүшү мүмкүн. Ошондой эле көп учурда хост ICMPге жооп бербейт жана кадимки пинг иштебейт. Мисалы, үй ээси өмүр бою ушундай кылат. microsoft.com.

Коммуналдык nping атактуу сканер nmap иштеп чыгуучулар каалаган пакеттерди түзө алат. Ошондой эле кечигүүлөрдү өлчөө үчүн колдонулушу мүмкүн.
UDP жана TCP белгилүү бир порттордо иштегендиктен, биз белгилүү бир портту "пинг" кылышыбыз керек. Келгиле, TCP 80, башкача айтканда, веб-сервер портуна пинг жүргүзүүгө аракет кылалы:

$ 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

Демейки боюнча, nping 4 пакетти жөнөтөт жана токтойт. Опция -c 0 пакеттерди чексиз жөнөтүүгө мүмкүндүк берет; программаны токтотуу үчүн Ctrl+C баскычтарын басыңыз. Статистика аягында көрсөтүлөт. Орточо rtt (барып келүү убактысы) мааниси 101 мс экенин көрөбүз.

MTR - стероиддер боюнча traceroute

программа MTR My Traceroute - алыскы хостко маршруттарды издөө үчүн өркүндөтүлгөн утилита. Кадимки traceroute системалык утилитасынан айырмаланып (Windows'та бул tracert утилитасы), ал пакет чынжырындагы ар бир хостко кечигүүлөрдү көрсөтө алат. Ал ошондой эле ICMP аркылуу гана эмес, ошондой эле UDP жана TCP аркылуу каттамдарды байкай алат.

$ sudo mtr microsoft.com

Миллисекунддор үчүн күрөшүңүз. Эң төмөн пинг менен серверди кантип тандоо керек
(Чыкылдатуучу) MTR программасынын интерфейси. microsoft.com сайтына каттам изделди

MTR дароо чынжырдагы ар бир хостко пингди көрсөтөт жана программа иштеп жатканда маалыматтар тынымсыз жаңыланып турат жана кыска мөөнөттүү өзгөрүүлөрдү көрүүгө болот.
Скриншот №6 түйүндө пакеттик жоготуулар бар экенин көрсөтүп турат, бирок чындыгында бул такыр туура эмес, анткени кээ бир роутерлор мөөнөтү өтүп кеткен TTL пакеттерин жөн эле ташташы мүмкүн жана ката жообун кайтара албайт, ошондуктан бул жерде пакет жоготуу маалыматтарына көңүл бурбай коюуга болот.

WiFi vs кабель

Миллисекунддор үчүн күрөшүңүз. Эң төмөн пинг менен серверди кантип тандоо керек
Бул тема толугу менен макалага тиешелүү эмес, бирок, менин оюмча, кечигүү контекстинде абдан маанилүү. Мен Wi-Fiды абдан жакшы көрөм, бирок менде кабел аркылуу Интернетке туташуу мүмкүнчүлүгүм болсо, мен аны колдоном. Мен ошондой эле ар дайым адамдарды WiFi камераларын колдонуудан үндөйм.
Эгер сиз олуттуу онлайн атышууларды ойносоңуз, видеону ойнотсоңуз же биржада соода кылсаңыз: кабел аркылуу Интернетти колдонуңуз.

Бул жерде WiFi жана кабелдик байланыштарды салыштыруу үчүн визуалдык тест. Бул WiFi роутерге пинг, башкача айтканда, али Интернетке да кирбейт.

Миллисекунддор үчүн күрөшүңүз. Эң төмөн пинг менен серверди кантип тандоо керек
(Чыкылдатуучу) Кабел жана WiFi аркылуу WiFi роутер менен пингди салыштыруу

Wi-Fi аркылуу кечигүү 1 мс узунураак экенин жана кээде он эсе көп кечигүү пакеттери бар экенин көрүүгө болот! Ал эми бул аз гана убакыт. Ошол эле учурда, ошол эле роутер <1ms туруктуу кечигүүлөрдү чыгарат.

Жогорудагы мисалда WiFi 802.11n 2.4 ГГц колдонулат, WiFi кирүү чекитине ноутбук жана телефон гана туташтырылган. Эгер кирүү чекитинде көбүрөөк кардарлар болсо, натыйжалар алда канча начар болмок. Ушундан улам мен бардык кеңсе компьютерлерин Wi-Fiга которууга каршымын, эгерде аларга кабель аркылуу жетүүгө мүмкүн болсо.

IP байланышы

Ошентип, биз серверге кечигүүлөрдү өлчөөнү үйрөндүк, келгиле, бизге эң жакын серверди табууга аракет кылалы. Бул үчүн, биз провайдерибиздин маршрутизациясы кандай иштээрин карап көрсөк болот. Бул үчүн кызматты колдонуу ыңгайлуу bgp.he.net

Миллисекунддор үчүн күрөшүңүз. Эң төмөн пинг менен серверди кантип тандоо керек

Сайтка киргенде биздин IP дарегибиз автономдуу системага таандык экенин көрөбүз AS42610.

Автономдуу системалардын туташуу графигин карап, биз кайсы жогорку деңгээлдеги провайдерлер аркылуу биздин провайдер дүйнөнүн калган бөлүгү менен байланышканын көрө алабыз. Ар бир чекит чыкылдатса болот, сиз кирип, ал кандай провайдер экенин окуй аласыз.

Миллисекунддор үчүн күрөшүңүз. Эң төмөн пинг менен серверди кантип тандоо керек
Провайдердин автономдуу системаларынын туташуу графиги

Бул куралды колдонуу менен сиз каалаган провайдердин, анын ичинде хостингдин каналдары кандайча структураланганын изилдей аласыз. Кайсы провайдерлерге түздөн-түз байланыштуу экенин көрүңүз. Бул үчүн, сиз bgp.he.net издөөсүнө сервердин IP дарегин киргизип, анын автономдуу тутумунун графигин карап чыгышыңыз керек. Ошондой эле бир маалымат борбору же хостинг провайдери башкасына кантип туташканын түшүнө аласыз.

Көпчүлүк трафик алмашуу пункттары алмашуу пунктунда белгилүү бир роутерден пингге жана трассерутка мүмкүндүк берүүчү айнек деп аталган атайын курал менен камсыз кылат.

Мисалы, көз айнек МГТСтен

Ошентип, серверди тандап жатканда, биз ар кандай трафик алмашуу пункттарынан анын кандай болорун алдын ала көрө алабыз. Ал эми биздин потенциалдуу кардарларыбыз белгилүү бир географиялык аймакта жайгашкан болсо, биз сервердин оптималдуу ордун таба алабыз.

Эң жакын серверди тандаңыз

Биз кардарларыбыз үчүн оптималдуу серверди табуу процедурасын жөнөкөйлөтүүнү чечтик жана жакын жайгашкан жерлерди автоматтык түрдө тестирлөө менен баракты түздүк: RUVDS маалымат борборлору.
Сиз баракка киргенде, скрипт браузериңизден ар бир серверге кечигүүлөрдү өлчөп, аларды интерактивдүү картада көрсөтөт. Маалымат борборун басканда, тесттин жыйынтыгы менен маалымат көрсөтүлөт.

Миллисекунддор үчүн күрөшүңүз. Эң төмөн пинг менен серверди кантип тандоо керек

Миллисекунддор үчүн күрөшүңүз. Эң төмөн пинг менен серверди кантип тандоо керек

Баскыч сизди биздин бардык маалымат борборлорубуздун күтүү сыноо барагына алып барат. Сыноонун жыйынтыгын көрүү үчүн картадагы маалымат борборунун чекитине чыкылдатыңыз

Миллисекунддор үчүн күрөшүңүз. Эң төмөн пинг менен серверди кантип тандоо керек

Source: www.habr.com

Комментарий кошуу