Тема: Статия: Как работи traceroute
Когато използвате traceroute командата за да проследите пътя до конкретен възел/хост, вапият комютър изпраща 3 udp(последователно, не едновременно, т.е праща 1 чака резултат) пакета със TTL(time to live)=1 //време на живот на един пакет, когато брояча стигне 0, първия хоп който го отблежи отхвърля пакета и изпраща ICMP пакет тип 11 Time-to-live Exceeded(времето на живор е просрочено/надхвърлено)//
Та когато тия 3 пакета достигнат следващия хоп(рутер) по пътя си техния TTL се намалява и става равен на 0. След това рутера ще изпрати ICMP пакет с код 11, че по време на преминавате на вашия пакет TTL е станало равно на 0. В дейтаграмата се съдържа и IP адреса на хоп-а/рутера и вашия комютър го отблязва.
И така следващия път вашият компютър ще прати пак три UDP пакета, само че този път със TTL=2. Така през първия който вече знаем пакета ще премине и рутера ща намали TTL=1 и дефакто на втория който ве още незнаем ще смъкне TTL с 1 и той ще стане 0 и пак същата история..... и тъка докато достигнем до хоста, чиито IP адрес сме задали като параметър на traceroute командата.
Има и нещо друго за да е сигурен комютъра ви, че е достигнал предзначения хост във UDP дейтаграмта е зададен порт на който трябва да се опита да я достави
..няма как UDP оперира в транспортния слой. Та когато пакета/те пристигна при зададения хост те се опитват да доставят дейтаграмата до определения порт(който е произволно избран порт който, не е дефиниран по подразбиране с широко разпостранена услуга)то той е затворен(почти сигурно) и този хост който е бил крайнита ни цел ни връща ICMP съобщение от тип 3 (Destination Unreachable/Целта е недостижима), код 3(Port Unreachable/Порта е недостижим). По този начин твоят компютър ще разбере, че е достигнал крайната цел.
Пояснение: Когато вместо delay в ms видите * , това означава следното:
* хоп-а/рутера не е върнал ICMP съобщение
* хоп-а/рутера е върнал ICMP съобшение, но с TTL който пък не може да достигне вашета машина.
п.п. Вече много от вас са се убедили, че traceroute не винаги работи по много прични, като най често срещаната е различните филтри на пътя на пакета.
Дано ви е било от полза.
Последно редактирано от nikkon (2009-06-05 10:53:15)
Segmentation fault (core dumped)
[root@freebsd done]#











