Linuxブリッジを使用するのはなぜですか?

Linuxブリッジを使用するのはなぜですか?

私はsysadmチームでLinuxブリッジング、特にVLANインターフェイスを追加するためにブリッジを作成する必要性について議論しました。

実際には、VLANを作成するために、Linuxブリッジがレイヤ2パケットルーティングを許可するという理論を得ました。

ip link add link eth0 name eth0.100 type vlan id 100

うまくいきます。 VLANを作成してbr0からブリッジにVLANを追加する必要はありません。

たとえば、パケットが複数の物理インターフェイスを持つホストに到着すると、Linuxカーネルは各物理インターフェイスが別の物理スイッチに接続されていても、パケットをどこにルーティングするかを完全に決定できます。

それでは、なぜまだlinuxbridgeが必要なのですか?

また、仮想化の観点から、ホストとゲスト間の通信を可能にするためにハイパーバイザーにLinuxブリッジが必要な理由は何ですか?

ベストアンサー1

ベアメタル(仮想化されていない)ホストでは、通常、VLANインターフェイスを追加するためにブリッジを作成する必要はありません。

ただし、ハイパーバイザーでは、すべてのネットワークセグメントが基本的に2つの部分に分かれています。

  • 外部世界とハイパーバイザー間の物理ネットワークセグメント
  • ホストと仮想マシン間の仮想ネットワークセグメント

互いに通信できるのは2つではなく3つです。ハイパーバイザー、VM、そして外の世界

ハイパーバイザーのルーティングを使用して、仮想マシンと外部世界間の接続を提供できますが、これは不便です。 DHCPを使用するには、ホスト上の仮想マシンに少なくともDHCPヘルパーが必要です。一部のクラスタリング技術では、すべてのノードが同じIPネットワークセグメントに存在する必要があるため、ルーティングを使用すると、これらのクラスタのP2V変換が混乱する可能性があります。ハイパーバイザーが非常に大きなサーバーでない限り、実行中の実際のVMの数はかなり少ない可能性が高いため、すでに制限されているIPv4アドレススペースを非効率的に小さなサブネットに分割するか、ポイントツーポイント接続を使用する必要があります。 。

ブリッジングを使用すると、ハイパーバイザーとその仮想マシンのネットワーク接続が完全に独立している複数のベアメタルを持つスイッチのアップリンクを最も実用的に使用する方法で、ホストとその仮想マシンを外部の世界に表示できます。接続されたホストを区別する方法はありません。

複数のVLANをサポートする1​​つの大きなブリッジの代わりに、各VLANに対して別々のブリッジを作成することにした決定は、本質的に設計/プレゼンテーションの選択です。ハイパーバイザーネットワークの実際の構成は「論理」に密接に従いますが、何が何であるかについてのネットワーク図をより簡単に視覚化できます。ハイパーバイザー内のネットワークに対して別々の「仮想論理」および「仮想物理」図を維持する必要なしに発生します。

VMwareはブリッジをvSwitchまたは仮想スイッチと呼ぶことにしました。ネットワークスイッチはデフォルトでマルチポートブリッジなので、必要に応じてLinuxハイパーバイザーのブリッジを「仮想スイッチ」と呼ぶことができます。

おすすめ記事