Analisi del Datagramma IP

Stato attuale

Nel 2021, l'IPv6 è meno utilizzato rispetto all'IPv4.

Struttura di un pacchetto IP

Ogni pacchetto IP è suddiviso in tre blocchi principali:

Analisi dell'Header

L'header di un pacchetto IP contiene 14 campi (opzioni). Di seguito, un'analisi dei principali:

  1. Version: Indica la versione del protocollo. Ad esempio, 4 per IPv4.

  2. Internet Header Length (IHL): Lunghezza dell'header espressa in word (unità da 4 byte).

  3. DSCP (Differentiated Services Code Point): Campo utilizzato per la prioritizzazione dei pacchetti. Ad esempio, in una chiamata VoIP, impostando questo campo si garantisce priorità ai pacchetti voce rispetto ad altri dati.

  4. ECN (Explicit Congestion Notification): Utilizzato per la segnalazione della congestione di rete. Non approfondiamo questo aspetto, ma si tratta di un meccanismo che aiuta a gestire il traffico senza perdere pacchetti.

  5. Total Length: Lunghezza totale del pacchetto, compreso l'header e il payload. Può variare da 20 a 65.535 byte. Esistono regole specifiche per stabilire la dimensione minima e massima, permettendo anche la frammentazione personalizzata dei pacchetti.

  6. Identification: Campo che aiuta a identificare e ricostruire i pacchetti frammentati. Non lo approfondiremo ulteriormente.

  7. Flags: Controlla la gestione della frammentazione. Include tre bit:

  8. Fragment Offset: Determina la posizione di un frammento all'interno del pacchetto originale. Invece di numerare i pacchetti in sequenza (1, 2, 3...), si utilizza un sistema basato sulla posizione in byte del frammento, ad esempio 20.000, 40.000, ecc.

  9. TTL (Time to Live): Definisce la durata massima del pacchetto in rete. Ogni volta che il pacchetto attraversa un router, il valore viene decrementato. Se arriva a 0, il pacchetto viene scartato, impedendo cicli infiniti nella rete.

  10. Protocol: Indica il protocollo utilizzato, rappresentato attraverso il suo codice identificativo.

    Ad esempio:

    Questo campo permette all’host destinatario di sapere a quale protocollo di livello superiore consegnare i dati contenuti nel pacchetto IP.