Обрив з'єднання із сервером. Трасування та пінг. Трасування маршруту: навіщо воно потрібне? Трасування мережі інтернет

Уявіть собі ситуацію: ви сидите в інтернеті, нікого не чіпаєте, і тут ваш улюблений сайт перестає вантажитися. Інтернет упав, думаєте ви. Але виявляється, що решта сайтів вантажиться нормально. Як визначити, що сталося? Вам допоможе трасування маршруту.

Напевно, всім відомо, що будь-який сайт знаходиться на сервері – спеціальному комп'ютері. Коли ми вводимо адресу сайту в адресний рядок браузера та натискаємо на кнопку «Перейти», ми цим відправляємо запит до сервера. По дорозі до сайту наш запит проходить кілька проміжних вузлів зв'язку, і якщо з ними все гаразд - то сайт відображається у браузері.

Якщо ж сайт не вантажиться, значить, наш запит не дійшов через проблеми на якомусь із вузлів зв'язку (проміжних комп'ютерів чи маршрутизаторів). Проблема може бути у вас самих (наприклад, проблема з кабелем; хоча при цьому не будуть вантажитися й інші сайти), у вашого інтернет-провайдера або на стороні хостера сайту. Визначити, на якій саме ділянці каналу зв'язку втрачається ваш запит, допоможе трасування маршруту.

