ݺߣ

ݺߣShare a Scribd company logo
ONOS SDN Controller
???? ?? ? SDN ????
Mobile Convergence Lab, Computer Engineering,
Kyung Hee University
Sangyun Han
Email : sangyun0628@khu.ac.kr
SDN/NFV ??, ??, ????
[ONOS ?? ???? ?? ? ???]
Structure of Machines
? ?? ???? ?? ?, ??? ???? ??
Mobile Convergence Laboratory 2
Internet
Physical machine
Virtual machine Virtual machine Virtual machine
Instance 1 Instance 2 Instance 3
Eth0 Eth1 Eth0 Eth1 Eth0 Eth1
Host-Only Network
Structure of Machines
? ?? ???? ?? ?, ??? ???? ??
Mobile Convergence Laboratory 3
Internet
Physical machine
Virtual machine Virtual machine Virtual machine
Instance 1 Instance 2 Instance 3
Eth0 Eth1 Eth0 Eth1 Eth0 Eth1
Host-Only Network
?? ?? ??
???? Instance Duplication
Configure
1. Change linux user authority
2. Install openssh-server
Mobile Convergence Laboratory 4
Configuration
? ?? ?? ?? ?,
? ??? sdn? ???? ??? ?? ??(SSH ?? ?)
? /etc/sudoers ?? ??
? sdn ALL=(ALL) NOPASSWD:ALL
? SSH ??
? $ sudo apt-get install openssh-server
Mobile Convergence Laboratory 5
Configuration
Mobile Convergence Laboratory 6
ONOS - Install multi instance
1. Getting ONOS
2. Installing ONOS
3. Start ONOS
Mobile Convergence Laboratory 7
https://wiki.onosproject.org/display/ONOS/Installing+and+Running+ONOS
ONOS Multiple Instances-scenario 1
Mobile Convergence Laboratory 8
- Download source code
- Build ONOS project
- Package the project
- Deploy the package
Deploy & Install
Copy VM instance
ONOS Multiple Instances-scenario 2
Mobile Convergence Laboratory 9
- Download source code
- Build ONOS project
- Package the project
- Deploy the package
Deploy & Install
1. Prepare multi machine
? ?? ?? or ?? ??
? ??? ??? ??(  RAFT algorithm for distributed clustering)
? ?? ?????
Java ?? ? ?? ??(1,2), ?? ??(4,5), ?? ??(7) ??
? ?? ????? ??? ??
(??! MAC ?? ?? ??)
Mobile Convergence Laboratory 10
Multiple Instance Setting (1/6)
1. Prepare multi machine
Mobile Convergence Laboratory 11
Multiple Instance Setting (1/6)
??!
Mobile Convergence Laboratory 12
?? ??
1. Prepare multi machine
Mobile Convergence Laboratory 13
Multiple Instance Setting (1/6)
???? 3? ?? ??
2. cell script
Mobile Convergence Laboratory 14
Multiple Instance Setting (2/6)
? a cell is a collection of environment variables that are used
? cells make it easy to use the utility scripts to package,
configure, install, and run ONOS.
? ~/onos/tools/test/cells
2. cell script
Mobile Convergence Laboratory 15
Multiple Instance Setting (2/6)
? ~/onos/tools/test/cells
? ????? FILE_NAME ???
??? ?? ??
? ??? ??? ?? ??
3. Define control plane
? cell ???? ??? ????? ?? ??? ?? ??
$ cell FILE_NAME
Mobile Convergence Laboratory 16
Multiple Instance Setting (4/6)
4. Connect SSH
? ??? ??? ???? ?? ????? ??
$ ssh-keygen -t rsa // ? ???? ???? key ??
$ onos-push-keys $OC1 // ?? ?? ??
$ onos-push-keys $OC3
$ onos-verify-cell // ?? ??
Mobile Convergence Laboratory 17
Multiple Instance Setting (3/6)
4. Connect SSH
? ??? ??? ???? ?? ????? ??
Mobile Convergence Laboratory 18
Multiple Instance Setting (3/6)
??!
OpenSSH-Server ?? ??
(p.5 ??)
4. Connect SSH
? ??? ??? ???? ?? ????? ??
Mobile Convergence Laboratory 19
Multiple Instance Setting (3/6)
??? ???? ? ?? push-key ??
password (mclab)
?? ?? ????
4. Connect SSH
? ? ?????? ?? ??
Mobile Convergence Laboratory 20
Multiple Instance Setting (3/6)
5. Packaging and Deploying
$ mvn clean install
$ onos-package
$ onos-install $OC1
$ onos-install $OC3
?? ? ??, onos? process PID? ??
Mobile Convergence Laboratory 21
Multiple Instance Setting (5/6)
5. Packaging and Deploying
$ onos-install $OC1
$ onos-install $OC3
?? ? ??, onos? process PID? ??
Mobile Convergence Laboratory 22
Multiple Instance Setting (5/6)
6. Manage Multi instances
? CLI
$ onos -w $OC1 //cell script? ??? ???? ??
??
$ onos -w 192.168.56.101 //?? ????? IP
? GUI in web
http://192.168.56.101:8181/onos/ui/login.html
//????? ?? ????? IP
Mobile Convergence Laboratory 23
Multiple Instance Setting (6/6)
6. Manage Multi instances
? CLI
//cell? ??? ???? ??
$ onos -w $OC1
//?? ???? IP
$ onos -w 192.168.56.101
Mobile Convergence Laboratory 24
Multiple Instance Setting (6/6)
Mobile Convergence Laboratory 25
<ONOS Instance>
ONOS command
? onos-service $OC1 start/stop/restart/status
? onos-install
? onos-uninstall $OC1
? onos-show-cell
? onos-log
Mobile Convergence Laboratory 26
ONOS - Test multi instance
1. mininet script by python code
2. connect multi instance to mininet
Mobile Convergence Laboratory 27
http://mininet.org/sample-workflow/
mininet depth & fanout
? depth 2 and fanout 8
= 64 hosts connected to 9 switches
Mobile Convergence Laboratory 28
S
S SS S SS SS
H H
8 hosts
H H
8 hosts
64 hosts
8 switches
1 switch
switch number =  (??????)+,-./012
+3-
python script
Mobile Convergence Laboratory 29
???? ?????? ??
sudo python tree.py $OC1 $OC2 $OC3
???? ???
???? ??
tree.py code
import sys
from mininet.net import Mininet
from mininet.topo import Topo
from mininet.log import setLogLevel
from mininet.cli import CLI
from mininet.topolib import TreeTopo
from mininet.node import RemoteController, OVSKernelSwitch
myTree = TreeTopo(depth=3,fanout=4)
def run( controllers ):
net = Mininet( topo=myTree, controller=None, autoSetMacs=True )
ctrl_count = 0
for controllerIP in controllers:
net.addController( 'c%d' % ctrl_count, RemoteController, ip=controllerIP )
ctrl_count += 1
net.start()
CLI( net )
net.topo()
if __name__ == '__main__':
setLogLevel( 'info' )
if len(sys.argv ) > 1:
controllers = sys.argv[ 1: ]
else:
print 'Usage: sudo python tree.py '
exit(1)
run(controllers)
Mobile Convergence Laboratory 30
for copy & paste
Mobile Convergence Laboratory 31

