SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Trema の紹介と
ネットワーク仮想化への応用

        鈴木 一哉
    Trema 開発チーム
       2012/4/29
Agenda

▐ Trema の紹介
        Trema とは
        特徴 1: 「よくある処理」 が簡単に短く書ける
        特徴 2: 「すぐ動かしてみる」 ためのネットワークエミュレータ機能
        特徴 3 : 「参考になる」サンプルアプリが充実
        Trema のアーキテクチャ
▐ ネットワーク仮想化を実現する SliceableRoutingSwitch の紹介
        概要
        動作
        REST ベースの API を使った CMS との連携
        Pros / Cons
▐ まとめ



 2        OpenFlow勉強会その 2
Trema とは

▐ OpenFlow を使って、何を実現する?
      DC における仮想ネットワークの実現と管理 ⇒ 商用コントローラやソ
       リューションが、いくつか登場している

▐ 他にはなにかできないの?
      作りこまれたソリューションがほしいのであれば、ベンダーからの登
       場を待つしかない
      自らの手でつくれないの? ⇒ プログラミングを行うことで、実現可
       能(Software Defined Network)




 3     OpenFlow勉強会その 2
Trema とは

▐ コントローラ開発は、敷居が高い…
      プログラミングが難しそう
      試す環境がない
      そもそもプログラミングできない


▐ Trema : Full-Stack OpenFlow Framework in Ruby and C
      特徴 1: 「よくある処理」 が簡単に短く書ける
      特徴 2: 「すぐ動かしてみる」 ためのネットワークエミュレータ機能
      特徴 3: 「参考になる」サンプルアプリが充実


▐ Contributors
        Tremacore team
        axsh
        nhst
        他


 4          OpenFlow勉強会その 2
Trema とは (続き)



             User application:                                OpenFlow
             Your OpenFlow controller (in Ruby or C)          controller

             Library:
             OpenFlow controller libraries and core modules
Trema
             Developing environment:
             Network/host emulator, debugging tool, etc

             Operation environment:
             trema commands




 5      OpenFlow勉強会その 2
特徴1: 「よくある処理」 が簡単に短く書ける

           例: Trema で書いたリピータハブ

    class RepeaterHub < Controller
     def packet_in datapath_id, message
       send_flow_mod_add(
         datapath_id,                                 フローエントリを送る
         :match => ExactMatch.from( message ),
         :actions => ActionOutput.new( OFPP_FLOOD )
       )
       send_packet_out(
         datapath_id,                                 packet_in であがって
         :packet_in => message,                       きたパケットを出力する
         :actions => ActionOutput.new( OFPP_FLOOD )
       )
     end
    end




6           OpenFlow勉強会その 2
特徴 2: 「すぐ動かしてみる」 ためのネットワークエミュレータ
機能

▐ 「コーディング → テスト → デバッグ」 ⇒ ネットワークエミュ
  レータ機能
     OpenFlowスイッチとして、openvswitchを使用 (Tremaに同梱)

    vswitch("sw1") {
      datapath_id "0x1"
    }                                         My Controller
    vswitch("sw2") {                             Trema
      datapath_id "0x2"
    }                                       Secure Channel

    vhost ("host1")             vswitch(sw1)             vswitch(sw2)
    vhost ("host2")
                             vhost(host1)                     vhost(host2)
    link "host1", "sw1"
    link "sw1", "sw2"
    link "host2", "sw2"             開発マシン内ですべて動作


7          OpenFlow勉強会その 2
特徴 3 : 「参考になる」サンプルアプリが充実

▐ Trema 同梱サンプルアプリ
      Repeater hub
      Learningswitch
      Traffic monitor