Трасування маршруту виконується за допомогою службової програми Traceroute/Tracert. Ця програма входить до комплекту постачання практично всіх сучасних мережевих ОС (операційних систем, що підтримують роботу в комп'ютерних мережах). У ОС Microsoft Windows ця програма називається tracert, а Linux і Mac OS X - traceroute.

Принцип дії цієї програмисхожий з принципом дії програми. Traceroute відправляє на сервер дані і при цьому фіксує всі проміжні маршрутизатори, через які проходять дані на шляху до сервера (цільового вузла). Якщо при доставці даних до одного з вузлів відбувається проблема, програма визначає ділянку мережі, на якій виникли проблеми.

Як здійснюється трасування маршруту в Windows? Програма tracert, як і ping, запускається з командного рядка. Про всяк випадок нагадуємо, як увійти в командний рядок у Windows. Є три основні способи:

  1. Натискаємо на кнопку Пуск, вибираємо пункт Виконати, у полі Відкрити пишемо cmd та натискаємо на кнопку OK або клавішу Enter.
  2. Натискаємо Win+R (Win – це кнопка, на якій зображено логотип Windows), відкривається таке саме вікно, як і в попередньому випадку, так що далі діємо аналогічно.
  3. Натискаємо на кнопку Пуск, вибираємо пункт Усі програми (або Програми для більш ранніх версій ОС), у ньому – пункт Стандартні, у стандартних програмах клацаємо на пункт Командний рядок.

У вікні набираємо команду tracert Назва_сайту(Наприклад, tracert yandex.ru) і натискаємо на клавішу Enter. Замість адреси сайту можна ввести його IP адресу (якщо вона вам, звичайно, відома). Ввівши адресу, ми тим самим встановили маршрут до кінцевого вузла. У вікні командного рядка в реальному часі виводяться результати трасування: назва та IP-адреса проміжних вузлів, час відгуку в мілісекундах.

Якщо вам не цікаві імена проміжних вузлів, трасування маршруту повинно виконуватися з параметром -d, який приховує імена маршрутизаторів, наприклад: tracert -d yandex.ru.

Як використовувати ці дані для вирішення проблеми? Час відгуку показує завантаженість каналу. Але навіть якщо час відгуку великий, сайт буде вантажитися - нехай і важко. А от якщо замість часу відгуку ви бачите напис «Перевищено інтервал очікування для запиту»Це означає, що на даному вузлі зв'язку відбувається втрата даних, а значить, проблема саме в ньому.

Отже, трасування маршруту допомагає визначити проблемний вузол. Якщо дані проходять нормально і стопоряться на самому пункті призначення, то проблема дійсно з сайтом. Якщо трасування маршруту припиняється на середині шляху, то проблема в одному із проміжних маршрутизаторів. Якщо проходження пакетів припиняється в межах мережі вашого провайдера – то проблему потрібно вирішувати «на місцевому рівні».

Якщо трасування маршруту обірвалося на одному з проміжних маршрутизаторів, можна спробувати зайти на сайт з іншого комп'ютера чи навіть мобільного телефону- маршрут зміниться і сайт може бути доступний. Для вірності можна спробувати зробити трасування з іншого комп'ютера. А якщо іншого комп'ютера під рукою немає, на допомогу прийдуть спеціальні онлайн-сервіси. Так, на сайті traceroute.org доступне трасування маршруту до сайту з різних країн. Ви вибираєте у списку країну, провайдера, вводите адресу сайту та перевіряєте маршрут.

Коли ми заходимо на інтернет-портал, комп'ютер надсилає запит на сервер. Дорогою він проходить через маршрутизатори. Якщо все гаразд – ресурс відображається у нас у браузері.

Якщо сайт не працює, запит комп'ютера не дійшов до сервера - загубився на одному із проміжних вузлів зв'язку або причина в чомусь іншому (не працює сам сайт). Щоб розібратися, де саме проблема, проведемо трасування маршруту.

При зверненні до служби технічної підтримки ресурсу зазвичай це перше, що просять зробити, якщо сайт не працює. Це пов'язано з тим, що сайт може не працювати через перебої зв'язку на окремому вузлі, але в цілому сайт працює і з ним все гаразд.

Як зробити трасування маршруту до сервера, сайту в OC Windows.

Запускаємо командний рядок через меню "Пуск - Всі програми - Стандартні". Або натискаємо поєднання клавіш Win + R, з'являється вікно системної утиліти Запуск програми, вводимо: cmd і натискаємо ок.

У командному рядку вводимо: tracert і адресу ресурсу, який потрібно перевірити. Натискаємо "введення". В результаті трасування ми дізнаємося, які проміжні вузли проходить пакет та час відгуку. На основі цієї інформації можна зрозуміти де проблема: у Вас, в інтернет-провайдера, на одному з проміжних вузлів або на сервері сайту. Зірочки означають, що один із маршрутизаторів не хоче відповідати.

Зірочки не завжди означають проблему - на сервері може стояти файрволл, який блокує зайві пакети, а реальні пропускає і в браузері сторінка коректно відкривається.

Віртуальний хостинг сайтів для популярних CMS:

У командному рядку дізнаємось IP адресу для трасування

Якщо по доменному імені трасування не проходить, зробимо це за адресою IP. Дізнаємося його через команду «ping». Цей запит показує час, який потрібно пакету, щоб дійти до сервера та повернутися назад. Цифри у квадратних дужках, які йдуть після домену в рядку «Обмін пакетами з…», це і є IP, що шукається. На скріншоті: 88.214.230.21.

Як скопіювати результати пінгу та трасування з командного рядка?

Навіть якщо трасування доменом пройшло успішно, варто «пропінгувати» сервер, щоб побачити, чи не губляться пакети. Та й техпідтримка може попросити статистику обміну даних разом із звітом про трасування.

Вводимо: tracert та IP адресу, натискаємо «введення» та отримуємо звіт. Якщо дані потрібні особисто вам, а тих. підтримки, виділяємо мишкою потрібні рядки та натискаємо «enter». Інформація потрапляє у буфер обміну. Створюємо текстовий файл і вставляємо комбінацією клавіш Ctrl + V. Зберігаємо та відправляємо у техпідтримку.

Нещодавно на комп'ютері, який розміщений на роботі, з якихось причин не відображався мій блог, хоча на комп'ютері вдома мій блог відображався (так-так, грішний – бувають випадки, коли я замість прямих своїх обов'язків на роботі, займаюся своїм сайтом) .
Браузер Google Chrome виводив:

"Помилка 101 (net::ERR_CONNECTION_RESET): З'єднання скинуто".

Шкода, що не здогадався відразу зробити скріншот помилки, але це виглядало приблизно так:

Звернувся я до тих. підтримку до свого хостинг-провайдера, описавши докладно свою проблему.
Консультант хостингу попросив повідомити йому мою IP адресу, пінг та трасування до сервера.

Думаєте, я одразу зрозумів, де шукати ці параметри? Хех не відразу, але не розгубився і зумів відповісти консультантові. Ну, і як ви вже самі зрозуміли, гарячими слідами і з особистого досвіду пишу цей матеріал. А раптом комусь нагоді?

Як дізнатися свою IP адресу?

Як зробити пінг (ping)?

Спочатку з'ясуємо, що таке пінг (ping)
ping (пінг)- це проміжок часу, за який пакет даних, надісланий з комп'ютера, доходить до сервера і повертається назад.
Отже, як зробити пінг та відправити результат хостинг провайдеру?

Або ж можна скористатися найшвидшим способом: викликати команду «Виконати» поєднанням клавіш «Win + R»:

2). З'явиться вікно, де в порожньому полі потрібно прописати команду cmd і натиснути на кнопку ОК :

3). Відкриється чорне вікно, в якому потрібно прописати команду «ping-адреса сайту» (у моєму випадку це виглядало так: «ping-сайт») і натиснути на клавішу «Enter»:

5). Щоб скопіювати результат для відправки хостинг-провайдеру, потрібно:

Щоб вставити отриманий результат у текстовий документ або в листування з підтримкою хостингу, вам достатньо натиснути «CTRL+V» .
Ось у такий простий спосіб можна зробити пінг (ping).

Як зробити трасування (tracert) сервера?

Для початку з'ясуємо, що таке трасування (tracert) сервера.
Трасування (tracert) сервера –це мережевий сервіс, призначений для отримання списку вузлів мережі Internet, через які проходять пакети з даними до сервера хоста, що запитується.

Тобто, за допомогою команди tracert, ви зможете дізнатися про шлях проходження запиту до сервера і виявити, на якому пункті маршруту є проблеми з передачею.

Щоб зробити трасування сервера, потрібно зробити такі дії:
1). У Windows XP/7. Натисніть кнопку «Пуск» , яка розташована в нижньому лівому кутку екрана монітора, і перейдіть на вкладку «Виконати» :

Або ж можна скористатися найшвидшим способом виклику команди «Виконати» натиснути клавіші «Win + R»:

2). У вікні, що з'явилося, в порожньому полі потрібно прописати команду «cmd» і натиснути на кнопку «ОК» :

3). Відкриється чорне вікно, в якому потрібно прописати команду tracert адресу сайту (у моєму випадку це виглядало так: tracert сайт) і натиснути на клавішу Enter :

4). За кілька секунд комп'ютер видасть результат:

5). Щоб скопіювати результат для відправки хостинг провайдеру, потрібно:
- Правою кнопкою миші натиснути на чорний екран. З'явиться спливаюче меню, вибрати там вкладку «Виділити все»:

Весь текст у чорному вікні виділиться білим. Щоб скопіювати весь текст, потрібно натиснути на клавішу «Enter» .

У мережі інтернет, зокрема, на форумах, у разі виникнення проблеми з підключенням до будь-якого вузла (), рекомендують перевірити пінг або виконати трасування маршруту та таким чином перевірити доступність сервера.

Але що таке пінг і що таке трасування? Пінг (ping) – це інструмент (утиліта) для перевірки цілісності з'єднання в мережах на основі TCP/IP. Трасування (traceroute або tracert команда) — це програма визначення маршрутів прямування даних у мережах TCP/IP.

Однак не завжди можна зустріти інформацію про те, як саме виконується ця перевірка: як пінгувати чи зробити трасу.

Перевірка пінгу

Для перевірки пінгу використовується однойменна команда ping, яку необхідно вводити у командному рядку. Запустити командний рядок можна такими способами:

Windows:

1) Пуск -> Усі програми -> Стандартні -> Командна строка

2) Пуск -> Виконати -> cmd

У цій ОС існує безліч терміналів, тому для цих цілей можна використовувати будь-який із встановлених на ПК. Зазвичай стандартний термінал можна запустити поєднанням клавіш CTRL+ALT+T.

Отже, щоб пропінгувати певний сервер, потрібно виконати команду:

Ping

Наприклад, для пінгу адреси 11.222.33.44 необхідно виконати команду:

Ping 11.222.33.44

Нижче наведено приклад результатів виконання пінгу однієї з IP-адрес.

