アプリ開発から見たSdn

894 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
894
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

アプリ開発から見たSdn

  1. 1. アプリ開発から見たSDN ネットワークもプログラムできる 2013年10月19日 チャンスラボ株式会社 尾関 晃充
  2. 2. まずはじめに ■ネットワークとはなにか? 大きく出てみました。 chancelab corp. 2
  3. 3. ネットワークとは Wikipedia曰く 節点(ノード)と経路(リンク又はエッジ)からなり、流れ(フロー)があるもの との事。 つまり、点があって、線で結んで。 点から点への線のたどり方の事、あるいは方法をネットワークと言うのですね。 chancelab corp. 3
  4. 4. さて、本題 そのネットワークの仕組みは今、SDNというキーワードによって大きく変わろう としています。 chancelab corp. 4
  5. 5. そもそもSDNって、何ぞ? ■Software Defined Network 直訳すると「ソフトウェアで定義されたネットワーク」 今までハードウェア(ルータとかスイッチングハブとか)を繋げて定義していた SDNでは、その名の通りソフトウェアで定義するようになる そんなネットワークの事を言います →つまり、SDNとは「概念を表す単語」 chancelab corp. 5
  6. 6. SDNの何が嬉しいの? ■今までのネットワークの限界を超えることができる 例えば 仮想PCなどを柔軟に配置できるようになった(by VMWare)けど、ネット ワークが追いつかずに、機器設定とか工事とかに相当時間かけてました… ー>ネットワークをソフトウェアで構築(制御)する事でこの工数がだいぶ減り ました! などといった、従来問題の解決的な嬉しさと chancelab corp. 6
  7. 7. SDNの何が嬉しいの? ■ネットワークを柔軟に構築できる 物理PCと論理PC(Virtual PC)の差のようなもの 例えば、道路と信号をすべてSWで操作できたら、どうなるだろうか? 渋滞してたら迂回路を動的に増やすとか? 信号待ちの人が増えてきたら、歩行者信号の青信号の時間をもっと伸ばすとか? という、新しい仕組みを実現できる(かもしれない)嬉しさがあります。 chancelab corp. 7
  8. 8. アプリ(ソフトウェア)開発者からみたSDN ■純粋に、ソフトウェア開発に関する話 実現(実装)するのは、標準出力の文字列ではなく、HTML出力ではなく、画 面表示でもないし、帳票でもない。 今回は、ネットワークの機能。 コントローラ配下のスイッチ群を用いて、パケットをどのようにしてお届けする かを実装する。 chancelab corp. 8
  9. 9. ところで、SDNの実現について とりあえずSDNとは概念的な単語だけれども (バズワードって言わないで…) 多分、一番近いところに居ると思われる仕組みは OpenFlow という技術です chancelab corp. 9
  10. 10. OpenFlowって、なんぞ? プロトコル…かな? 従来のスイッチ(ングハブ)の機能を置き換える技術です 今までのネットワーク(プロトコル)は、それぞれのスイッチが個別にコントローラとデータ転送処理を持ち合わせ ていましたが、OpenFlowはこの2つが分かれています コントローラが集約できる ■ JPNICのここの記事が大変わかりやすいです https://www.nic.ad.jp/ja/newsletter/No52/0800.html chancelab corp. 10
  11. 11. OpenFlowの嬉しいところ ■データ転送処理とコントローラが分かれている ■コントローラは集約できる 複数のスイッチ(データ転送処理)を一括制御できる ■コントローラはプログラミング可能 データ転送ルールを自由に構築できる WEB APIを持たせることもできる ■要は、ネットワークを制御する仕組みが揃っている。 ■これが、SDNに一番近いとされている理由です。 chancelab corp. 11
  12. 12. OpenFlow対応スイッチ(HW) ■OpenFlowに対応したハードウェアは、総じて高価 最低50万円くらいから。ラックマウント しかし、裏ワザがある Buffalo社のブロードバンドルータがOpenFlowスイッチに……! http://www.srchack.org/orc12/ chancelab corp. 12
  13. 13. OpenFlow対応スイッチ(SW) ■ソフトウェア(仮想)実装なら、OSSなものが多い Open vSwitch 各Linuxディストリビュータがパッケージを用意している。インスコはお手軽 http://openvswitch.org/ Trema OpenFlowコントローラだけど、試験目的での仮想スイッチもついてくる http://trema.github.io/trema/ Mininet 検証目的のOpenFlow対応仮想スイッチ http://mininet.org/ chancelab corp. 13
  14. 14. OpenFlowコントローラ ■普通のパソコンでも動かせるやつ。たくさんあるよー! NOX C++ Floodlight java Trema ruby Ryu Python chancelab corp. 14
  15. 15. OpenFlowの、今のところの使われ方 ■広域ネットワークの制御に用いられてます Googleのデータセンター間通信で 従来のActive/Standbyという回線構成ではなく、OpenFlowを用いて ロードバランシング的なネットワークにしたというお話。 ■データセンターで流行り始めた模様 VLAN(数が少なすぎる)の代わり、とか。 仮想ホストを自由に配置するために、仮想ホストへのネットワークを OpenFlowで動的構築させる、とか。 主に従来問題の解決という位置づけ。 chancelab corp. 15
  16. 16. OpenFlowが使われてないところ ■小規模ネットワークとか ■コンシューマー用途とか ■規模がちっちゃいと、プログラミングするより配線したほうが楽という話もある が… chancelab corp. 16
  17. 17. 新しいものを作ってこそ、開発者 ■またまた大きく出てみました ネットワークはアプリケーションからみて、CPU,メモリと同じくらい、あって当た り前で、動かせないものだった でも、それが動かせるようになるという話がSDNで そのSDNを(一番近いところで)実現しているものが、OpenFlow chancelab corp. 17
  18. 18. 新しいものを作ってこそ、開発者 ■ここはアプリ開発者の出番だと思うわけです chancelab corp. 18
  19. 19. アプリ開発的なOpenFlowを考えてみた ■OpenFlow阿弥陀くじ スイッチ並べて阿弥陀くじ 阿弥陀のルールはコントローラで集中管理 ■ペアレンタルコントロール・ネットワーク ゲーム機とか、キッズフィルター等でおなじみのコントロール機能をネットワー クに持ち込んでみる コントロール内容はコントローラで集中管理 chancelab corp. 19
  20. 20. 考えたら、遊んで(実装して)みる ■今回はペアレンタルコントロールを実装したいと思います。 chancelab corp. 20
  21. 21. The Parental Control Network ■実現する機能 時限ネットワーク ペアレント(親)としては、子供のネットワーク(インターネット)利用時間は朝7 時から夜8時まで。時間外は一切認めない。 そんな要求に、ネットワークレイヤーで応えてみる。 ■開発環境 Debian Linuxが動く環境(VMでも良いです) Trema(Ruby1.8.7) 「裏ワザを用いたブロードバンドルーター(OpenFlowスイッチ)」 or 「Tremaの仮想ネットワーク」 chancelab corp. 21

×