edubun
Italiano

Come i pacchetti trovano la strada

Ogni router abbassa di uno il TTL di un pacchetto. Quando arriva a 0 il pacchetto viene scartato, così un pacchetto preso in un anello non può girare per sempre.

Prova il simulatore prima di leggere qualsiasi altra cosa. Imposta il TTL a 2 e premi Invia, poi impostalo a 64 e invia di nuovo. Guarda dove si fermano i pacchetti la prima volta.

Caricamento

Trascina per ruotare. Scorri o avvicina le dita per lo zoom.

Imposta il TTL a 2 e premi Invia: ogni pacchetto muore al secondo router che incontra, R1 o R2, e torna indietro un messaggio ICMP rosso. Impostalo a 64 e i pacchetti arrivano con TTL 60, dopo quattro router. Il pulsante traceroute manda sonde con TTL da 1 a 5 ed elenca chi ha risposto. Taglia R1-R3 e invia di nuovo per guardare i pacchetti fare il giro.

Che cosa hai appena visto: un conto alla rovescia in ogni pacchetto

Con TTL 2 ogni pacchetto è morto al secondo router incontrato ed è tornato indietro un messaggio rosso. Con 64 i pacchetti sono arrivati al server con 60 rimasti, dopo quattro router. L'intestazione IPv4 ha un campo di 8 bit chiamato Time to Live (TTL, «tempo di vita»), quindi il suo valore massimo è 255. La RFC 791 dice che ogni router deve abbassarlo almeno di uno, e molti computer lo fanno partire da 64. Quando arriva a 0 il router scarta il pacchetto e rimanda al mittente un messaggio ICMP «Time Exceeded» (RFC 792). Era quello il messaggio rosso.

Perché serve un conto alla rovescia? Un errore nelle tabelle di instradamento potrebbe mandare un pacchetto a girare in cerchio, e senza un limite occuperebbe i collegamenti per sempre. Il nome parla di «tempo», e sulla carta la RFC 791 lo misura in secondi. Ma ogni router toglie almeno uno, quindi in pratica funziona come un conteggio dei salti. IPv6 ha dato allo stesso campo un nome più semplice, Hop Limit.

Il pulsante traceroute usa questa regola per disegnare una mappa. Manda una sonda con TTL 1: il primo router la scarta e risponde, e così rivela il proprio indirizzo. TTL 2 rivela il secondo router, e così via finché non risponde la destinazione. Premilo e leggi l'elenco che costruisce. Poi taglia R1-R3 e invia di nuovo per vedere i pacchetti prendere un'altra strada.

Ogni router cerca una riga in una tabella

Nessun router conosce tutto il percorso dal tuo portatile a un server in un altro continente. Ognuno prende una sola decisione: per questo indirizzo di destinazione, a quale vicino passo il pacchetto? Il pacchetto fa un salto, e il router successivo decide di nuovo. Un percorso è una catena di queste scelte locali.

La decisione viene da una tabella di inoltro, un elenco di prefissi, ciascuno con il vicino da usare. Il router sceglie la voce che corrisponde alla destinazione con il prefisso più lungo, perché un prefisso più lungo è una corrispondenza più precisa. Supponiamo che la tabella mandi 203.0.0.0/16 al vicino B e 203.0.113.0/24 al vicino A. Un pacchetto per 203.0.113.9 corrisponde a entrambe, vince la /24 e va ad A. Un pacchetto per 203.0.7.1 corrisponde solo alla /16, quindi va a B. Quasi tutte le tabelle hanno anche una voce predefinita per tutto il resto; in un router di casa punta al provider.

Pacchetto perVoci corrispondentiInviato a
203.0.113.9203.0.113.0/24 (A), 203.0.0.0/16 (B), predefinita (provider)A, la più lunga (24 bit)
203.0.7.1203.0.0.0/16 (B), predefinita (provider)B, la più lunga (16 bit)
8.8.8.8predefinita 0.0.0.0/0 (provider)Provider

Chi scrive le tabelle

Dentro un'azienda i router si scambiano ciò che possono raggiungere usando protocolli di instradamento, e calcolano nuovi percorsi quando un collegamento cade. Tra le decine di migliaia di reti separate che formano internet, il Border Gateway Protocol (BGP, RFC 4271) trasporta annunci come «posso raggiungere 198.51.100.0/24». Quando un cavo viene tagliato, i percorsi che lo attraversano vengono ritirati e il traffico si sposta sulla strada che resta. Nel simulatore è successo questo quando hai tagliato R1-R3.