Як видно з результатів, було передано та отримано 4 пакети об'ємом 32 байти. Час обміну одним пакетом становив 47 мілісекунд.

Варто зазначити, що Windows за замовчуванням виконується відправка тільки 4 пакетів. У Linux обмін пакетами продовжується доти, доки користувач самостійно не зупинить процес поєднанням клавіш CTRL+C. Щоб запустити ping аналогічно у Windows, необхідно використовувати параметр -t. Наприклад:

Ping-t 11.222.33.44

Зупинка обміну пакетами виконується тим самим поєднанням клавіш – CTRL+C.

Встановлення кількості пакетів, що відправляються

Щоб задати максимальну кількість пакетів, що відправляються, необхідно використовувати команду наступного виду:

Windows:

Ping-n<число_пакетов> < IP или домен >

наприклад:

Ping -n 5 11.22.33.44

Ping-c<число_пакетов> < IP или домен >

наприклад:

Ping-c 5 11.22.33.44

Зміна розміру пакетів, що відправляються.

Щоб виконати ping із використанням пакетів певного розміру (у байтах), необхідно використовувати таку команду:

Windows:

Ping-l<размер_пакетов> < IP или домен >

наприклад:

Ping-l 64 11.22.33.44

Ping-s< размер_пакетов> < IP или домен >

наприклад:

Ping-s 64 11.22.33.44

В даному випадку здійснювалася відправка пакетів розміром 64 байти.

Трасування маршруту може показати швидкість проходження пакетів між маршрутизаторами, які з'єднують ПК, з якого йдуть запити та кінцевий сервер.

Для виконання трасування використовується така команда:

Windows:

Tracert

наприклад:

Tracert wikipedia.org

Traceroute

наприклад:

Traceroute wikipedia.org

Варто зазначити, що за умовчанням при трасуванні також виконується DNS-запит на дозвіл IP адреси в доменне ім'я для кожного маршрутизатора, що проходить. Цю опцію можна вимкнути, таким чином скоротивши час отримання результатів трасування.

Щоб активувати цю опцію, необхідно використовувати наступний вид команди:

Windows:

Tracert -d

Traceroute -n

"Ааа, допоможіть, все пропало!" - якщо ваш внутрішній голос реагує на обрив з'єднання з сервером приблизно так, цей матеріал для вас. :) Безумовно, зі свого боку ми щодня робимо все можливе, щоб ніщо не заважало вашій роботі, але трапися форс-мажор – розбиратимемося. А щоб швидше зорієнтуватися в ситуації та зрозуміти, на чиєму боці помилка, ось вам завдання-мінімум – під час обриву насамперед виконайте трасування маршруту та пінг проміжних вузлів. Як усе це зробити, зараз розповімо.

Трасування маршруту

Під час трасування відбувається надсилання пакетів даних між локальним комп'ютером та сервером. Це допомагає простежити шлях проходження запиту до сервера та визначити, на якому етапі відбувається урвище. Виконати трасування досить легко.

1. Запустіть команду cmd: Win+R >пропишіть cmd > ОК.

tracert Х.Х.Х.Х(де Х.Х.Х.Х – це IP-адреса сервера або домен) і натисніть Enter.

У прикладі ми зробили трасування для google.com.

tracert google.com

Вийшло так:

1 2 1 ms 1 ms 1 ms 193.151.89.254
3 5 ms 4 5 1 ms 6 1 ms 7 1 ms 3 ms 1 ms bearline-ic-324086-ffm-b4.c.telia.net
8 1 ms 1 ms 1 ms 108.170.251.129
9 13 ms 13 ms 15 ms 66.249.94.135
10 13 ms 13 ms 13 ms fra15s12-in-f46.1e100.net

Як бачимо, наші пакети подолали десять (їх може бути як менше, так і більше) вузлів і подолали їх успішно. В іншому випадку, якби пакети «спіткнулися» на одному з вузлів, на ньому (і наступних за ним вузлах) ми побачили б:

* * * Перевищено інтервал очікування для запиту.

