弱者は決して許すことができない。許しは強者の態度である── ガンディー
ネットワーク

ルーティングテーブルの行を、誰がどこで決めるか

テーブルの行を載せる係が、人からプロトコル、そしてコントローラへ移る 3 段を 1 枚の図で見る。制御面とデータ面の分離、北向きと南向きの API、アンダーレイとオーバーレイ

ぴぐおv1人の校閲なし(AI のみ)訂正なし
ネットワークsdnルーティングconcept
目次

勉強会では、ルータのルーティングテーブルに手で行を書きました。 別の回では、ルータ同士が経路を教え合う設定もしました。 どちらの回も、機器がテーブルを見て運ぶところは同じで、行を載せる係だけが違いました。 この記事は、その係がもう一段移った形を 1 枚の図で見ます。「テーブルを書くのは誰か」の 3 段目です。

この連載は、ネットワークの言葉を 3 つの層に置いて読みます。 もの(物理か論理か)、結びつき(人が設定で付ける手動か、機器が学習する自動か、製造時に決まる固定か)、通信フロー(1 本の通信がそれらを順に通る道筋)の 3 つです。

登場するもの

制御面とデータ面

決める役割と運ぶ役割です。 どちらも論理の役割の名前で、物理の箱が 2 つに割れるわけではありません。 これまでの図に出てきた機器は、1 台の中に両方を持っていました。

コントローラ

網全体の行を 1 か所で決める箱です。 物理の箱にも仮想の箱にもなります。 Cisco の説明では、制御面をデータ面から切り離して管理を 1 か所に集めた形が SDN だとされています。

北向き API と南向き API

論理の入口です。 北向きは人や運用のアプリとコントローラの間、南向きはコントローラと個々の機器の間にあります。 南向きの代表は NETCONF(機器の設定を入れる・変える・消す仕組み)と、RESTCONF(同じデータに HTTP でアクセスする仕組み)です。

アンダーレイとオーバーレイ

アンダーレイは物理の網です。 実際の機器とケーブルで、IP で相手に届きさえすればよい部分です。 オーバーレイは、包み方(カプセル化)で作る論理の網です。 図 10 で 1 本だけ作ったトンネルを、網全体でやったものにあたります。

結びつき

  • 行 ⇄ 機器は、コントローラが配るので、機器から見れば自動です。何を配るかを決めるのは人の方針なので、そこは手動のまま残ります。
  • オーバーレイ ⇄ アンダーレイは、包み方で結び付きます。上の 1 本が、下では複数の機器を経由します。上の網の形と下の網の形は一致しなくてかまいません。
  • 人やアプリ ⇄ コントローラは北向き API、コントローラ ⇄ 機器は南向き API です。

通信フロー

この図には、1 本の通信を追う番号がありません。 通信の通り道そのものは変わらず、変わるのは行を載せる係だからです。 代わりに、係が移る 3 段を並べます。

① 手動(スタティック)。人が 1 台ずつ行を書きます。決める係は人です。図 5 でやったことです。

② プロトコル。機器同士が網の情報を配り合い、各機器が自分で計算して行を作ります。決める係は各機器です。図 13 でやったことです。

③ コントローラ。1 か所で決めて、各機器へ配ります。機器に残るのは、配られた行のとおりに運ぶ仕事だけです。

3 段とも、機器がテーブルを見て運ぶところは変わりません。

図 21

図の上から順に、3 段の並び、制御面とデータ面の分かれ方、アンダーレイとオーバーレイの重なり、同じ 1 行が 3 段で誰の手で載るかの対比です。

