• Like
アプリ開発から見たSdn
Upcoming SlideShare
Loading in...5
×

アプリ開発から見たSdn

  • 521 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
521
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
9
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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