web-dev-qa-db-fra.com

Comment fonctionnent les ports avec IPv6?

La notation quadripartite IPv4 conventionnelle sépare l'adresse du port avec deux points, comme dans cet exemple de serveur Web sur l'interface de bouclage:

127.0.0.1:80

mais avec la notation IPv6 l'adresse même peut contenir des deux points. Par exemple, il s’agit de la forme abrégée de l’adresse de bouclage:

::1

Comment les ports (ou leur équivalent fonctionnel) sont-ils exprimés dans une représentation textuelle d'un noeud final d'adresse/de port IPv6?

127
Peter Wone

Ils travaillent presque les mêmes qu'aujourd'hui. Cependant, assurez-vous d'inclure [] autour de votre adresse IP.

Par exemple : http://[1fff:0:a88:85a3::ac1f]:8001/index.html

Wikipedia a un très bon article sur IPv6: http://en.wikipedia.org/wiki/IPv6#Addressing

170
Nico

Les protocoles utilisés dans IPv6 sont les mêmes que ceux d’IPv4. La seule chose qui a changé entre les deux versions est le schéma d'adressage, DHCP [DHCPv6] et ICMP [ICMPv6]. En résumé, tout ce qui est lié à TCP/UDP, y compris la plage de ports (0 à 65535), reste inchangé.

Edit: Le port 0 est un port réservé dans TCP mais il existe. Voir RFC79 =

30
Andrew Moore

Ils sont les mêmes, n'est-ce pas? Maintenant, je perds confiance en moi, mais je pensais vraiment qu'IPv6 n'était qu'un changement d'adressage. TCP et UDP sont toujours adressés car ils sont sous IPv4.

5
Oli

Je suis à peu près certain que les ports ne jouent qu’un rôle dans tcp et udp. Donc, c'est exactement pareil même si vous utilisez un nouveau protocole IP

5
svrist

Wikipedia souligne que la syntaxe d'une adresse IPv6 inclut des deux points et qu'elle est de forme abrégée, empêchant ainsi l'analyse syntaxique de longueur fixe. Vous devez donc délimiter la partie de l'adresse avec []. Cela évite complètement les erreurs d'analyse impairs.

(Extrait de ne modificationPeter Wone à la question d'origine.)

5
Ajedi32

Je dirais que la meilleure référence est Format pour les adresses IPv6 littérales dans les URL où l'utilisation de [] est définie.

En outre, si c’est pour la programmation et le code, en particulier Java, je suggérerais que ceci se lise Classe pour Inet6Addressdéfinition Java/net/URL où l’utilisation de l’adresse Inet4 dans la connotation Inet6 et d'autres cas sont présentés en détail. Pour mon cas, l'adresse mappée IPv4 De la forme :: ffff: w.x.y.z, l'adresse IPv6 est utilisée pour représenter une adresse IPv4 qui a également résolu mon problème. Il permet au programme natif d'utiliser la même structure de données d'adresse et le même socket lors de la communication avec les nœuds IPv4 et IPv6. C'est le cas sur la configuration par défaut des boîtes Amazon cloud Linux.

4
zhrist

Je ne sais pas trop où vous voulez en venir. La couche TCP et UDP a la même structure. IPV6, comme son nom l'indique, concerne la couche IP en cours d'amélioration et non les couches TCP ou UDP.

3
Tall Jeff