4.

ブリッジ(Bridge)とは何か:L2 動作・MAC 学習・STP・スイッチとの違い

編集
この記事の要点
  • ブリッジ (Bridge) = OSI 参照モデル L2 (データリンク層) で動作するネットワーク機器
  • MAC アドレス学習: 受信フレームの送信元 MAC とポートを対応表に記録 → 宛先 MAC を見て該当ポートにだけ転送
  • 機能的に発展したのが L2 スイッチ(多ポート化、ハードウェア処理)
  • ループ防止: STP (Spanning Tree Protocol) でループを論理的に切断
  • 仮想化での活用: Linux Bridge / Open vSwitch / Docker bridge ネットワーク / VM の Bridge モード
  • Wi-Fi Bridge モード: 無線アクセスポイントを LAN ポート増設として利用

ブリッジとは

ブリッジ (Bridge) は、複数の LAN セグメントを接続し必要なフレームだけを転送する L2 機器です。ハブ (HUB) が「全ポートに全フレームを撒く」のに対し、ブリッジは宛先 MAC を見て該当するポートにだけ流すため、無駄な帯域消費を減らせます。

機器OSI 層判別する情報転送方針
リピータ / ハブL1(物理層)無し全ポートに増幅して垂れ流し
ブリッジL2(データリンク層)MAC アドレス該当ポートにだけ転送
L2 スイッチL2MAC アドレス★ ブリッジを多ポート化・ハード処理化
ルータL3(ネットワーク層)IP アドレスルーティングテーブルで転送
L3 スイッチL2 + L3MAC + IPハードウェアで L3 ルーティング

MAC アドレス学習の動作

ブリッジは受信時に送信元 MAC を学習し、対応表(フォワーディング DB, FDB)を作ります。

Step 1: 学習前 (FDB 空)
  PC-A (00:AA:..) → Port 1
  PC-B (00:BB:..) → Port 2
  PC-C (00:CC:..) → Port 3

Step 2: PC-A → PC-B にフレーム送信
  受信ポート: Port 1
  → 送信元 MAC = 00:AA → Port 1 に記録 (学習)
  → 宛先 MAC = 00:BB → FDB に無い → 全ポートに泛濫 (フラッディング)

Step 3: PC-B → PC-A に返信
  受信ポート: Port 2
  → 00:BB → Port 2 に記録
  → 宛先 00:AA → FDB にあり → Port 1 にだけ送信

Step 4: 以降は両方向ともユニキャスト転送
  PC-C には流れない (帯域節約)

FDB:
| MAC          | Port | Age |
| 00:AA:...    | 1    | 30s |
| 00:BB:...    | 2    | 20s |
| 00:CC:...    | 3    | 10s |

Age 経過 (デフォルト 300s) でエントリは消える → 再学習

L2 スイッチとの関係

機能的にブリッジを「多ポート化・ハードウェア処理化」したものがL2 スイッチです。現代ではほぼ同義ですが、歴史的経緯と動作モデルでは:

  • ブリッジ: 2〜数ポート、ソフトウェア処理、ストア&フォワード方式が中心
  • L2 スイッチ: 数十〜数百ポート、ASIC によるハード処理、カットスルー方式選択可
  • 仕様上はどちらも IEEE 802.1D に準拠

STP (Spanning Tree Protocol) によるループ防止

複数のブリッジを冗長接続するとフレームがループしブロードキャストストームを起こします。STP (IEEE 802.1D) は論理的にループを切断します。

物理トポロジ (ループあり):
  SW1 --- SW2
   |       |
   +- SW3 -+

STP 後 (論理的にループ切断):
  SW1 --- SW2
   |       |
   +- SW3   (SW3-SW2 間がブロック状態)

役割:
  Root Bridge   : 最も Bridge ID が小さいスイッチ (1台)
  Root Port     : Root Bridge への最短ポート
  Designated Port: セグメントを代表するポート
  Blocking Port : ループを断ち切るポート (フレーム転送しない)

派生:
  RSTP (802.1w): 高速化
  MSTP (802.1s): VLAN ごとに別のスパニングツリー
  Cisco PVST+  : VLAN ごとに STP

