TTL (Time to Live) to 8-bitowe pole w nagłówku IPv4. Może przyjmować dowolną wartość od 0 do 255. Jeśli to oznacza, że pakiet może zabrać maksymalnie 255 przeskoków (routerów) w drodze do miejsca docelowego, pakiet zostanie odrzucony.
Jak mogę wysyłać pakiety przez kontynenty?
traceroute
narzędzi poddaje się po zaledwie 30 przeskokach - „średnica Internetu” nie jest tak duża, jak myślisz.Odpowiedzi:
Nawet podczas wysyłania pakietów przez kontynenty TTL wynoszące 255 to więcej niż wystarcza - po prostu nie ma więcej routerów.
Przeprowadzenie szybkiego testu (z Niemiec) pokazuje 17 chmielu do USA i 18 do Japonii. Zwykle nie dostajesz powyżej 30 lub więcej. Wynika to z hierarchicznej struktury Internetu - uderzyłeś w kręgosłup swojego dostawcy usług internetowych zaledwie 2-5 przeskokami, kolejne 2-3 przeskoki prowadzą do następnego dostawcy itp.
Pamiętaj, że TTL liczy tylko chmiel warstwy 3. O wiele częściej używane przeskoki warstwy 2 między przełącznikami nie mają wpływu na TTL - nie ma takiej koncepcji w Ethernet ani podobnych protokołach.
Dodatkowo, kapsułkowanie pakietu do transportu tunelowego „zamraża” TTL podczas przebywania w tunelu - niezależnie od liczby przeskoków pakietu zewnętrznego (ma swój własny TTL), cały tunel liczy się tylko jako jeden lub dwa przeskoki dla pakietu wewnętrznego.
źródło
Mały dodatek do innych odpowiedzi, aby być bardziej kompletnym: chociaż wiele routerów wydaje pakiety z TTL wynoszącym 255 (dla pakietów, które same produkują, a nie te, które przesyłają dalej!), Większość systemów operacyjnych wysyła pakiety z dużą ilością niższe początkowe wartości TTL:
Niektóre systemy używane do wysyłania niższych wartości (np. Windows 95 miał domyślnie TTL 32), wartości te zostały podniesione, aby zapobiec problemom z prawdopodobnie dłuższymi trasami ... ale te systemy były w stanie wtedy dotrzeć do prawie dowolnego hosta w Internecie. I - choć nie mam na to żadnego dowodu - powiedziałbym, że od tamtej pory wymagana liczba chmielów spadła, ponieważ coraz więcej włókien na duże odległości jest instalowanych do transportu.
Nie zapominaj również, że liczba przeskoków i odległość geograficzna nie korelują . Oceany są na ogół skrzyżowane z jednym przeskokiem (repeatery optyczne wzdłuż włókien łodzi podwodnej nie dotykają pakietów, tylko routery zmniejszają TTL). Właśnie zrobiłem traceroute ze Szwajcarii do Nowej Zelandii: chmiel nr 7 znajduje się w odległości mniejszej niż 50 km od miejsca, w którym jestem, numer 9 znajduje się w Kalifornii, a numer 10 znajduje się w Nowej Zelandii ... część tranzytu międzykontynentalnego to na ogół tylko kilka chmielu na trasie reszta w większości dociera do międzynarodowego przewoźnika i dociera z niego do celu.
źródło
8 bitów to więcej niż wystarczająco. z powodu komunikacji równorzędnej przez dostawcę usług internetowych można dotrzeć do miejsca docelowego, podróżując przez mniej niż 5 lub 6 dostawców usług internetowych, a ze względu na architekturę sieci szkieletowej pakiet będzie przesyłany tylko przez maksymalnie 3 lub 4 routery w jednym dostawcy usług internetowych.
jeśli zwiększysz TTL, w przypadku nie trasowanych miejsc docelowych pakiet będzie podróżował w sieci, aż TTL osiągnie wartość 0, co niepotrzebnie zużywa przepustowość.
źródło
Uwaga od działu historii: jednostki TTL to sekundy , przy dozwolonym budżecie czasu zmniejszanym o sekundę na każde przeskok routera.
Z protokołu internetowego RFC 791:
Pakiety wielosekundowe nie były niczym niezwykłym: minimalny dozwolony datagram IP wynoszący 68 oktetów zajmuje ponad 2 sekundy przy 300 bodach. Niemniej jednak nigdy nie widziałem routera, który zmniejszyłby się o więcej niż 1 dla pakietów wielosekundowych.
Świat jest dziś szybszy.
źródło