More Related Content

What's hot (20)

Expose de sur le systeme d'exploitation linuxExpose de sur le systeme d'exploitation linux
Expose de sur le systeme d'exploitation linux
Stephen Salama
?
Rapport installation round cube centos 7Rapport installation round cube centos 7
Rapport installation round cube centos 7
Mame Cheikh Ibra Niang
?
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
Andriy Berestovskyy
?
ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments
Eueung Mulyana
?
COUPLAGE ENTRE Asterisk et OpenIMSCoreCOUPLAGE ENTRE Asterisk et OpenIMSCore
COUPLAGE ENTRE Asterisk et OpenIMSCore
Abdou Lahad SYLLA
?
Analysis of Open-Source Drivers for IEEE 802.11 WLANs
Analysis of Open-Source Drivers for IEEE 802.11 WLANsAnalysis of Open-Source Drivers for IEEE 802.11 WLANs
Analysis of Open-Source Drivers for IEEE 802.11 WLANs
Danh Nguyen
?
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PROIDEA
?
Mise en place d'un systme de messagerie sous debian avec: postfix, dovecot, ...Mise en place d'un systme de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un systme de messagerie sous debian avec: postfix, dovecot, ...
Manass Achim kpaya
?
Packet flow on openstack
Packet flow on openstackPacket flow on openstack
Packet flow on openstack
Achhar Kalia
?
TCPdump-Wireshark
TCPdump-WiresharkTCPdump-Wireshark
TCPdump-Wireshark
Harsh Singh
?
Linux Booting Steps
Linux Booting StepsLinux Booting Steps
Linux Booting Steps
Anando Kumar Paul
?
P4, EPBF, and Linux TC Offload
P4, EPBF, and Linux TC OffloadP4, EPBF, and Linux TC Offload
P4, EPBF, and Linux TC Offload
Open-NFP
?
Raspberry Pi WLinux I2C Driver
Raspberry Pi WLinux I2C DriverRaspberry Pi WLinux I2C Driver
Raspberry Pi WLinux I2C Driver
卿Ƽ
?
Tutoriel : Apprendre  configurer et grer un serveur Web sous Windows Server...Tutoriel : Apprendre  configurer et grer un serveur Web sous Windows Server...
Tutoriel : Apprendre configurer et grer un serveur Web sous Windows Server...
Christophe Lauer
?
Firewall - IPCopFirewall - IPCop
Firewall - IPCop
FaniMR
?
Escaneo de puertos clase 2 complemento b 28 02-13Escaneo de puertos clase 2 complemento b 28 02-13
Escaneo de puertos clase 2 complemento b 28 02-13
Tensor
?
IT Essentials (Version 7.0) - ITE Chapter 12 Exam Answers
IT Essentials (Version 7.0) - ITE Chapter 12 Exam AnswersIT Essentials (Version 7.0) - ITE Chapter 12 Exam Answers
IT Essentials (Version 7.0) - ITE Chapter 12 Exam Answers
ITExamAnswers.net
?
ISAM ALU 7360 5520_ihub_turn_up_procedure
ISAM ALU  7360 5520_ihub_turn_up_procedureISAM ALU  7360 5520_ihub_turn_up_procedure
ISAM ALU 7360 5520_ihub_turn_up_procedure
Wahyu Nasution
?
Linux Kernel Overview
Linux Kernel OverviewLinux Kernel Overview
Linux Kernel Overview
Anil Kumar Pugalia
?
Operating systems linux
Operating systems linuxOperating systems linux
Operating systems linux
william_morg
?
Expose de sur le systeme d'exploitation linuxExpose de sur le systeme d'exploitation linux
Expose de sur le systeme d'exploitation linux
Stephen Salama
?
Rapport installation round cube centos 7Rapport installation round cube centos 7
Rapport installation round cube centos 7
Mame Cheikh Ibra Niang
?
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
Andriy Berestovskyy
?
ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments
Eueung Mulyana
?
COUPLAGE ENTRE Asterisk et OpenIMSCoreCOUPLAGE ENTRE Asterisk et OpenIMSCore
COUPLAGE ENTRE Asterisk et OpenIMSCore
Abdou Lahad SYLLA
?
Analysis of Open-Source Drivers for IEEE 802.11 WLANs
Analysis of Open-Source Drivers for IEEE 802.11 WLANsAnalysis of Open-Source Drivers for IEEE 802.11 WLANs
Analysis of Open-Source Drivers for IEEE 802.11 WLANs
Danh Nguyen
?
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PROIDEA
?
Mise en place d'un systme de messagerie sous debian avec: postfix, dovecot, ...Mise en place d'un systme de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un systme de messagerie sous debian avec: postfix, dovecot, ...
Manass Achim kpaya
?
Packet flow on openstack
Packet flow on openstackPacket flow on openstack
Packet flow on openstack
Achhar Kalia
?
P4, EPBF, and Linux TC Offload
P4, EPBF, and Linux TC OffloadP4, EPBF, and Linux TC Offload
P4, EPBF, and Linux TC Offload
Open-NFP
?
Raspberry Pi WLinux I2C Driver
Raspberry Pi WLinux I2C DriverRaspberry Pi WLinux I2C Driver
Raspberry Pi WLinux I2C Driver
卿Ƽ
?
Tutoriel : Apprendre  configurer et grer un serveur Web sous Windows Server...Tutoriel : Apprendre  configurer et grer un serveur Web sous Windows Server...
Tutoriel : Apprendre configurer et grer un serveur Web sous Windows Server...
Christophe Lauer
?
Firewall - IPCopFirewall - IPCop
Firewall - IPCop
FaniMR
?
Escaneo de puertos clase 2 complemento b 28 02-13Escaneo de puertos clase 2 complemento b 28 02-13
Escaneo de puertos clase 2 complemento b 28 02-13
Tensor
?
IT Essentials (Version 7.0) - ITE Chapter 12 Exam Answers
IT Essentials (Version 7.0) - ITE Chapter 12 Exam AnswersIT Essentials (Version 7.0) - ITE Chapter 12 Exam Answers
IT Essentials (Version 7.0) - ITE Chapter 12 Exam Answers
ITExamAnswers.net
?
ISAM ALU 7360 5520_ihub_turn_up_procedure
ISAM ALU  7360 5520_ihub_turn_up_procedureISAM ALU  7360 5520_ihub_turn_up_procedure
ISAM ALU 7360 5520_ihub_turn_up_procedure
Wahyu Nasution
?
Operating systems linux
Operating systems linuxOperating systems linux
Operating systems linux
william_morg
?