Wi-Fi の Bridge モード

無線 LAN アクセスポイントを Bridge モード(または AP モード)で動かすと、ルータ機能(NAT/DHCP)を無効化し、純粋に有線 LAN を無線に橋渡しする「アクセスポイント」になります。

  • 二重 NAT 問題を回避(既存ルータの下にぶら下げる)
  • LAN 全体で同じネットワーク(同セグメント)になる
  • 「無線中継器 (リピータ)」と異なり、有線と無線を橋渡しする方式
  • 機器によっては「ブリッジモード」「アクセスポイントモード」「AP モード」と呼ぶ

Linux Bridge

Linux カーネルには仮想ブリッジ機能が標準搭載されており、仮想マシン / コンテナのネットワークでよく使われます。

# bridge-utils(古い)または iproute2(新しい)

# 新コマンド (ip)
sudo ip link add br0 type bridge
sudo ip link set br0 up

# 物理 NIC をブリッジに参加
sudo ip link set eth0 master br0

# IP は br0 に付ける
sudo ip addr add 192.168.1.10/24 dev br0

# 状態確認
bridge link
ip link show type bridge
bridge fdb show br br0     # FDB (MAC アドレス学習表)

# 削除
sudo ip link set eth0 nomaster
sudo ip link delete br0

Open vSwitch (OVS)

大規模仮想化環境向けの高機能仮想スイッチ。VLAN / VXLAN / OpenFlow / sFlow に対応:

# ブリッジ作成
sudo ovs-vsctl add-br ovs-br0

# ポート追加
sudo ovs-vsctl add-port ovs-br0 eth0
sudo ovs-vsctl add-port ovs-br0 vnet0

# VLAN 設定
sudo ovs-vsctl set port vnet0 tag=100

# 状態確認
sudo ovs-vsctl show
sudo ovs-ofctl show ovs-br0

Docker の bridge ネットワーク

Docker のデフォルトネットワークドライバ。コンテナ間通信に Linux Bridge を裏で使用しています。

# デフォルトブリッジ (docker0)
docker network ls
docker network inspect bridge

# カスタムブリッジ(推奨:DNS による名前解決が効く)
docker network create --driver bridge mynet
docker run --network mynet --name app1 nginx
docker run --network mynet --name app2 alpine ping app1
# → app1 はカスタムブリッジ内で名前解決される

# ホストの Linux Bridge を確認
ip link show type bridge
# → docker0 ブリッジが見える

仮想マシンの Bridge モード

VirtualBox / VMware / KVM などで VM のネットワークアダプタを「ブリッジ接続」にすると、VM がホスト OS と同じ LAN セグメントに直結します(独自 IP がルータの DHCP から払い出される)。

VM ネットワーク動作外部から VM へアクセス
NATホストの IP を経由(NAT)ポートフォワード必要
Bridge★ ホストと同セグメントに直結VM の IP に直接アクセス可
Host-onlyホストとだけ通信可能、外部不可不可
InternalVM 同士のみ通信不可

FAQ

Q: ブリッジとスイッチは何が違う?
A: 機能的にはほぼ同じ L2 機器ですが、スイッチは多ポート + ハードウェア処理です。家庭用 / 業務用「L2 スイッチ」は事実上「多ポート ブリッジ」と考えて構いません。

Q: 無線ルータをブリッジモードにするとどうなる?
A: NAT / DHCP / ファイアウォール機能が無効化され、純粋なアクセスポイントとして動作。上位のルータの LAN にそのまま参加する形になり、二重 NAT が回避できます。

Q: Linux Bridge と Open vSwitch、どちらを使うべき?
A: 単純な L2 接続なら Linux Bridge で十分。VLAN タグ管理、OpenFlow、複雑なフロー制御が必要なら OVS。OpenStack / Kubernetes の CNI などで採用されるのは OVS が多いです。

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. ケーブル
  2. ハブ
  3. リピータ
  4. ブリッジ
  5. スイッチ
  6. レイヤ3スイッチ
  7. ルーター

最近更新/作成されたページ