Але навіть у такому разі поки що не час для висновків – цей запис може означати як втрату пакетів, так і те, що вузол мережі просто закритий налаштуваннями безпеки. Іноді провайдери спеціально налаштовують вузли так, щоб вони не відповідали на трасувальні пакети, щоб знизити навантаження. Щоб точно дізнатися, чи дійсно відбувається урвище, і, якщо так, то де саме, потрібно пропінгувати кожен з вузлів. При трасуванні ми отримали IP кожного з них, а значить можемо перейти до пінгу.

Пінг проміжних вузлів

Пінг призначений для перевірки цілісності та якості з'єднань. Виконати його також нескладно. При цьому запустити пінг потрібно всім проміжним вузлам в окремих вікнах. Так, безпосередньо в момент обриву зв'язку буде видно, на якому вузлі відбуваються втрати пакетів і наскільки тривалі ці обриви.

У Windows за промовчанням передається лише чотири пакети, чого недостатньо, якщо проблема проявляється короткочасно. Тому потрібно зняти це обмеження параметром -t(щоб потім зупинити обмін пакетами, натиснути CTRL+C).

Тепер по порядку.

1. Запустіть команду cmd: Win+R >пропишіть cmd > ОК.

2. У командному рядку, що відкрився, введіть ping -t Х.Х.Х.Х(де Х.Х.Х.Х – це адреса одного з проміжних вузлів, які ми дізналися при трасуванні) та натисніть Enter.

У нашому випадку при трасуванні ми виявили десять вузлів, а значить, і пінг потрібно виконати десять разів на десять окремих вікнах.

Корисно!
Якщо потрібно постійно відстежувати якість з'єднання, для Windows можна скористатися зручною програмою PingPlotter.

Отже, пінгуємо – у десяти окремих вікнах командного рядка вводимо команди з IP-адресами вузлів, які ми виявили під час трасування. У нашому випадку будуть такі команди:

ping-t 10.1.1.1
ping-t 193.151.89.254
ping-t 85.195.75.129
ping-t 213.248.79.29
ping-t 62.115.139.50
ping-t 62.115.120.8
ping-t 62.115.153.215
ping-t 108.170.251.129
ping-t 66.249.94.135
ping-t 216.58.208.46

Якщо в якомусь із вікон ви з перших секунд бачите «Перевищений інтервал очікування», не поспішайте кричати: «Попався!». Якщо наступні вузли пінгуються нормально, це просто закритий налаштуваннями. У нашому випадку, наприклад, передостанній вузол (66.249.94.135) одразу ж каже, що інтервал перевищений, але з пінгом десятого вузла жодних проблем немає.

На чиєму боці помилка?

Отже, урвище повторилося. Але цього разу запущений пінг проміжних вузлів допоможе «викрити» винуватця. Тут все просто – з якого вузла вам почало видавати «Перевищений інтервал очікування», та й слабка ланка.

Хто винен – ясно, тепер треба зрозуміти, що робити у конкретних ситуаціях.

1. Останній вузол.Якщо останній вузол спочатку пінгувався нормально (деякі Windows-машини взагалі не відповідають на пінг, це задається в налаштуваннях брандмауера).

…а після урвища почав показувати «Перевищений інтервал очікування», урвища відбувається на вашому сервері.

У цьому випадку зайдіть в панель керування, запустіть консоль і увійдіть до операційної системи, щоб розібратися, чому сервер не працює. Якщо виявиться, що операційна система зависла, перезавантажте сервер.

2. Будь-які вузли, крім останнього.У цьому випадку звертайтеся одночасно до техпідтримки і хмарного, і інтернет-провайдера. При цьому обов'язково вкажіть, як спочатку виглядало трасування маршруту, і складіть перелік вузлів із зазначенням, на яких пінг під час обриву перервався, а на яких ні. Будьте уважні, це важлива інформація, не помилитеся.

3. Усі вузли одночасно.Якщо всі вікна з пінгом почали показувати "Перевищений інтервал очікування", проблема у вашому комп'ютері або мережі, до якої він підключений.

Бонус!

Ну, а щоб вам було вже комфортно, ми тут підібрали утиліти, з якими можна робити трасування і пінг проміжних вузлів одним простим рухом без запуску п'ятнадцяти різних вікон.

Для ОС сімейства Windows таку оптимізацію проводить утиліта Winmtr. Вона не потребує встановлення та готова до використання відразу після розпакування з архіву.

