Көптөгөн тапшырмалар үчүн кардар менен сервердин ортосундагы кечигүү маанилүү, мисалы, онлайн оюндарда, видео/үндүү конференцияларда, 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.
Коммуналдык
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
программа
$ 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 байланышы
Ошентип, биз серверге кечигүүлөрдү өлчөөнү үйрөндүк, келгиле, бизге эң жакын серверди табууга аракет кылалы. Бул үчүн, биз провайдерибиздин маршрутизациясы кандай иштээрин карап көрсөк болот. Бул үчүн кызматты колдонуу ыңгайлуу
Сайтка киргенде биздин IP дарегибиз автономдуу системага таандык экенин көрөбүз
Автономдуу системалардын туташуу графигин карап, биз кайсы жогорку деңгээлдеги провайдерлер аркылуу биздин провайдер дүйнөнүн калган бөлүгү менен байланышканын көрө алабыз. Ар бир чекит чыкылдатса болот, сиз кирип, ал кандай провайдер экенин окуй аласыз.
Провайдердин автономдуу системаларынын туташуу графиги
Бул куралды колдонуу менен сиз каалаган провайдердин, анын ичинде хостингдин каналдары кандайча структураланганын изилдей аласыз. Кайсы провайдерлерге түздөн-түз байланыштуу экенин көрүңүз. Бул үчүн, сиз bgp.he.net издөөсүнө сервердин IP дарегин киргизип, анын автономдуу тутумунун графигин карап чыгышыңыз керек. Ошондой эле бир маалымат борбору же хостинг провайдери башкасына кантип туташканын түшүнө аласыз.
Көпчүлүк трафик алмашуу пункттары алмашуу пунктунда белгилүү бир роутерден пингге жана трассерутка мүмкүндүк берүүчү айнек деп аталган атайын курал менен камсыз кылат.
Мисалы,
Ошентип, серверди тандап жатканда, биз ар кандай трафик алмашуу пункттарынан анын кандай болорун алдын ала көрө алабыз. Ал эми биздин потенциалдуу кардарларыбыз белгилүү бир географиялык аймакта жайгашкан болсо, биз сервердин оптималдуу ордун таба алабыз.
Эң жакын серверди тандаңыз
Биз кардарларыбыз үчүн оптималдуу серверди табуу процедурасын жөнөкөйлөтүүнү чечтик жана жакын жайгашкан жерлерди автоматтык түрдө тестирлөө менен баракты түздүк:
Сиз баракка киргенде, скрипт браузериңизден ар бир серверге кечигүүлөрдү өлчөп, аларды интерактивдүү картада көрсөтөт. Маалымат борборун басканда, тесттин жыйынтыгы менен маалымат көрсөтүлөт.
Баскыч сизди биздин бардык маалымат борборлорубуздун күтүү сыноо барагына алып барат. Сыноонун жыйынтыгын көрүү үчүн картадагы маалымат борборунун чекитине чыкылдатыңыз
Source: www.habr.com