Mímisbrunnr知恵の泉

← コンピュータネットワーク 一覧

🎓 レベル:標準 | 重要度:A(必須) 📎 前提:ルーティングの基礎

要点(BLUF)

制御平面とデータ平面

1台のルータの中には、2つの役割が同居しています。

graph TD
  subgraph 従来["従来型(各機器が頭脳を持つ)"]
    R1["ルータ(制御+データ)"]
    R2["ルータ(制御+データ)"]
  end
  subgraph SDN["SDN(頭脳を集約)"]
    C["コントローラ(制御平面を集中)"]
    S1["スイッチ(データ平面のみ)"]
    S2["スイッチ(データ平面のみ)"]
    C --> S1
    C --> S2
  end

なぜ制御を集約するのか

機器が個別に判断する従来型は、台数が増えるほど設定が分散し、全体の一貫性を保つのが困難です。SDNはコントローラに「ネットワーク全体の意図」を集め、そこから各機器へ具体的設定を配ります。これにより、(1) 全体を一枚岩のポリシーで管理でき、(2) アプリからプログラム的にネットワークを操作でき、(3) 変更を一括・即時に反映できます。

ノースバウンドとサウスバウンド

コントローラは上下2方向にAPIを持ちます。

graph TD
  APP["上位アプリ・オーケストレーション"]
  CTRL["SDNコントローラ"]
  DEV["ネットワーク機器(データ平面)"]
  APP -->|"ノースバウンドAPI(REST/JSON・人やアプリ向け)"| CTRL
  CTRL -->|"サウスバウンドAPI(NETCONF・OpenFlow・機器向け)"| DEV

Ciscoの実装例として、キャンパス向けの**Cisco Catalyst Center(旧DNA Center)**や、SD-WANのコントローラがあります。

オーバーレイ・アンダーレイ・ファブリック

SDNの文脈でよく出る3語:

オーバーレイにより、物理配線を変えずに論理的なセグメントを自由に作れます(仮想化・マルチテナントの基盤)。

なぜAPIで操作するのか(設計の直観)

CLIは人間が1台ずつ打つ前提で、数百台・頻繁な変更には向きません。APIは機械可読・反復可能で、スクリプトやアプリから一貫した操作ができます。制御をコントローラに集め、その上にAPIを置くことで、ネットワークが「手で設定する箱の集まり」から「プログラムから呼べるサービス」へと変わります。これがクラウド時代のスケールと俊敏さを支えます。深いIaC運用はクラウド・インフラ分野へ繋ぎます。

⚠️ よくある誤解

対応 lab

関連