Що таке Traceroute і для чого він використовується?

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

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

Що таке Traceroute?

Traceroute — це спосіб відстежити маршрут, яким проходять ваші пакети даних, коли вони проходять через Інтернет. Кожна сучасна операційна система може простежити маршрут.

Коли ви запускаєте Traceroute, ви повідомляєте йому, до якого веб-сайту чи сервера ви хочете відстежити маршрут. Зазвичай це URL-адреса веб-сайту, на який ви намагаєтеся перейти, але за бажанням ви також можете надати йому IP-адресу.

Після запуску Traceroute пакети надсилаються до встановленого пункту призначення. Потім він реєструє переміщення пакетів і надсилає інформацію назад на ваш ПК, який потім показує, куди вони прямують.

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

Як працює Traceroute?

Traceroute — це зручний спосіб діагностики мережевих помилок. Проте винахід Traceroute — завдяки хитромудрому використанню змінної «Time-to-Live» пакета.

Що таке «час життя» пакета?

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

  Як керувати яскравістю ліхтарика вашого iPhone

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

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

Коли пакет відправляється в дорозі, він зробить кілька зупинок на різних серверах. Щоразу, коли він надходить на сервер, він віднімає один від свого значення TTL. Зазвичай це значення TTL встановлюється рівним числу, коли пакет має більш ніж достатньо часу, щоб досягти місця призначення, перш ніж досягне значення 0. Однак, якщо пакет все-таки потрапляє в цикл, TTL зрештою зменшуватиметься, доки не закінчиться термін дії пакета.

Коли термін дії пакета закінчується, сервер, на якому він закінчується, надсилає так зване повідомлення «ICMP Time Exceeded» назад додому. По суті, це сповіщення про те, що пакет передчасно зник, і повідомляє користувачеві, де закінчився термін дії пакета, щоб допомогти у вирішенні проблем.

Як час життя пакета дозволив Traceroute працювати

Це повідомлення ICMP Time Exceeded є ключем до роботи Traceroute. Для початку Traceroute надсилає пакет із значенням TTL, рівним 1. Це означає, що він залишає ваш ПК, прибуває на перший сервер, віднімає одиницю від свого TTL, помічає, що TTL дорівнює 0, і закінчується.

  6 найкращих програм безпеки в Інтернеті для малого та середнього бізнесу

Потім сервер, який обробляє пакет, надсилає на ваш ПК повідомлення ICMP Time Exceeded разом із своїм місцезнаходженням. Потім ваш ПК реєструє місцезнаходження сервера як перший крок до вашої цілі.

Потім він надсилає пакет із значенням TTL 2, 3 і так далі, доки пакет не прибуде до місця призначення. Термін дії кожного пакета закінчується на наступному етапі проходження, і кожен сервер на цьому шляху повідомлятиме про минулий пакет, надаючи вашому комп’ютеру інформацію, необхідну для визначення того, куди спрямовуються ваші пакети.

Для чого використовується Traceroute?

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

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

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

Яка різниця між Traceroute і Ping?

Технічно досвідчені читачі помітять, що Traceroute звучить дуже схоже на інший зручний мережевий інструмент, Ping. Однак, хоча ці дві функції трохи збігаються, люди використовують їх з різних причин.

  Як створити криптовалюту та побудувати свою цифрову імперію

Як ми вже згадували вище, Traceroute допомагає вам визначити, куди йде пакет, коли він покидає ваш ПК. Тим часом Ping повідомляє вам, чи може ваш комп’ютер підключитися до певного сервера та скільки часу потрібно, щоб дістатися до нього.

Таким чином, якщо ви хочете бачити кожну частину мережевого ланцюга, Traceroute – це те місце, де це є. У той же час, якщо ви просто хочете побачити, чи відповідає сервер, ви можете перевірити його. Звичайно, ви також можете зробити це за допомогою Traceroute, але вам доведеться почекати деякий час, поки він нарешті потрапить на ваш сервер, перш ніж ви отримаєте відповідь, яку шукаєте.

Як виконати Traceroute

Як ми вже говорили раніше, усі основні операційні системи можуть виконувати Traceroute. Це так само просто, як відкрити командний термінал і ввести команду Traceroute.

Для macOS вам просто потрібно відкрити термінал і ввести «traceroute», а потім URL-адресу або IP-адресу пункту призначення. Це те ж саме в Linux, але вам може знадобитися спочатку встановити Traceroute, перш ніж ви зможете його запустити.

Запуск команди traceroute в Linux.

В операційних системах Windows це працює так само, за винятком того, що функція називається «tracert». Ми розглянули tracert та інші команди в нашому посібнику з команд для керування бездротовими мережами в Windows, тож обов’язково прочитайте його, якщо хочете дізнатися про інструменти, які є у вашому розпорядженні.

Автор зображення: Мішель Бакні/Wikimedia Commons

Відстеження ваших пакетів за допомогою Traceroute

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