Quasi tutti i pacchetti persi cadono da una coda piena

I router fanno anche aspettare i pacchetti. Nei momenti di traffico i pacchetti arrivano più in fretta di quanto un collegamento in uscita riesca a portarli, quindi ogni router tiene una coda in memoria. Quando la coda è piena, il pacchetto successivo che arriva viene semplicemente scartato. Nessuno viene avvisato; il mittente può solo accorgersene dopo. È il modo più comune in cui i pacchetti si perdono su internet, più comune di un cavo tagliato. Anche un segnale Wi-Fi debole può rovinare un frame, che va buttato. IP da solo non promette niente. La RFC 791 dice che non fornisce un servizio di comunicazione affidabile, senza conferme e senza ritrasmissioni. Recuperare i dati persi tocca ai computer ai due capi, ed è l'argomento della prossima unità.

Una foto di 3 000 000 byte sono 2055 pacchetti

I collegamenti limitano la grandezza di un pacchetto. Su Ethernet un frame porta al massimo 1500 byte di dati utili (RFC 894). Togli 20 byte di intestazione IPv4 e 20 byte di intestazione TCP, e in ogni pacchetto stanno circa 1460 byte dei tuoi dati. Una foto di 3 000 000 byte richiede quindi 3 000 000 ÷ 1460 ≈ 2054.8, arrotondato per eccesso a 2055 pacchetti, e ognuno viene instradato per conto suo.

  1. Un pacchetto parte con TTL 64 e passa per 4 router. Qual è il suo TTL quando arriva?
  2. Il TTL è un campo di 8 bit. Qual è il valore più grande che può contenere?
  3. Che cosa fa un router quando il TTL di un pacchetto arriva a 0?
    • Lo scarta e manda al mittente un ICMP Time Exceeded
    • Lo inoltra con TTL 64
    • Lo rimanda al mittente
    • Lo tiene finché la rete non è tranquilla
  4. Perché esiste il TTL?
    • Perché un pacchetto preso in un anello di instradamento non possa girare per sempre
    • Per misurare la velocità della luce
    • Per dire per quanto tempo una pagina web può restare in cache
    • Per contare i pacchetti di un file
  5. traceroute manda una sonda con TTL 1. Chi risponde?
    • Il primo router del percorso
    • Il server di destinazione
    • Il resolver DNS
    • Nessuno
  6. Una tabella ha 203.0.113.0/24 → A e 203.0.0.0/16 → B. Dove va un pacchetto per 203.0.113.9?
    • A
    • B
    • Entrambi
    • Nessuno dei due
  7. Stessa tabella. Dove va un pacchetto per 203.0.7.1?
    • B
    • A
    • Entrambi
    • Viene scartato
  8. In un pacchetto stanno circa 1460 byte di dati. Quanti pacchetti servono per un file di 3 000 000 byte?
  9. Quale protocollo trasporta gli annunci dei percorsi tra le reti separate di internet?
    • BGP
    • DNS
    • HTTP
    • UDP
  10. Nel simulatore tagli R5-server. Che cosa succede?
    • Non passa niente: il server ha un solo collegamento
    • I pacchetti fanno il giro passando da R4
    • I pacchetti arrivano più in fretta
    • Passano solo i pacchetti UDP
Errori comuni
  • «Ogni router conosce tutto il percorso fino al server.» Ogni router sceglie soltanto il salto successivo dalla sua tabella di inoltro. Il percorso è la catena formata da quelle singole scelte, e i pacchetti dello stesso messaggio possono prendere strade diverse.
  • «Il TTL è il numero di secondi che restano a un pacchetto.» La RFC 791 lo descrive davvero in secondi, ma ogni router deve togliere almeno uno, quindi in pratica conta i salti. IPv6 lo ha chiamato Hop Limit. Il TTL di un record DNS è un valore diverso con lo stesso nome, e quello sì che è in secondi.
  • «Quasi tutti i pacchetti persi vengono da cavi rotti.» Quasi tutti vengono scartati da router carichi con le code piene, e anche un segnale Wi-Fi debole rovina dei frame. Un cavo tagliato è più raro, e spesso i router riescono a far girare il traffico intorno.
  • «IP fa in modo che ogni pacchetto arrivi.» La RFC 791 dice che IP non fornisce un servizio di comunicazione affidabile: niente conferme, niente ritrasmissioni. Il recupero lo fanno i due computer ai capi, di solito con TCP.
