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.

  • ๐Ÿงญ Scopo: L'intestazione IP memorizza i dettagli di instradamento e consegna in modo che ogni pacchetto raggiunga la destinazione corretta attraverso le reti.
  • ๐Ÿ“ Dimensioni: L'intestazione IPv4 ha una lunghezza compresa tra 20 e 60 byte, controllata dal campo Internet Header Length.
  • ๐Ÿงฑ Campi chiave: I campi principali includono Versione, IHL, Tipo di servizio, Lunghezza totale, TTL, Protocollo, Checksum e indirizzi.
  • ๐Ÿ”€ Frammentazione: Identificazione, flag e offset dei frammenti consentono di suddividere e riassemblare correttamente datagrammi di grandi dimensioni.
  • ๐Ÿ†š IPv4 contro IPv6: IPv6 sostituisce l'intestazione variabile con un'intestazione fissa di 40 byte ed elimina il campo checksum.
  • ๐Ÿค– Assistenza AI: Gli analizzatori di pacchetti basati sull'intelligenza artificiale analizzano automaticamente le intestazioni IP per segnalare anomalie e velocizzare la risoluzione dei problemi.

Formato e campi dell'intestazione del pacchetto IP

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:

Diagramma del formato dell'intestazione del pacchetto IPv4 che mostra tutti i campi e le relative posizioni dei bit

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.

DOMANDE FREQUENTI

La lunghezza dell'intestazione (IHL) misura solo l'intestazione, in parole a 32 bit, e varia da 20 a 60 byte. La lunghezza totale misura l'intero datagramma, intestazione piรน dati, in byte, fino a 65,535.tracSommando i valori di uno e dell'altro si ottiene la dimensione del carico utile.

La frammentazione divide un datagramma che รจ piรน grande del massimo di un collegamento Transmission Suddivide l'unitร  in pezzi piรน piccoli. I campi Identificazione, Flag e Offset frammento consentono alla destinazione di riassemblare i pezzi in ordine. Ciรฒ accade ogni volta che un pacchetto deve attraversare una rete con un MTU inferiore.

Un'intestazione IPv4 ha 13 campi fissi: Versione, IHL, Tipo di servizio, Lunghezza totale, Identificazione, Flag, Offset frammento, TTL, Protocollo, Checksum, Indirizzo sorgente, Indirizzo di destinazione, piรน un campo Opzioni facoltativo. La sezione Dati che segue รจ il payload, non un campo di intestazione.

No. Il checksum dell'intestazione IPv4 copre solo i campi dell'intestazione, non il payload. I protocolli di livello superiore come TCP e UDP utilizzano i propri checksum per proteggere i dati. Poichรฉ il TTL cambia a ogni hop, i router ricalcolano il checksum dell'intestazione a ogni inoltro.

Quando il TTL raggiunge zero, il router scarta il pacchetto e restituisce un messaggio ICMP Time Exceeded alla sorgente. Questo impedisce ai pacchetti di essere persiping per sempre in un ciclo di routing. Il traceroute Lo strumento si basa su questo comportamento per mappare ogni passaggio lungo un percorso.

Il campo Protocollo identifica quale protocollo di livello superiore deve ricevere il payload a destinazione. I valori comuni sono 6 per TCP, 17 per UDP e 1 per ICMP. L'host ricevente legge questo numero per inoltrare i dati al gestore corretto.

Gli strumenti di intelligenza artificiale e apprendimento automatico analizzano le intestazioni IP acquisite per rilevare anomalie come indirizzi sorgente falsificati, valori TTL anomali o attacchi di frammentazione. Classificano il traffico e segnalano le minacce piรน velocemente rispetto all'ispezione manuale, sebbene un tecnico debba comunque confermare i risultati prima di intervenire.

Copilota GitHub puรฒ bozza Python oppure codice C che estrae i campi dell'intestazione IP, decodifica i flag e convalida i checksum da un breve commento. RevEsaminate attentamente la logica di mascheramento dei bit generata, poichรฉ gli scostamenti di un'unitร  sono una fonte comune di errori di analisi sintattica.

Riassumi questo post con: