IPv6 pourrait-il rendre les numéros NAT / port redondants?


8

D'après ce que je peux dire, chaque processus pourrait obtenir sa propre adresse IP, avec beaucoup d'IP à revendre.

Quels seraient les inconvénients?

Essentiellement, votre hôte deviendrait un routeur et chaque processus est un hôte (dans le système actuel).


Les commentaires ne sont pas pour une discussion approfondie; cette conversation a été déplacée vers le chat .
Ron Maupin

Une réponse vous a-t-elle aidé? Si c'est le cas, vous devez accepter la réponse afin que la question ne s'affiche pas indéfiniment, à la recherche d'une réponse. Alternativement, vous pouvez fournir et accepter votre propre réponse.
Ron Maupin

Réponses:


13

IPv6 n'a pas de norme NAT comme IPv4 (NAT brise la prémisse de bout en bout d'IP, et IPv6 a été conçu pour restaurer cela). Il existe un RFC expérimental pour IPv6 NAT, mais c'est un NAT un-à-un au niveau de la couche réseau, plutôt que quelque chose comme IPv4 NAPT qui traduit également les adresses de port, et, en fait, le IPC IP NAT expérimental RFC interdit expressément que .

Si vous pensez aux différents protocoles de transport, TCP et UDP utilisent des ports, qui sont vraiment des adresses pour ces protocoles de transport. D'autres protocoles de transport peuvent utiliser d'autres adresses et certains n'utilisent aucune adresse.

Votre idée pourrait éventuellement fonctionner avec TCP ou UDP, mais un seul, et probablement pas avec d'autres protocoles de transport. IPv6 est sans connexion, comme UDP, donc il peut fonctionner avec UDP, mais TCP est orienté connexion, et il effectue beaucoup de travail qui, autrement, devrait être effectué par l'application.

Il existe des exigences pour les protocoles de transport sans connexion et orientés connexion. Le prédécesseur d'IPv4 avait en fait l'équivalent d'IP et TCP en tant que protocole unique, mais il est devenu nécessaire de les séparer car certains protocoles de transport doivent être sans connexion.


9

Un inconvénient est que les couches supérieures devraient être conscientes des adresses IP, ce qui viole en quelque sorte le principe de superposition. Que se passerait-il alors si vous passiez à IPv4? Ou autre chose?

Comment les couches supérieures indiqueraient-elles à la couche réseau qu'elle devrait commencer à répondre à une adresse IP? Supposons qu'une nouvelle application démarre. Comment la couche réseau sait-elle qu'il y a une nouvelle adresse à laquelle répondre?

IPv6 pourrait théoriquement éliminer NAT, mais il y a toujours des raisons pour lesquelles une organisation pourrait vouloir cacher ses adresses IP internes.


Les commentaires ne sont pas pour une discussion approfondie; cette conversation a été déplacée vers le chat .
Ron Maupin

6

Le besoin de NAT comme moyen de partager des adresses IP publiques disparaîtra avec IPv6, mais les NAT peuvent encore avoir des utilisations pour des raisons de sécurité.

La suppression des ports pourrait être possible en théorie, mais ce serait une entreprise énorme. Même si vous réservez les 16 derniers bits de l'adresse IP pour le numéro de port + 1 bit pour le drapeau TCP / UDP, vous devrez retravailler tous les logiciels qui déballent le pactet de la 3e couche à la 4e pour utiliser les bits de l'IP adresse pour le numéro de port et le protocole, au lieu des données dans le paquet.

Et c'est la solution "facile" lorsque vous placez simplement les numéros de port dans l'adresse IP, si vous souhaitez supprimer les numéros de port ou les supprimer, vous devrez modifier tous les logiciels et bibliothèques qui utilisent des ports, qu'il s'agisse de serveurs, de clients, de pare-feu , etc etc. Ce serait fondamentalement impossible, tout logiciel qui dit "ouvrir le serveur au port X" qui fonctionnerait bien en passant simplement d'IPv4 à IPv6 se briserait instantanément si vous supprimiez complètement les ports.

Il est infiniment plus facile de simplement garder les ports.


Les commentaires ne sont pas pour une discussion approfondie; cette conversation a été déplacée vers le chat .
Ron Maupin

4

Ce ne serait pas IPv6. Un tel système est bien sûr faisable, mais ce serait une variante du protocole IP. Aujourd'hui, les IP contiennent deux parties: un identifiant d'hôte et un identifiant de service.

Avec votre schéma, il s'agirait essentiellement d'un descripteur de service. Cela nécessiterait des modifications du DNS (par exemple, comment différenciez-vous le serveur SMTP pour example.com et le serveur www pour example.com?)

Je ne vois pas comment il serait bénéfique sur le système d'aujourd'hui avec l'hôte: descripteurs de service. Il ne réaliserait rien d’impossible aujourd’hui.