▐ Trema application repository (https://github.com/trema/apps)
      Topology discovery/management
      Routing switch
      Sliceable routing switch → ネットワーク仮想化を実現するコントロー
       ラ



▐ 詳しくは SD 連載記事に出ています
      こんな夜中にOpenFlowでネットワークをプログラミング! 第10回
      http://gihyo.jp/dev/serial/01/openflow_sd/0010


 8        OpenFlow勉強会その 2
Tremaのアーキテクチャ

                                          trema shell

                            各プロセスを管理


     Packet-in filter        Routing Switch             Topology          Topology Discovery


       libtrema                libtrema                 libtrema             libtrema

                                       IPC(messenger)

     Switch Manager                     Switch Daemon               Switch Daemon
                              fork
    Port 6633 で待ち受け

                                                         Secure Channel


                                       OpenFlow Switch             OpenFlow Switch

9         OpenFlow勉強会その 2
Sliceable Routing Switch の概要

▐ Tremaを使ったサンプルアプリの一つ
       OpenFlowNW 上に仮想的な L2 ドメイン (スライス) を実現
       L1-L4 フィルタ機能

                           OpenFlowスイッチ




 10      OpenFlow勉強会その 2
Sliceable Routing Switch の動作

      Sliceable Routing Switch のベースである Routing Switch の動作

2. 宛先MACアドレスから
                                                       3. 出口までのパスを計算
出口スイッチ、ポートを
検索                                Routing Switch
              fdb                    Trema
                                                          topology



                   1. packet_in                    5. packet_out
                                  4. flow_mod




 11   OpenFlow勉強会その 2
Sliceable Routing Switch の動作 (続き)

            2.5 入口、出口ポートが同一 slice に所属しているかを
            判定
2. 宛先MACアドレスから
                                       slice
                                                         3. 出口までのパスを計算
出口スイッチ、ポートを
検索                            Sliceable Routing Switch
              fdb                     Trema
                                                           topology



                   1. packet_in                     5. packet_out
                                   4. flow_mod




 12   OpenFlow勉強会その 2
スライス設定のための REST API

 POST /networks HTTP/1.1
 Content-type: application/json
 {
   "id" : "net-1",
   "description" : "marketing department"
 }

     The Sliceable Network
                                    sqlite
       Management API
             (REST)
                                   slice.db
                                   filter.db
          config.cgi                                Sliceable Routing Switch
                             登録                参照
           Apache
                                                              IPC

                                                      TremaCore Modules

                                                      OpenFlow protocol

13        OpenFlow勉強会その 2
クラウドマネジメントシステムとの連携

                    OpenStack                       Any other Cloud
                                          or
             Quantum OpenFlow Plug-in             Management System



                         The Sliceable Network Management API


                                Sliceable Routing Switch
     OpenFlowcontroller
                                        Trema


                                  OpenFlow protocol



                                  OpenFlow Switch
                                   OpenFlow Switch
                                    OpenFlow Switch
                                     OpenFlow Switch

14     OpenFlow勉強会その 2
Prosand Cons

▐ フロー単位での処理

▐ Pros
       スライス、ポートの追加に伴う処理が、コントローラ内に閉じている
       スライス数に制限はない
       フィルタリング機能の実装が容易

▐ Cons
       処理性能
       フローエントリ数




 15      OpenFlow勉強会その 2
まとめ

▐ Tremaの特徴
       「よくある処理」 が簡単に短く書ける
       「すぐ動かしてみる」 ためのネットワークエミュレータ機能
       「参考になる」サンプルアプリが充実

▐ Sliceable RoutingSwitch
       フロー単位での動作により、仮想 L2NW を実現
       オープンソースなので、すぐ試すことが可能です




 16     OpenFlow勉強会その 2
リソース

▐ Software Design 連載記事 “こんな夜中に OpenFlowでネットワークをプ
  ログラミング! “
       http://gihyo.jp/dev/serial/01/openflow_sd

▐ Trema公式
       http://trema.github.com/trema/ (Tutorial 他、資料多数)
       @trema_news (twitter)

▐ Trema application repository (Sliceable routing switch 他、サンプルアプ
  リ)
       https://github.com/trema/apps

▐ Trema'sOpenFlow Northbound API
       https://github.com/trema/apps/wiki

▐ Quantum OpenFlow plug-in
       https://github.com/nec-openstack/quantum-openflow-plugin

 17         OpenFlow勉強会その 2

Weitere ähnliche Inhalte

Was ist angesagt?

OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかOpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかMasaru Oki
 
仮想ネットワークを実現するOpenVNet
仮想ネットワークを実現するOpenVNet仮想ネットワークを実現するOpenVNet
仮想ネットワークを実現するOpenVNetAkira Yokokawa
 
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!Akira Yokokawa
 
20130329 rtm3
20130329 rtm320130329 rtm3
20130329 rtm3openrtm
 
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)hiroshi oshiba
 
