私が知ることができることから、各プロセスは独自のIPアドレスを取得でき、IPの負荷が余計にかかります。
欠点は何でしょうか?
基本的に、ホストはルーターになり、各プロセスは(現在のシステムでは)ホストです。
私が知ることができることから、各プロセスは独自のIPアドレスを取得でき、IPの負荷が余計にかかります。
欠点は何でしょうか?
基本的に、ホストはルーターになり、各プロセスは(現在のシステムでは)ホストです。
回答:
IPv6には、IPv4のようにNAT標準がありません(NATはIPのエンドツーエンドの前提を破り、IPv6はそれを復元するように設計されました)。IPv6 NATには実験的な RFC がありますが、これはネットワークレイヤーでの1対1のNATであり、ポートアドレスも変換するIPv4 NAPTのようなものではなく、実際、実験的なIPv6 NAT RFCは明示的にそれを禁止しています。
さまざまなトランスポートプロトコルについて考える場合、TCPおよびUDPはポートを使用します。これらのポートは、実際にはこれらのトランスポートプロトコルのアドレスです。他のトランスポートプロトコルは他のアドレス指定を使用する場合があり、アドレスを使用しないものもあります。
あなたのアイデアはTCPまたはUDPのどちらかで機能する可能性がありますが、1つだけであり、おそらく他のトランスポートプロトコルでは機能しません。IPv6はUDPのようにコネクションレスであるため、UDPで動作する可能性がありますが、TCPはコネクション指向であり、そうでなければアプリケーションで実行する必要がある多くの作業を実行します。
コネクションレス型とコネクション型の両方のトランスポートプロトコルの要件があります。IPv4の前身には、実際には単一のプロトコルとしてIPとTCPに相当するものがありましたが、一部のトランスポートプロトコルはコネクションレスである必要があるため、それらを分割する必要がありました。
1つの欠点は、上位層がIPアドレスを認識する必要があることです。これは、階層化の原則に違反しています。次に、IPv4に切り替えるとどうなりますか?または、他の何か?
上位層は、IPアドレスへの応答を開始する必要があることをネットワーク層にどのように伝えますか?新しいアプリケーションが起動するとします。ネットワーク層は、応答する新しいアドレスがあることをどのようにして知るのですか?
IPv6は理論的にはNATを排除できますが、組織が内部IPアドレスを非表示にする理由はまだあります。
パブリックIPアドレスを共有する方法としてのNATの必要性はIPv6でなくなるでしょうが、NATはまだセキュリティ上の理由からいくつかの用途があるかもしれません。
理論的にはポートを削除することは可能かもしれませんが、それは大きな仕事になるでしょう。IPアドレスの最後の16ビットをポート番号用に予約し、TCP / UDPフラグ用に1ビットを予約した場合でも、IPからのビットを使用するには、3番目のレイヤーから4番目のレイヤーにパクテットをアンパックするすべてのソフトウェアを再構築する必要があります。パケット内のデータではなく、ポート番号とプロトコルのアドレス。
そして、それは、IPアドレスにポートナバーを配置するだけの場合の「簡単な」ソリューションです。ポート番号を完全に削除したい場合、サーバー、クライアント、ファイアウォールなど、ポートを使用するすべてのソフトウェアとライブラリを変更する必要があります。などなど。基本的には不可能です。「ポートXでサーバーを開く」と表示されるすべてのソフトウェアは、IPv4からIPv6に移行するだけで問題なく機能し、ポートを完全に削除するとすぐに機能しなくなります。
ポートを保持する方が、はるかに簡単です。
IPv6ではありません。このようなシステムはもちろん実現可能ですが、IPプロトコルのバリエーションになります。現在、IPにはホスト識別子とサービス識別子の2つの部分があります。
あなたのスキームでは、それは本質的にサービス記述子になります。これにはDNSの変更が必要になります(たとえば、example.comのSMTPサーバーとexample.comのwww-serverをどのように区別しますか?)
host:service記述子を使用した今日のシステムに比べて、それがどのように有益であるかはわかりません。今日では不可能なことは何も実現しません。
他の人が言ったように、たとえポート番号がサービスのIPアドレスに「エンコード」されることになっても、ポート番号を持つことは必須です。
一部のアプリケーションでは、複数のポート番号が必要です。たとえば、ほとんどのWebサーバーにはポート80と443が必要です(Webソケットなどに別のポートが必要な場合もあります)。このようなシステムには、エンコードされたポートを持つ3つのIPアドレスが必要です。十分な数のIPがありますが、(現在のところ)これら3つのポート番号をサポートするには、システムレベルの構成が必要であることを意味します。別のポート番号を使用することで、システム管理者が最初に設定作業を行う必要なく、アプリがポートを起動して使用できるようになります。他の人が言ったように-ポート番号を使用する方が簡単です。
NATに関しては、はい、IPv6はほとんどすべての場合でNATの必要性を取り除くはずです。ただし、いくつかのケースが残っているため、おそらく完全に消えることはありませんが、広範囲に及ぶ使用は大幅に減少する可能性があります。
IPアドレスとポートは、通常一緒に表示されますが、非常に異なるタスクを実行します。IPアドレスはトラフィックをコンピュータにルーティングするために使用され、ポート番号はアプリケーションによって使用されます。
非常に良い例えは、アパートの建物にメールを送ることです。建物の住所はIPアドレスに相当し、ユニット番号はポート番号に類似しています。この例では、建物の住所は127 Home Aveです。ヘンリーTTピーターソンに手紙を送りたいので、建物に手紙を送っても、アパートへのさらなる指示が必要なので、彼はそれを受け取りません。 、アパート80。
理論的には、IPv6アドレスはIPv4アドレスとポート番号の両方の代わりになる可能性がありますが、これは確立されたネットワークの前例に違反しており、いくつかの大きな欠点があります。
NATに関する限り、これは2つの理由で作成されました。世界中でパブリックIPアドレスが不足している(または不足する)との懸念がすでにありました。内部で使用できるIPアドレスのリストで、重要なマシンを世界中から「隠す」ことができます(機密情報が含まれているデータベースやCEOのラップトップなど)
この説明がお役に立てば幸いです。ご覧のとおり、NATとポート番号はどちらも良いものです。IPv6に置き換えたくないのです。IPv6に実際に拡張したい場合や、さらに優れたものに置き換えたい場合は、かなり後退します。