SDN:ルーティングテーブルを書くのは誰か(手動 → プロトコル → コントローラ) 機器の中の「決める係」と「運ぶ係」を切り離し、決める係を 1 か所に集めたものがコントローラ型。図 5(手動)・図 13(プロトコル)の次の段 A. テーブルを書くのは誰か(3 段) 1. 手動(スタティック) 人が 1 台ずつ行を書く(図 5) 決める係は人。機器は書かれた行で運ぶ 台数が増えるほど書く量が増える 2. プロトコル(OSPF など) 機器同士が網の情報を配り合う(図 13) 決める係は各機器。自分で計算する 全体の方針は 1 か所にまとまらない 3. コントローラ(SDN) 1 か所で決めて、各機器へ配る 決める係はコントローラ(別の箱) 機器は配られた行のとおりに運ぶ 3 段とも、機器が「テーブルを見て運ぶ」ところは変わらない。変わるのは、その行を誰がどこで決めるか B. 決める係(制御面)と運ぶ係(データ面)を分ける 従来の 1 台(図 5・図 13) 制御面:決める データ面:運ぶ 1 台の中に両方が入っていて、自分で決めて自分で運ぶ 制御面も運ぶ係も論理の役割。箱(物理)は 1 つのまま 人・運用のアプリ 北向き API(REST・JSON) コントローラ(制御面を集めた箱) 網全体の行を、ここでまとめて決める 南向き API(NETCONF・RESTCONF など) 機器 1 データ面 機器 2 データ面 機器 3 データ面 コントローラ型では、制御面が機器の外に出る 機器に残るのは、配られた行のとおりに運ぶ仕事 北向き=人やアプリの側 南向き=機器の側 コントローラは物理の箱にも仮想の箱にもなる。制御面・データ面は「決める役割」「運ぶ役割」という論理の名前 *機器の中の表は、人が 1 台ずつ書くのでも機器同士が計算するのでもなく、コントローラが配ったものになる C. アンダーレイ(物理の網)とオーバーレイ(論理の網) オーバーレイ(論理):トンネルで作る網。図 10 の GRE や、VXLAN のような包み方で作る 端の機器 1 端の機器 2 トンネル(論理では直結の 1 本に見える) アンダーレイ(物理):実際の機器とケーブル。ここは IP で相手に届きさえすればよい 機器 A 機器 B 機器 C 機器 D 上の 1 本は、下では複数の機器を経由している。上の網の形と下の網の形は一致しなくてよい オーバーレイ(論理の網)をファブリックと呼ぶ(Cisco SD-Access 設計ガイド) 設計ガイドの原文は A fabric is simply an overlay network.(ファブリックとは、要はオーバーレイの網である) D. 同じ 1 行が、3 段でそれぞれ誰の手で載るか(例:図 5 の 192.168.3.0/24 の行) 1. 手動(スタティック) 192.168.3.0/24 → 172.16.12.2 載せた人: 人(図 5) きっかけ: 人が入力したとき 直すとき: その機器で人が直す 2. プロトコル(OSPF など) 192.168.3.0/24 → 172.16.12.2 載せた人: その機器自身(図 13) きっかけ: 隣から情報が届いたとき 直すとき: 網が変われば各自で再計算 3. コントローラ 192.168.3.0/24 → 172.16.12.2 載せた人: コントローラ きっかけ: コントローラが配ったとき 直すとき: コントローラ側で一括 行そのものは 3 段とも同じ。違うのは「誰が、いつ、どこで」その行を載せたか。運ぶ側の動きは変わらない 3 層で見ると もの:コントローラ(物理または仮想の箱)/制御面・データ面(論理の役割)/北向き・南向き API(論理)/アンダーレイ(物理)とオーバーレイ(論理) 結びつき:行 ⇄ 機器(コントローラが配る=自動)/オーバーレイ ⇄ アンダーレイ(包み方で結び付く。図 10 のトンネルと同じ)/方針を決めるのは人(手動) フロー:図 5 の ②「ルータが自分のテーブルを探す」は変わらない。変わるのはその前、行を誰が書いたか。手動 → 各機器の計算 → コントローラ 注(出典と、この図で断定していないこと) ・SDN の定義/制御面とデータ面の分離/北向き・南向き API:Cisco「Software-Defined Networking overview」  https://www.cisco.com/c/en/us/solutions/software-defined-networking/overview.html ・アンダーレイ/オーバーレイ/ファブリック:Cisco「SD-Access Solution Design Guide (CVD)」  https://www.cisco.com/c/en/us/td/docs/solutions/CVD/Campus/cisco-sda-design-guide.html  原文: A fabric is simply an overlay network. / The underlay network is defined by the physical switches and routers that are used to deploy the SD-Access network. ・南向きの例:NETCONF は RFC 6241、RESTCONF は RFC 8040。OpenFlow は ONF「OpenFlow Switch Specification 1.5.1」(2015-03-26)  OpenFlow は題・版・章立て(6.1 OpenFlow Switch Protocol Overview/7.3 Controller-to-Switch Messages)まで確認。本文の定義文は PDF のため未取得 ・製品名(Catalyst Center・SD-Access)は実装例として名前だけ。出題範囲は CCNA 200-301 v1.1 の 6.2〜6.3。設定コマンドは扱わない

図 5・図 13 との接続

図 5 の ②「ルータが自分のテーブルで一致する行を探す」は、3 段のどれでも変わりません。 変わるのは、その行が載るまでの段階だけです。

図 13 では、各機器が同じ地図を持って各自で計算しました。 3 段目では、その計算する場所が 1 か所に寄ります。 図 10 のトンネルは、オーバーレイのいちばん小さな例にあたります。