Les commentaires ne sont pas pour une discussion approfondie; cette conversation a été déplacée vers le chat .
Ron Maupin

0

Comme d'autres l'ont dit, avoir des numéros de port est une exigence, même s'ils finissent par être «codés» dans l'adresse IP du service.

Certaines applications nécessitent plusieurs numéros de port. Par exemple, la plupart des serveurs Web ont besoin des ports 80 et 443 (et peut-être d'un autre port pour les Websockets ou autre). Un tel système aurait besoin de trois adresses IP avec des ports codés. Bien que nous ayons beaucoup d'adresses IP, cela signifierait (actuellement) que la configuration au niveau du système serait nécessaire pour prendre en charge ces trois numéros de port. L'utilisation d'un numéro de port distinct signifie que les applications peuvent simplement démarrer et utiliser les ports sans que l'administrateur système ne doive d'abord effectuer un travail de configuration. Comme d'autres l'ont dit - il est simplement plus facile d'utiliser un numéro de port.

Quant au NAT, oui, IPv6 devrait supprimer le besoin de NAT dans presque tous les cas. Certains cas subsistent cependant, de sorte qu'il ne disparaîtra probablement pas complètement, mais l'utilisation généralisée devrait diminuer considérablement.


Les commentaires ne sont pas pour une discussion approfondie; cette conversation a été déplacée vers le chat .
Ron Maupin

0

Les adresses IP et les ports, bien que généralement vus ensemble, effectuent des tâches très distinctes. Les adresses IP sont utilisées pour acheminer le trafic vers votre ordinateur spécifiquement et les numéros de port sont utilisés par les applications.

Une très bonne analogie est d'envoyer du courrier à un immeuble. L'adresse du bâtiment serait équivalente à une adresse IP et les numéros d'unité seraient analogues à un numéro de port. Pour cette analogie, nous dirons que l'adresse de l'immeuble est 127 Home Ave. Disons que vous vouliez envoyer une lettre à Henry TT Peterson, donc vous envoyez une lettre à l'immeuble, il ne la reçoit pas car il a besoin de plus de direction pour son appartement , appartement 80.

En théorie, l'adresse IPv6 pourrait remplacer à la fois les adresses IPv4 et les numéros de port, mais cela viole les précédents bien établis de la mise en réseau et il existe des inconvénients majeurs:

  • Détruit le but même que IPv6 a été créé pour atténuer (préoccupations concernant le monde à court d'adresses IP)
  • Les tables de routage internes aux routeurs et commutateurs deviendraient exponentiellement plus grandes tout en n'offrant aucun avantage (de nombreuses adresses seront acheminées vers le même ordinateur physique )
  • Chaque application sur chaque ordinateur aura besoin d'une adresse unique et bien qu'IPv6 propose beaucoup, beaucoup plus d'adresses (2 ^ 128 vs 2 ^ 32), nous manquerons assez rapidement et nous devrons ensuite créer IPv8, puis IPv10, puis IPv12, nous va parcourir une courbe exponentielle et ce ne sera pas un moment amusant.

En ce qui concerne NAT, cela a été créé pour 2 raisons, il y avait déjà des inquiétudes que le monde manquait (ou manquerait) d'adresses IP publiques, ce qui a été massivement atténué en permettant aux organisations et même aux réseaux domestiques une quantité incroyable d'adresses IP qui peuvent être utilisées en interne, et permet à des machines importantes d'être "cachées" du monde (comme votre base de données contenant des informations sensibles, ou l'ordinateur portable du PDG)

J'espère que cette explication a été utile; vous voyez, à la fois le NAT et les numéros de port sont une bonne chose , nous ne voudrions pas les remplacer par IPv6 parce que c'est un énorme pas en arrière, si nous voulons vraiment les étendre , ou les remplacer par quelque chose de mieux


1
1. "Défait le but même d'IPv6" - Non, ce n'est pas le cas, votre ordinateur a probablement déjà plusieurs adresses IPv6 sans aucun problème. Au moins 2 ^ 64 adresses sont réservées pour un réseau domestique typique. "Les tables de routage deviendraient plus grandes" - Non, ce n'est pas le cas, il n'y a qu'une seule entrée de table de routage pour l'ensemble de votre réseau. (Et lorsque vous regardez de l'extérieur de votre FAI, il n'y a qu'une seule entrée pour tout votre FAI.) Vous sous-estimez vraiment la taille de 2 ^ 128. Supposons que vous ayez traité les 16 derniers bits comme un numéro de port (ce qui n'est probablement pas ainsi que cela fonctionnerait), vous avez toujours 2 ^ 112 adresses d'ordinateur.
user253751

(En réalité, la plupart des ordinateurs n'utilisent pas tous les ports 65536 non plus. Je suppose que c'est moins de 100 99% du temps)
user253751

@immibis vous avez couvert tout ce que je pensais en lisant le post
Tobiq
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.