私はLinuxオーバーレイネットワーキングを理解しようとしています。私の知る限り、ブリッジはL2スイッチとL3ルータの機能を組み合わせたものです。 ARPテーブルを使用してIP - > MACマッピングとFDBMAC - > ifaceマッピング。しかし、このテーブルは正確にどこに記録され、誰が「所有/管理」しますか?
たとえば、Linuxを作成するとします。足中ネットワークネームスペース2つを添付してVeth インターフェイスそれに。
- 各 veth インターフェイスは独自の ARP テーブルと FDB テーブルを保持しますか?
- それとも、ブリッジはすべてのインターフェイスのテーブルを維持しますか?
- それとも管理対象テーブルの名前空間ですか?
答え1
いいえ、(Linuxカーネル)ブリッジはL2スイッチとL3ルーターの機能を組み合わせません。
ブリッジはスイッチと同様にレイヤ 2 でのみ動作し、特定の MAC アドレスが特定のポートの背後にあることがわかっている場合、その MAC アドレスの L2 宛先を持つパケットはそのポートを通過するように最適化されます。すべてのポートに送信される代わりに。これがFDBの目的です。しかし、多くのハードウェアスイッチは同じ最適化を使用します。
Linux ブリッジは、2 つの点でハードウェアスイッチとは異なります。ブリッジには別のネットワークインターフェイス(通常は物理イーサネットインターフェイス)を使用してポートが割り当てられます。この場合、L3機能は失われ、割り当てられたすべてのIPアドレスは無視されます。またbr0
、物理インターフェイスを介してコンピュータに直接接続されるハードウェアスイッチのポートとして機能する特別なネットワークインターフェイス(ブリッジ自体のインターフェイスなど)もあります。
ARPテーブルはこれとは何の関係もありません。
ネームスペースはネットワークに関連するすべてを分離するため、各ネームスペースには独自のARPテーブル、独自のネットワークインターフェイスのリスト、潜在的なブリッジなどがあります。
(ブリッジが選択したパケットをL3に送信し、iptables
ブリッジとルーターの組み合わせである「ブリッジ」を形成する方法がありますが、この機能を有効にする必要があり、ブリッジ自体が正しく機能する機能はありません。)