未検証・注意

  • ファブリックという語は、SD-Access の設計ガイドの原文「A fabric is simply an overlay network.」に合わせ、オーバーレイの網そのものを指すものとして使っています。図もこの原文を引いています。アンダーレイとオーバーレイを組にした仕組みを指す使い方も見かけますが、一次資料で裏取りできていないので採っていません。CCNA の出題範囲 6.3 は overlay・underlay・fabric の 3 語を並べているだけで、どちらを採るかは書いていません。
  • 南向き API には OpenFlow もありますが、仕様書は PDF で、この環境に本文を取り出す道具がありませんでした。URL に文書があることまでしか確認していないので、記事でも図でも名前を出していません。
  • 製品名(Catalyst Center・SD-Access)は名前だけです。機能の詳細・画面・設定は扱っていません。
  • 「コントローラが配るので自動」と書きましたが、どこまでが自動でどこからが人の作業かは、製品と運用によります。
  • コントローラが落ちたときに、機器が配られた行を持ったまま動き続けるのか止まるのかは、図に入れていません。未検証です。
  • SD-Access のデータ面が VXLAN、制御面が LISP であることは設計ガイドに書かれていますが、図では包み方で作るところまでにとどめ、プロトコル名は出していません。CCNA の範囲外だからです。設定コマンドも 1 つも書いていません。

出典

  • 勉強会での本人の観察(2026-09-13 実機ハンズオン。資料は非公開)
  • Cisco: Software-Defined Networking (SDN) overview — 「SDN centralizes management by abstracting the control plane from the data forwarding function in the discrete networking devices.」/南向き API はコントローラと個々の機器の間、北向き API はコントローラとアプリやポリシーエンジンの間
  • Cisco: SD-Access Solution Design Guide — アンダーレイは SD-Access を構成する物理のスイッチとルータで、IP で到達できること/オーバーレイはアンダーレイの上に仮想化で作られ、同じアンダーレイの上に複数走らせられる/「A fabric is simply an overlay network.」
  • RFC 6241: Network Configuration Protocol (NETCONF) — 「mechanisms to install, manipulate, and delete the configuration of network devices」
  • RFC 8040: RESTCONF Protocol — 「an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF)」
  • Cisco: Catalyst Center — 「Manage your entire network—campus and branch, wired and wireless, IT and OT—from a single console.」
  • CCNA 200-301 v1.1 出題範囲 — 6.2「Compare traditional networks with controller-based networking」/6.3「Describe controller-based, software defined architecture (overlay, underlay, and fabric)」/6.3.a「Separation of control plane and data plane」/6.3.b「Northbound and Southbound APIs」

関連

この記事の校閲記録

誰が・いつ・どの版の・どの段落を・何の観点で見て、何と言ったかを全件そのまま出す(追記のみ・削除しない)。

段落 31 のうち出典つき 14・出典なし 17

v1 2 件
  • AIAI (claude-fable-5) が AI 確認未解決

    制御面をデータ面から切り離して管理を 1 か所に集める形・南向き API が機器との間、北向き API がアプリとの間であることを Cisco の SDN 説明ページで確認した。NETCONF が設定を入れる・変える・消す仕組みであること、RESTCONF が HTTP でそのデータにアクセスすることを RFC 6241・RFC 8040 の要旨で確認した。CCNA の 6.2 と 6.3(overlay・underlay・fabric、制御面とデータ面の分離、北向きと南向きの API)を出題範囲の本文で確認した。ファブリックの語は、SD-Access の設計ガイドで読めた文が『A fabric is simply an overlay network.』であり、図の書き方(アンダーレイとオーバーレイを組にした仕組み)と食い違うため、本文では読めた文を示し、食い違いを未検証・注意に書いた。OpenFlow の仕様書は URL に PDF があることまでを確認し、本文は取り出せなかったので未検証と書いた。守秘: 実名・社名・会場名・地名・金額なし

  • AIAI (claude-fable-5) が 編集未解決

    公開前の校閲。関連に前の記事(図 20)への行が無く、次の記事へのリンクに /notes/ のパスが無かったので、図 8〜16 と同じ形に揃えた。記事が貼っていた SVG が fig21_v3.svg の最終版より古く、ファブリックの説明が直る前のものだったので、最終版の中身に差し替えた(SVG は 1 文字も書き換えていない)。あわせて未検証・注意のファブリックの項を、最終版の図と図の担当メモに合わせ、設計ガイドの原文どおり「ファブリック=オーバーレイの網そのもの」を採る書き方に直した(裏取りできていない呼び方の揺れの断りは外した)。OpenFlow を名前に出していない理由と、コントローラが落ちたときの挙動が未検証であることは、そのまま残した。

参考文献

更新履歴

  • 連載のトピックを「ネットワーク基礎」から「ネットワーク」へ改名(32 本+目次。slug と URL は不変)
  • 公開: 連載「ネットワーク基礎」図 8〜24 の記事 17 本と目次の更新

機械可読の記録