Soweit ich weiß, könnte jeder Prozess seine eigene IP-Adresse erhalten, wobei jede Menge IPs übrig bleiben.
Was wären die Nachteile?
Im Wesentlichen würde Ihr Host ein Router werden und jeder Prozess ist ein Host (im aktuellen System).
Soweit ich weiß, könnte jeder Prozess seine eigene IP-Adresse erhalten, wobei jede Menge IPs übrig bleiben.
Was wären die Nachteile?
Im Wesentlichen würde Ihr Host ein Router werden und jeder Prozess ist ein Host (im aktuellen System).
Antworten:
IPv6 hat keinen NAT-Standard wie IPv4 (NAT unterbricht die End-to-End-Prämisse von IP, und IPv6 wurde entwickelt, um dies wiederherzustellen). Es gibt einen experimentellen RFC für IPv6-NAT, aber es handelt sich um einen Eins-zu-Eins-NAT auf Netzwerkebene und nicht um einen IPv4-NAPT, der auch Portadressen übersetzt, und der experimentelle IPv6-NAT-RFC verbietet dies ausdrücklich .
Wenn Sie an die verschiedenen Transportprotokolle denken, verwenden TCP und UDP Ports, die wirklich Adressen für diese Transportprotokolle sind. Andere Transportprotokolle verwenden möglicherweise eine andere Adressierung, und einige verwenden keine Adressen.
Ihre Idee würde möglicherweise entweder mit TCP oder UDP funktionieren, aber nur mit einem und wahrscheinlich nicht mit anderen Transportprotokollen. IPv6 ist wie UDP verbindungslos, funktioniert also möglicherweise mit UDP, aber TCP ist verbindungsorientiert und führt eine Menge Arbeit aus, die sonst von der Anwendung ausgeführt werden müsste.
Es gibt Anforderungen sowohl an verbindungslose als auch an verbindungsorientierte Transportprotokolle. Der Vorgänger von IPv4 hatte tatsächlich das Äquivalent von IP und TCP als ein einziges Protokoll, aber es wurde notwendig, sie zu teilen, da einige Transportprotokolle verbindungslos sein müssen.
Ein Nachteil ist, dass die oberen Schichten IP-Adressen kennen müssen, was gegen das Schichtungsprinzip verstößt. Was würde dann passieren, wenn Sie zu IPv4 wechseln würden? Oder etwas anderes?
Wie würden die oberen Schichten der Netzwerkschicht mitteilen, dass sie auf eine IP-Adresse reagieren soll? Angenommen, eine neue Anwendung wird gestartet. Woher weiß die Netzwerkschicht, dass es eine neue Adresse gibt, auf die sie antworten kann?
IPv6 könnte NAT theoretisch eliminieren, aber es gibt immer noch Gründe, warum eine Organisation ihre internen IP-Adressen verbergen möchte.
Die Notwendigkeit von NATs als Möglichkeit, öffentliche IP-Adressen gemeinsam zu nutzen, wird mit IPv6 wegfallen, aber NATs können aus Sicherheitsgründen noch einige Verwendungszwecke haben.
Das Entfernen von Ports könnte theoretisch möglich sein, wäre aber ein großes Unterfangen. Selbst wenn Sie die letzten 16 Bits der IP-Adresse für Portnummer + 1 Bit für das TCP / UDP-Flag reservieren, müssten Sie die gesamte Software überarbeiten, die das Paktet von der 3. Schicht in die 4. entpackt, um die Bits von IP zu verwenden Adresse für Portnummer und Protokoll anstelle der Daten im Paket.
Und das ist die "einfache" Lösung, wenn Sie nur die Portnubmer in die IP-Adresse einfügen. Wenn Sie die Portnummern entfernen oder ganz entfernen möchten, müssen Sie jede Software und Bibliothek ändern, die Ports verwendet, sei es Server, Clients oder Firewalls usw. usw. Grundsätzlich wäre es unmöglich, dass jede Software mit der Aufschrift "Server an Port X öffnen", die beim Wechsel von IPv4 zu IPv6 einwandfrei funktioniert, sofort unterbrochen wird, wenn Sie die Ports vollständig entfernen.
Es ist unendlich einfacher, nur die Ports zu behalten.
Es wäre nicht IPv6. Ein solches System ist natürlich machbar, aber es wäre eine Variation des IP-Protokolls. Heutzutage bestehen IPs aus zwei Teilen: einer Host-ID und einer Service-ID.
Bei Ihrem Schema handelt es sich im Wesentlichen um einen Service-Deskriptor. Dies würde Änderungen am DNS erfordern (z. B. wie unterscheidet man zwischen dem SMTP-Server für example.com und dem www-Server für example.com?)
Ich kann nicht sehen, wie vorteilhaft es gegenüber dem heutigen System mit Host: Service-Deskriptoren wäre. Es würde nichts erreichen, was heute nicht möglich ist.
Wie andere bereits gesagt haben, ist es erforderlich, Portnummern zu haben, auch wenn diese in der IP-Adresse des Dienstes "codiert" werden.
Einige Anwendungen benötigen mehr als eine Portnummer. Beispielsweise benötigen die meisten Webserver die Ports 80 und 443 (und möglicherweise einen anderen Port für Websockets oder was auch immer). Ein solches System würde drei IP-Adressen mit codierten Ports benötigen. Obwohl wir viele IPs haben, würde dies (derzeit) bedeuten, dass eine Konfiguration auf Systemebene erforderlich wäre, um diese drei Portnummern zu unterstützen. Die Verwendung einer separaten Portnummer bedeutet, dass die Apps einfach gestartet und die Ports verwendet werden können, ohne dass der Systemadministrator zuerst einige Konfigurationsarbeiten ausführen muss. Wie andere gesagt haben - es ist einfach einfacher, eine Portnummer zu verwenden.
Was NAT betrifft, sollte IPv6 in fast allen Fällen die Notwendigkeit von NAT beseitigen. Einige Fälle bleiben jedoch bestehen, so dass es wahrscheinlich nicht vollständig verschwindet, aber die weit verbreitete Verwendung wird wahrscheinlich erheblich abnehmen.
IP-Adressen und Ports führen, obwohl normalerweise zusammen gesehen, sehr unterschiedliche Aufgaben aus. IP-Adressen werden verwendet, um den Datenverkehr speziell an Ihren Computer weiterzuleiten, und Portnummern werden von Anwendungen verwendet.
Eine sehr gute Analogie ist das Senden von Post an ein Wohnhaus. Die Adresse des Gebäudes würde einer IP-Adresse entsprechen und die Gerätenummern würden einer Portnummer entsprechen. Für diese Analogie sagen wir, die Adresse des Gebäudes lautet 127 Home Ave. Angenommen, Sie wollten einen Brief an Henry TT Peterson senden, also senden Sie einen Brief an das Gebäude, er erhält ihn nicht, weil er eine weitere Anweisung zu seiner Wohnung benötigt , Wohnung 80.
Theoretisch könnte die IPv6-Adresse sowohl die IPv4-Adressen als auch die Portnummern ersetzen. Dies verstößt jedoch gegen etablierte Präzedenzfälle der Vernetzung und es gibt einige Hauptnachteile:
Was NAT betrifft, wurde dies aus zwei Gründen geschaffen. Es gab bereits Bedenken, dass der Welt die öffentlichen IP-Adressen ausgehen (oder ausgehen würden), was massiv gemildert wurde, indem Organisationen und sogar Heimnetzwerke eine unglaubliche Menge zugelassen wurden von IP-Adressen, die intern verwendet werden können und wichtige Maschinen vor der Welt "verbergen" können (z. B. Ihre Datenbank mit vertraulichen Informationen oder der Laptop des CEO)
Ich hoffe, diese Erklärung war hilfreich; Sie sehen, sowohl NAT- als auch Portnummern sind eine gute Sache . Wir möchten sie nicht durch IPv6 ersetzen, da dies ein großer Rückschritt ist, wenn wir sie tatsächlich erweitern oder durch etwas noch Besseres ersetzen möchten