Come sono sufficienti 8 bit per il TTL in un'intestazione IP?


18

Il TTL (Time to Live) è un campo a 8 bit nell'intestazione IPv4. Può assumere qualsiasi valore compreso tra 0 e 255. Se ciò significa che il pacchetto può richiedere un massimo di 255 hop (router) nel suo cammino verso la sua destinazione, il pacchetto verrà scartato.

Come è possibile per me inviare pacchetti attraverso i continenti?


14
Lo stesso motivo per cui la maggior parte degli traceroutestrumenti si arrende dopo soli 30 luppoli: il "diametro di Internet" non è grande quanto pensi.
user1686

4
Pensa a come mettere i tuoi dati sugli aerei per viaggiare. Per il luppolo locale noleggi un aereo leggero. Per i grandi salti internazionali, sali sul 777 o A380 più vicino e fai un grande salto. Invece di un volo internazionale, Data viaggia dall'Europa verso gli Stati Uniti (o altrove) su uno di questi: en.wikipedia.org/wiki/Transatlantic_communications_cable
Baldrickk,

2
Anche la teoria dei "sei gradi di separazione" potrebbe interessarti.
Pam,

1
Ti incoraggio seriamente a prendere in considerazione il suggerimento di Pam. Si scopre che nei sistemi naturali (sistemi non pianificati) come le persone che fanno amicizia, i nodi vengono aggiunti a Internet, le aziende che fanno affari ecc. Che la maggior parte delle connessioni non richiede molti hop. Per le interazioni umane quel numero raramente supera 6. Prendi ad esempio oracleofbacon.org, che calcola la connessione dell'attore Kevin Bacon con altri attori. La distanza tra Bacon e l'attore di Telugu Ravi Teja è di soli 3 film. L'attrice malese degli anni '60 Saloma ha anche solo 3 film tra lei e Kevin Bacon
slebetman,

Qualche risposta ti è stata d'aiuto? In tal caso, dovresti accettare la risposta in modo che la domanda non continui a comparire per sempre, cercando una risposta. In alternativa, potresti fornire e accettare la tua risposta.
Ron Maupin

Risposte:


27

Anche quando si inviano pacchetti attraverso i continenti, un TTL di 255 è più che sufficiente: semplicemente non sono coinvolti più router.

L'esecuzione di un test rapido (dalla Germania) mostra 17 salti negli Stati Uniti e 18 in Giappone. Di solito, non superi i 30 o giù di lì. Ciò è dovuto alla struttura gerarchica di Internet: colpisci la spina dorsale del tuo ISP con solo 2-5 hop, altri 2-3 hop ti portano al prossimo provider ecc.

Si noti che TTL conta solo i salti di livello 3. I hop di livello 2 molto più frequentemente utilizzati tra gli switch non hanno alcun impatto sul TTL: non esiste un concetto simile in Ethernet o protocolli simili.

Inoltre, incapsulando un pacchetto per il trasporto in galleria 'congela' il TTL mentre si trova nel tunnel - indipendentemente da quanti salti prende il pacchetto esterno (ha il suo TTL), l'intero tunnel conta solo come uno o due salti per il pacchetto interno.


9

Una piccola aggiunta alle altre risposte per essere più completa: sebbene molti router sembrino inviare pacchetti con un TTL di 255 (per i pacchetti che si producono ovviamente, non quelli che inoltrano!), La maggior parte dei sistemi operativi invia pacchetti con molto valori TTL iniziali inferiori:

  • Windows utilizza 128 (da Windows NT 4),
  • MacOS X e Linux usano entrambi 64

Alcuni sistemi utilizzati per inviare valori più bassi (ad esempio Windows 95 aveva un TTL predefinito di 32), quei valori venivano aumentati per prevenire problemi con percorsi forse più lunghi ... ma quei sistemi erano sicuramente in grado di raggiungere quasi tutti gli host su Internet allora. E — anche se non ne ho alcuna prova — direi che il numero richiesto di salti è diminuito da allora, perché sempre più fibre a lunga distanza sono installate per trasportare il traffico.

Inoltre, non dimenticare che il numero di salti e la distanza geografica non sono correlati . Gli oceani sono generalmente incrociati con un singolo hop (i ripetitori ottici lungo le fibre sottomarine non toccano i pacchetti, solo i router riducono il TTL). Ho appena fatto un traceroute dalla Svizzera alla Nuova Zelanda: il luppolo n. 7 è a meno di 50 km da dove sono io, il n. 9 è in California e il n. 10 è in Nuova Zelanda ... la parte di transito intercontinentale è generalmente solo un paio di luppoli in un percorso, il resto sta raggiungendo per lo più un vettore internazionale e arrivando a destinazione da esso.


8

8 bit è più che sufficiente. a causa del peering ISP è possibile raggiungere la destinazione viaggiando attraverso meno di 5 o 6 ISP e, a causa dell'architettura di rete backbone, il pacchetto trasferirà solo attraverso un massimo di 3 o 4 router in un ISP.

se si aumenta il TTL, per destinazioni non indirizzate, il pacchetto viaggerà in rete fino a quando il TTL non diventerà 0, il che consumerà inutilmente larghezza di banda.


Per destinazioni non indirizzate, non è pratica comune installare una route di rifiuto per impedirlo?
user1686

7
Il problema non sono le destinazioni non instradate, il problema sono le destinazioni in cui a causa di errori di configurazione o effetti transitori c'è un ciclo di routing.
Peter Green,

3

Una nota del dipartimento di storia: le unità del TTL sono secondi , con il budget di tempo consentito che diminuisce di un secondo per ogni router hop.

Dal protocollo Internet RFC 791:

Il tempo viene misurato in unità di secondi, ma poiché ogni modulo che elabora un datagramma deve ridurre il TTL di almeno uno anche se elabora il datagramma in meno di un secondo, il TTL deve essere considerato solo come un limite superiore sul volta che può esistere un datagramma. L'intenzione è di scartare i datagrammi non consegnabili e di limitare la durata massima dei datagrammi.

I pacchetti multi-secondo non erano insoliti: un datagramma IP minimo consentito di 68 ottetti richiede più di 2 secondi a 300 baud. Tuttavia, non ho mai visto un router che è diminuito di più di 1 per i pacchetti multi-secondo.

Il mondo è più veloce in questi giorni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.