Intestazione del pacchetto IP: formato, campi
โก Riepilogo intelligente
L'intestazione IP รจ costituita dai metadati posti all'inizio di ogni pacchetto IP, che contengono campi quali versione, lunghezza dell'intestazione, lunghezza totale, tempo di vita (Time To Live), protocollo, checksum e indirizzi di origine e destinazione, che i router leggono per recapitare i dati.

Cos'รจ l'intestazione IP?
L'intestazione IP รจ un'informazione meta posta all'inizio di un pacchetto IP. Visualizza informazioni quali la versione IP, la lunghezza del pacchetto, l'origine e la destinazione.
Il formato dell'intestazione IPv4 ha una lunghezza compresa tra 20 e 60 byte e contiene le informazioni necessarie per l'instradamento e la consegna. ร composto da campi quali Versione, Lunghezza intestazione, Lunghezza totale, Identificazione, Flag, Checksum, l'indirizzo IP di origine e l'indirizzo IP di destinazione. Insieme, questi campi forniscono i dati essenziali necessari per transmit il pacchetto viene trasmesso in modo affidabile da un host all'altro.
Componenti/campi dell'intestazione IPv4
Il diagramma seguente mostra il formato completo dell'intestazione IPv4, con ciascun campo disegnato nella sua posizione e larghezza in bit corrette:
Di seguito sono elencati i vari componenti/campi dell'intestazione del pacchetto IP:
- Versione: Il primo campo dell'intestazione IP รจ un indicatore di versione a 4 bit. In IPv4, il valore di questi quattro bit รจ impostato su 0100, che indica 4 in binario. Se il router non supporta la versione specificata, il pacchetto viene scartato.
- Lunghezza dell'intestazione Internet: La lunghezza dell'intestazione Internet, nota anche come IHL, รจ di 4 bit. Viene anche chiamata HELEN (Header Length). Questo componente IP indica quante parole a 32 bit sono presenti nell'intestazione.
- Tipo di servizio: Il tipo di servizio รจ anche chiamato servizio differenziato Code Punto, o DSCP. Questo campo fornisce funzionalitร relative alla qualitร del servizio per lo streaming di dati o le chiamate VoIP. I primi 3 bit sono i bit di prioritร . Specifica inoltre come deve essere gestito un datagramma.
- Lunghezza totale: La lunghezza totale viene misurata in byte. La dimensione minima di un datagramma IP รจ di 20 byte e la massima รจ di 65,535 byte. HELEN e la lunghezza totale possono essere utilizzati per calcolare la dimensione del payload. Tutti gli host devono essere in grado di leggere datagrammi da 576 byte. Tuttavia, se un datagramma รจ troppo grande per gli host della rete, si utilizza ampiamente il metodo di frammentazione.
- Identificazione: L'identificazione รจ un campo utilizzato per identificare in modo univoco i frammenti di un datagramma IP. Alcuni hanno raccomandato di utilizzare questo campo per altri scopi, come l'aggiunta di informazioni per i pacchetti. tracING.
- Flag IP: Flags รจ un campo a tre bit che aiuta a controllare e identificare i frammenti. Le possibili configurazioni sono: il bit 0 รจ riservato e deve essere impostato a zero; il bit 1 significa non frammentare; e il bit 2 significa piรน frammenti.
- Offset del frammento: L'offset di frammento rappresenta il numero di byte di dati che precedono un particolare frammento all'interno dello specifico datagramma. Viene specificato in unitร di 8 byte e ha un valore massimo di 65,528 byte.
- Tempo di vivere: Questo รจ un campo a 8 bit che indica il tempo massimo di permanenza di un datagramma nel sistema internet. Ogni volta che un datagramma viene elaborato, il suo valore TTL viene decrementato di uno. Quando il valore TTL raggiunge zero, il datagramma viene scartato per evitare che i pacchetti vengano recapitati all'infinito. Il valore di TTL puรฒ variare da 0 a 255.
- Protocollo: Questo campo dell'intestazione IPv4 indica quale protocollo Internet viene trasportato nella parte finale del datagramma. Ad esempio, il numero 6 viene utilizzato per indicare TCP e 17 per indicare il protocollo UDP.
- Checksum dell'intestazione: Il componente successivo รจ un campo di checksum dell'intestazione a 16 bit, utilizzato per verificare la presenza di errori nell'intestazione stessa. L'intestazione IP viene confrontata con il valore del suo checksum. Se il checksum dell'intestazione non corrisponde, il pacchetto viene scartato.
- Indirizzo di partenza: L'indirizzo di origine รจ un indirizzo a 32 bit dell'origine utilizzata per il pacchetto IPv4.
- Indirizzo di destinazione: L'indirizzo di destinazione รจ anch'esso a 32 bit e memorizza l'indirizzo del destinatario.
- Opzioni IP: Questo รจ un campo opzionale dell'intestazione IPv4, utilizzato quando il valore di IHL (Internet Header Length) รจ maggiore di 5. Contiene valori e impostazioni relativi alla sicurezza, al record di routing, al timestamp e ad opzioni simili. L'elenco delle opzioni di solito termina con un marcatore di fine elenco opzioni (EOL).
- Data: Questo campo memorizza i dati provenienti dal livello di protocollo che ha trasmesso i dati al livello IP.
Come calcolare la lunghezza dell'intestazione IPv4
Il campo Internet Header Length (IHL) indica al router la lunghezza esatta dell'intestazione, permettendogli di distinguere dove termina l'intestazione e dove iniziano i dati. Poichรฉ il campo รจ largo solo 4 bit, non memorizza direttamente la lunghezza in byte. Conta invece l'intestazione in parole da 32 bit, dove ogni parola corrisponde a 4 byte.
Per convertire il valore IHL in byte, moltiplicalo per 4:
- Minimo: Il valore IHL minimo consentito รจ 5, quindi 5 ร 4 = 20 byte. Si tratta di un'intestazione senza opzioni.
- Massimo: Il valore IHL piรน grande รจ 15, quindi 15 ร 4 = 60 byte. I restanti 40 byte contengono campi opzionali.
Consideriamo un esempio pratico. Se un pacchetto arriva con un valore IHL pari a 6, la lunghezza dell'intestazione รจ 6 ร 4 = 24 byte, il che significa che sono presenti 4 byte di opzioni dopo l'intestazione standard di 20 byte. Per trovare la dimensione del payload, si utilizzatract la lunghezza dell'intestazione dal campo Lunghezza totale. Se la lunghezza totale รจ di 1,500 byte e l'intestazione รจ di 24 byte, allora il payload รจ 1,500 โ 24 = 1,476 byte.
Questo calcolo รจ importante durante la frammentazione, perchรฉ un router deve conoscere la dimensione dell'intestazione per capire quanti dati puรฒ trasportare ciascun frammento senza superare il limite massimo della rete. Transmission Unitร (MTU).
Intestazione IPv4 vs IPv6
L'intestazione IPv6 รจ stata riprogettata per essere piรน semplice e veloce da elaborare rispetto all'intestazione IPv4. Utilizza una lunghezza fissa e sposta le opzioni utilizzate raramente in intestazioni di estensione separate, in modo che i router possano inoltrare i pacchetti alla velocitร di linea. La tabella seguente confronta i due campi delle intestazioni:
| Caratteristica | Intestazione IPv4 | Intestazione IPv6 |
|---|---|---|
| Dimensione dell'intestazione | Da 20 a 60 byte (variabile) | 40 byte (fisso) |
| Numero di campi | 13 campi piรน opzioni | 8 campi |
| lunghezza dell'indirizzo | Sorgente e destinazione a 32 bit | Sorgente e destinazione a 128 bit |
| Checksum dell'intestazione | Presente | rimosso |
| Campi di frammentazione | Nell'intestazione di base (Identificazione, Flag, Offset) | Spostato in un'intestazione di estensione Fragment |
| Opzioni | Trasportato all'interno dell'intestazione | Trasportato nelle intestazioni di estensione |
| Campo lunghezza | Lunghezza totale (intestazione piรน dati) | Lunghezza del carico utile (solo carico utile) |
Poichรฉ IPv6 elimina il checksum e le opzioni a lunghezza variabile, la sua intestazione contiene meno campi e puรฒ essere elaborata a livello hardware senza ricalcolo per ogni hop.
Perchรฉ l'intestazione IP รจ importante
Ogni campo nell'intestazione IP esiste affinchรฉ router e host possano trasferire un pacchetto attraverso diverse reti senza una connessione permanente tra di esse. L'intestazione รจ ciรฒ che rende possibile il funzionamento della commutazione di pacchetto.
- Routing: L'indirizzo di destinazione indica a ciascun router dove inoltrare il pacchetto, mentre l'indirizzo di origine consente la ricezione di risposte e messaggi di errore.
- Prevenzione del loop: Il campo Time to Live viene decrementato a ogni hop, quindi un pacchetto instradato in modo errato viene scartato invece di girare indefinitamente su Internet.
- Consegna secondo il protocollo corretto: Il campo Protocollo indica all'host ricevente se inoltrare il payload a TCP, UDP o a un altro protocollo.
- Integrity e rimontaggio: Il checksum protegge l'intestazione da eventuali danneggiamenti, mentre i campi Identificazione, Flag e Offset frammento consentono di ricostruire un datagramma frammentato nell'ordine corretto.
Per gli ingegneri di rete, leggere questi campi in un TCP / IP La cattura รจ spesso il modo piรน veloce per diagnosticare pacchetti persi, loop di routing e configurazioni errate Gli indirizzi IP.

