Software Defined Networking.

定義

  • 広義:「従来システムのネットワーク要素を抽象化し分割する, コンピュータ ネットワークを構築するアプローチ」 (wiki より)
  • 狭義:「 (広義のアプローチを具体化するために) ネットワーク機器のコントロール プレーン, データ プレーンを分離し, 集中化されたソフトウェアからコントロールして, もっと効率的なこと, 便利なことをする!! 」

A new networking paradigm whereby the behavior of a network is controlled by a single high-level software program. The general term for network architectures whereby the control plane (software that controls network behavior) and the data plane (the devices that forward traffic) are separate from one another.

SDN allows network administrators to manage network services through abstraction of lower level functionality.

Software-defined networking - Wikipedia, the free encyclopedia

コントロールプレーンとフォワーディングプレーンを分離し, ネットワークにプログラマビリティを持たせる

SDN 時代のデータセンター・アーキテクチャ/Forwarding Plane J-Net Community

ネットワーク全体で一つの OS として見え, ソフトウェアから見れば個々のネットワーク機器が隠ぺいされています. こうすることで, ソフトウェアを開発さえすれば自由にネットワークを制御することが可能になります.

SDN への潮流と OpenFlow の歴史 | Think IT (シンクイット)

SDN の歴史と基盤技術

Active networks

A collection of network architecture projects in the 1990s that shared many of the same goals as software-defined networking.

Network virtualization

ネットワーク仮想化. 物理ネットワーク上に複数の論理ネットワークを構築すること.

The notion of instantiating many distinct logical networks on top of a single, shared physical network infrastructure.

ASCII.jp:なぜ SDN は生まれたのか? ネットワーク仮想化との関係は? (1/2)|Q&A 形式で学ぶ OpenFlow/SDN

「ネットワーク仮想化」とも呼ばれ, 厳密には SDN の応用の一つであり, また, SDN によらず別の技術によって実現する手法もあるため, ネットワーク仮想化と SDN そのものとは区別する必要がある.

SDN とは 【 Software-Defined Networking 】 - 意味/ 解説/ 説明/ 定義 : IT 用語辞典

構成要素

Control Plane

The functions in the network that control the behavior of the network (e.g., network paths, forwarding behavior). Typically, the control plane is instantiated as a single, high-level software controller.

Data Plane

フォワーディング・プレーン, Forwarding plane ともいう.

Forwarding plane - Wikipedia, the free encyclopedia

The functions in the network that are responsible for forwarding (or not forwarding) traffic. Typically, the data plane is instantiated as forwarding tables in routers, switches, firewalls , and middleboxes.

Data plane design goals. 技術革新に素早く対応できること.

  • Flexible (柔軟性)
  • Extensible (拡張性)
  • Clean interfaces (整理されたインタフェース)

Programmable Hardware

標準化された, プログラミング可能なハードウェア.

もうすぐ, 高級言語での記述もできるようになるはず.

  • FPGA
  • Click

Flow の構成要素

  • ヘッダフィールド (マッチングルール)
  • アクション
    • Forwarding
    • Enqueue
    • Drop
  • 統計情報

OpenFlow のアーキテクチャと仕様・機能 | Think IT (シンクイット)

NorthBound API

Programming interface that allows applications and norchestration systems to program the network .Uses for Northbound API ,

  • Path computation
  • Loop avoidance
  • Routing
  • Security

Northbound API は, アプリケーションから SDN コントローラを制御できる API だ.

Northbound API can help,

  • Sophisticated events
  • Composition of policies
  • Event handling

SouthBound API

Control Plane と Data Plane をつなぐ API.

SDN のアーキテクチャ

                        ---
Controller Applications  |
======================   |
   NorthBound API        | Control Plane
======================   |
  Controller Platform   ---
======================   |
   SouthBound API        | Data Plane
======================   |
  OpenFlow Switches      |
                        ---

Composition

シーケンシャルな制御方法とパラレルな制御方法.

  • Sequential composition :Perform one operation, then the next.
  • Parallel composition :Perform both operations simultaneously.

Event-Driven SDN

ネットワーク構成のほとんどは, イベント駆動の処理. ネットワークのポリシーを Event-Based で表現という考えが Event-Based Network Control.

  • Event Plane
    • user
    • time
    • history
  • Dinamic Event Handler -> State Transition signal to Control Plane.
  • Control Plane -> finite state machine で制御される.
    • State ドメインの状態 (value) の集合.
    • Events ステートマシンにしたがって状態遷移を発生させるトリガ
  • Data Plane

他の用語との違いについて整理

OpenFlow

Software-Defined Network (SDN) は, コンセプト, アーキテクチャ. それを実現する技術の一つが OpenFlow.

OpenStack

OpenStack はクラウドを OSS で管理するためのソフトウェア群の総称. OpenStack のネットワーク仮想化にあたる部分が SDN の思想と重なる.

OpenFlow

OpenFlow は, スタンフォード大学が中心となっている「 OpenFlow スイッチングコンソーシアム」が提唱するネットワーク制御技術.

SDN を実現するための代表的なフレームワーク.