リアルタイムOSの必要性とTOPPERS/SSPの紹介
リアルタイムOSの必要性とTOPPERS/SSPの紹介リアルタイムOSの必要性とTOPPERS/SSPの紹介
リアルタイムOSの必要性とTOPPERS/SSPの紹介NSaitoNmiri
 
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitchOpen flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitchMasaru Oki
 
さわってみようTOPPERS/SSP
さわってみようTOPPERS/SSPさわってみようTOPPERS/SSP
さわってみようTOPPERS/SSPNSaitoNmiri
 
Open stack+lagopus できるかな
Open stack+lagopus できるかなOpen stack+lagopus できるかな
Open stack+lagopus できるかなMasaru Oki
 
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkXeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkMasaru Oki
 
リアルタイムOsのカスタマイズ
リアルタイムOsのカスタマイズリアルタイムOsのカスタマイズ
リアルタイムOsのカスタマイズKazuhiro Takahashi
 
SDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSDSDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSDMasaru Oki
 
Pacemaker NextGen OSC2012TokyoFall-20120908
Pacemaker NextGen OSC2012TokyoFall-20120908Pacemaker NextGen OSC2012TokyoFall-20120908
Pacemaker NextGen OSC2012TokyoFall-20120908ksk_ha
 
Pacemakerを使いこなそう
Pacemakerを使いこなそうPacemakerを使いこなそう
Pacemakerを使いこなそうTakatoshi Matsuo
 
第7回oss貢献者賞 森-20120316
第7回oss貢献者賞 森-20120316第7回oss貢献者賞 森-20120316
第7回oss貢献者賞 森-20120316ksk_ha
 
OpenFlow OAM ツール - OKINAWA Open Days 2014 Day1
OpenFlow OAM ツール - OKINAWA Open Days 2014 Day1OpenFlow OAM ツール - OKINAWA Open Days 2014 Day1
OpenFlow OAM ツール - OKINAWA Open Days 2014 Day1Satoshi KOBAYASHI
 
A Prolog To Java Translator System And Its Application
A Prolog To Java Translator System And Its ApplicationA Prolog To Java Translator System And Its Application
A Prolog To Java Translator System And Its Applicationguestc68147
 

Was ist angesagt? (20)

OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかOpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
 
仮想ネットワークを実現するOpenVNet
仮想ネットワークを実現するOpenVNet仮想ネットワークを実現するOpenVNet
仮想ネットワークを実現するOpenVNet
 
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
 
20130329 rtm3
20130329 rtm320130329 rtm3
20130329 rtm3
 
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
 
リアルタイムOSの必要性とTOPPERS/SSPの紹介
リアルタイムOSの必要性とTOPPERS/SSPの紹介リアルタイムOSの必要性とTOPPERS/SSPの紹介
リアルタイムOSの必要性とTOPPERS/SSPの紹介
 
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitchOpen flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitch
 
VIOPS06: OpenFlowによるネットワーク構築と実証事件
VIOPS06: OpenFlowによるネットワーク構築と実証事件VIOPS06: OpenFlowによるネットワーク構築と実証事件
VIOPS06: OpenFlowによるネットワーク構築と実証事件
 
Lagopus 0.2
Lagopus 0.2Lagopus 0.2
Lagopus 0.2
 