Similar to ONOS - multiple instance setting(Distributed SDN Controller) (20)

ONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and test
sangyun han
?
NODE.JS ??? ?? ?? ?? ???, real-time ?????? ????
NODE.JS ??? ?? ?? ??  ???, real-time ?????? ????NODE.JS ??? ?? ?? ??  ???, real-time ?????? ????
NODE.JS ??? ?? ?? ?? ???, real-time ?????? ????
John Kim
?
AWS Summit Seoul 2015 - AWS? ?? ?? ??? ??
AWS Summit Seoul 2015 - AWS? ?? ?? ??? ??AWS Summit Seoul 2015 - AWS? ?? ?? ??? ??
AWS Summit Seoul 2015 - AWS? ?? ?? ??? ??
Amazon Web Services Korea
?
Build the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouseBuild the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouse
jieun kim
?
Confd, systemd, fleet? ??? ?????? ?? in CoreOS
Confd, systemd, fleet? ??? ?????? ?? in CoreOSConfd, systemd, fleet? ??? ?????? ?? in CoreOS
Confd, systemd, fleet? ??? ?????? ?? in CoreOS
?? ?
?
Mcollective orchestration tool ??
Mcollective orchestration tool ??Mcollective orchestration tool ??
Mcollective orchestration tool ??
?? ?
?
Openstack live migration
Openstack live migrationOpenstack live migration
Openstack live migration
ymtech
?
???? ??? ?? ??? ????(Kvm) ?? Provisioning
???? ??? ?? ??? ????(Kvm) ?? Provisioning ???? ??? ?? ??? ????(Kvm) ?? Provisioning
???? ??? ?? ??? ????(Kvm) ?? Provisioning
Ji-Woong Choi
?
Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
wonyong hwang
?
.Net conf 2019 Korea_ ASP.NET Core? ?? HealthCheck ??? ??
.Net conf 2019 Korea_ ASP.NET Core? ?? HealthCheck ??? ??.Net conf 2019 Korea_ ASP.NET Core? ?? HealthCheck ??? ??
.Net conf 2019 Korea_ ASP.NET Core? ?? HealthCheck ??? ??
Hong Min Kim
?
[OpenInfra Days Korea 2018] (Track 1) ???? ???? ??? ?? ?? ? ???? ??
[OpenInfra Days Korea 2018] (Track 1) ???? ???? ??? ?? ?? ? ???? ??[OpenInfra Days Korea 2018] (Track 1) ???? ???? ??? ?? ?? ? ???? ??
[OpenInfra Days Korea 2018] (Track 1) ???? ???? ??? ?? ?? ? ???? ??
OpenStack Korea Community
?
[231]???????????????????????????????????????? ????????
[231]???????????????????????????????????????? ????????[231]???????????????????????????????????????? ????????
[231]???????????????????????????????????????? ????????
NAVER D2
?
(OCI ????) cloud shell
(OCI ????) cloud shell(OCI ????) cloud shell
(OCI ????) cloud shell
Jay Park
?
Node.js ??
Node.js ??Node.js ??
Node.js ??
Han Jung Hyun
?
[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf
HeeJung Chae
?
Io t??? ??????????_????
Io t??? ??????????_????Io t??? ??????????_????
Io t??? ??????????_????
SangIn Choung
?
SDN???? ??_?????
SDN???? ??_?????SDN???? ??_?????
SDN???? ??_?????
ATTO Research
?
??????? Node.js? Vert.x
??????? Node.js? Vert.x??????? Node.js? Vert.x
??????? Node.js? Vert.x
Terry Cho
?
K8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postK8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_post
Inho Kang
?
[??? ???? ??? ????? ?????? Pub] 3.open shift ??
[??? ???? ??? ????? ?????? Pub] 3.open shift ??[??? ???? ??? ????? ?????? Pub] 3.open shift ??
[??? ???? ??? ????? ?????? Pub] 3.open shift ??
Tommy Lee
?
ONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and test
sangyun han
?
NODE.JS ??? ?? ?? ?? ???, real-time ?????? ????
NODE.JS ??? ?? ?? ??  ???, real-time ?????? ????NODE.JS ??? ?? ?? ??  ???, real-time ?????? ????
NODE.JS ??? ?? ?? ?? ???, real-time ?????? ????
John Kim
?
Build the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouseBuild the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouse
jieun kim
?
Confd, systemd, fleet? ??? ?????? ?? in CoreOS
Confd, systemd, fleet? ??? ?????? ?? in CoreOSConfd, systemd, fleet? ??? ?????? ?? in CoreOS
Confd, systemd, fleet? ??? ?????? ?? in CoreOS
?? ?
?
Mcollective orchestration tool ??
Mcollective orchestration tool ??Mcollective orchestration tool ??
Mcollective orchestration tool ??
?? ?
?
Openstack live migration
Openstack live migrationOpenstack live migration
Openstack live migration
ymtech
?
???? ??? ?? ??? ????(Kvm) ?? Provisioning
???? ??? ?? ??? ????(Kvm) ?? Provisioning ???? ??? ?? ??? ????(Kvm) ?? Provisioning
???? ??? ?? ??? ????(Kvm) ?? Provisioning
Ji-Woong Choi
?
.Net conf 2019 Korea_ ASP.NET Core? ?? HealthCheck ??? ??
.Net conf 2019 Korea_ ASP.NET Core? ?? HealthCheck ??? ??.Net conf 2019 Korea_ ASP.NET Core? ?? HealthCheck ??? ??
.Net conf 2019 Korea_ ASP.NET Core? ?? HealthCheck ??? ??
Hong Min Kim
?
[OpenInfra Days Korea 2018] (Track 1) ???? ???? ??? ?? ?? ? ???? ??
[OpenInfra Days Korea 2018] (Track 1) ???? ???? ??? ?? ?? ? ???? ??[OpenInfra Days Korea 2018] (Track 1) ???? ???? ??? ?? ?? ? ???? ??
[OpenInfra Days Korea 2018] (Track 1) ???? ???? ??? ?? ?? ? ???? ??
OpenStack Korea Community
?
[231]???????????????????????????????????????? ????????
[231]???????????????????????????????????????? ????????[231]???????????????????????????????????????? ????????
[231]???????????????????????????????????????? ????????
NAVER D2
?
(OCI ????) cloud shell
(OCI ????) cloud shell(OCI ????) cloud shell
(OCI ????) cloud shell
Jay Park
?
[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf
HeeJung Chae
?
Io t??? ??????????_????
Io t??? ??????????_????Io t??? ??????????_????
Io t??? ??????????_????
SangIn Choung
?
??????? Node.js? Vert.x
??????? Node.js? Vert.x??????? Node.js? Vert.x
??????? Node.js? Vert.x
Terry Cho
?
K8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postK8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_post
Inho Kang
?
[??? ???? ??? ????? ?????? Pub] 3.open shift ??
[??? ???? ??? ????? ?????? Pub] 3.open shift ??[??? ???? ??? ????? ?????? Pub] 3.open shift ??
[??? ???? ??? ????? ?????? Pub] 3.open shift ??
Tommy Lee
?

More from sangyun han (15)

SDN, ONOS, and Network Virtualization
SDN, ONOS, and Network VirtualizationSDN, ONOS, and Network Virtualization
SDN, ONOS, and Network Virtualization
sangyun han
?
Introduce to OpenVirteX
Introduce to OpenVirteXIntroduce to OpenVirteX
Introduce to OpenVirteX
sangyun han
?
XOS in open CORD project
XOS in open CORD projectXOS in open CORD project
XOS in open CORD project
sangyun han
?
Introduction to CORD project
Introduction to CORD projectIntroduction to CORD project
Introduction to CORD project
sangyun han
?
OpenWRT/Hostapd with ONOS
OpenWRT/Hostapd with ONOSOpenWRT/Hostapd with ONOS
OpenWRT/Hostapd with ONOS
sangyun han
?
KhuHub student guideline
KhuHub student guidelineKhuHub student guideline
KhuHub student guideline
sangyun han
?
KhuHub professor guideline
KhuHub professor guidelineKhuHub professor guideline
KhuHub professor guideline
sangyun han
?
Introduction of ONOS and core technology
Introduction of ONOS and core technologyIntroduction of ONOS and core technology
Introduction of ONOS and core technology
sangyun han
?
ONOS? Raspberry Pi ?? ???? SDN ?? ?? ??? ?? ??
ONOS? Raspberry Pi ?? ???? SDN ?? ?? ??? ?? ??ONOS? Raspberry Pi ?? ???? SDN ?? ?? ??? ?? ??
ONOS? Raspberry Pi ?? ???? SDN ?? ?? ??? ?? ??
sangyun han
?
[SoftCon]SDN/IoT ??? Testbed
[SoftCon]SDN/IoT ??? Testbed[SoftCon]SDN/IoT ??? Testbed
[SoftCon]SDN/IoT ??? Testbed
sangyun han
?
RAFT Consensus Algorithm
RAFT Consensus AlgorithmRAFT Consensus Algorithm
RAFT Consensus Algorithm
sangyun han
?
Hazelcast ??
Hazelcast ??Hazelcast ??
Hazelcast ??
sangyun han
?
Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)
sangyun han
?
Git & Github Seminar-1
Git & Github Seminar-1Git & Github Seminar-1
Git & Github Seminar-1
sangyun han
?
Git & Github Seminar-2
Git & Github Seminar-2Git & Github Seminar-2
Git & Github Seminar-2
sangyun han
?
SDN, ONOS, and Network Virtualization
SDN, ONOS, and Network VirtualizationSDN, ONOS, and Network Virtualization
SDN, ONOS, and Network Virtualization
sangyun han
?
Introduce to OpenVirteX
Introduce to OpenVirteXIntroduce to OpenVirteX
Introduce to OpenVirteX
sangyun han
?
XOS in open CORD project
XOS in open CORD projectXOS in open CORD project
XOS in open CORD project
sangyun han
?
Introduction to CORD project
Introduction to CORD projectIntroduction to CORD project
Introduction to CORD project
sangyun han
?
OpenWRT/Hostapd with ONOS
OpenWRT/Hostapd with ONOSOpenWRT/Hostapd with ONOS
OpenWRT/Hostapd with ONOS
sangyun han
?
KhuHub student guideline
KhuHub student guidelineKhuHub student guideline
KhuHub student guideline
sangyun han
?
KhuHub professor guideline
KhuHub professor guidelineKhuHub professor guideline
KhuHub professor guideline
sangyun han
?
Introduction of ONOS and core technology
Introduction of ONOS and core technologyIntroduction of ONOS and core technology
Introduction of ONOS and core technology
sangyun han
?
ONOS? Raspberry Pi ?? ???? SDN ?? ?? ??? ?? ??
ONOS? Raspberry Pi ?? ???? SDN ?? ?? ??? ?? ??ONOS? Raspberry Pi ?? ???? SDN ?? ?? ??? ?? ??
ONOS? Raspberry Pi ?? ???? SDN ?? ?? ??? ?? ??
sangyun han
?
[SoftCon]SDN/IoT ??? Testbed
[SoftCon]SDN/IoT ??? Testbed[SoftCon]SDN/IoT ??? Testbed
[SoftCon]SDN/IoT ??? Testbed
sangyun han
?
RAFT Consensus Algorithm
RAFT Consensus AlgorithmRAFT Consensus Algorithm
RAFT Consensus Algorithm
sangyun han
?
Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)
sangyun han
?
Git & Github Seminar-1
Git & Github Seminar-1Git & Github Seminar-1
Git & Github Seminar-1
sangyun han
?
Git & Github Seminar-2
Git & Github Seminar-2Git & Github Seminar-2
Git & Github Seminar-2
sangyun han
?

