• Like
  • Save
ITPro Expo 2013 / SDN Introduction by Midokura
Upcoming SlideShare
Loading in...5
×
 

ITPro Expo 2013 / SDN Introduction by Midokura

on

  • 1,647 views

 

Statistics

Views

Total Views
1,647
Views on SlideShare
1,621
Embed Views
26

Actions

Likes
9
Downloads
50
Comments
0

1 Embed 26

https://twitter.com 26

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    ITPro Expo 2013 / SDN Introduction by Midokura ITPro Expo 2013 / SDN Introduction by Midokura Presentation Transcript

    • 90分で理解するSDNの基礎 2013年10月10日 ミドクラジャパン株式会社
    • 本日のアジェンダ u 導入編 Ø 話者紹介 Ø What’s SDN ? Ø “SDN” を分類してみよう u 技術紹介編 Ø 様々な構成技術 Ø OpenFlow Deep-dive Ø Server-side Edge overlay Deep-dive Copyright ©2013 Midokura All rights reserved 2
    • 導入編 Photo Credit:stevendepolo via Compfight cc 3
    • 話者紹介 キャリアでのネットワーク設計・運用、.JP DNS の基盤設計・運用、機器ベンダSEを経て現職 Copyright ©2013 Midokura All rights reserved 4
    • 本日の目的 対象者 Ø  “SDN” という言葉を聞いた事は あるがピンとこない方 狙い Ø  「“SDN”と呼ばれているもの」 の対象を整理する Ø  「”SDN”と呼ばれているもの」 の代表的なものの技術的な概観 を理解する Photo Credit: Marco Bellucci via Compfight cc Copyright ©2013 Midokura All rights reserved 5
    • What’s “SDN”? Photo Credit: Micky Aldridge via flickr cc 6
    • 2012を境に注目を集めている “SDN” From: Google Trends A. OpenFlow B. Software Defined Networking C. Software Defined Network A B C Copyright ©2013 Midokura All rights reserved 7
    • What’s “SDN” ? Software Defined Networking ソフトウェアでネットワークを定義する??? Copyright ©2013 Midokura All rights reserved 8
    • Web 上で見る様々な “SDN” の定義 SDN is a new approach to networking in which network control is decoupled from the data forwarding function and is directly programmable. From: https://www.opennetworking.org/about/onf-overview ネットワークの構成、機能、性能などをソフトウェア の操作だけで動的に設定、変更できるネットワーク、 あるいはそのためのコンセプトを指す From: http://www.atmarkit.co.jp/ait/articles/1304/08/news098.html Copyright ©2013 Midokura All rights reserved 9
    • Web 上で見る様々な “SDN” の定義 cont. ソフトウェアによって仮想的なネットワークを作り上げる技術全般 を言います。 SDNを用いると、物理的に接続されたネットワーク 上で、 別途仮想的なネットワークを構築するといったようなこと が可能になります。 From: https://www.nic.ad.jp/ja/basics/terms/sdn.html SDNとは、ネットワークをソフトウェアで動的に ∼中略∼ そこで、従来、個々のネットワーク機器が1台ずつで行ってきたネットワーク 制御とデータ転送処理を分離し、汎用サーバ側のソフトウェアでデータ転送処 理のみを行う機器を動的に制御することで、通信を柔軟に効率よく、安全に行 えるようにすることを目指して考えられたのがSDNです。 From: http://jpn.nec.com/sdn/about_sdn.html? Copyright ©2013 Midokura All rights reserved 10
    • Web 上で見る様々な “SDN” の定義 cont. 共通項 ü  “ソフトウェアで” ü  “動的に変更” その他のキーワード ü  コントロールプレーン、データプレーン分離 ü  自動化 ü  機能の追加 ü  仮想化 ü  汎用ハードウェア Copyright ©2013 Midokura All rights reserved 11
    • Web 上で見る様々な “SDN” の定義 cont. ポイント ü  “SDN” という固有名詞の標準技術は存在しない ü  ソフトウェアでネットワークに対して動的制御 を行う仕組みをなべて “SDN” と呼んでいる Photo Credit: @Doug88888 via Compfight cc Copyright ©2013 Midokura All rights reserved 12
    • “SDN”を分類してみよう Photo Credit: 5letterdesign via Compfight cc 13
    • 無数の “SDN” ベンダ Copyright ©2013 Midokura All rights reserved 14
    • 分類I. “適用領域”と”物理vs仮想” データセンタ クラウドネットワークスタック 仮想・物理スイッチの連携 物理スイッチの制御 物理 仮想 サーバ、DCネットワーク、WANの統合制御 伝送レイヤの制御 WAN Copyright ©2013 Midokura All rights reserved 15
    • 分類II. “新興vs既存”と “HardwareとSoftware” ソフトウェア 新興ソフトウェアベンダ 仮想化 No.1事業者の補強 既存ネットワーク機器メーカ 既存 新興 既存サーバ機器メーカ 既存伝送機器メーカ 汎用FPGA、汎用OSによるODM会社 ハードウェア Copyright ©2013 Midokura All rights reserved 16
    • 分類III. “利用技術” 伝送パス設定の自動化 (何らかの)API 全部入り クラウド・DC間の連携 Hop By Hop 仮想・物理スイッチの統合 Edge overlay クラウドの自動化・スケール強化 物理L2/L3設定の自動化・機能追加 OpenFlow Copyright ©2013 Midokura All rights reserved 17
    • 技術紹介編 Photo Credit: [martin] via Compfight cc 18
    • 様々な構成技術 Photo Credit: See-ming Lee 李思明 SML via Compfight cc 19
    • 仮想スイッチ 仮想スイッチとは ü  ソフトウェアで動作するスイッチ ü  仮想化のホストOSで動作し、VMと外部ネッ トワークを接続する用途が多い ü  単純なスイッチング以外にもトンネル化、 VLAN の追加削除等のヘッダ操作もサポート VM VM VM Virtual Switch VM VM VM Virtual Switch VM VM VM Virtual Switch Physical Network Virtual Switch VM VM VM Virtual Switch VM VM VM Copyright ©2013 Midokura All rights reserved Virtual Switch VM VM VM 20
    • 仮想スイッチ 代表的な実装例 Open vSwitch Nexus 1000v ü  Linux 上で動作 ü  Data path となる kernel module と、Control plane となる application から構成 ü  OpenFlow を使うことも、直接Data pathをプログラミング する事も可能 ü  ESXi, Linux 上で動作 ü  基本的には Cisco UCS 上での動作を想定  ( IAサーバなら動作は可能…な筈 ) ü  VMWare ESXi/Infrastracture 上で動作 ü  単純なスイッチ機能がメイン vswitch, vDS Copyright ©2013 Midokura All rights reserved 21
    • 仮想スイッチ Open vSwitch ü  Linux 上で動作し、Open source で開発され ている為、商用利用への応用も盛んで、 ”SDN 製品” にもしばしば利用される 応用例 ü  スイッチのベースOSに Linux を採用しており、データパス プログラミングに Open vSwitch が利用可能 汎用FPGAを 用いた新興機器 ü  OVS の機能により最新の OpenFlow や他のトンネルプロト コル等に一早く対応可能 メーカ クラウド ネットワーク スタック ü  KVM 等の Linux をホストOSとしているものは、そのまま 動作可能 ü  OpenFlow 以外にも、NETLINK 経由で直接プログラミン グする事により、より柔軟な拡張が可能 Copyright ©2013 Midokura All rights reserved 22
    • Hop-by-hop と Overlay Hop-by-hop ü  経由する機器を全て設定 Overlay ü  通信元と宛先を収容する装置のみ を設定 ü  装置間は何らかのトンネルプロト コルで接続し、従来のルーティン グ等により到達性を確保 トンネル ¡  きめ細かな制御が可能   設定量が膨大   トンネル区間は複雑な制御は困難   L2 を上位で動作させる場合は複 雑な制御が必要 ¡  設定量が現実的な量で納まる Copyright ©2013 Midokura All rights reserved 23
    • Hop-by-hop と Overlay 併用 ü  制御するインタフェースとしてトンネルインタフェース等を指定できれば、 Hop-by-hop と Overlay の差は扱うインタフェースの種別の違いであり、併 用は可能 ü  但し、制御はそれだけ複雑に… トンネル Hop-by-hop Overlay Copyright ©2013 Midokura All rights reserved Hop-by-hop 24
    • Overlay で用いられるトンネル技術 GRE ü  所謂 GRE トンネリング ¡  枯れており実装も多い   L2 の考慮は上位アプリケーションで考慮する必要がある NVGRE ü  L2 フレームを GRE で通す為の拡張、GRE Tunnel ID を分割 ü  24bitsの Tenant ID を持ち、VLAN空間12bitsより広大 ¡  GREに見える為、既存のフレームワークの改変が不要   Multicast/Broadcast が Tenant IDとリンクしていない VXLAN ü  L2 フレームを UDP で通すトンネリング ü  24bits のテナント識別子を持ち、VLAN空間12btisより広大 ¡  UDP ヘッダにより、経由ノードで細かな制御が可能   MAC学習に標準では IP Multicast を使う為、実装が困難※ ※VMWare NSX では IP Multicast による動的学習ではなく 独自機構によりコントローラから配信される Copyright ©2013 Midokura All rights reserved 25
    • OpenStack と Neutron OpenStack ü  Open Source なクラウドマネジメントシテム ü  多数のコンポーネントの API による疎結合により実装 ü  Network は Neutron というコンポーネント群によって制御 され、API も公開されている Copyright ©2013 Midokura All rights reserved 26
    • OpenStack と Neutron Neutron API ü  OpenStack に準拠する為、多くのメーカ、ベンダが Neutron API と自社 API を変換する Plugin を実装 ü  データセンタ・クラウド向け Network API の デファクトスタンダードの候補として注目されている 制御対象 ü  L2/L3といった基本的な機能だけではなく、高レイヤのサービスにも拡張 L2 separation LBaaS Service Insertion L3 separation VPNaaS QoS Security Group FWaaS Etc, Etc … Copyright ©2013 Midokura All rights reserved 27
    • NFV = Network Function Virtualization 用語としてのNFV ü  LBaaS, VPNaaS, FWaaS 等、従来専用機器が機能を提供していたネット ワークサービスを汎用サーバ上で実現する事を呼ぶ広義の NFV と、標準 規格としての狭義の NFV が存在する 標準規格としてのNFV ü  通信事業者の標準化団体である ETSI (European Telecommunications Standards Institute) により、規格化を検討 ü  2013年10月4日現在はまだ公開された規格は無し 2013年10月14日に初版の仕様が公開 http://www.etsi.org/technologies-clusters/technologies/nfv Copyright ©2013 Midokura All rights reserved 28
    • ETSI NFV の特徴 キャリア固有の機能が多く含まれる From: http://portal.etsi.org/NFV/NFV_White_Paper.pdf Copyright ©2013 Midokura All rights reserved 29
    • ETSI NFV の特徴 cont. ONFと協調してSDNとは補完的な関係を目指す From: http://portal.etsi.org/NFV/NFV_White_Paper.pdf Copyright ©2013 Midokura All rights reserved 30
    • http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Onsen_Macaque.JPG 31
    • What’s OpenFlow ? 単なるプロトコルであり、 フレームワークを標準化 OpenFlow = 外部からパケット処理ルールをプログラミングする仕組み アプリケーション ネットワーク コントローラ API この部分: APIと通信方式を 規定するのみ ネットワーク 機器群 Copyright ©2013 Midokura All rights reserved 32
    • フローエントリとアクションの基本 OpenFlow-Enabled スイッチ OpenFlow コントローラ Control Plane OpenFlow Client フローエントリ Matching Fields Action Data Plane Flow Table Stats OpenFlow プロトコル フロー毎のトラフィックの統計情報 •  転送する •  ヘッダを書き換える •  廃棄する フローを識別 •  コントローラに転送する レイヤ3 レイヤ2 Ingress Port MAC DA MAC VLAN EtherType SA ID P-bits IP Src IP Dst レイヤ4 IP IP TCP/UDP TCP/UDP Protocol DSCP src port dst port Copyright ©2013 Midokura All rights reserved 33
    • ONFによる標準化 100社以上(*)のメンバにより構成 https://www.opennetworking.org/membership/members ONFの標準化プロセス ボードメンバ(*) Working Group で議論 ボードメンバで仕様策定 全てのメンバの承認を 経て、仕様が標準化 (*) 2013年10月現在 Copyright ©2013 Midokura All rights reserved 34
    • OpenFlow 仕様概要 (1/3) OpenFlow 1.0 (2010-03) ü レイヤ2、レイヤ3 (IPv4) マッチング、書替 ü VLANの追加、削除、書替 ü シングルフローテーブル OpenFlow 1.1 (2011-02) ü MPLSラベル、EXP bitマッチング、書替 ü マルチフローテーブル ü グループテーブル (LAG) OpenFlow 1.2 (2011-12) ü レイヤ3 (IPv4) マッチング、書替 ü Extensible Expression への対応 (IPv6 TLV のスタッキングへの対応) Copyright ©2013 Midokura All rights reserved 35
    • OpenFlow 仕様概要 (2/3) OpenFlow 1.3 (2012-05) ü コントローラ∼スイッチ接続の改善・拡張 •  Capabilityネゴシエーションの改善 •  Auxiliary Connection のサポート ü Tunnel ID のサポート ü IPv6 拡張ヘッダのサポート ü PBB (IEEE802.1ah) のサポート ü 統計取得の拡張 ü Per-flow meter ( rate-limit 等に利用) ü etc … Copyright ©2013 Midokura All rights reserved 36
    • OpenFlow 仕様概要 (3/3) OpenFlow 1.3.1 (2012-09) OpenFlow 1.3.2 (2013-04) ü 修正と改善、大幅な新規機能追加は無し OpenFlow 1.4 (2013-10現在レビュー中) ü Extensible Expression の拡張 ü Packet-in の拡張 ü Bundle メカニズムの導入 ü 例外処理の拡張 ü エラーコードの拡張 https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.4.0.pdf Copyright ©2013 Midokura All rights reserved 37
    • OpenFlow の周辺規格 OpenFlow の問題点 Ø  元々 OpenFlow は“パケットの処理ルール” のみを規定 Ø  下記の機能がなく、OpenFlow だけでは完結しない ü  ユーザ、コンフィグ管理 ü  インタフェースの管理 ü  OAM (監視・管理) 機能 一部を補完する規格OF-CONFIGを規定 Copyright ©2013 Midokura All rights reserved 38
    • OF-CONFIG OF-CONFIG 概要 Ø  OpenFlow は “Data path” を設定するのに対し、 OF-CONFIG は “OpenFlow capable (な物理的な) Switch” を設定 From: https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow-config/ofconfig-1-1-1.pdf Copyright ©2013 Midokura All rights reserved 39
    • OF-CONFIG OF-CONFIG の管理内容 ü  OpenFlow コントローラとの接続周り ü  インタフェース、キューの設定 ü  インタフェースの Up, Down 等 ü  OpenFlow Data path の Capability Negotiation Ø  ユーザ管理等、OpenFlow に直接関係しないスイッ チの管理については依然として別の方法で管理する 必要がある事に注意 Copyright ©2013 Midokura All rights reserved 40
    • https://commons.wikimedia.org/wiki/File:Plastic_tubing.jpg 41
    • What’s Edge Overlay ? Edge overlay Ø  エンド収容装置 (Edge) がトンネルを張る Overlay 応用例 ü  回線収容装置が MPLS LSP を張り、顧客の L2 回線を Overlay として提供 VPLS クラウド ネットワーク スタック ü  仮想化ホストOS上の仮想スイッチが何らかのトンネルを 張り、VM-to-VM の通信を Overlay として提供 ( Server-side Edge Overlay ) Copyright ©2013 Midokura All rights reserved 42
    • Server-side Edge overlay 概念図 VM VM VM Virtual Switch VM VM VM Virtual Switch VM VM VM Virtual Switch Physical Network Virtual Switch VM VM VM Virtual Switch VM VM VM Virtual Switch VM VM VM Ø  GRE, NVGRE, VXLAN 等、IP based なトンネリングプロトコ ルを利用 Ø  その為、Undelay となる Physical Network は IP Reachability さえあれば良い Copyright ©2013 Midokura All rights reserved 43
    • Why Server-side Edge overlay in Cloud ? Automation ü  CPU・メモリは仮想化、自動化されているが ネットワークは自動化されていない Performance ü  East-to-West トラフィックの爆発 ü  ボトルネックとなる仮想ルータVM Scalability ü  ネットワーク収容数 ü  VM収容数 ü  L2ネットワーク → → → VLAN 4,096 の壁 MAC テーブルの増大 STP の限界 Copyright ©2013 Midokura All rights reserved 44
    • 実装例: MidoNet の場合 Logical Topology (Overlay) Physical Topology (Underlay) The Internet The Internet Upstream ISP Upstream ISP Cloud Mgmt System BGP uplink vPort vPort BGP uplink 個々のNW機器ではな く、論理トポロジ全体 をエミュレート Provider Router Tenant A Router MidoNet MidoNet API Node Gateway Node Gateway Node Tenant B Router NW State DB NW State NW State DB DB Network State Node Back-end Network vPort vPort vPort Tenant B Bridge 1 vPort Tenant A Bridge 2 vPort Tenant A Bridge 1 VM VM VM VM VM MidoNet MidoNet MidoNet VM VM Only requirement is an IP reachability! VM Compute Node Compute Node Compute Node Copyright ©2013 Midokura All rights reserved 45
    • プログラム インタフェース MidoNet の場合 Point! The Internet Upstream ISP Cloud Mgmt System Cloud Management System と連携し、 自動化をサポート BGP uplink MidoNet MidoNet Point! API Node Gateway Node Gateway Nodef NW State DB NW State NW State DB DB Network State Node Back-end Network MidoNet MidoNet MidoNet VM VM VM Compute Node Compute Node Compute Node Restful API 経由の制御、統計 情報取得に対応し、独自 CMS との連携にも対応可能 Point! OVS kernel module を Data Path として利用し、Agent か らプログラム Copyright ©2013 Midokura All rights reserved 46
    • East-West トラフィックの爆発 ホスト間往復ビンタ問題 ルータ、FW等のトラフィックを集約する論理ノー ドへの折り返しトラフィックにより、負荷が倍増 Copyright ©2013 Midokura All rights reserved 47
    • East-West トラフィックの爆発 MidoNet の場合 従来のVirtual Router Upstream ISP Drop MidoNet Upstream ISP Drop Upstream ISP Upstream ISP Drop Back-end Network Back-end Network Drop Network機器をVMとしてエミュレーション Network Topology全体をエミュレーション Point! Ingressでのトポロジエミュレートにより、目的地となるホスト に直接転送する為、”行って来い” が発生しない Copyright ©2013 Midokura All rights reserved 48
    • ボトルネックとなるルータVM 負荷集中によるVM Down トラフィックの集中、ARP処理、パケットフィル タ処理によりルータVMが不安定に Photo Credit: Ed Karjala via Compfight cc Copyright ©2013 Midokura All rights reserved 49
    • ボトルネックとなるルータVM MidoNet の場合 Point! トポロジエミュレーションによりエッジで 分散処理する為、ルータVMが存在しない Upstream ISP Upstream ISP Point! Back-end Network 各MidoNet Agent が IP-MAC対応 表を持ち、同一ホスト内VMか らのARPに代理応答 Point! VMではなく、ホストOSでのフォワーディング処理 Copyright ©2013 Midokura All rights reserved 50
    • ネットワーク収容数 VID 4,096 の壁 VLAN は便利だが IaaS クラウドのテナント識別子 としてはあまりにも少ない Photo Credit: Alex Barth via Compfight cc Copyright ©2013 Midokura All rights reserved 51
    • ネットワーク収容数 MidoNetの場合 Upstream ISP Cloud Mgmt System BGP uplink MidoNet Gateway Node MidoNet API Node Gateway Node Point! VLANを利用しないトポロジエミュレ ーションの為、4,096 の壁に制限され ずスケールアウトが可能 NW State DB NW State NW State DB DB Network State Node Back-end Network MidoNet MidoNet MidoNet VM VM VM Compute Node Compute Node Compute Node Copyright ©2013 Midokura All rights reserved 52
    • VM収容数 高密度収容によるMAC数の限界 VM を多重収容する事により、1スイッチあたりで 学習しなくてはいけない MAC 数が激増 Photo Credit: the bpp via Compfight cc Copyright ©2013 Midokura All rights reserved 53
    • VM収容数 MidoNetの場合 Upstream ISP Cloud Mgmt System BGP uplink MidoNet Gateway Node Point! MidoNet API Node Gateway Node NW State DB NW State NW State DB DB Network State Node Back-end Network MidoNet MidoNet MidoNet VM VM VM Compute Node Compute Node Compute Node MAC学習結果はクラスタDB上の格納 される為、スケールアウト可能。 大規模なMACエントリ数に対応 Point! 物理サーバのデータパス上にプログラ ミングされるものは実際に収容する VMの通信が発生したもののみ Copyright ©2013 Midokura All rights reserved 54
    • L2 ネットワークのスケーラビリティ フラット L2 への要求 ホストOS が同一セグメントにいる事を要求する機 能も多いが、既存のL2技術ではスケールしない Photo Credit: skarpi - www.skarpi.is via Compfight cc Copyright ©2013 Midokura All rights reserved 55
    • L2 ネットワークのスケーラビリティ MidoNet の場合 Upstream ISP Cloud Mgmt System BGP uplink Point! MidoNet 各 MidoNet Agent 間通信は GRE で カプセル化 → IP Reachability さえあればよい → IGP を用いた L3 スケールアウト が利用可能 Gateway Node MidoNet API Node Gateway Node NW State DB NW State NW State DB DB Network State Node Back-end Network MidoNet MidoNet MidoNet VM VM VM Compute Node Compute Node Compute Node Copyright ©2013 Midokura All rights reserved 56
    • まとめ ü 今日存在するアプリケーションとしては Ø 統合管理システムによる物理・仮想環境の統合制御 Ø OpenFlow / Open vSwitch を用いたネットワーク機器 Ø Server-side Edge Overlay を用いたクラウドネットワークス タック を “SDN” “SDN 対応” と呼ぶケースが多いです ü “SDN” という固有名詞の技術は存在しません Copyright ©2013 Midokura All rights reserved 57
    • Thank you! 58