¿Cómo funcionan los puertos con IPv6?
Pregunta
La notación cuádruple con puntos IPv4 convencional separa la dirección del puerto con dos puntos, como en este ejemplo de un servidor web en la interfaz de bucle invertido:
127.0.0.1:80
pero con la notación IPv6, la dirección en sí puede contener dos puntos. Por ejemplo, esta es la forma abreviada de la dirección de bucle invertido:
::1
¿Cómo se expresan los puertos (o su equivalente funcional) en una representación textual de una dirección IPv6 / punto final de puerto?
Solución
Funcionan casi igual que hoy. Sin embargo, asegúrese de incluir []
alrededor de su IP.
Por ejemplo: http: // [1fff: 0: a88: 85a3 :: ac1f]: 8001 / index.html
Wikipedia tiene un artículo bastante bueno sobre IPv6: http://en.wikipedia.org/wiki / IPv6 # Direccionamiento
Otros consejos
Los protocolos utilizados en IPv6 son los mismos que los protocolos en IPv4. Lo único que cambió entre las dos versiones es el esquema de direccionamiento, DHCP [DHCPv6] e ICMP [ICMPv6]. Básicamente, todo lo relacionado con TCP / UDP, incluido el rango de puertos (0-65535) permanece sin cambios.
Editar: el puerto 0 es un puerto reservado en TCP pero existe. Consulte RFC793
Estoy bastante seguro de que los puertos solo tienen una parte en tcp y udp. Entonces es exactamente lo mismo incluso si usa un nuevo protocolo IP
Wikipedia señala que la sintaxis de una dirección IPv6 incluye dos puntos y tiene un forma corta que evita el análisis de longitud fija y, por lo tanto, debe delimitar la parte de la dirección con []. Esto evita por completo los errores de análisis extraños.
(Tomado de una edición Peter Wone hecho a la pregunta original.)
Son lo mismo, ¿no? Ahora estoy perdiendo la confianza en mí mismo, pero realmente pensé que IPv6 era solo un cambio de direccionamiento. TCP y UDP todavía se abordan como están bajo IPv4.
Diría que la mejor referencia es Formato para direcciones IPv6 literales en URL donde se usa de [] está definido.
Además, si es para programación y código, específicamente Java, sugeriría que se lea Clase para Inet6Address definición de java / net / URL donde el uso de la dirección Inet4 en connotación Inet6 y otros casos se presentan en detalles. Para mi caso, la dirección asignada a IPv4 de la forma :: ffff: w.x.y.z, para la dirección IPv6 que se usa para representar una dirección IPv4 también resolvió mi problema. Permite que el programa nativo use la misma estructura de datos de dirección y también el mismo socket cuando se comunica con los nodos IPv4 e IPv6. Este es el caso de la configuración predeterminada de los cuadros de Linux en la nube de Amazon.