ONOS - multiple instance setting(Distributed SDN Controller)

  • 1. ONOS SDN Controller ???? ?? ? SDN ???? Mobile Convergence Lab, Computer Engineering, Kyung Hee University Sangyun Han Email : sangyun0628@khu.ac.kr SDN/NFV ??, ??, ???? [ONOS ?? ???? ?? ? ???]
  • 2. Structure of Machines ? ?? ???? ?? ?, ??? ???? ?? Mobile Convergence Laboratory 2 Internet Physical machine Virtual machine Virtual machine Virtual machine Instance 1 Instance 2 Instance 3 Eth0 Eth1 Eth0 Eth1 Eth0 Eth1 Host-Only Network
  • 3. Structure of Machines ? ?? ???? ?? ?, ??? ???? ?? Mobile Convergence Laboratory 3 Internet Physical machine Virtual machine Virtual machine Virtual machine Instance 1 Instance 2 Instance 3 Eth0 Eth1 Eth0 Eth1 Eth0 Eth1 Host-Only Network ?? ?? ?? ???? Instance Duplication
  • 4. Configure 1. Change linux user authority 2. Install openssh-server Mobile Convergence Laboratory 4
  • 5. Configuration ? ?? ?? ?? ?, ? ??? sdn? ???? ??? ?? ??(SSH ?? ?) ? /etc/sudoers ?? ?? ? sdn ALL=(ALL) NOPASSWD:ALL ? SSH ?? ? $ sudo apt-get install openssh-server Mobile Convergence Laboratory 5
  • 7. ONOS - Install multi instance 1. Getting ONOS 2. Installing ONOS 3. Start ONOS Mobile Convergence Laboratory 7 https://wiki.onosproject.org/display/ONOS/Installing+and+Running+ONOS
  • 8. ONOS Multiple Instances-scenario 1 Mobile Convergence Laboratory 8 - Download source code - Build ONOS project - Package the project - Deploy the package Deploy & Install Copy VM instance
  • 9. ONOS Multiple Instances-scenario 2 Mobile Convergence Laboratory 9 - Download source code - Build ONOS project - Package the project - Deploy the package Deploy & Install
  • 10. 1. Prepare multi machine ? ?? ?? or ?? ?? ? ??? ??? ??( RAFT algorithm for distributed clustering) ? ?? ????? Java ?? ? ?? ??(1,2), ?? ??(4,5), ?? ??(7) ?? ? ?? ????? ??? ?? (??! MAC ?? ?? ??) Mobile Convergence Laboratory 10 Multiple Instance Setting (1/6)
  • 11. 1. Prepare multi machine Mobile Convergence Laboratory 11 Multiple Instance Setting (1/6)
  • 13. 1. Prepare multi machine Mobile Convergence Laboratory 13 Multiple Instance Setting (1/6) ???? 3? ?? ??
  • 14. 2. cell script Mobile Convergence Laboratory 14 Multiple Instance Setting (2/6) ? a cell is a collection of environment variables that are used ? cells make it easy to use the utility scripts to package, configure, install, and run ONOS. ? ~/onos/tools/test/cells
  • 15. 2. cell script Mobile Convergence Laboratory 15 Multiple Instance Setting (2/6) ? ~/onos/tools/test/cells ? ????? FILE_NAME ??? ??? ?? ?? ? ??? ??? ?? ??
  • 16. 3. Define control plane ? cell ???? ??? ????? ?? ??? ?? ?? $ cell FILE_NAME Mobile Convergence Laboratory 16 Multiple Instance Setting (4/6)
  • 17. 4. Connect SSH ? ??? ??? ???? ?? ????? ?? $ ssh-keygen -t rsa // ? ???? ???? key ?? $ onos-push-keys $OC1 // ?? ?? ?? $ onos-push-keys $OC3 $ onos-verify-cell // ?? ?? Mobile Convergence Laboratory 17 Multiple Instance Setting (3/6)
  • 18. 4. Connect SSH ? ??? ??? ???? ?? ????? ?? Mobile Convergence Laboratory 18 Multiple Instance Setting (3/6) ??! OpenSSH-Server ?? ?? (p.5 ??)
  • 19. 4. Connect SSH ? ??? ??? ???? ?? ????? ?? Mobile Convergence Laboratory 19 Multiple Instance Setting (3/6) ??? ???? ? ?? push-key ?? password (mclab) ?? ?? ????
  • 20. 4. Connect SSH ? ? ?????? ?? ?? Mobile Convergence Laboratory 20 Multiple Instance Setting (3/6)
  • 21. 5. Packaging and Deploying $ mvn clean install $ onos-package $ onos-install $OC1 $ onos-install $OC3 ?? ? ??, onos? process PID? ?? Mobile Convergence Laboratory 21 Multiple Instance Setting (5/6)
  • 22. 5. Packaging and Deploying $ onos-install $OC1 $ onos-install $OC3 ?? ? ??, onos? process PID? ?? Mobile Convergence Laboratory 22 Multiple Instance Setting (5/6)
  • 23. 6. Manage Multi instances ? CLI $ onos -w $OC1 //cell script? ??? ???? ?? ?? $ onos -w 192.168.56.101 //?? ????? IP ? GUI in web http://192.168.56.101:8181/onos/ui/login.html //????? ?? ????? IP Mobile Convergence Laboratory 23 Multiple Instance Setting (6/6)
  • 24. 6. Manage Multi instances ? CLI //cell? ??? ???? ?? $ onos -w $OC1 //?? ???? IP $ onos -w 192.168.56.101 Mobile Convergence Laboratory 24 Multiple Instance Setting (6/6)
  • 25. Mobile Convergence Laboratory 25 <ONOS Instance>
  • 26. ONOS command ? onos-service $OC1 start/stop/restart/status ? onos-install ? onos-uninstall $OC1 ? onos-show-cell ? onos-log Mobile Convergence Laboratory 26
  • 27. ONOS - Test multi instance 1. mininet script by python code 2. connect multi instance to mininet Mobile Convergence Laboratory 27 http://mininet.org/sample-workflow/
  • 28. mininet depth & fanout ? depth 2 and fanout 8 = 64 hosts connected to 9 switches Mobile Convergence Laboratory 28 S S SS S SS SS H H 8 hosts H H 8 hosts 64 hosts 8 switches 1 switch switch number = (??????)+,-./012 +3-
  • 29. python script Mobile Convergence Laboratory 29 ???? ?????? ?? sudo python tree.py $OC1 $OC2 $OC3 ???? ??? ???? ??
  • 30. tree.py code import sys from mininet.net import Mininet from mininet.topo import Topo from mininet.log import setLogLevel from mininet.cli import CLI from mininet.topolib import TreeTopo from mininet.node import RemoteController, OVSKernelSwitch myTree = TreeTopo(depth=3,fanout=4) def run( controllers ): net = Mininet( topo=myTree, controller=None, autoSetMacs=True ) ctrl_count = 0 for controllerIP in controllers: net.addController( 'c%d' % ctrl_count, RemoteController, ip=controllerIP ) ctrl_count += 1 net.start() CLI( net ) net.topo() if __name__ == '__main__': setLogLevel( 'info' ) if len(sys.argv ) > 1: controllers = sys.argv[ 1: ] else: print 'Usage: sudo python tree.py ' exit(1) run(controllers) Mobile Convergence Laboratory 30 for copy & paste