Nota per l'insegnanteLasciate che i ragazzi rompano le cose prima di spiegare qualsiasi cosa: TTL 2, poi 64, poi un collegamento tagliato. Dopo aver visto morire un pacchetto, quasi tutte le loro domande trovano risposta da sole. La corrispondenza del prefisso più lungo è il punto in cui si bloccano. Risolvete a mano la tabella a due voci, scrivendo gli indirizzi uno sopra l'altro così che l'inizio comune si veda, e solo dopo aggiungete la voce predefinita. Tenete separati fin dall'inizio i due tipi di TTL, perché l'unità sul DNS usa le stesse tre lettere per un numero di secondi.
Punti chiave
  • I router decidono un salto alla volta con una tabella di inoltro; vince il prefisso corrispondente più lungo.
  • BGP diffonde gli annunci dei percorsi tra le reti e ritira i percorsi quando i collegamenti cadono.
  • Il TTL (in IPv6 Hop Limit) scende di 1 a ogni router; a 0 il pacchetto viene scartato e un ICMP lo segnala.
  • traceroute traccia un percorso mandando TTL 1, 2, 3 e così via.
Fonti di questo corso (28)
  • (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then operators and papers, history sources last)
  • IETF RFCs (rfc-editor.org): RFC 768 UDP (1980, 8-byte header)
  • RFC 791 IPv4 (1981, 32-bit addresses, "does not provide a reliable communication facility", TTL field "measured in units of seconds" but every module must decrease it by at least one, so it is only an upper bound)
  • RFC 792 ICMP (Time Exceeded)
  • RFC 801 NCP/TCP transition plan (1 January 1983)
  • RFC 894 Ethernet (1500-byte payload)
  • RFC 1034 and RFC 1035 DNS (1987, HOSTS.TXT kept by SRI-NIC, labels up to 63 octets and names up to 255, TTL in seconds)
  • RFC 1122 (127.0.0.0/8 loopback)
  • RFC 1918 private addresses (10/8, 172.16/12, 192.168/16)
  • RFC 2131 DHCP, RFC 3022 NAT, RFC 3596 AAAA records, RFC 3849 and RFC 5737 documentation addresses, RFC 4271 BGP-4, RFC 4291 IPv6 text form, RFC 6298 TCP retransmission timer (initial RTO 1 second)
  • RFC 6335 port ranges (0-1023, 1024-49151, 49152-65535)
  • RFC 7766 DNS over TCP, RFC 8200 IPv6 (128-bit addresses, Hop Limit)
  • RFC 8446 TLS 1.3 (one round-trip handshake)
  • RFC 9000 QUIC and RFC 9114 HTTP/3, RFC 9110 HTTP semantics (status code classes)
  • RFC 9293 TCP (three-way handshake, sequence numbers)
  • IANA: ip-parameters registry (recommended default TTL 64)
  • IPv4 free pool depleted 3 February 2011 (NRO and ARIN announcements)
  • Official documentation: MDN Web Docs "How does the Internet work?" (45 cables for 10 computers, switches, routers, MAC and IP addresses, internet and web)
  • "What is a URL?", "HTTP response status codes" (developer.mozilla.org)
  • Cloudflare Learning Center: "What is DNS?" (four kinds of DNS server, 8 steps of an uncached lookup, browser and OS caches, TTL)
  • "What is HTTP/3?" (cloudflare.com/learning)
  • Google Chrome Help, "Browse in Incognito mode" (support.google.com/chrome/answer/95464, checked 2026-10-19: Incognito limits what is saved to the device; websites and organisations that manage your network, like your school, employer or internet service provider, may be able to observe your activity)
  • Operators and papers: root-servers.org (13 root name servers run by 12 organisations, 2047 instances on 2026-10-17)
  • Jacobson and Karels 1988, Congestion Avoidance and Control (loss mostly congestion)
  • History blocks only: UCLA Samueli School of Engineering, Internet50 (first ARPANET message "LO", UCLA to SRI, 29 October 1969, 22:30)
  • historyofinformation.com and Wikipedia ARPANET (Kline)
  • Spiceworks/SRI history (HOSTS.TXT kept by SRI-NIC)
  • Numbers (2^32, 2^96, 45 and 6 cables, packet counts, round-trip times)

Consultato il: 2026-10-17