さわってみようTOPPERS/SSP
さわってみようTOPPERS/SSPさわってみようTOPPERS/SSP
さわってみようTOPPERS/SSP
 
Open stack+lagopus できるかな
Open stack+lagopus できるかなOpen stack+lagopus できるかな
Open stack+lagopus できるかな
 
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkXeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
 
Lagopus 0.2.2
Lagopus 0.2.2Lagopus 0.2.2
Lagopus 0.2.2
 
リアルタイムOsのカスタマイズ
リアルタイムOsのカスタマイズリアルタイムOsのカスタマイズ
リアルタイムOsのカスタマイズ
 
SDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSDSDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSD
 
Pacemaker NextGen OSC2012TokyoFall-20120908
Pacemaker NextGen OSC2012TokyoFall-20120908Pacemaker NextGen OSC2012TokyoFall-20120908
Pacemaker NextGen OSC2012TokyoFall-20120908
 
Pacemakerを使いこなそう
Pacemakerを使いこなそうPacemakerを使いこなそう
Pacemakerを使いこなそう
 
第7回oss貢献者賞 森-20120316
第7回oss貢献者賞 森-20120316第7回oss貢献者賞 森-20120316
第7回oss貢献者賞 森-20120316
 
OpenFlow OAM ツール - OKINAWA Open Days 2014 Day1
OpenFlow OAM ツール - OKINAWA Open Days 2014 Day1OpenFlow OAM ツール - OKINAWA Open Days 2014 Day1
OpenFlow OAM ツール - OKINAWA Open Days 2014 Day1
 
A Prolog To Java Translator System And Its Application
A Prolog To Java Translator System And Its ApplicationA Prolog To Java Translator System And Its Application
A Prolog To Java Translator System And Its Application
 

Ähnlich wie Trema の紹介とネットワーク仮想化への応用

Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1Tomoya Hibi
 
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6Kentaro Ebisawa
 
Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224Tomoya Hibi
 
Mr201304 open flow_security_jpn
Mr201304 open flow_security_jpnMr201304 open flow_security_jpn
Mr201304 open flow_security_jpnFFRI, Inc.
 
ログ収集フレームワークの新バージョン「FlumeNG」
ログ収集フレームワークの新バージョン「FlumeNG」ログ収集フレームワークの新バージョン「FlumeNG」
ログ収集フレームワークの新バージョン「FlumeNG」AdvancedTechNight
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりYuya Rin
 
Kyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseKyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseMikio Hirabayashi
 
OpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみようOpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみようKimihiko Kitase
 
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばYoshihiro Nakajima
 
Opencontraildays2014dist 140514051248-phpapp01
Opencontraildays2014dist 140514051248-phpapp01Opencontraildays2014dist 140514051248-phpapp01
Opencontraildays2014dist 140514051248-phpapp01ozkan01
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Sho Shimizu
 
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessionsOpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessionsAkihiro Motoki
 
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構Ryosuke MATSUMOTO
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Tomoya Hibi
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ UndertowについてYoshimasa Tanabe
 
Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Akihiro Motoki
 

Ähnlich wie Trema の紹介とネットワーク仮想化への応用 (20)

Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1
 
OpenFlow Controller lily
OpenFlow Controller lilyOpenFlow Controller lily
OpenFlow Controller lily
 
OpenFlow
OpenFlowOpenFlow
OpenFlow
 
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
 
Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224
 
Mr201304 open flow_security_jpn
Mr201304 open flow_security_jpnMr201304 open flow_security_jpn
Mr201304 open flow_security_jpn
 
ログ収集フレームワークの新バージョン「FlumeNG」
ログ収集フレームワークの新バージョン「FlumeNG」ログ収集フレームワークの新バージョン「FlumeNG」
ログ収集フレームワークの新バージョン「FlumeNG」
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
 
Kyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseKyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in Japanese
 
OpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみようOpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみよう
 
Multi Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud buildersMulti Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud builders
 
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
 
