同じサーバーコンピュータ上の異なるインターフェイスのIPアドレスの要件は何ですか?

同じサーバーコンピュータ上の異なるインターフェイスのIPアドレスの要件は何ですか?

https://wiki.archlinux.org/title/Internet_sharing

2.1 静的IPアドレス

サーバーコンピュータから別のコンピュータに接続するインターフェイスに静的IPv4アドレスを割り当てます。両方のインターフェイスが/ 24より厳密に大きいネットマスクを持たない限り、アドレスの最初の3バイトは他のインターフェイスの最初の3バイトと同じにすることはできません。

# ip link set up dev net0
# ip addr add 192.168.123.100/24 dev net0 # arbitrary address

「どちらのインターフェイスも厳密に/ 24より大きいネットマスクを持たない限り、このアドレスの最初の3バイトは他のインターフェイスの最初の3バイトとまったく同じではありません」とはどういう意味ですか?これは、サーバーシステムの異なるインターフェイスのネットワークが重複することができないことを意味しますか?

なぜそのような要件がありますか?

ありがとうございます。

答え1

この説明は実際には正確ですが、技術的に不正確であいまいで、誤って書かれています。

クラスCネットワークの場合、IPアドレスの最初の3バイトはネットワークアドレスです。多くのネットワークがクラ​​スCですが、この説明から省略されたクラスAおよびクラスBネットワークもあり、「ネットマスクは/ 24より厳密に大きい」ので、少なくとも省略エラーです。しかし、それは他の理由で間違っています。

これを技術的により正確かつ詳細に説明するために、IPアドレスはネットワークアドレスとシステムアドレスの2つの部分に分けられます。ネットマスクで区切られます。ネットワークマスク/ 24はIPアドレス255.255.255.0に対応します。たとえば、IPアドレスが192.168.100.1/24の場合、ネットワークアドレス(ネットマスクが適用されます)は、192.168.100.0システムアドレス部分はです.1。クラスBネットワークアドレスは/ 16または255.255.0.0、ネットワークアドレスは、192.168システムアドレス部分はです.100.1。同様に、クラスAアドレスはネットマスク/ 8に対応します。

/ 後の数字は、対応するネットワークアドレスに属する IP アドレスの左側の桁数を示します。 /2と/32の間のネットマスクサイズは技術的に可能ですが、/8と/29のみが実用的です。

したがって、質問のテキストが意味するのは、同じコンピュータに同じネットワークアドレスを持つ2つのインターフェイスを持つことができないことです。通常、これにより、システムからのネットワークトラフィックは、ネットワークにアクセスするためにどのインターフェイスを使用する必要があるかを知ることができません。

しかし、これさえ間違っています。インターフェイスに優先順位を付けて、そのうちの1つが常にデフォルトインターフェイスとして選択されるようにすることで、この問題を解決することが可能で簡単です。しかしながら、外部から第2のインターフェイスに送信されるトラフィックは、第1のインターフェイスからの応答を好み、外部コンピュータは、トラフィックが送信されるIPアドレスとは異なるIPアドレスからの応答を期待しない。

しかし、この問題も解決できる。最新のオペレーティングシステムでは、着信トラフィックをインターフェイスごとに表示し、応答が着信したものと同じインターフェイスに送信されるようにすることで、2つのIPアドレスが異なりますが、ネットワークアドレスは同じ2つのサーバーを持つことが完全に可能になりました。同じネットワークアドレス)インターフェイス。ネットワーク)完全に動作します。

結合とチーム化を使用して、同じネットワークの同じIPアドレスにある複数のインターフェイスをグループ化することもできます。これはホストオペレーティングシステムとアップストリームスイッチでサポートする必要があります。これは2つの理由で行われます。 1) 1 つのインターフェイスに障害が発生した場合は、別のインターフェイスがそれに代わるように冗長インターフェイスを許可します。 2) インターフェイス間で帯域幅を共有し、単一インターフェイスの最大スループットを超えてホストの帯域幅を増加させます。

要約すると、質問に引用されたステートメントは、オペレーティングシステム内のIPルーティングがはるかに簡単で、結合とグループ化が存在しなかった過去のある時点で部分的に本当であった可能性があります。それにもかかわらず、このステートメントは、ネットワークアドレスが/ 24より小さい可能性がある状況を含まず、その理由を説明せずに非常に不器用に表現されました。今日のネットワークでは、このステートメントは完全に間違っています。

また、初期のLinuxバージョンでも複数のインターフェイスを同じネットワークにルーティングする機能がサポートされています(構成が何度も変更されたにもかかわらず)、初期のLinuxバージョンでもボンディングとチーム化をサポートします。これら2つの機能はおそらくArch Linuxより前のバージョンであるため、この段落で文脈に合わない限り、正確ではない可能性があります。

ただし、同じネットワークを使用するように複数のインターフェイスを設定するのは複雑で難しいため、単純な設定では各インターフェイスに異なるネットワークアドレスを持つ必要があるため、この説明が正しくない場合でも実用的です。

関連情報