SlideShare a Scribd company logo
1 of 26
Copyright©2014 NTT corp. All Rights Reserved.
Lagopus handson
(Mininet編)
NTT Network Innovation lab
Tomoya Hibi
Last Update : 3/14/2015
1Copyright©2014 NTT corp. All Rights Reserved.
Preparation for Installing Lagopus
and Ryu
2Copyright©2014 NTT corp. All Rights Reserved.
Which do you choice as a target system ?
1. Bare metal
1. Bare metal system (PC or server)
You must choice the DPDK available hardware
2. Virtual machine
You must choice the DPDK available virtual
hardware
Server
OS
Lagopus
Ryu
Server
Linux
Lagopus
Ryu
KVM
Linux
Server
Windows/OS X
Lagopus
Ryu
VMware
Linux
2. Virtual machine
VM
3Copyright©2014 NTT corp. All Rights Reserved.
1. Bare metal system requirements
#1:
http://www.intel.com/content/dam/www/public/us/en/documents/prese
ntation/dpdk-packet-processing-ia-overview-presentation.pdf
Notice: We can not guarantee the complete combination of hardwares.
CPU
 Size
>= 1Gbytes
Memory
 Type
- It is better that 64-bit instruction is available.
- The latest Intel CPUs are better
#A little old cpu may be supported because DPDK is
available from 2009 year(#1).
- Code Name
Broadwell/Haswell/Ivy Bridge/Sandy Bridge/Nehalem
 Cores
>= 2 CPU cores
Server
OS
Lagopus
Ryu
4Copyright©2014 NTT corp. All Rights Reserved.
Notice: We can not guarantee the complete combination of hardwares.
Network Interface Card (NIC)
 Supported network drivers in DPDK
- e1000
82540, 82545, 82546
- e1000e
82571-82574, 82583, ICH8-ICH10, PCH-PCH2
- Igb
82575..82576, 82580, I210, I211, I350, I354, DH89xx
- Ixgbe
82598..82599, X540, X550
- I40e
X710, XL710
- Fm10k
 The number of NICs
>= 3 (2 NICs for Lagopus, 1 NIC for management)
Server
OS
Lagopus
Ryu
1. Bare metal system requirements
5Copyright©2014 NTT corp. All Rights Reserved.
Notice: We can not guarantee the complete combination of hardwares.
Server
OS
Lagopus
Ryu
Operating system
 Supported OS in DPDK
#Operation checked OS
- Ubuntu 14.04 LTS/Ubuntu 12/04 LTS
- Cent OS 6.5
- Linux
- Free BSD
>= lagopus version 0.2
1. Bare metal system requirements
6Copyright©2014 NTT corp. All Rights Reserved.
 Type
Some CPU flags may be set on booting VM.
(The next page shows the instruction to specify such CPU
flags)
 Cores
>= 2 cores
 Size
>= 1Gbytes
Notice: We can not guarantee the complete combination of hardwares.
2. Virtual machine requirements
vCPU
vMemory
Server
Linux
Lagopus
Ryu
KVM
Linux
Server
Windows/OS X
Lagopus
Ryu
VMware
Linux
VM
7Copyright©2014 NTT corp. All Rights Reserved.
vNIC
e1000 device
#KVM/Vmware supports e1000 virtual device
2. Virtual machine requirements
Server
Linux
Lagopus
Ryu
KVM
Linux
Server
Windows/OS X
Lagopus
Ryu
VMware
Linux
VM
8Copyright©2014 NTT corp. All Rights Reserved.
Sample Vmware Fusion configuration on OS X.
ethernet0.present = "TRUE"
ethernet0.connectionType = "bridged"
ethernet0.virtualDev = "e1000"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
ethernet0.linkStatePropagation.enable = "TRUE"
ethernet0.generatedAddress = "00:0c:29:67:06:91"
ethernet0.pciSlotNumber = "33"
ethernet0.generatedAddressOffset = "0"
ethernet1.present = "TRUE"
ethernet1.connectionType = "hostonly"
ethernet1.virtualDev = "e1000"
ethernet1.wakeOnPcktRcv = "FALSE"
ethernet1.addressType = "generated"
ethernet1.linkStatePropagation.enable = "TRUE"
ethernet1.generatedAddress = "00:0c:29:67:06:9b"
ethernet1.generatedAddressOffset = "10"
ethernet1.pciSlotNumber = "37"
ethernet2.present = "TRUE"
ethernet2.connectionType = "hostonly"
ethernet2.virtualDev = "e1000"
ethernet2.wakeOnPcktRcv = "FALSE"
ethernet2.addressType = "generated"
ethernet2.linkStatePropagation.enable = "TRUE"
ethernet2.generatedAddress = "00:0c:29:67:06:a5"
ethernet2.generatedAddressOffset = "20"
ethernet2.pciSlotNumber = "38”
for Lagopus
vNIC0
vNIC1
vNIC2
for management
2. Virtual machine requirements
vNIC
virtualDev=“e1000”
9Copyright©2014 NTT corp. All Rights Reserved.
OS
 Supported OS in DPDK
#Operation checked OS
- Ubuntu 14.04 LTS/Ubuntu 12/04 LTS
- Cent OS 6.5
- Linux
Server
Linux
Lagopus
Ryu
KVM
OS
Server
Windows/OS X
Lagopus
Ryu
VMware
OS
VM
2. Virtual machine requirements
10Copyright©2014 NTT corp. All Rights Reserved.
11Copyright©2014 NTT corp. All Rights Reserved.
Mininet
 OpenFlowネットワークエミュレーションツール
 Network Namespaceを利用して実現されている
参考:Bob Lantz, 「Mininet and Open vSwtich」
Open vSwitch 2015 Fall Conference
12Copyright©2014 NTT corp. All Rights Reserved.
Mininet with Lagopus
 https://github.com/lagopus/mininet/tree/lagopus
デフォルト(Open vSwitch) Lagopus
13Copyright©2014 NTT corp. All Rights Reserved.
Mininet
 Setup with lagopus and Ryu
$ git clone https://github.com/lagopus/mininet
$ cd mininet
$ git checkout lagopus
$ ./util/install.sh -nyl # n:mininet, y:ryu, l:lagopus
$ which lagopus
/usr/local/sbin/lagopus
 動作確認
$ ryu-manager /usr/local/lib/python2.7/dist-
packages/ryu/app/simple_switch_13.py
$ sudo ~/mininet/examples/simplelagopus.py
14Copyright©2014 NTT corp. All Rights Reserved.
CLIの利用
 examples/simplelagopus.py
@@ -28,6 +28,7 @@
from mininet.log import setLogLevel
from mininet.node import RemoteController
from mininet.node import Lagopus
+from mininet.cli import CLI
class SimpleLagopusTopo(Topo):
@@ -60,8 +61,7 @@ def lagopusTest():
for s in net.switches:
print repr(s)
- print "Testing connections"
- net.pingAll()
+ CLI(net)
net.stop()
15Copyright©2014 NTT corp. All Rights Reserved.
CLIの利用
 実行
## 別途,Ryuを起動しておく ##
$ sudo ./example/simplelagopus.py
…
*** Starting CLI:
mininet>
 Lagopusに関するコマンド
 dpctl ( = lagosh -c )
 switch <switch name> [start/stop]
16Copyright©2014 NTT corp. All Rights Reserved.
アプリケーションを通してみる
 実行
$ ryu-manager /path/to/ryu/app/simple_switch_13.py &
$ sudo ./example/simplelagopus.py
mininet> h2 python -m SimpleHTTPServer 80 &
mininet> h2 ifconfig
mininet> h1 curl 10.0.0.2 | less
mininet> dpctl show flow
17Copyright©2014 NTT corp. All Rights Reserved.
トポロジを変更する(Ryu Cert)
OpenFlowスイッチがどのくらいOpenFlowの仕様に準拠しているかテスト
するためのツール
 Ryu Certification
http://osrg.github.io/ryu-book/ja/html/
18Copyright©2014 NTT corp. All Rights Reserved.
トポロジを変更する(Ryu Cert)
 examples/simplelagopus.py
@@ -39,12 +39,9 @@ def __init__(self):
s1 = self.addSwitch('s1')
s2 = self.addSwitch('s2')
- h1 = self.addHost('h1')
- h2 = self.addHost('h2')
-
- self.addLink(h1, s1)
self.addLink(s1, s2)
- self.addLink(s2, h2)
+ self.addLink(s1, s2)
+ self.addLink(s1, s2)
19Copyright©2014 NTT corp. All Rights Reserved.
トポロジを変更する(Ryu Cert)
 実行
$cd /usr/local/lib/python2.7/dist-packages/ryu/tests/switch
$ ryu-manager --test-switch-dir of13 tester.py &
$ sudo ./example/simplelagopus.py
mininet>
20Copyright©2014 NTT corp. All Rights Reserved.
ユニキャストコピー
 h1からのユニキャストをコピーし,h2, h3
にマルチキャストする.
h2
h1 h3
21Copyright©2014 NTT corp. All Rights Reserved.
準備
$ git clone https://github.com/hibitomo/mininet_sample -
-recurcive
$ cd mininet_sample
$ ryu-manager /usr/local/lib/python2.7/dist-
packages/ryu/app/ofctl_rest.py &
22Copyright©2014 NTT corp. All Rights Reserved.
トポロジ
 unicast_copy.py
class SimpleLagopusTopo(Topo):
def __init__(self):
"Set Lagopus as a default switch class"
Topo.__init__(self, sopts={ "cls" : Lagopus })
s1 = self.addSwitch('s1')
h1 = self.addHost('h1', ip="192.168.0.1/24",
mac="00:00:00:01:01:01")
h2 = self.addHost('h2', ip="192.168.0.2/24",
mac="00:00:00:02:02:02")
h3 = self.addHost('h3', ip="192.168.0.3/24",
mac="00:00:00:03:03:03")
self.addLink(s1, h1)
self.addLink(s1, h2)
self.addLink(s1, h3)
23Copyright©2014 NTT corp. All Rights Reserved.
実行
 実行
$ ryu-manager /path/to/ryu/app/simple_switch_13.py &
$ sudo ./unicast_copy.py
mininet> h1 ping h2
h2
h1 h3
$ ./ofctl_script/add_flow < sample_flow/test0.flow
$ ./ofctl_script/show_flow
$ ./ofctl_script/add_flow < sample_flow/test1.flow
$ ./ofctl_script/show_flow
24Copyright©2014 NTT corp. All Rights Reserved.
Mininet tips
 Performance modeling
class PerformanceModelingTopo(Topo):
def __init__(self):
Topo.__init__(self, sopts={ "cls" : Lagopus })
s1 = self.addSwitch('s1')
# Limit CPU bandwidth
h1 = self.addHost('h1', cpu=.2)
h2 = self.addHost('h2')
# Limit link bandwidth and add delay
self.addLink(h2, s1, bw=1, delay=‘60ms')
self.addLink(h1, s1)
topo = PerformanceModelingTopo()
net = Mininet( topo=topo,
link=TCLink, host=CPULimitedHost)
20% of CPU
1 Mbps, 60ms
25Copyright©2014 NTT corp. All Rights Reserved.
Thank you for your attention
This research is a part of the project for “Research and Development of
Network Virtualization Technology” supported by the Ministry of Internal
Affairs and Communications.

More Related Content

More from Tomoya Hibi

Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Tomoya Hibi
 
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07Tomoya Hibi
 
LagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDKLagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDKTomoya Hibi
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...Tomoya Hibi
 
Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224Tomoya Hibi
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングTomoya Hibi
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Tomoya Hibi
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Tomoya Hibi
 
Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)Tomoya Hibi
 
IoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトークIoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトークTomoya Hibi
 
Bird in show_net
Bird in show_netBird in show_net
Bird in show_netTomoya Hibi
 
Lagopusで試すFW
Lagopusで試すFWLagopusで試すFW
Lagopusで試すFWTomoya Hibi
 
Lagopusで試すFirewall
Lagopusで試すFirewallLagopusで試すFirewall
Lagopusで試すFirewallTomoya Hibi
 
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会Tomoya Hibi
 

More from Tomoya Hibi (15)

Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07
 
LagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDKLagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDK
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
 
Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224
 
Lagopus Router
Lagopus RouterLagopus Router
Lagopus Router
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
 
Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)
 
IoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトークIoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトーク
 
Bird in show_net
Bird in show_netBird in show_net
Bird in show_net
 
Lagopusで試すFW
Lagopusで試すFWLagopusで試すFW
Lagopusで試すFW
 
Lagopusで試すFirewall
Lagopusで試すFirewallLagopusで試すFirewall
Lagopusで試すFirewall
 
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会
 

Recently uploaded

kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadhamedmustafa094
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdfKamal Acharya
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesRAJNEESHKUMAR341697
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxNadaHaitham1
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesMayuraD1
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxchumtiyababu
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdfKamal Acharya
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network DevicesChandrakantDivate1
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...Amil baba
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityMorshed Ahmed Rahath
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdfKamal Acharya
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdfAldoGarca30
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...drmkjayanthikannan
 

Recently uploaded (20)

kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 

Lagohandson fukuoka

  • 1. Copyright©2014 NTT corp. All Rights Reserved. Lagopus handson (Mininet編) NTT Network Innovation lab Tomoya Hibi Last Update : 3/14/2015
  • 2. 1Copyright©2014 NTT corp. All Rights Reserved. Preparation for Installing Lagopus and Ryu
  • 3. 2Copyright©2014 NTT corp. All Rights Reserved. Which do you choice as a target system ? 1. Bare metal 1. Bare metal system (PC or server) You must choice the DPDK available hardware 2. Virtual machine You must choice the DPDK available virtual hardware Server OS Lagopus Ryu Server Linux Lagopus Ryu KVM Linux Server Windows/OS X Lagopus Ryu VMware Linux 2. Virtual machine VM
  • 4. 3Copyright©2014 NTT corp. All Rights Reserved. 1. Bare metal system requirements #1: http://www.intel.com/content/dam/www/public/us/en/documents/prese ntation/dpdk-packet-processing-ia-overview-presentation.pdf Notice: We can not guarantee the complete combination of hardwares. CPU  Size >= 1Gbytes Memory  Type - It is better that 64-bit instruction is available. - The latest Intel CPUs are better #A little old cpu may be supported because DPDK is available from 2009 year(#1). - Code Name Broadwell/Haswell/Ivy Bridge/Sandy Bridge/Nehalem  Cores >= 2 CPU cores Server OS Lagopus Ryu
  • 5. 4Copyright©2014 NTT corp. All Rights Reserved. Notice: We can not guarantee the complete combination of hardwares. Network Interface Card (NIC)  Supported network drivers in DPDK - e1000 82540, 82545, 82546 - e1000e 82571-82574, 82583, ICH8-ICH10, PCH-PCH2 - Igb 82575..82576, 82580, I210, I211, I350, I354, DH89xx - Ixgbe 82598..82599, X540, X550 - I40e X710, XL710 - Fm10k  The number of NICs >= 3 (2 NICs for Lagopus, 1 NIC for management) Server OS Lagopus Ryu 1. Bare metal system requirements
  • 6. 5Copyright©2014 NTT corp. All Rights Reserved. Notice: We can not guarantee the complete combination of hardwares. Server OS Lagopus Ryu Operating system  Supported OS in DPDK #Operation checked OS - Ubuntu 14.04 LTS/Ubuntu 12/04 LTS - Cent OS 6.5 - Linux - Free BSD >= lagopus version 0.2 1. Bare metal system requirements
  • 7. 6Copyright©2014 NTT corp. All Rights Reserved.  Type Some CPU flags may be set on booting VM. (The next page shows the instruction to specify such CPU flags)  Cores >= 2 cores  Size >= 1Gbytes Notice: We can not guarantee the complete combination of hardwares. 2. Virtual machine requirements vCPU vMemory Server Linux Lagopus Ryu KVM Linux Server Windows/OS X Lagopus Ryu VMware Linux VM
  • 8. 7Copyright©2014 NTT corp. All Rights Reserved. vNIC e1000 device #KVM/Vmware supports e1000 virtual device 2. Virtual machine requirements Server Linux Lagopus Ryu KVM Linux Server Windows/OS X Lagopus Ryu VMware Linux VM
  • 9. 8Copyright©2014 NTT corp. All Rights Reserved. Sample Vmware Fusion configuration on OS X. ethernet0.present = "TRUE" ethernet0.connectionType = "bridged" ethernet0.virtualDev = "e1000" ethernet0.wakeOnPcktRcv = "FALSE" ethernet0.addressType = "generated" ethernet0.linkStatePropagation.enable = "TRUE" ethernet0.generatedAddress = "00:0c:29:67:06:91" ethernet0.pciSlotNumber = "33" ethernet0.generatedAddressOffset = "0" ethernet1.present = "TRUE" ethernet1.connectionType = "hostonly" ethernet1.virtualDev = "e1000" ethernet1.wakeOnPcktRcv = "FALSE" ethernet1.addressType = "generated" ethernet1.linkStatePropagation.enable = "TRUE" ethernet1.generatedAddress = "00:0c:29:67:06:9b" ethernet1.generatedAddressOffset = "10" ethernet1.pciSlotNumber = "37" ethernet2.present = "TRUE" ethernet2.connectionType = "hostonly" ethernet2.virtualDev = "e1000" ethernet2.wakeOnPcktRcv = "FALSE" ethernet2.addressType = "generated" ethernet2.linkStatePropagation.enable = "TRUE" ethernet2.generatedAddress = "00:0c:29:67:06:a5" ethernet2.generatedAddressOffset = "20" ethernet2.pciSlotNumber = "38” for Lagopus vNIC0 vNIC1 vNIC2 for management 2. Virtual machine requirements vNIC virtualDev=“e1000”
  • 10. 9Copyright©2014 NTT corp. All Rights Reserved. OS  Supported OS in DPDK #Operation checked OS - Ubuntu 14.04 LTS/Ubuntu 12/04 LTS - Cent OS 6.5 - Linux Server Linux Lagopus Ryu KVM OS Server Windows/OS X Lagopus Ryu VMware OS VM 2. Virtual machine requirements
  • 11. 10Copyright©2014 NTT corp. All Rights Reserved.
  • 12. 11Copyright©2014 NTT corp. All Rights Reserved. Mininet  OpenFlowネットワークエミュレーションツール  Network Namespaceを利用して実現されている 参考:Bob Lantz, 「Mininet and Open vSwtich」 Open vSwitch 2015 Fall Conference
  • 13. 12Copyright©2014 NTT corp. All Rights Reserved. Mininet with Lagopus  https://github.com/lagopus/mininet/tree/lagopus デフォルト(Open vSwitch) Lagopus
  • 14. 13Copyright©2014 NTT corp. All Rights Reserved. Mininet  Setup with lagopus and Ryu $ git clone https://github.com/lagopus/mininet $ cd mininet $ git checkout lagopus $ ./util/install.sh -nyl # n:mininet, y:ryu, l:lagopus $ which lagopus /usr/local/sbin/lagopus  動作確認 $ ryu-manager /usr/local/lib/python2.7/dist- packages/ryu/app/simple_switch_13.py $ sudo ~/mininet/examples/simplelagopus.py
  • 15. 14Copyright©2014 NTT corp. All Rights Reserved. CLIの利用  examples/simplelagopus.py @@ -28,6 +28,7 @@ from mininet.log import setLogLevel from mininet.node import RemoteController from mininet.node import Lagopus +from mininet.cli import CLI class SimpleLagopusTopo(Topo): @@ -60,8 +61,7 @@ def lagopusTest(): for s in net.switches: print repr(s) - print "Testing connections" - net.pingAll() + CLI(net) net.stop()
  • 16. 15Copyright©2014 NTT corp. All Rights Reserved. CLIの利用  実行 ## 別途,Ryuを起動しておく ## $ sudo ./example/simplelagopus.py … *** Starting CLI: mininet>  Lagopusに関するコマンド  dpctl ( = lagosh -c )  switch <switch name> [start/stop]
  • 17. 16Copyright©2014 NTT corp. All Rights Reserved. アプリケーションを通してみる  実行 $ ryu-manager /path/to/ryu/app/simple_switch_13.py & $ sudo ./example/simplelagopus.py mininet> h2 python -m SimpleHTTPServer 80 & mininet> h2 ifconfig mininet> h1 curl 10.0.0.2 | less mininet> dpctl show flow
  • 18. 17Copyright©2014 NTT corp. All Rights Reserved. トポロジを変更する(Ryu Cert) OpenFlowスイッチがどのくらいOpenFlowの仕様に準拠しているかテスト するためのツール  Ryu Certification http://osrg.github.io/ryu-book/ja/html/
  • 19. 18Copyright©2014 NTT corp. All Rights Reserved. トポロジを変更する(Ryu Cert)  examples/simplelagopus.py @@ -39,12 +39,9 @@ def __init__(self): s1 = self.addSwitch('s1') s2 = self.addSwitch('s2') - h1 = self.addHost('h1') - h2 = self.addHost('h2') - - self.addLink(h1, s1) self.addLink(s1, s2) - self.addLink(s2, h2) + self.addLink(s1, s2) + self.addLink(s1, s2)
  • 20. 19Copyright©2014 NTT corp. All Rights Reserved. トポロジを変更する(Ryu Cert)  実行 $cd /usr/local/lib/python2.7/dist-packages/ryu/tests/switch $ ryu-manager --test-switch-dir of13 tester.py & $ sudo ./example/simplelagopus.py mininet>
  • 21. 20Copyright©2014 NTT corp. All Rights Reserved. ユニキャストコピー  h1からのユニキャストをコピーし,h2, h3 にマルチキャストする. h2 h1 h3
  • 22. 21Copyright©2014 NTT corp. All Rights Reserved. 準備 $ git clone https://github.com/hibitomo/mininet_sample - -recurcive $ cd mininet_sample $ ryu-manager /usr/local/lib/python2.7/dist- packages/ryu/app/ofctl_rest.py &
  • 23. 22Copyright©2014 NTT corp. All Rights Reserved. トポロジ  unicast_copy.py class SimpleLagopusTopo(Topo): def __init__(self): "Set Lagopus as a default switch class" Topo.__init__(self, sopts={ "cls" : Lagopus }) s1 = self.addSwitch('s1') h1 = self.addHost('h1', ip="192.168.0.1/24", mac="00:00:00:01:01:01") h2 = self.addHost('h2', ip="192.168.0.2/24", mac="00:00:00:02:02:02") h3 = self.addHost('h3', ip="192.168.0.3/24", mac="00:00:00:03:03:03") self.addLink(s1, h1) self.addLink(s1, h2) self.addLink(s1, h3)
  • 24. 23Copyright©2014 NTT corp. All Rights Reserved. 実行  実行 $ ryu-manager /path/to/ryu/app/simple_switch_13.py & $ sudo ./unicast_copy.py mininet> h1 ping h2 h2 h1 h3 $ ./ofctl_script/add_flow < sample_flow/test0.flow $ ./ofctl_script/show_flow $ ./ofctl_script/add_flow < sample_flow/test1.flow $ ./ofctl_script/show_flow
  • 25. 24Copyright©2014 NTT corp. All Rights Reserved. Mininet tips  Performance modeling class PerformanceModelingTopo(Topo): def __init__(self): Topo.__init__(self, sopts={ "cls" : Lagopus }) s1 = self.addSwitch('s1') # Limit CPU bandwidth h1 = self.addHost('h1', cpu=.2) h2 = self.addHost('h2') # Limit link bandwidth and add delay self.addLink(h2, s1, bw=1, delay=‘60ms') self.addLink(h1, s1) topo = PerformanceModelingTopo() net = Mininet( topo=topo, link=TCLink, host=CPULimitedHost) 20% of CPU 1 Mbps, 60ms
  • 26. 25Copyright©2014 NTT corp. All Rights Reserved. Thank you for your attention This research is a part of the project for “Research and Development of Network Virtualization Technology” supported by the Ministry of Internal Affairs and Communications.