Open contraildays2014
Open contraildays2014Open contraildays2014
Open contraildays2014
 
Opencontraildays2014dist 140514051248-phpapp01
Opencontraildays2014dist 140514051248-phpapp01Opencontraildays2014dist 140514051248-phpapp01
Opencontraildays2014dist 140514051248-phpapp01
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
 
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessionsOpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
 
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
 
Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)
 

Kürzlich hochgeladen

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 

Kürzlich hochgeladen (11)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

Trema の紹介とネットワーク仮想化への応用

  • 1. Trema の紹介と ネットワーク仮想化への応用 鈴木 一哉 Trema 開発チーム 2012/4/29
  • 2. Agenda ▐ Trema の紹介  Trema とは  特徴 1: 「よくある処理」 が簡単に短く書ける  特徴 2: 「すぐ動かしてみる」 ためのネットワークエミュレータ機能  特徴 3 : 「参考になる」サンプルアプリが充実  Trema のアーキテクチャ ▐ ネットワーク仮想化を実現する SliceableRoutingSwitch の紹介  概要  動作  REST ベースの API を使った CMS との連携  Pros / Cons ▐ まとめ 2 OpenFlow勉強会その 2
  • 3. Trema とは ▐ OpenFlow を使って、何を実現する?  DC における仮想ネットワークの実現と管理 ⇒ 商用コントローラやソ リューションが、いくつか登場している ▐ 他にはなにかできないの?  作りこまれたソリューションがほしいのであれば、ベンダーからの登 場を待つしかない  自らの手でつくれないの? ⇒ プログラミングを行うことで、実現可 能(Software Defined Network) 3 OpenFlow勉強会その 2
  • 4. Trema とは ▐ コントローラ開発は、敷居が高い…  プログラミングが難しそう  試す環境がない  そもそもプログラミングできない ▐ Trema : Full-Stack OpenFlow Framework in Ruby and C  特徴 1: 「よくある処理」 が簡単に短く書ける  特徴 2: 「すぐ動かしてみる」 ためのネットワークエミュレータ機能  特徴 3: 「参考になる」サンプルアプリが充実 ▐ Contributors  Tremacore team  axsh  nhst  他 4 OpenFlow勉強会その 2
  • 5. Trema とは (続き) User application: OpenFlow Your OpenFlow controller (in Ruby or C) controller Library: OpenFlow controller libraries and core modules Trema Developing environment: Network/host emulator, debugging tool, etc Operation environment: trema commands 5 OpenFlow勉強会その 2
  • 6. 特徴1: 「よくある処理」 が簡単に短く書ける 例: Trema で書いたリピータハブ class RepeaterHub < Controller def packet_in datapath_id, message send_flow_mod_add( datapath_id, フローエントリを送る :match => ExactMatch.from( message ), :actions => ActionOutput.new( OFPP_FLOOD ) ) send_packet_out( datapath_id, packet_in であがって :packet_in => message, きたパケットを出力する :actions => ActionOutput.new( OFPP_FLOOD ) ) end end 6 OpenFlow勉強会その 2
  • 7. 特徴 2: 「すぐ動かしてみる」 ためのネットワークエミュレータ 機能 ▐ 「コーディング → テスト → デバッグ」 ⇒ ネットワークエミュ レータ機能  OpenFlowスイッチとして、openvswitchを使用 (Tremaに同梱) vswitch("sw1") { datapath_id "0x1" } My Controller vswitch("sw2") { Trema datapath_id "0x2" } Secure Channel vhost ("host1") vswitch(sw1) vswitch(sw2) vhost ("host2") vhost(host1) vhost(host2) link "host1", "sw1" link "sw1", "sw2" link "host2", "sw2" 開発マシン内ですべて動作 7 OpenFlow勉強会その 2
  • 8. 特徴 3 : 「参考になる」サンプルアプリが充実 ▐ Trema 同梱サンプルアプリ  Repeater hub  Learningswitch  Traffic monitor ▐ Trema application repository (https://github.com/trema/apps)  Topology discovery/management  Routing switch  Sliceable routing switch → ネットワーク仮想化を実現するコントロー ラ ▐ 詳しくは SD 連載記事に出ています  こんな夜中にOpenFlowでネットワークをプログラミング! 第10回  http://gihyo.jp/dev/serial/01/openflow_sd/0010 8 OpenFlow勉強会その 2
  • 9. Tremaのアーキテクチャ trema shell 各プロセスを管理 Packet-in filter Routing Switch Topology Topology Discovery libtrema libtrema libtrema libtrema IPC(messenger) Switch Manager Switch Daemon Switch Daemon fork Port 6633 で待ち受け Secure Channel OpenFlow Switch OpenFlow Switch 9 OpenFlow勉強会その 2
  • 10. Sliceable Routing Switch の概要 ▐ Tremaを使ったサンプルアプリの一つ  OpenFlowNW 上に仮想的な L2 ドメイン (スライス) を実現  L1-L4 フィルタ機能 OpenFlowスイッチ 10 OpenFlow勉強会その 2
  • 11. Sliceable Routing Switch の動作 Sliceable Routing Switch のベースである Routing Switch の動作 2. 宛先MACアドレスから 3. 出口までのパスを計算 出口スイッチ、ポートを 検索 Routing Switch fdb Trema topology 1. packet_in 5. packet_out 4. flow_mod 11 OpenFlow勉強会その 2
  • 12. Sliceable Routing Switch の動作 (続き) 2.5 入口、出口ポートが同一 slice に所属しているかを 判定 2. 宛先MACアドレスから slice 3. 出口までのパスを計算 出口スイッチ、ポートを 検索 Sliceable Routing Switch fdb Trema topology 1. packet_in 5. packet_out 4. flow_mod 12 OpenFlow勉強会その 2
  • 13. スライス設定のための REST API POST /networks HTTP/1.1 Content-type: application/json { "id" : "net-1", "description" : "marketing department" } The Sliceable Network sqlite Management API (REST) slice.db filter.db config.cgi Sliceable Routing Switch 登録 参照 Apache IPC TremaCore Modules OpenFlow protocol 13 OpenFlow勉強会その 2
  • 14. クラウドマネジメントシステムとの連携 OpenStack Any other Cloud or Quantum OpenFlow Plug-in Management System The Sliceable Network Management API Sliceable Routing Switch OpenFlowcontroller Trema OpenFlow protocol OpenFlow Switch OpenFlow Switch OpenFlow Switch OpenFlow Switch 14 OpenFlow勉強会その 2
  • 15. Prosand Cons ▐ フロー単位での処理 ▐ Pros  スライス、ポートの追加に伴う処理が、コントローラ内に閉じている  スライス数に制限はない  フィルタリング機能の実装が容易 ▐ Cons  処理性能  フローエントリ数 15 OpenFlow勉強会その 2
  • 16. まとめ ▐ Tremaの特徴  「よくある処理」 が簡単に短く書ける  「すぐ動かしてみる」 ためのネットワークエミュレータ機能  「参考になる」サンプルアプリが充実 ▐ Sliceable RoutingSwitch  フロー単位での動作により、仮想 L2NW を実現  オープンソースなので、すぐ試すことが可能です 16 OpenFlow勉強会その 2
  • 17. リソース ▐ Software Design 連載記事 “こんな夜中に OpenFlowでネットワークをプ ログラミング! “  http://gihyo.jp/dev/serial/01/openflow_sd ▐ Trema公式  http://trema.github.com/trema/ (Tutorial 他、資料多数)  @trema_news (twitter) ▐ Trema application repository (Sliceable routing switch 他、サンプルアプ リ)  https://github.com/trema/apps ▐ Trema'sOpenFlow Northbound API  https://github.com/trema/apps/wiki ▐ Quantum OpenFlow plug-in  https://github.com/nec-openstack/quantum-openflow-plugin 17 OpenFlow勉強会その 2