Algemene begrippe
Die TTL (Time To Live) is 'n veld in die IP (Internet Protocol) kopskrif wat gebruik word om die leeftyd van 'n datapakkie op 'n netwerk te beperk. Die TTL word gedefinieer as die maksimum aantal hops wat 'n pakkie kan maak voordat dit weggegooi word.
Elke keer as 'n pakkie deur 'n roeteerder gestuur word, verlaag die roeteerder die TTL-waarde in die IP-kopskrif met een. As die TTL-waarde nul bereik, word die pakkie weggegooi en 'n ICMP (Internet Control Message Protocol) "Time Exceeded"-foutboodskap word aan die sender gestuur. Die ICMP-foutboodskap sal inligting insluit oor die roeteerder waar die pakkie weggegooi is en die retoertyd van die pakkie.
Die hooffunksie van die TTL is om te verhoed dat pakkies onbepaald op 'n netwerk sirkuleer. As 'n pakkie 'n baie hoë TTL het, kan dit vir 'n onbepaalde tyd op die netwerk sirkuleer, wat netwerkopeenhoping en werkverrigtingkwessies kan veroorsaak.
Praktiese voorbeeld van TTL-werking
Veronderstel dat 'n gasheer A 'n datapakkie na 'n gasheer B wil stuur, en daar is verskeie intermediêre roeteerders op die pad tussen A en B. Gasheer A stel 'n aanvanklike TTL-waarde in die IP-opskrif van die pakkie, wat gelyk is aan 'n gegewe aantal hops wat die pakkie na verwagting sal deurkruis voordat dit gasheer B bereik.
Wanneer die pakkie by die eerste router op die roete aankom, lees die router die TTL-waarde in die IP-kopskrif van die pakkie en verlaag dit met een. As die TTL-waarde nul bereik, gooi die router die pakkie weg en stuur 'n ICMP "Time Exceeded"-foutboodskap aan gasheer A. As die TTL-waarde groter as nul is, stuur die router die pakkie aan na die volgende router in die netwerk.
Hierdie proses gaan voort totdat die pakkie gasheer B bereik of totdat die TTL-waarde nul bereik. As die pakkie by gasheer B aankom, stuur gasheer B 'n erkenning aan gasheer A. As die TTL-waarde nul bereik, word die pakkie weggegooi en 'n ICMP "Time Exceeded"-foutboodskap word na gasheer A gestuur.
Voorbeeld van die opdrag in Linux
Op Linux-stelsels is die opdrag om die TTL-waarde aan te pas ttl
. Byvoorbeeld, om 'n pakkie met 'n TTL-waarde van 64 vanaf 'n gasheer op Linux na die gasheer met IP-adres te stuur 192.168.1.2
, kan jy die volgende opdrag gebruik:
ping -c 1 -t 64 192.168.1.2
In hierdie opdrag, -c 1
spesifiseer dat 'n enkele pakkie gestuur sal word en -t 64
spesifiseer dat die TTL-waarde 64 sal wees. Die opdrag ping
stuur 'n ICMP (Internet Control Message Protocol) pakkie na die gespesifiseerde IP-adres en wag vir 'n antwoord van die afgeleë gasheer.
As die afgeleë gasheer reageer, sal 'n boodskap soortgelyk aan hierdie vertoon word:
64 bytes from 192.168.1.2: icmp_seq=1 ttl=63 time=1.23 ms
In hierdie boodskap, ttl=63
dui aan dat die TTL-waarde met een verminder is by die eerste roeteerder op die roete voordat dit die afgeleë gasheer bereik het.
As die TTL-waarde te laag is, byvoorbeeld, as dit op 1 gestel is, sal die pakkie dalk nie die afgeleë gasheer bereik nie. In plaas daarvan sal 'n "Tyd oorskry"-boodskap aan die brongasheer gestuur word.
Kortom, die opdrag ping
op Linux kan dit gebruik word om pakkies met 'n gespesifiseerde TTL-waarde te stuur en die aantal hops in 'n pakkie se pad op 'n netwerk op te spoor. Dit kan nuttig wees vir netwerkfoutsporing en werkverrigtingoptimalisering.
Kan TTL op Windows gebruik word?
Ja, jy kan ook die TTL-waarde op Windows-stelsels aanpas. Die opdrag wat in Windows gebruik word om die TTL-waarde aan te pas, is ping
. Soos in Linux, die opdrag ping
word gebruik om pakkies na 'n afgeleë gasheer te stuur en jy kan die TTL-waarde aanpas deur die opsie te gebruik -i
.
Byvoorbeeld, om 'n pakkie met 'n TTL-waarde van 64 vanaf 'n gasheer op Windows na die gasheer met IP-adres te stuur 192.168.1.2
, kan jy die volgende opdrag gebruik:
ping 192.168.1.2 -i 64
In hierdie opdrag, -i 64
spesifiseer dat die TTL-waarde 64 sal wees. As die afgeleë gasheer reageer, sal 'n boodskap soortgelyk aan hierdie vertoon word:
Reply from 192.168.1.2: bytes=32 time=1ms TTL=63
In hierdie boodskap, TTL=63
dui aan dat die TTL-waarde met een verminder is by die eerste roeteerder op die roete voordat dit die afgeleë gasheer bereik het.
Kortom, die opdrag ping
op Windows kan dit ook gebruik word om pakkies met 'n gespesifiseerde TTL-waarde te stuur en die aantal hops in 'n pakkie se pad op 'n netwerk op te spoor. Dit kan nuttig wees vir netwerkfoutsporing en werkverrigtingoptimalisering.