IPv6はNAT /ポート番号を冗長にすることができますか?


8

私が知ることができることから、各プロセスは独自のIPアドレスを取得でき、IPの負荷が余計にかかります。

欠点は何でしょうか?

基本的に、ホストはルーターになり、各プロセスは(現在のシステムでは)ホストです。


コメントは詳細な議論のためのものではありません。この会話はチャットに移動さました
Ron Maupin

何か回答がありましたか?もしそうなら、あなたは答えを受け入れて、質問が永遠にポップアップし続けないようにして、答えを探します。または、独自の回答を提供して受け入れることもできます。
Ron Maupin

回答:


13

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に相当するものがありましたが、一部のトランスポートプロトコルはコネクションレスである必要があるため、それらを分割する必要がありました。


9

1つの欠点は、上位層がIPアドレスを認識する必要があることです。これは、階層化の原則に違反しています。次に、IPv4に切り替えるとどうなりますか?または、他の何か?

上位層は、IPアドレスへの応答を開始する必要があることをネットワーク層にどのように伝えますか?新しいアプリケーションが起動するとします。ネットワーク層は、応答する新しいアドレスがあることをどのようにして知るのですか?

IPv6は理論的にはNATを排除できますが、組織が内部IPアドレスを非表示にする理由はまだあります。


コメントは詳細な議論のためのものではありません。この会話はチャットに移動さました
Ron Maupin

6

パブリックIPアドレスを共有する方法としてのNATの必要性はIPv6でなくなるでしょうが、NATはまだセキュリティ上の理由からいくつかの用途があるかもしれません。

理論的にはポートを削除することは可能かもしれませんが、それは大きな仕事になるでしょう。IPアドレスの最後の16ビットをポート番号用に予約し、TCP / UDPフラグ用に1ビットを予約した場合でも、IPからのビットを使用するには、3番目のレイヤーから4番目のレイヤーにパクテットをアンパックするすべてのソフトウェアを再構築する必要があります。パケット内のデータではなく、ポート番号とプロトコルのアドレス。

そして、それは、IPアドレスにポートナバーを配置するだけの場合の「簡単な」ソリューションです。ポート番号を完全に削除したい場合、サーバー、クライアント、ファイアウォールなど、ポートを使用するすべてのソフトウェアとライブラリを変更する必要があります。などなど。基本的には不可能です。「ポートXでサーバーを開く」と表示されるすべてのソフトウェアは、IPv4からIPv6に移行するだけで問題なく機能し、ポートを完全に削除するとすぐに機能しなくなります。

ポートを保持する方が、はるかに簡単です。


コメントは詳細な議論のためのものではありません。この会話はチャットに移動さました
Ron Maupin

4

IPv6ではありません。このようなシステムはもちろん実現可能ですが、IPプロトコルのバリエーションになります。現在、IPにはホスト識別子とサービス識別子の2つの部分があります。

あなたのスキームでは、それは本質的にサービス記述子になります。これにはDNSの変更が必要になります(たとえば、example.comのSMTPサーバーとexample.comのwww-serverをどのように区別しますか?)

host:service記述子を使用した今日のシステムに比べて、それがどのように有益であるかはわかりません。今日では不可能なことは何も実現しません。


コメントは詳細な議論のためのものではありません。この会話はチャットに移動さました
Ron Maupin

0

他の人が言ったように、たとえポート番号がサービスのIPアドレスに「エンコード」されることになっても、ポート番号を持つことは必須です。

一部のアプリケーションでは、複数のポート番号が必要です。たとえば、ほとんどのWebサーバーにはポート80と443が必要です(Webソケットなどに別のポートが必要な場合もあります)。このようなシステムには、エンコードされたポートを持つ3つのIPアドレスが必要です。十分な数のIPがありますが、(現在のところ)これら3つのポート番号をサポートするには、システムレベルの構成が必要であることを意味します。別のポート番号を使用することで、システム管理者が最初に設定作業を行う必要なく、アプリがポートを起動して使用できるようになります。他の人が言ったように-ポート番号を使用する方が簡単です。

NATに関しては、はい、IPv6はほとんどすべての場合でNATの必要性を取り除くはずです。ただし、いくつかのケースが残っているため、おそらく完全に消えることはありませんが、広範囲に及ぶ使用は大幅に減少する可能性があります。


コメントは詳細な議論のためのものではありません。この会話はチャットに移動さました
Ron Maupin

0

IPアドレスとポートは、通常一緒に表示されますが、非常に異なるタスクを実行します。IPアドレスはトラフィックをコンピュータにルーティングするために使用され、ポート番号はアプリケーションによって使用されます。

非常に良い例えは、アパートの建物にメールを送ることです。建物の住所はIPアドレスに相当し、ユニット番号はポート番号に類似しています。この例では、建物の住所は127 Home Aveです。ヘンリーTTピーターソンに手紙を送りたいので、建物に手紙を送っても、アパートへのさらなる指示が必要なので、彼はそれを受け取りません。 、アパート80。

理論的には、IPv6アドレスはIPv4アドレスとポート番号の両方の代わりになる可能性がありますが、これは確立されたネットワークの前例に違反しており、いくつかの大きな欠点があります。

  • IPv6 が緩和するために作成されたまさにその目的(世界のIPアドレスが不足することへの懸念)に打ち勝つ
  • ルーターとスイッチの内部のルーティングテーブルは指数関数的に大きくなりますが、メリットはありません(多くのアドレス同じ物理コンピューターにルーティングされます)。
  • すべてのコンピューター上のすべてのアプリケーションには一意のアドレスが必要であり、IPv6は多くの、何倍ものアドレス(2 ^ 128対2 ^ 32)を提供しますが、すぐに不足し、IPv8、次にIPv10、次にIPv12を作成する必要があります。指数曲線でレースをするので、それは楽しい時間ではありません。

NATに関する限り、これは2つの理由で作成されました。世界中でパブリックIPアドレスが不足している(または不足する)との懸念がすでにありました。内部で使用できるIPアドレスのリストで、重要なマシンを世界中から「隠す」ことができます(機密情報が含まれているデータベースやCEOのラップトップなど)

この説明がお役に立てば幸いです。ご覧のとおり、NATとポート番号はどちらも良いものです。IPv6に置き換えたくないのです。IPv6に実際に拡張したい場合や、さらに優れたものに置き換えたい場合は、かなり後退します。


1
1.「IPv6の本来の目的に反する」-いいえ、そうではありません。おそらく、問題のない複数のIPv6アドレスがコンピューターに既に存在しています。少なくとも2 ^ 64のアドレスは、一般的なホームネットワーク用に予約されています。「ルーティングテーブルは大きくなります」-いいえ、そうではありません。ネットワーク全体に対してルーティングテーブルのエントリは1つしかありません。(そして、ISPの外側から見ると、ISP全体のエントリは1つしかありません。)2 ^ 128の大きさを過小評価しています。最後の16ビットをポート番号として扱ったとします(これはおそらくこれが機能する方法ではないでしょう)、まだ2 ^ 112のコンピュータアドレスがあります。
user253751

(実際には、ほとんどのコンピューターは65536ポートをすべて使用していません。99%の確率で100未満だと思います)
user253751

@immibisあなたが投稿を読んでいる間に私が考えていたすべてをカバーしました
Tobiq '29
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.