В полі Hostвкажіть кінцевий сервер, з яким перевірятиметься з'єднання, і натисніть Start:

У нашому прикладі видно трасування маршруту та всі проміжні вузли. При цьому до кожного з них направляються ICMP-пакети, якими можна визначити якість зв'язку.

Власне, в цьому і полягає головна перевага утиліти – її висновок постійно оновлюється, це дозволяє збирати статистику, відстежувати середні показники, тенденції та зміни якості мережі.

Раз ми перевіряємо з'єднання з сервером, нас цікавлять стовпці Sent(відправлено пакетів) та Recv(отримано пакетів). Якщо значення цих стовпчиках не збігаються, отже, якість зв'язку з вузлом погіршилося. Що робити? Звернутися до відповідної техпідтримки.

Стовпець Loss допоможе переглянути динаміку втрат у відсотковому співвідношенні.

Також утиліта дозволяє копіювати текст у зручних форматах ( .txtі .html) у буфер обміну ( Copy to clipboard) або в окремий файл ( Export).

Подвійне клацання проміжним вузлом дозволить отримати додаткову інформацію про нього.

Важливо знати!

Для деталізації проблеми фахівці техпідтримки можуть запросити додаткові пінги з особливими налаштуваннями. Для цього достатньо внести їх у віконці Options, яке дозволить вказати:

  1. Interval (sec)– час оновлення даних за секунди.
  2. Max host in LRU list- максимальна кількість хостів (або IP-адрес, якщо не активна опція Resolve names) До кінцевої точки.
  3. Ping size (bytes) – розмір пакету ICMP.
  4. Resolve names– можливість перетворити IP-адресу на ім'я хоста.

А що ж лінуксоїди?

Для ОС сімейства Linux утиліта називається просто MTR. Якщо її немає у вашій операційній системі, встановити її можна одним із наступних способів:

Debian/Ubuntu/Mint:

$ apt-get install mtr

CentOS/RedHat/Fedora:

$ yum install mtr

У MTR такий самий функціонал, як у Winmtr, також схожий графічний інтерфейс. Запустити утиліту можна командою:

де X.X.X.X – це IP-адреса кінцевого сервера або ім'я хоста.

У цьому випадку цікавлять такі стовпці:

  • Loss % – відсоток втрачених пакетів між комп'ютером-відправником та проміжними вузлами.
  • SNT – загальна кількість надісланих пакетів.

Щойно десь щось загубилося, утиліта сигналізує нам про це, забарвлюючи вузол у червоний колір та підраховуючи відсоток втрат.

Окремо наголосимо на можливості запуску утиліти в текстовому (консольному) режимі. Для цього достатньо додати опцію -t або --curses:

mtr --curses сайт

Розглянемо ще кілька важливих опцій MTR, які можуть бути дуже корисними у процесі діагностики мережі.

R або --report

Запускає режим звіту, в якому MTR обробить задану кількість циклів (визначених опцією -c), а потім відобразить статистику та автоматично завершить роботу. Цей режим корисний для збору статистики якості мережі.

C COUNT або --report-cycles COUNT

Дозволяє задати кількість циклів, після яких MTR завершить роботу.

P BYTES або --psize BYTES

Встановлює розмір пакетів у байтах.

I SECONDS або --interval SECONDS

Задає інтервал між пакетами, що відправляються.

N або --no-dns

Дозволяє не використовувати DNS, відображає IP-адреси вузлів.

A X.X.X.X або --address X.X.X.X

Дозволяє вказати адресу інтерфейсу комп'ютера, з якого надсилатимуться запити ICMP.

Разом

Зрозуміло, команди в консолі дають більш точний результат, оскільки фіксують навіть поодинокі втрати пакетів (короткі обриви), але Winmtr та MTR компактні та зручніші у використанні. А на чому зупинити свій вибір, вирішувати лише вам. :)

Ось, власне, і всі, хто винен – з'ясували, що робити – також. :) Сподіваємося, матеріал був вам корисний, а якщо у вас залишилися додаткові навколохмарні питання, звертайтеся до нас за грамотною.

Мітки: , Не працює