30
2016-07-08 1 July 2016 안종석 NAIM Networks, Inc. Networks Virtualization Advanced (v0.6) 2 Copyright 2015 by NAIM Networks, Inc. All rights reserved. Contents I. 개요 II. VirtualBox III. Mininet IV. OVS V. OpenDaylight for Flow VI. Ryu Operations VII. ONOS / ONOS @ Docker VIII. SDN Application IX. Open vSwitch @ Raspberry PI (Demo) X. Cloud Networking

Demo lab for nv v0.6

Embed Size (px)

Citation preview

Page 1: Demo lab for nv v0.6

2016-07-08

1

July 2016

안종석NAIM Networks, Inc.

Networks Virtualization Advanced (v0.6)

2Copyright ⓒ 2015 by NAIM Networks, Inc. All rights reserved.

Contents

I. 개요II. VirtualBoxIII. MininetIV. OVSV. OpenDaylight for FlowVI. Ryu OperationsVII. ONOS / ONOS @ Docker VIII. SDN Application IX. Open vSwitch @ Raspberry PI (Demo)X. Cloud Networking

Page 2: Demo lab for nv v0.6

2016-07-08

2

3Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

내용: SDN 기반 가상 네트워크 실습

환경: M/B 가상화 지원 PC (8 GB RAM 이상,

8GB 이상 HDD, 인터넷 지원)

시연 / 실습: 실습 환경 불가능 한 것은 시연만

I. 개요

4Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. VirtualBox VM (https://www.virtualbox.org/wiki/Downloads)

2. Mininet (http://mininet.org/download/)

3. ONOS Tutorial VM (https://wiki.onosproject.org/display/ONOS/Downloads)

4. WinSCP (http://winscp.net/)

5. Xming (http://sourceforge.net/projects/xming/)

6. Putty (http://www.putty.org/)

I. 개요 - Tools

Page 3: Demo lab for nv v0.6

2016-07-08

3

5Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. PC에서 Virtualization 활성화 (Boot Option)2. Host key @ Preference

II. VirtualBox

6Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. *.ovf 파일 사용 (Import Appliance @ File menu)

II. VirtualBox

Page 4: Demo lab for nv v0.6

2016-07-08

4

7Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Network : Bridged Adapter (Host-only or NAT)2. Promiscuous Mode (Nested Hypervisor등 필요시 무작위모드)

III. Mininet

8Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

III. Mininet

Page 5: Demo lab for nv v0.6

2016-07-08

5

9Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

빠름 원하는 토폴로지 생성 가능 실제 프로그램을 사용 (anything that can run on Linux

can run on a Mininet host) 패킷 전송을 커스터마이즈 가능 프로그램 가능한 오픈플로우 스위치 사용 사용하기 쉬움 (Apps move seamlessly to/from hardware) 오픈소스

III. Mininet – What is Mininet?

http://ramonfontes.com/vnd/#

10Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1 대의 PC에서 가상 네트워크 환경을 제공 실제 커널을 컨테이너 기술 기반으로 스위치

애플리케이션 코드를 사용 을 사용 명령어, UI, 파이손(Python) 인터페이스 제공 오픈플로우(OpenFlow) 기능 포함

III. Mininet – Why Use Mininet?

Page 6: Demo lab for nv v0.6

2016-07-08

6

11Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Run 'Oracle VM VirtualBox Manager'

2. Start VM ‘Mininet-v2.2.1’

3. User ID/Password: mininet/mininet

4. ifconfig (@ VM ‘Mininet-v2.2.1’) 5. $ sudo mn --topo single,3 --mac –controller=remote, ip=x.x.x.x, port=6633

6. h1 ping h2

7. mininet> exit

8. $ sudo mn –c

III. Mininet – Running Mininet@VM

12Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

III. Mininet – configuration

sudo mn --topo minimalmininet> neth1 h1-eth0:s1-eth1h2 h2-eth0:s1-eth2s1 lo: s1-eth1:h1-eth0 s1-eth2:h2-eth0

sudo mn --topo single,3mininet> neth1 h1-eth0:s1-eth1h2 h2-eth0:s1-eth2h3 h3-eth0:s1-eth3s1 lo: s1-eth1:h1-eth0 s1-eth2:h2-eth0 s1-eth3:h3-eth0

xterm h1 h2

Page 7: Demo lab for nv v0.6

2016-07-08

7

13Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Xming Installation2. PuTTY Installation3. PuTTY Configuration ( w/X11 )4. NAT 선택시 Mininet 접속 되지 않는 경우 Bridge or Host Only Adaptor로 변경

III. Mininet – PuTTY w/Xming

14Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

sudo mn --topo linear,3mininet> neth1 h1-eth0:s1-eth1h2 h2-eth0:s2-eth1h3 h3-eth0:s3-eth1s1 lo: s1-eth1:h1-eth0 s1-eth2:s2-eth2s2 lo: s2-eth1:h2-eth0 s2-eth2:s1-eth2 s2-eth3:s3-eth2s3 lo: s3-eth1:h3-eth0 s3-eth2:s2-eth3

III. Mininet – configuration

xterm h1 h2 h3 @PuTTY

• ifconfig• ping

Page 8: Demo lab for nv v0.6

2016-07-08

8

15Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

sudo mn --topo tree,3mininet> neth1 h1-eth0:s3-eth1h2 h2-eth0:s3-eth2h3 h3-eth0:s4-eth1h4 h4-eth0:s4-eth2h5 h5-eth0:s6-eth1h6 h6-eth0:s6-eth2h7 h7-eth0:s7-eth1h8 h8-eth0:s7-eth2s1 lo: s1-eth1:s2-eth3 s1-eth2:s5-eth3s2 lo: s2-eth1:s3-eth3 s2-eth2:s4-eth3 s2-eth3:s1-eth1s3 lo: s3-eth1:h1-eth0 s3-eth2:h2-eth0 s3-eth3:s2-eth1s4 lo: s4-eth1:h3-eth0 s4-eth2:h4-eth0 s4-eth3:s2-eth2s5 lo: s5-eth1:s6-eth3 s5-eth2:s7-eth3 s5-eth3:s1-eth2s6 lo: s6-eth1:h5-eth0 s6-eth2:h6-eth0 s6-eth3:s5-eth1s7 lo: s7-eth1:h7-eth0 s7-eth2:h8-eth0 s7-eth3:s5-eth2

III. Mininet – configuration

16Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. sudo mn2. mininet> nodes3. mininet> net4. mininet> dump5. mininet> xterm h1 h2 s1

6. mininet> pingall7. mininet> link h1 s1 down8. mininet> h1 ping -c 1 h29. connect: Network is unreachable

III. Mininet – Operations

Page 9: Demo lab for nv v0.6

2016-07-08

9

17Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Advanced Lab for NAT

외부 네트워크와 연결 시 사용

III. Mininet – Operations ‘mn --nat’

18Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Start and Running Mininet VM2. Running Xming (Double Click ‘Xming’ Icon)3. Running PuTTY w/X114. ‘xtrem’ @ Mininet (PuTTY w/X11)5. ‘sudo ./miniedit.py’ ( @ mininet@mininet-vm:~mininet/examples$ )

III. Mininet – MiniEdit

Page 10: Demo lab for nv v0.6

2016-07-08

10

19Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Create a custom network topology using MiniEdit

III. Mininet – MiniEdit

20Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Configuration @ MiniEdit2. Run the Configuration @ MiniEdit3. Check w/xterm

III. Mininet – MiniEdit

Page 11: Demo lab for nv v0.6

2016-07-08

11

21Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Configuration @ MiniEdit2. Check Options (for Remote Controller)3. Save

III. Mininet – MiniEdit

22Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

III. Mininet – Extreme configuration

Mininet with 10X/50X/200X OpenFlow switches

– sudo mn --topo=linear,10 --switch=ovsk,protocols=OpenFlow13 --mac– sudo mn --topo=linear,50 --switch=ovsk,protocols=OpenFlow13 –mac– sudo mn --controller=remote,ip=192.168.0.211 --mac --topo=linear,200– sudo mn --topo=linear,200– h1 ping h200

Page 12: Demo lab for nv v0.6

2016-07-08

12

23Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

#!/usr/bin/python

"""Script created by VND - Visual Network Description (SDN version)"""from mininet.net import Mininetfrom mininet.node import Controller, RemoteController, OVSKernelSwitch, OVSLegacyKernelSwitch, UserSwitchfrom mininet.cli import CLIfrom mininet.log import setLogLevelfrom mininet.link import Link, TCLink

def topology():"Create a network."net = Mininet( controller=RemoteController, link=TCLink, switch=OVSKernelSwitch )

print "*** Creating nodes"h1 = net.addHost( 'h1', mac='00:00:00:00:00:01', ip='10.0.0.1/8' )h2 = net.addHost( 'h2', mac='00:00:00:00:00:02', ip='10.0.0.2/8' )c3 = net.addController( 'c3', controller=RemoteController, ip='127.0.0.1', port=6633 )s4 = net.addSwitch( 's4', listenPort=6634, mac='00:00:00:00:00:04' )s5 = net.addSwitch( 's5', listenPort=6635, mac='00:00:00:00:00:05' )s6 = net.addSwitch( 's6', listenPort=6636, mac='00:00:00:00:00:06' )s7 = net.addSwitch( 's7', listenPort=6637, mac='00:00:00:00:00:07' )

print "*** Creating links"net.addLink(h2, s5, 0, 3)net.addLink(h1, s4, 0, 3)net.addLink(s6, s5, 2, 2)net.addLink(s6, s4, 1, 2)net.addLink(s7, s5, 2, 1)net.addLink(s4, s7, 1, 1)

print "*** Starting network"net.start()s7.start( [c3] )c3.start()

print "*** Running CLI"CLI( net )

print "*** Stopping network"net.stop()

if __name__ == '__main__':setLogLevel( 'info' )topology()

http://ramonfontes.com/vnd/#

Visual Network Description

무선(OpenWRT) 테스트시 사용 가능

III. Mininet – VND (선택)

24Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Installation and Running ‘WinSCP’2. Check property for file (saved by VND not by MiniEdit)3. ‘sudo chmod –c 777 naim.py’ at PuTTY (Property for

Execution) http://ramonfontes.com/vnd/#

III. Mininet – VND (선택)

Page 13: Demo lab for nv v0.6

2016-07-08

13

25Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Installation and Running ‘WinSCP’2. ‘sudo chmod –c 777 naim.py’ (Property for Execution)3. sudo ./naim.py4. Net5. Ping (h1 ping h2) w/o Application

III. Mininet – VND (선택)

26Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

IV. OVS

Page 14: Demo lab for nv v0.6

2016-07-08

14

27Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

IV. OVS

28Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Spec.– Support for the Rapid Spanning Tree Protocol (IEEE 802.1D-2004).– Support for multicast snooping (IGMPv1, IGMPv2 and IGMPv3).– A new "conjunctive match" OpenFlow extension that allows flows to be constructed without

introducing a Cartesian Product explosion.– Add bash command-line completion for most CLI commands.– Support for transactional flow updates through OpenFlow 1.4 Bundles.– A number of new features from the latest OpenFlow specifications.– A simple wrapper script, 'ovs-docker', to integrate OVS with Docker containers.– Support for STT and basic Geneve tunneling in Linux kernels.– Support for VXLAN Group Policy extension.– Support for DPDK Tunneling. VXLAN, GRE, and Geneve are supported protocols.– Support for DPDK vHost.

Mininet 2.2.1

IV. OVS – OVS v2.4.x is available

Page 15: Demo lab for nv v0.6

2016-07-08

15

29Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

OpenFlow Spec.– OpenFlow 1.4 bundles are now supported for flow mods and portmods. For flow mod

s, both 'atomic' and 'ordered' bundle flags are trivially supported, as all bundled messages are executed in the order they were added and all flow table modifications are now atomic to the datapath. Port mods may not appear in atomic bundles, as port status modifications are not atomic.

– IPv6 flow label and neighbor discovery fields are now modifiable.– OpenFlow 1.5 extended registers are now supported.– The OpenFlow 1.5 actset_output field is now supported.– OpenFlow 1.5 Copy-Field action is now supported.– OpenFlow 1.5 masked Set-Field action is now supported.– OpenFlow 1.3+ table features requests are now supported (read-only).– Nicira extension "move" actions may now be included in action sets. – "resubmit" actions may now be included in action sets. The resubmit is executed last,

and only if the action set has no "output" or "group“ action.– OpenFlow 1.4+ flow "importance" is now maintained in the flow table.– A new Netronome extension to OpenFlow 1.5+ allows control over the fields hashed f

or OpenFlow select groups. See "selection_method" and related options in ovs-ofctl(8) for details.

IV. OVS – OVS v2.4.x is available

30Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Configuration @ MiniEdit

① sudo ovs-vsctl show ② sudo ovs-ofctl dump-flows s1③ sudo mn④ sudo ovs-vsctl show ⑤ sudo ovs-ofctl dump-flows s1⑥ h1 ping h2⑦ sudo ovs-vsctl show⑧ sudo ovs-ofctl dump-flows s1

IV. OVS – OVS Operations

Page 16: Demo lab for nv v0.6

2016-07-08

16

31Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Allow All

① sudo ovs-ofctl add-flow s1 ip,nw_src=200.200.200.11,actions=normal② sudo ovs-ofctl add-flow s1 ip,nw_dst=200.200.200.12,actions=normal③ ovs-ofctl dump-flows s1

Allow TCP 80

① ovs-ofctl add-flow s1 priority=37000,tcp,nw_src=200.200.200.1,tp_dst=80,actions=normal

② ovs-ofctl add-flow s1 priority=37000,tcp,nw_dst=200.200.200.1,tp_src=80,actions=normal

③ ovs-ofctl dump-flows s1

IV. OVS – OVS Operations

32Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

V. OpenDaylight for Flow1. Oracle VM VirtualBox Manager'2. VM Image : ODL for base3. WinSCP (http://winscp.net/)4. Xming (http://sourceforge.net/projects/xming/)5. Putty (http://www.putty.org/)

VM1 for OpenDaylight

VM2 for OVS

Host(H1)

Host(H2)

Drop

Page 17: Demo lab for nv v0.6

2016-07-08

17

33Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

V. OpenDaylight for Flow1. Run 'Oracle VM VirtualBox Manager'2. Import O이 Appliance @ 'Oracle VM VirtualBox Manager'3. Start VM4. ID/Password = Mininet/Mininet 5. Ifconfig (for searching IP address)

6. $ sudo mn –topo single,3 –mac –controller remote7. $ sudo ./run.sh @ ODL base

8. http:/x.x.x.x:8080 at Web Browser9. ID/Password = admin/admin

10. ‘terminal’ @ ODL VM or Mininet VM11. sudo ./miniedit.py12. Ping 13. Match Port / Action Drop

14. sudo ovs-vsctl show @ new terminal15. sudo ovs-ofctl dump-flows s1 @ new terminal16. OSGi

17. Mininet Operations ( 50X switches, loop topologies)

VM1 for OpenDaylight

VM2 for OVS

Host(H1)

Host(H2)

Drop

34Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

RYUw/Apps

OVS

Host(H1)

Host(H2)

Host(H3)

Wireshark

VI. Ryu w/Wireshark

Page 18: Demo lab for nv v0.6

2016-07-08

18

35Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Run 'Oracle VM VirtualBox Manager'2. Import Appliance (VM Image : SDN Hub tutorial) at 'Oracle VM VirtualBox Manager'3. Start VM ‘SDN Hub Tutorial‘ (ubuntu/ubuntu)4. Ifconfig for searching IP address5. sudo mn --topo single,3 --mac --controller=remote --switch

6. sudo ovs-vsctl set bridge s1 protocols=OpenFlow137. sudo wireshark &8. cd /home/ubuntu/ryu && ./bin/ryu-manager --verbose ryu/app/simple_switch_13.py9. mininet> h1 ping h310. sudo ovs-ofctl dump-flows s1 -O OpenFlow13

VI. Ryu w/Wireshark

36Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

* ONOS Wiki 사이트 https://wiki.onosproject.org

1. ONOS VM 다운로드

> Basic ONOS Tutorial ovf.zip 다운로드 (tutorial1/tutorial1) https://wiki.onosproject.org/display/ONOS/Downloads

2. Lab 따라하기 순서

https://wiki.onosproject.org/display/ONOS/Basic+ONOS+Tutorial

VII. ONOS / ONOS@Docker

Page 19: Demo lab for nv v0.6

2016-07-08

19

37Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Start and Running Mininet in ONOS2. Check IP address for Mininet in ONOS

VII. ONOS / ONOS@Docker

38Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Start ONOS-Tutorial at VirtualBox2. USERNAME: tutorial13. PASSWORD: tutorial1

1. Start ONOS-Tutorial at VirtualBox2. USERNAME: sdnip3. PASSWORD: sdnip

Packet-Optical Tutorial• Username: distributed• Password: distributed

VII. ONOS / ONOS@Docker

Page 20: Demo lab for nv v0.6

2016-07-08

20

39Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Start ONOS-Tutorial at VirtualBox2. User Name/Password: tutorial1/tutorial13. Resetting4. Start Mininet5. mininet> h11 ping h41 (Why)

6. onos> apps –a -s7. onos> app activate org.onosproject.fwd8. mininet> h11 ping h41 (Why)9. onos> list10.onos> stop org.onosproject.fwd

11.mininet> h11 ping h41 (Why)12.onos> list13.onos> start org.onosproject.fwd14.mininet> h11 ping h41 (Why)15.onos> list

VII. ONOS / ONOS@Docker

40Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. onos> help onos2. onos> devices3. onos> links 4. onos> hosts5. mininet> h11 ping h41

6. onos> flows7. onos> apps8. onos> paths <TAB>9. onos> intents10.onos> app deactivate org.onosproject.fwd

11.onos> app activate org.onosproject.ifwd12.onos> feature:install onos-gui13.onos> add-host-intent 00:00:00:00:00:01/-1 00:00:00:00:00:13/-114.’A’ for Monitor all traffic 15.’V’ for Show all related intents

VII. ONOS / ONOS@Docker

Page 21: Demo lab for nv v0.6

2016-07-08

21

41Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Start ‘ONOS-Tutorial VM’ at VirtualBox2. User Name/Password: tutorial1/tutorial13. Resetting ( ‘Running w/App’ and ‘sudo mn –c’ at ONOS Terminal )4. Start ‘Mininet VM’ at VirtualBox5. User Name/Password: mininet/mininet

6. Check IP Address (ifconfig) : mininet / onos7. Running Xming (Double Click ‘Xming’ Icon)8. Running PuTTY w/X119. ‘xtrem’ at Mininet (PuTTY w/X11)10.‘sudo ./miniedit.py’ ( at mininet@mininet-vm:~mininet/examples$ )

11.Running ONOS Controller12.Running External Web Browser (http://192.168.100.***:8181/onos/ui)13.Update Controller IP Address at MiniEdit (as Remote Controller)14.onos> feature:install onos-gui15.Run MiniEdit Configuration

VII. ONOS / ONOS@Docker (선택)

42Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Operations at MiniEdit (Ping/LinkUp/Down/Apps)

VII. ONOS / ONOS@Docker

Page 22: Demo lab for nv v0.6

2016-07-08

22

43Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. H1/H2/H3 Terminals (Right Click on each host H1/H2/H3)2. ‘ifconfig’ for each terminal (Right Click on each host H1/H2/H3)3. Ping between hosts at terminals4. onos>app activate org.onosproject.fwd

5. Link Down/Up

6. onos> stop org.onosproject.fwd7. onos> list8. onos> start org.onosproject.fwd9. onos> app activate org.onosproject.ifwd10.Link Down/Up

VII. ONOS / ONOS@Docker

44Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. help onos2. onos> list3. onos> devices4. onos> links5. onos> hosts

6. onos> flows7. onos> apps8. onos> paths <TAB>9. onos> paths of:000000000000000b of:000000000000000e 10.onos> intents

• SUBMITTED - The intent has been submitted and will be processed soon.• COMPILING - The intent is being compiled. This is a transient state.• INSTALLING - The intent is in the process of being installed. • INSTALLED - The intent has been installed.• RECOMPILING - The intent is being recompiled after a failure.• WITHDRAWING - The intent is being withdrawn.• WITHDRAWN - The intent has been removed.• FAILED - The intent is in a failed state because it cannot be satisfied.

VII. ONOS / ONOS@Docker

Page 23: Demo lab for nv v0.6

2016-07-08

23

45Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. onos> remove-intent <TAB>2. onos> add-host-intent 00:00:00:00:00:01/-1 00:00:00:00:00:13/-1

VII. ONOS / ONOS@Docker

46Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. onos> 'Create Host-to-host Flow'2. onos> add-host-intent 00:00:00:00:00:01/-1 00:00:00:00:00:13/-1

VII. ONOS / ONOS@Docker

Page 24: Demo lab for nv v0.6

2016-07-08

24

47Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. sudo ovs-vsctl set bridge s1 protocols=OpenFlow132. sudo wireshark &3. mininet> h1 ping h34. sudo ovs-ofctl dump-flows s1 -O OpenFlow13

VII. ONOS / ONOS@Docker

48Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Running ‘Oracle VM VirtualBox Manager’2. Import Appliance (onos-tutorial-1.0.0.r161 VM or ‘1.2.1r2’)3. USERNAME: optical4. PASSWORD: optical

VII. ONOS / ONOS@Docker

Page 25: Demo lab for nv v0.6

2016-07-08

25

49Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Running ‘Oracle VM VirtualBox Manager’2. Import Appliance onos-tutorial-1.2.1r2 or 1.0.0.r161 VM (선택)

or Check Network for ‘onos-tutorial’ VM 3. Start ONOS-Tutorial at VirtualBox4. USERNAME: tutorial15. PASSWORD: tutorial1

Building a distributed application

• Username: distributed• Password: distributed

VII. ONOS / ONOS@Docker

50Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Docker Tool 설치

• VirtualBox의 가상 아답터 동일한것 사용• 리셋: Default VM 삭제 or VirtualBox 삭제후 Docker Tool로 재설치• Host Meta App, OpenFlow App, Forwarding App 실행• 대소문자 확인

VII. ONOS / ONOS@Docker

Page 26: Demo lab for nv v0.6

2016-07-08

26

51Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

VII. ONOS / ONOS@Docker

52Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

VII. ONOS / ONOS@Docker

Page 27: Demo lab for nv v0.6

2016-07-08

27

53Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

http://192.168.99.100:32783/onos/ui/login.html

karaf

karaf

$ sudo mn –controller=remote, ip=192.168.99.100, port=32785

sudo mn --topo tree,3

54Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

VII. ONOS / ONOS@Docker

Page 28: Demo lab for nv v0.6

2016-07-08

28

55Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

VII. ONOS / ONOS@Docker

56Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

POX

(OVS)Hub

Host(H1)

Host(H2)

Host(H3)

Applications(Hub)

POX

(OVS)Switch

Host(H1)

Host(H2)

Host(H3)

Applications(Switch)

VIII.SDN Application (선택 w/POX)

Page 29: Demo lab for nv v0.6

2016-07-08

29

57Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

1. Start ‘SDN Hub tutorial’ at VirtualBox2. User ID/Password : ubuntu/ubuntu3. Ifconfig4. Run 'Xming' at Laptop5. putty.exe using Enable X11 forwarding

6. User ID/Password : ubuntu/ubuntu7. xterm8. $ sudo mn --topo single,3 --mac --controller remote --switch ovsk9. sudo ovs-vsctl set bridge s1 protocols=OpenFlow1010. cd /home/ubuntu/pox && ./pox.py log.level --DEBUG forwarding.tutorial_l2_hub

11. $ ./pox.py log.level --DEBUG forwarding.hub12. mininet> xterm h1 h2 h313. # tcpdump -XX -n -i h2-eth014. # tcpdump -XX -n -i h3-eth015. # ping -c 1 10.0.0.2

16. # ping -c 1 10.0.0.517. $ ./pox.py log.level --DEBUG forwarding.l2_learning18. mininet> xterm h1 h2 h319. # tcpdump -XX -n -i h2-eth020. # tcpdump -XX -n -i h3-eth0

21. # ping -c 1 10.0.0.2

VIII.SDN Application (선택 w/POX)

58Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

0. sudo apt-get update1. sudo apt-get install openvswitch-switch2. sudo apt-get install openvswitch-common bridge-utils3. sudo apt-get install openvswitch-<tab>

openvswitch-common openvswitch-pki openvswitch-vtepopenvswitch-dbg openvswitch-switchopenvswitch-ipsec openvswitch-test

1. sudo ovs-vsctl show (Version Check)2. sudo ovs-vsctl add-br ovsbr0 3. sudo ovs-vsctl show4. ifconfig

5. sudo ovs-vsctl add-port ovsbr0 eth06. sudo ovs-vsctl add-port ovsbr0 eth17. sudo ovs-vsctl show8. sudo ovs-ofctl dump-ports ovsbr09. sudo ovs-ofctl dump-flows ovsbr010. Sudo ovs-vsctl set-controller ovsbr0 tcp:192.168.??.58:663311. sudo ovs-vsctl show (Check Controller Configured)

12. sudo ip route add 192.168.??.58/32 dev eth213. route –n14. sudo ovs-vsctl show (Check Controller Connected)

15. iperf –s (@PC)16. iperf -f m -c 192.168.56.120 (format Mbps) throughput test

IX. OpenVSwitch @ Raspberry PI

Page 30: Demo lab for nv v0.6

2016-07-08

30

59Copyright ⓒ 2016 by NAIM Networks, Inc. All rights reserved.

Copyright ⓒ 2015 by NAIM Networks, Inc. All rights reserved.

[email protected]+82-2-552-05555th Floor, Anam BLDG616 Yeondongdaero, Kanamgu, Seoul, Republic of Korea