入門!Software Defined Network

3,555 views

Published on

Published in: Technology
  • Be the first to comment

入門!Software Defined Network

  1. 1. オープンクラウド・キャンパス 入門!Software Defined Network ver1.0 中井悦司 Twitter @enakai00
  2. 2. 入門!Software Defined Network SDNの一般的なアーキテクチャ ■ 図は「ONF(Open Networking Foundation)」が定義するSDNの一般的なアーキテク チャです。 コントローラに仮想ネットワークの 構成を要求するアプリケーション ノースバウンドAPI 複数のネットワーク機器を 制御するコントローラ サウスバウンドAPI コントローラから制御される ネットワーク機器群 (出典)https://www.opennetworking.org/sdn-resources/sdn-library/whitepapers 2 Open Cloud Campus
  3. 3. 入門!Software Defined Network SDNにおけるOpenFlowの役割 ■ OpenFlowは、コントローラからネットワーク機器を制御するプロトコルであり、SDN のアーキテクチャ上は、「サウスバウンドAPI」の標準実装とされています。 ノースバウンドAPI サウスバウンドAPI ここがOpenFlowの役割 3 Open Cloud Campus
  4. 4. 入門!Software Defined Network SDNにおけるNeutronの役割 ■ Neutronは、エージェントのプラグイン方式でさまざまなSDNコントローラの利用に対 応ます。これは、複数のSDNコントローラに対して、共通のノースバウンドAPIを提供 するものと理解できます。 OpenStack Neutron ノースバウンドAPI コントローラ別のエージェント 4 Open Cloud Campus
  5. 5. 入門!Software Defined Network SDNのアーキテクチャの起源 ■ ■ もともと、スイッチ内部において、ポート間のパケット転送処理に特化したASICによる 「データプレーン」と、パケット転送ルールを決定する組込SWベースの「コントロー ルプレーン」がありました。 SDNのアーキテクチャは、コントロールプレーンを外出しにして、複数スイッチを制御 するように拡張したものと考えられます。 ここの通信経路が コントロールプレーン (出典)http://www.unix-power.net/routing /catalyst_hardware.html ここの通信経路が データプレーン 5 Open Cloud Campus
  6. 6. 入門!Software Defined Network SDNの特徴 (1) ■ 従来のネットワーク機器では、個々の機器が独立したコントロールプレーンを持ち、自 律分散型のアーキテクチャで動作していました。 相互に情報交換 相互に情報交換 コントロールプレーン コントロールプレーン データプレーン ■ コントロールプレーン データプレーン データプレーン 一方、SDNでは、単一のコントローラがデータプレーン全体の動作を集中制御する形態 となります。 集中制御 コントローラ データプレーン データプレーン データプレーン 6 Open Cloud Campus
  7. 7. 入門!Software Defined Network SDNの特徴 (2) ■ 従来のネットワーク機器のコントロールプレーンは、組み込みソフトウェアとして実装 されており、エンドユーザがその動作仕様を変更することはできませんでした。 改変不可 コントロールプレーン コントロールプレーン データプレーン ■ コントロールプレーン データプレーン データプレーン 一方、SDNのコントローラは、一般的なサーバ上で動作するソフトウェアとして実装さ れており、エンドユーザがソフトウェアを開発して、独自のコントローラを作成するこ とができます。 コントローラ データプレーン データプレーン エンドユーザが実装可能 データプレーン 7 Open Cloud Campus
  8. 8. 入門!Software Defined Network OpenFlowについて ■ OpenFlowは、ネットワークスイッチが受け取ったパケットの転送処理を外部の「コン トローラ」で制御するためのプロトコルです。 - OpenFlow対応のスイッチは、パケットを受け取ると、その処理方法をコントローラに問い合わ せて、コントローラの指示に基づいて転送処理を行います。 - この際、パケットの内容を比較的自由に操作することができるので、マルチテナント型の仮想 ネットワークの構築が容易になります。具体的には、送信元/送信先MACアドレスによって出力 ポートを決定する、VLANタグなどのヘッダ情報を修正する、などが可能です。 OpenFlowコントローラ 受信パケットの処理方法を コントローラに問い合わせ OpenFlowスイッチ 8 Open Cloud Campus
  9. 9. 入門!Software Defined Network Open vSwitchについて ■ Open vSwitchは、Linuxサーバ上に仮想スイッチを構成するソフトウェアです。仮想ブ リッジと異なり、商用の物理スイッチ機器と同等のさまざまな機能をサポートします。 - OpenFlowにも対応しており、パケットの転送処理を細かく制御することができますので、仮想 ネットワークを構成する際によく利用されます。 Open vSwitchのサポート機能(http://openvswitch.org/features/) ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Visibility into inter-VM communication via NetFlow, sFlow(R), IPFIX, SPAN, RSPAN, and GRE-tunneled mirrors LACP (IEEE 802.1AX-2008) Standard 802.1Q VLAN model with trunking BFD and 802.1ag link monitoring STP (IEEE 802.1D-1998) Fine-grained QoS control Support for HFSC qdisc Per VM interface traffic policing NIC bonding with source-MAC load balancing, active backup, and L4 hashing OpenFlow protocol support (including many extensions for virtualization) IPv6 support Multiple tunneling protocols (GRE, VXLAN, IPsec, GRE and VXLAN over IPsec) Remote configuration protocol with C and Python bindings Kernel and user-space forwarding engine options Multi-table forwarding pipeline with flow-caching engine Forwarding layer abstraction to ease porting to new software and hardware platforms 9 Open Cloud Campus
  10. 10. 入門!Software Defined Network SDNにおける仮想ネットワークの実装方式 ■ SDNでマルチテナント型の仮想ネットワークを構成する方法に、「エッジネットワー ク」と呼ばれる方式があります。 - SDNコントローラに仮想ネットワークの構成情報を持たせておき、仮想マシンから送信されたパ ケットの行き先をコントローラ上で計算して、最終的なパケットの到達先を決定します。 - 仮想マシンからパケットを受け取ったOpen vSwitchは、コントローラの計算結に基づいて、パ ケットの内容を変更した後に、最終到達先のOpen vSwitchにパケットを転送します。 OpenFlow コントローラ パケットの 処理方法を指示 VM VM Open vSwitch VM VM Open vSwitch 普通のローカル ネットワーク網 仮想ネットワーク の論理構成 外部ネットワーク 10 Open Cloud Campus
  11. 11. 入門!Software Defined Network (余談)OpenFlow Switchが自宅で使えるようになったら・・・ コントロールプレーン コントロールプレーン コントロールプレーン コントロールプレーン 一般人でも改変できる データプレーン _人人人人人人人人人人人人人人人人人_ > 俺々ネットワーク機器を作る趣味 <  ̄YYYYYYYYYYYYYYYYY ̄ 11 Open Cloud Campus
  12. 12. オープンクラウド・キャンパス SDNの本質と限界と可能性を 一緒に考えましょう! 中井悦司 Twitter @enakai00

×