Traceroute — IP paket manzilga yetguncha o‘tgan router hoplarini va har hopdan javob qaytish vaqtini aniqlashga xizmat qiladigan diagnostika usuli. U IPv4 TTL yoki IPv6 Hop Limit qiymatini bosqichma-bosqich oshirib, oraliq routerlardan ICMP Time Exceeded javoblarini oladi. Yakuniy hostga yetganda tanlangan probe turiga mos javob keladi.
TTL orqali aniqlash
Birinchi probe TTL=1 bilan yuboriladi. Birinchi router qiymatni kamaytirib nolga yetkazadi, paketni tashlaydi va ICMP Time Exceeded qaytaradi. Keyingi probe TTL=2 bo‘lib ikkinchi routerda tugaydi. Jarayon destinationga yetguncha yoki maksimal hop sonigacha davom etadi.
Har TTL uchun odatda bir nechta probe yuboriladi. Natijadagi uchta vaqt ayni hopga borib qaytgan alohida RTTlardir. Ular faqat routergacha bir tomonlama yo‘lni o‘lchamaydi; ICMP javobining qaytish yo‘li boshqacha bo‘lishi mumkin.
Probe turlari
Unix traceroute tarixan yuqori UDP portlariga paket yuboradi; destination ICMP Port Unreachable bilan tugashni bildiradi. Windows tracert ICMP Echo ishlatadi. TCP traceroute ma’lum portga SYN yuborib, firewall faqat ilova trafikiga ruxsat bergan yo‘lni tekshiradi.
Probe protokoli natijaga ta’sir qiladi. ACL, NAT va policy routing UDP, ICMP va TCPni boshqa yo‘lga yuborishi yoki bittasini bloklashi mumkin. Hisobotda qaysi protokol va destination port ishlatilgani ko‘rsatiladi.
Yulduzcha va javobsiz hop
* hop mavjud emasligini anglatmaydi. Router TTL tugagan paket uchun ICMP yaratmasligi, control-plane rate limit qilishi yoki javob yo‘li bloklangan bo‘lishi mumkin. Keyingi hoplar javob bersa, shu router transit trafikni uzatishda davom etgan.
Oraliq hopda 80 foiz loss ko‘rinib, undan keyingi barcha hop normal bo‘lsa, bu ko‘pincha ICMP response de-prioritizationdir. Haqiqiy transit loss keyingi hoplar va destination statistikalarida ham davom etadi.
ECMP va yo‘l o‘zgarishi
ECMP router flow hash asosida parallel next hop tanlaydi. Traceroute probe portlarini o‘zgartirsa, har probe boshqa flow bo‘lib turli yo‘ldan o‘tishi mumkin. Natijada bir hopda bir nechta manzil yoki g‘alati ketma-ketlik ko‘rinadi. Paris traceroute flow identifikatorini barqaror saqlash orqali per-flow load balancing ta’sirini kamaytiradi.
Yo‘l vaqt davomida IGP, BGP yoki traffic engineering sabab o‘zgarishi mumkin. Bitta traceroute snapshot hisoblanadi. Qarama-qarshi yo‘lni ko‘rish uchun destination tomondan alohida sinov kerak.
MPLS va tunnellar
MPLS TTL propagation yoqilgan bo‘lsa core LSRlar ICMP bilan ko‘rinishi mumkin. Pipe modelida provider core yashirinib, tunnel bitta yoki kam hopdek ko‘rinadi. ICMP extensionlari ayrim qurilmada MPLS label ma’lumotini qaytaradi.
GRE, VPN va boshqa tunnel overlay traceroute’da endpointlarni ko‘rsatib, underlay routerlarni yashirishi mumkin. Shuning uchun ko‘rinadigan hop soni fizik qurilmalar soniga teng emas.
DNS va xavfsizlik
Reverse DNS har hop IPsini nomga aylantiradi, lekin lookup sekinlashishi yoki noto‘g‘ri eski nom qaytarishi mumkin. -n kabi rejim faqat raqamli manzilni ko‘rsatadi. Hostname topologiyaning ishonchli dalili emas.
Traceroute mapping imkonini bergani uchun ayrim tarmoq ICMP javoblarini cheklaydi. Biroq Time Exceeded va Packet Too Big kabi ICMP turlarini to‘liq bloklash diagnostika va protokol ishlashiga zarar yetkazadi.
Traceroute hoplari router interfeys manzilini ko‘rsatadi; u qurilmaning boshqaruv yoki loopback manzili bo‘lishi shart emas. Bitta router turli yo‘nalishdagi probega boshqa source interface bilan javob berishi mumkin.
Bog‘liq tushunchalar
TTL, Hop Limit, ICMP Time Exceeded, Ping, ECMP, Path MTU Discovery