IPv6 è il successore di IPv4. Il motivo di questo aggiornamento è la paura che gli indirizzi a 32 bit possano esaurirsi.
Differenze:
Campi:
IPv6 non prevede frammentazione e riassemblaggio sui router, tali operazioni devono essere effettuate sugli host estremi. Dato che i segmenti a livello di trasporto hanno già i checksum, sono stati ritenuti ridondanti a questo livello. Il campo opzioni è stato rimosso dall'intestazione.
Il passaggio di Internet da IPv4 a IPv6 è problematico.
IPv6 è retrocompatibile, ovvero possono essere instradati pacchetti IPv6 nella rete IPv4, ma non è fattibile il contrario.
Questo problema è affrontato con il tunneling.
L'idea alla base di questo approccio è la seguente: supponiamo che due nodi (B, E in figura sotto) IPv6 vogliano utilizzare datagrammi IPv6, ma che essi siano connessi ad un insieme di router intermedi IPv4 (chiameremo questi router intermedi tunnel).
Il nodo B, lato sinistro del tunnel, prende l'intero pacchetto IPv6 ricevuto da A e lo pone nel campo dati di un datagramma IPv4. Questo datagramma IPv4 viene indirizzato a E passando per la serie di router intermedi. Il pacchetto viene instradato come se fosse un qualsiasi altro datagramma IPv4, ignari del fatto che questo contenga nel payload un datagramma IPv6. Il nodo E IPv6 riceve il datagramma osservando il numero di protocollo indicato nel pacchetto IPv4 è 41, che è il numero di protocollo per indicare che il payload contiene un pacchetto IPv6, allora E lo estrae ottenendo il pacchetto IPv6 da gestire.
Il tunneling è molto importante anche per le VPN, il procedimento è molto simile per far si che un pacchetto IPv4 trasporti un altro pacchetto IPv4 cifrato secondo alcune procedure di sicurezza note come IPsec.