Questa realtà tuttavia è destinata a cambiare presto, soprattutto per via dell'Internet delle cose (Internet of Things, in breve: IoT). Dato che il numero di dispositivi di uso quotidiano in grado di connettersi a Internet cresce sempre di più e la maggior parte di questi necessita di un proprio indirizzo IP, lo spazio di indirizzamento IPv4 si riduce sempre più. A questo scopo è stato introdotto l'IPv6 che ha permesso di ampliare la capacità a circa 340 sestilioni (un numero con 37 zeri), una riserva praticamente inesauribile di indirizzi IP per tutte le esigenze future.
Gli indirizzi di questa versione sono costituiti da 128 bit e dovrebbero quindi essere scritti come numeri binari a 128 cifre. Tuttavia, poiché un tale numero sarebbe troppo lungo e quindi poco pratico, si ricorre invece a una suddivisione esadecimale, che divide i 128 bit in otto blocchi di 16 bit ciascuno, separati da due punti. Così si ottiene ad esempio l'indirizzo IPv6 0000:0000:0000:0000:0000:ffff:c0a8:b21f, dove anche le lettere da a a f rappresentano cifre esadecimali. Omettendo gli zeri all'inizio di ogni blocco e sostituendo una serie di blocchi 0000 consecutivi con due simboli susseguenti di due punti (::) è possibile semplificare ulteriormente questo formato. Nel nostro caso otteniamo dunque la scrittura breve ::ffff:c0a8:b21f.