2008-10-09 17 views
102

convencional puntos IPv4 notación quad separa la dirección desde el puerto con dos puntos, como en este ejemplo de un servidor web en la interfaz de bucle de retorno:¿Cómo funcionan los puertos con IPv6?

127.0.0.1:80 

pero con la notación IPv6 la dirección de sí mismo puede contener dos puntos. Por ejemplo, esta es la forma abreviada de la dirección de bucle:

::1 

¿Cómo están los puertos (o su equivalente funcional) expresado en una representación textual de una dirección/puerto de punto final IPv6?

Respuesta

3

Son lo mismo, ¿verdad? Ahora estoy perdiendo confianza en mí mismo, pero realmente pensé que IPv6 era solo un cambio de dirección. TCP y UDP aún se tratan como están en IPv4.

+2

No es solo un cambio de dirección. Se supone que trae algunas características interesantes (por ejemplo, multidifusión global). Pero sí, es transparente para las capas superiores. –

+4

Es "solo" un cambio de dirección.De lo que estás hablando es de abordar :) Pero la razón por la que preocupa/confunde a las personas es que el diseño de red trata el "direccionamiento" como direcciones y "servicios" como números de puerto. Pero no se puede hacer nada en TCP o UDP sin ambos, por lo que la mayoría de las personas intentan que el direccionamiento a nivel de socket funcione, y no puede entender por qué la gente sigue inventando o cambiando el delimitador: espacios, luego puntos , luego dos puntos, luego ¿signos de libra? Entonces, sí, puedo ver que IPv6 hace que la gente se preocupe. – benc

21

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. Ver RFC793

2

Estoy bastante seguro de que los puertos solo tienen una parte en tcp y udp. Así que es exactamente lo mismo, incluso si utiliza un nuevo protocolo IP

+1

DCCP y SCTP también tienen puertos, pero los puertos en SCTP son un poco diferentes debido al identificador de asociación adicional. –

3

No estoy seguro de lo que está recibiendo en. La capa TCP y UDP es la misma estructura. IPV6 como su nombre lo indica es acerca de la capa de IP que se está mejorando, no las capas de TCP o UDP.

+0

Estaba teniendo un momento de la mitad de la noche WTF de algunos errores de análisis. –

3

Wikipeida points out que la sintaxis de una dirección IPv6 incluye dos puntos y tiene una forma abreviada que impide el análisis de longitud fija, y por lo tanto debe delimitar la parte de dirección con []. Esto explica por completo los extraños errores de análisis.

(Tomado de an editPeter Wone hecho a la pregunta original.)

2

Yo diría que la mejor referencia es Format for Literal IPv6 Addresses in URL's donde se define el uso de [].

Además, si es para programación y código, específicamente Java, sugeriría esto lee Class for Inet6Addressjava/net/URL definition 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 por IPv4 de form :: ffff: w.x.y.z, para direcciones IPv6 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 Amazon Cloud Linux boxes.

Cuestiones relacionadas