¿Qué debo saber sobre IPv6 como programador de socket y dónde puedo aprenderlo?

Desde la perspectiva de los sockets, el funcionamiento de IPv6 no difiere mucho de IPv4, sin embargo, los sockets BSD requieren una API diferente para admitir ambos (el antiguo en realidad está en desuso para el nuevo código). Para saber cuáles son las principales diferencias de IPv6, un buen comienzo es IPv6 – Wikipedia. Además de eso, hay muchos buenos métodos de socket de ipv6, explican cómo escribir programas de socket básicos que funcionen correctamente con IPv6. La diferencia más significativa es la dirección que cambia de 4 bytes (32 bits) a 4 palabras (128 bits) y su representación humana cambia de cuatro puntos decimales (192.168.7.3) a ocho puntos hexadecimales (
0: 0: 0: 0: 0: ffff: c0a8: 703) donde el cero se puede omitir e incluso acortar utilizando dos puntos (forma comprimida :: ffff: c0a8: 703).

El programa escrito correctamente utilizando la API BSD Sockets actualizada funcionará con IPv6 de fábrica, así como con IPv4 sin ningún problema.