Докато използвате интернет, наистина е лесно да забравите, че има много работни части и сървъри, които помагат да се поддържа жива световната мрежа. Всеки пакет, който изпращате, от съобщение за чат до снимка на котка, трябва да премине през борси и сървъри, за да стигне до местоназначението си.
За съжаление, нищо по-добре не ви напомня за тази настройка, отколкото когато вече не можете да се свържете с уебсайт. Причината може да е някъде от ваша страна, от страна на уебсайта или някъде по средата. И най-добрият начин да разберете къде е проблемът е като използвате Traceroute.
Какво е Traceroute?
Traceroute е начин да проследите маршрута, по който вашите пакети данни преминават през интернет. Всяка съвременна операционна система може да проследи маршрут.
Когато стартирате Traceroute, вие му казвате до кой уебсайт или сървър искате да проследите маршрут. Обикновено това е URL адрес на уебсайт, който се опитвате да достигнете, но можете също да му подадете IP адрес, ако желаете.
След като стартирате Traceroute, вашата система изпраща пакети към вашата зададена дестинация. След това регистрира пътуванията на пакета и изпраща информацията обратно на вашия компютър, който след това ви показва къде отиват.
Това е наистина удобно, ако се опитвате да намерите грешка в мрежата. Ако сървър или обмен не работи, Traceroute ще срещне проблема и ще докладва, че нещо не работи правилно. След това можете да използвате тази информация, за да диагностицирате по-добре какво не е наред.
Как работи Traceroute?
Traceroute е удобен начин за диагностициране на мрежови грешки. Знаете ли обаче, че интернет първоначално е проектиран без да се има предвид Traceroute?
Всъщност изобретението на Traceroute е благодарение на хитър експлоат. И за да разберем по-добре как работи този експлойт, трябва да разгледаме „времето на живот“ на мрежовия пакет.
Какво е „време за живот“ на пакет?
В идеалния случай, когато компютърът изпрати пакет от едно място на друго, той стига до там без никакъв проблем. Поема по най-бързия път от точка А до точка Б и не се забива или задържа.
За съжаление мрежите могат да бъдат придирчиви неща. Ако инженер направи грешка при настройката на сървър, е възможно пакетите да се изпращат в безкраен цикъл между сървърите. И ако това се случва твърде често, мрежата може да бъде пълна с пакети, които се въртят завинаги.
Умните умове зад пакета с данни измислиха решение, за да поправят това, наречено „време за живот“ или „TTL“. Всеки пакет, преди да бъде изпратен в голямото неизвестно, получава число, по-голямо от 0 за неговия TTL стойност. Ако тази стойност някога достигне 0, пакетът се счита за "мъртъв" и се унищожава.
Когато пакетът бъде изпратен по време на пътуването си, той ще направи множество спирки на различни сървъри. Всеки път, когато пристигне на сървър, той изважда едно от неговата TTL стойност. Обикновено тази TTL стойност се задава на число, при което пакетът има повече от достатъчно време да достигне дестинацията си, преди да достигне 0. Въпреки това, ако пакетът влезе в цикъл, TTL в крайна сметка ще намалее, докато пакетът изтече.
Когато пакетът изтече, сървърът, на който е завършил, изпраща у дома това, което се нарича „ICMP Time Exceeded“ съобщение. Това по същество е известие, че пакетът е претърпял преждевременната си смърт и казва на потребителя къде е изтекъл пакетът, за да помогне при отстраняване на неизправности.
Как времето за живот на пакета позволява да работи Traceroute
Това ICMP съобщение за превишено време е ключът към работата на Traceroute. За да започне, Traceroute изпраща пакет с TTL, зададен на 1. Това означава, че напуска вашия компютър, пристига на първия сървър, изважда едно от своя TTL, забелязва, че има TTL от 0 и изтича.
Сървърът, който обработва пакета по това време, след това изпраща съобщение за ICMP Time Exceeded обратно към вашия компютър, заедно с местоположението му. След това вашият компютър регистрира местоположението на сървъра като първа стъпка към вашата цел.
След това изпраща пакет с TTL, зададен на 2, 3 и така нататък, докато пакетът пристигне до вашата дестинация. Всеки пакет ще изтече на следващата стъпка от преминаването и всеки сървър по пътя ще докладва за изтеклия пакет, предоставяйки на вашия компютър информацията, от която се нуждае, за да разбере къде отиват вашите пакети.
За какво се използва Traceroute?
На основно ниво, Traceroute ви позволява да надникнете как пакетите се движат из мрежата. Независимо дали сте мрежов инженер, който проверява двойно, за да видите, че всичко протича както трябва, или просто се интересувате от това как пътуват вашите пакети, когато посещавате Google, Traceroute е правилният начин.
Въпреки това, той е полезен и за забелязване на грешки в системата. Ако Traceroute се опита да се свърже с неотговарящ сървър, той ще забележи, че изпратеният от него пакет не е задействал отговор за известно време. След като изтече достатъчно време, Traceroute декларира, че „заявката е изтекла“, което означава, че отговорът не е пристигнал в определеното време.
Разбира се, изтекла заявка не винаги означава, че сървърът не работи; понякога сървърът не харесва заявките на Traceroute и ги блокира, когато идват. Но ако сте относително сигурни, че нито един сървър във веригата не трябва да блокира Traceroute, това е добър начин да диагностицирате уебсайт или сървър, който не успява да отговори, когато се опитате да се свържете с него.
Каква е разликата между Traceroute и Ping?
Технически опитните читатели ще забележат, че Traceroute звучи много подобно на друг удобен мрежов инструмент, Пинг. Въпреки това, докато двете функции се припокриват малко, хората ги използват по различни причини.
Както споменахме по-горе, Traceroute ви помага да разберете къде отива един пакет, след като напусне вашия компютър. Междувременно Ping ви казва дали вашият компютър може да достигне до конкретен сървър и колко време е необходимо, за да стигнете до там.
Като такъв, ако искате да видите всяка част от мрежовата верига, Traceroute е там, където се намира. Междувременно, ако просто искате да видите дали даден сървър отговаря, можете да го пингувате. Разбира се, можете да направите това и с Traceroute, но ще трябва да изчакате известно време, докато най-накрая стигне до вашия сървър, преди да получите отговора, който търсите.
Как да извършите Traceroute
Както казахме по-рано, всички основни операционни системи могат да изпълняват Traceroute. Това е толкова лесно, колкото да отворите команден терминал и да въведете командата Traceroute.
За macOS просто трябва да отворите терминал и въведете "traceroute", последвано от URL или IP адреса на дестинацията. Същото е и в Linux, но може да се наложи първо да инсталирате Traceroute, преди да можете да го стартирате.
В операционните системи Windows работи по същия начин, с изключение на това, че функцията се нарича "tracert" вместо traceroute. Разгледахме tracert и други в нашето ръководство команди за управление на безжични мрежи в Windows, така че не забравяйте да го прочетете, ако искате да научите за инструментите, с които разполагате.
Проследяване на вашите пакети с Traceroute
Ако искате да видите къде отиват вашите пакети, след като напуснат вашия компютър, Traceroute е начинът да отидете. Независимо дали искате да диагностицирате проблем с мрежата или просто сте любопитни да видите къде отиват вашите пакети, лесно е да настроите такъв и да наблюдавате как данните отиват.
Разочароващо е, когато сайтът не се зарежда. Ето някои от причините, плюс няколко трика за достъп до изключени уебсайтове.
Прочетете Следващото
- Обяснена технология
- Съвети за мрежата
- Компютърни мрежи
Завършил бакалавърска степен по компютърни науки с дълбока страст към сигурността на всички неща. След като работи в студио за инди игри, той открива страстта си към писането и решава да използва набора си от умения, за да пише за всички неща в областта на технологиите.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!
Щракнете тук, за да се абонирате