TTL — IPv4 paketining tarmoqda cheksiz aylanib qolishini oldini oladigan header maydoni. Uning to‘liq nomi Time To Live hisoblanadi.
TTL nomida “vaqt” so‘zi bo‘lsa ham, amaliy IP routingda u odatda router hoplari soni sifatida ishlaydi.
Har router paketni uzatishdan oldin TTL qiymatini kamida 1 ga kamaytiradi. TTL nolga tushsa, paket tashlanadi.
Asosiy vazifa
Routing loop yuz bersa, paket routerlar orasida cheksiz aylanishi mumkin.
Masalan:
Router A → Router B → Router C → Router A
TTL bo‘lmasa, paket tarmoq resursini doimiy band qiladi.
TTL:
- paket umrini cheklaydi;
- loop ta’sirini kamaytiradi;
- tarmoqni cheksiz packetdan himoya qiladi;
- traceroute uchun asos yaratadi.
IPv4 header
TTL IPv4 headerda 8 bitli maydon.
Qiymat diapazoni:
0–255
Sender boshlang‘ich qiymat tanlaydi.
Keng tarqalgan boshlang‘ich qiymatlar:
- 64;
- 128;
- 255.
Aniq default operatsion tizim va qurilmaga bog‘liq.
Routerdagi o‘zgarish
Paket har Layer 3 routerdan o‘tganda TTL kamayadi.
Masalan:
Boshlang‘ich TTL: 64
1-routerdan keyin: 63
2-routerdan keyin: 62
3-routerdan keyin: 61
Layer 2 switch odatda TTLni o‘zgartirmaydi, chunki u IP routing bajarmaydi.
TTL nolga tushganda
Router TTLni kamaytirib, qiymat nol bo‘lsa:
ICMP javobi firewall yoki rate limiting sabab kelmasligi mumkin.
Traceroute
Traceroute TTL mexanizmidan foydalanib, yo‘ldagi routerlarni aniqlaydi.
Jarayon:
- TTL 1 bo‘lgan paket yuboriladi.
- Birinchi router packetni tashlaydi va ICMP Time Exceeded qaytaradi.
- TTL 2 bo‘lgan paket yuboriladi.
- Ikkinchi router javob beradi.
- TTL bosqichma-bosqich oshiriladi.
- Destinationga yetganda boshqa javob olinadi.
Traceroute UDP, ICMP Echo yoki TCP probe ishlatishi mumkin.
Traceroute natijasi
Misol:
1 192.168.1.1 1 ms
2 10.20.0.1 5 ms
3 203.0.113.5 12 ms
4 * * *
5 198.51.100.10 25 ms
* router ishlamayapti degani emas.
Sabablar:
- ICMP Time Exceeded bloklangan;
- rate limit;
- return route yo‘q;
- MPLS yoki tunnel;
- router control plane javob bermadi.
Keyingi hoplar chiqsa, paket o‘sha routerdan o‘tgan.
Hop sonini taxmin qilish
Qabul qilingan packet TTL qiymati va ehtimoliy boshlang‘ich default asosida hop soni taxmin qilinishi mumkin.
Masalan:
Received TTL: 51
Likely initial TTL: 64
Taxminiy hop: 13
Bu aniq emas, chunki sender custom TTL qo‘yishi mumkin.
IPv6 Hop Limit
IPv6da TTL nomi Hop Limit bilan almashtirilgan.
Vazifasi o‘sha:
“Hop Limit” atamasi amaliy xatti-harakatni aniqroq ifodalaydi.
MPLS TTL
MPLS label headerida ham 8 bitli TTL mavjud.
IP packet MPLS tarmoqqa kirganda TTL:
- IP headerdan labelga ko‘chirilishi;
- alohida boshqarilishi;
- chiqishda qayta IPga yozilishi
mumkin.
Uniform mode
IP va MPLS TTL bir umumiy yo‘lni aks ettiradi. Traceroute provider core routerlarini ko‘rishi mumkin.
Pipe mode
MPLS core hoplari mijoz IP TTLidan yashirilishi mumkin.
Aniq xatti-harakat provider konfiguratsiyasiga bog‘liq.
Tunnel va TTL
GRE, IPsec yoki boshqa tunnellarda ichki va tashqi IP headerda alohida TTL bo‘lishi mumkin.
- ichki TTLdan ko‘chirishi;
- belgilangan qiymat qo‘yishi
mumkin.
Tunnel ichidagi underlay hoplar faqat tashqi TTLni kamaytiradi.
Egressda ichki packet davom etadi.
TTL security
BGP kabi protokollarda TTL asosidagi himoya ishlatilishi mumkin.
GTSM
Generalized TTL Security Mechanism peerning bevosita qo‘shni ekanini tekshirishga yordam beradi.
BGP peer packetni boshlang‘ich TTL 255 bilan yuboradi. Receiver kutilgan yuqori TTL qiymatini tekshiradi.
Uzoqdagi hujumchi packet bir nechta routerdan o‘tgani sababli TTL kamayadi va rad etilishi mumkin.
Bu kriptografik autentifikatsiya o‘rnini to‘liq bosmaydi.
TTL va DNS
DNS recordlarda ham TTL atamasi mavjud, lekin ma’nosi boshqacha.
DNS TTL:
IP TTL:
- paket nechta router hopidan o‘tishini cheklaydi.
Ikki tushuncha nomi bir xil, vazifasi boshqa.
TTL va operating system fingerprinting
Ba’zi tarmoq tahlil vositalari default TTL asosida operatsion tizimni taxmin qiladi.
Masalan, 64 yoki 128 kabi qiymatlar.
Bu ishonchli identifikatsiya emas, chunki:
- default o‘zgartiriladi;
- NAT mavjud;
- tunnel;
- firewall packet yaratishi;
- turli OS bir xil qiymat ishlatishi
mumkin.
TTLni o‘zgartirish
Ba’zi tizimlar TTLni qo‘lda sozlashga ruxsat beradi.
Qo‘llanishlar:
- laboratoriya;
- routing loop testi;
- traceroute;
- GTSM;
- multicast scope;
- tarmoq siyosati.
Noto‘g‘ri kichik TTL destinationga yetmaslikka sabab bo‘ladi.
Multicast TTL
IPv4 multicast packetda TTL tarqalish scopeini cheklash uchun ishlatilishi mumkin.
Masalan:
- TTL 1 — lokal subnet;
- kattaroq qiymat — ko‘proq router.
Ammo multicast scope faqat TTL bilan emas, administrativ scope va routing policy bilan ham boshqariladi.
TTL exceeded hujumlari
Ko‘p miqdorda past TTLli packet router control plane’ga ICMP yaratish yukini berishi mumkin.
qo‘llashi mumkin.
Bu traceroute javoblarining ba’zan yo‘qolishiga ham sabab bo‘ladi.
Routing loop diagnostikasi
Traceroute natijasida bir xil routerlar takrorlansa:
A → B → C → A → B → C
routing loop bo‘lishi mumkin.
Tekshiruvlar:
- routing table;
- next hop;
- static route;
- default route;
- redistribution;
- policy-based routing;
- VRF;
- tunnel;
- ECMP;
- recursive route.
TTL loopni to‘xtatadi, lekin loop sababini tuzatmaydi.
Packet capture
Packet captureda quyidagilar ko‘riladi:
- initialga yaqin TTL;
- har hopda kamayish;
- ICMP Time Exceeded;
- source router;
- encapsulation;
- inner va outer TTL;
- MPLS label TTL.
Hostning lokal capture’ida NIC offload TTLga odatda ta’sir qilmaydi, ammo tunnel va virtual interface qaysi qatlamni ko‘rsatayotgani muhim.
Bog‘liq tushunchalar
IPv4, Hop Limit, Routing loop, ICMP Time Exceeded, Traceroute, Hop count, MPLS TTL, Tunnel, GTSM, DNS TTL