Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Floodlightのモジュール機構
Search
Sho Shimizu
April 29, 2012
Technology
1
390
Floodlightのモジュール機構
sdnstudy OpenFlow勉強会 その2で発表した資料
Sho Shimizu
April 29, 2012
Tweet
Share
More Decks by Sho Shimizu
See All by Sho Shimizu
OpenFlowとは何か
oshothebig
2
140
OpenFlowコントローラとその実装
oshothebig
1
130
OpenFlowコントローラを取り巻く状況とその実装
oshothebig
1
100
Open vSwitch ソースコードの全体像
oshothebig
1
240
Other Decks in Technology
See All in Technology
三菱電機・ソニーグループ共同の「Agile Japan企業内サテライト」_2025
sony
0
140
GoでもGUIアプリを作りたい!
kworkdev
PRO
0
130
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
160
"プロポーザルってなんか怖そう"という境界を超えてみた@TSUDOI by giftee Tech #1
shilo113
0
180
[Codex Meetup Japan #1] Codex-Powered Mobile Apps Development
korodroid
0
140
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
8
4.1k
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
1
160
Trust as Infrastructure
bcantrill
1
370
【Oracle Cloud ウェビナー】クラウド導入に「専用クラウド」という選択肢、Oracle AlloyとOCI Dedicated Region とは
oracle4engineer
PRO
3
130
「使い方教えて」「事例教えて」じゃもう遅い! Microsoft 365 Copilot を触り倒そう!
taichinakamura
0
320
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
2
600
AWS IoT 超入門 2025
hattori
0
300
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
224
10k
It's Worth the Effort
3n
187
28k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
The Cult of Friendly URLs
andyhume
79
6.6k
Transcript
FloodlightͷϞδϡʔϧػߏ ਗ਼ਫɹᠳ @oshothebig
ࣗݾհ • ਗ਼ਫɹᠳ • @oshothebig • ࣄɿωοτϫʔΫͷݚڀ • झຯɿࣗసं •
ϩʔυϨʔαʔʹΔ • ࢼ߹Λݟʹߦ͘
Floodlight • Big Switch Networks͕ࣾΦʔϓϯιʔεͰ։ൃ͢Δ OpenFlowίϯτϩʔϥ • Web: http://floodlight.openflowhub.org/ •
Source: http://github.com/floodlight/floodlight • Open SDN • Apache License ver. 2.0
Getting started $ sudo apt-get install build-essential default-jdk ant python-dev
$ git clone git://github.com/floodlight/floodlight.git $ cd floodlight; ant $ java -jar target/floodlight.jar
None
ػೳ • API • Java (Event driven) • REST (RestletͰ֦ுՄೳ)
• Topology discovery • Device manager • Static flow pusher • etc. ϞδϡʔϧػߏΛ ࣮ͬͯ
Ϟδϡʔϧػߏʁ
ੜཱ͍ͪ • FloodlightBeacon͔ΒϑΥʔΫͨ͠ϓϩδΣΫτ • Beacon • Developed by David Erickson
• http://www.beaconcontroller.net/ • GPL v2 and the Stanford University FOSS License Exception v1.0 • 201112݄ޙɿFloodlightͷίʔυެ։
Beaconʹ͋ͬͯ Floodlightʹແ͍ͷʁ
Beaconʹ͋ͬͯ Floodlightʹແ͍ͷʁ Ϟδϡʔϧػߏ
Beacon uses OSGi by Spring Framework
XMLϑΝΠϧ͍ͬͺ͍
XMLͷઃఆΛϛε͢Δͱ ϥϯλΠϜΤϥʔ
ҙຯෆ໌ͳ͙Β͍େྔͷ ελοΫτϨʔεग़ྗ
͋͛͘
νϡʔτϦΞϧͷઃఆ ϑΝΠϧྫ͕ؒҧ͍ͬͯͨ ͋͛͘
Floodlight
OSGiͷ༻ΛΊͨ Floodlight
ػೳͷՃ
Controller.javaΛฤू & ίϯύΠϧ
͍͚ͯͳ͍
Ϟδϡʔϧػߏ͕ ࠷༏ઌࣄ߲ͩΑ! Alex Reimers
2012/2/20? Ϟδϡʔϧػߏ෮׆
ΞʔΩςΫνϟ FloodlightProvider Ϟδϡʔϧ 1 Ϟδϡʔϧ 2 Ϟδϡʔϧ 3 Ϟδϡʔϧ N
Ϟδϡʔϧ • ػೳ͕ϩʔυ͞ΕΔ୯Ґ • IFloodlightModuleΠϯλʔϑΣΠε • αʔϏεΛ֎෦ͷϞδϡʔϧʹެ։ • αʔϏεɿػೳΛ֎෦ʹެ։͢Δ୯Ґ •
ެ։͠ͳͯ͘Α͍ • ଞͷαʔϏεʹґଘ͢Δ͜ͱ͋Δ • ϞδϡʔϧϩʔμʹΑͬͯϩʔυ࣌ʹґଘੑղܾ
Service A Service B Module A Service C Module B
use
IFloodlightModule ϝιου໊ આ໌ getModuleDependencies() ґଘαʔϏεΛฦ͢ getModuleService() ެ։͢ΔαʔϏεΛฦ͢ getServiceImpls() ެ։αʔϏεͷ࣮Λฦ͢ init(FloodlightModuleContext)
ϞδϡʔϧͷॳظԽ startup(FloodlightModuleContext) ϞδϡʔϧͷॳظԽ
αʔϏε • IFloodlightServiceΛܧঝͨ͠ΠϯλʔϑΣΠε • ϚʔΧʔΠϯλʔϑΣΠε • σϑΥϧτͰఴ͞Ε͍ͯΔͷ • ITopologyService, IDeviceManagerService,
etc... • ఴͷαʔϏεͰɺIFloodlightModuleͱ IFloodlightServiceΛಉҰΫϥεͰ࣮͍ͯ͠Δ
ϞδϡʔϧͷΈ 1. FloodlightModuleLoader͕ઃఆϑΝΠϧΛಡΈࠐΉ • ίϚϯυϥΠϯ(-cf)Ͱࢦఆͨ͠ϑΝΠϧ • config/floodlight.properties • Ϧιʔεதͷfloodlightdefault.properties 2.
IFloodlightModuleΛ࣮͢ΔΫϥεΛϩʔυ • ServiceLoader#load()Λ༻
ϞδϡʔϧͷΈ 3. ϞδϡʔϧͷґଘάϥϑΛ࡞ 4. ֤ϞδϡʔϧͷinitϝιουΛݺͼग़͠ • ґଘ͢ΔαʔϏεॳظԽ͞Ε͍ͯͳ͍Մೳੑ͕ ͋Δ 5. ֤ϞδϡʔϧͷstartUpϝιουΛݺͼग़͠
• શͯͷαʔϏεͷΠϯελϯε͕ଘࡏ͍ͯ͠Δ
Ϟδϡʔϧͷ࡞Γํ • IFloodlightModuleΛ࣮ͨ͠ΫϥεΛ࡞ • ඞཁʹԠͯ͡IFloodlightServiceΛ࣮ • src/main/resources/META-INF/services/ net.floodlight.core.module.IFloodlightModuleʹϞ δϡʔϧͷશम০Ϋϥε໊Λهड़ •
ઃఆϑΝΠϧʹಡΈࠐΉϞδϡʔϧͷશम০Ϋϥε ໊Λهड़ • floodlight.modules = xxx, yyy, zzz
αϯϓϧΛ༻͍ͨৄ͍͠આ໌ɺ http://floodlight.openflowhub.org/developing-floodlight/ Λࢀর
• Google Summer of Code 2012 • ͍ΖΜͳֶੜ͕MLʹ࣭Λ͛ͯML͕׆ൃԽ • Web
front end, Firewall, Load balancer, etc... • IBM (Research?)ͷਓ • Web UIΛՃ→Pull request→ຊମʹϚʔδ • Ϟδϡʔϧϩʔμʔͷόάमਖ਼ • Ṗͷyetiϒϥϯν ࠷ۙͷ
͓·͚ • ֎෦ͷϥΠϒϥϦΛ͍͍ͨ߹ɺϥΠϒϥϦͷਪ ҠతґଘؔͷѲ͕໘
͓·͚ • ֎෦ͷϥΠϒϥϦΛ͍͍ͨ߹ɺϥΠϒϥϦͷਪ ҠతґଘؔͷѲ͕໘ Mavenize http://github.com/oshothebig/floodlight/tree/develop
ศ
5݄5 nicira-ext.hΛಡΉձ http://www.zusaar.com/ event/277002
͓ΘΓ