ONOS
20160820
Tseng Yi
1
ONOS
• SDN Controller
• ON.Lab
• Java 1.8 & Apache Karaf
• Apache 2.0
2
•
•
•
3
GUI REST API
CLI
ONOS
Networking Core
Applications
Distributed application platform
OSGI/Karaf
Drivers
Protocols
4
Distribute Architecture
• Distributed
• Symmetric
• Fault-tolerant
• Location Transparent
• Dynamic
5
NB Core API
Distributed Core
(state management,notifications,high-availability & scale-out)
SB Core API
Protocols
Providers
Protocols
Providers
Protocols
Providers
Protocols
Providers
AppsApps
Distributed Core
(state management,notifications,high-availability & scale-out)
SB Core API
NB Core API
Providers Providers Providers Providers
Protocols Protocols Protocols Protocols
6Ref: http://onosproject.org
•
• 1.0: Avocet
• 1.1 Blackbird
• 1.2: Cardinal
• 1.3: Drake
• 1.4: Emu
• 1.5: Falcon
• 1.6: Goldeneye
7
Core Subsystems
Device Link Host
Topology
Flow Rule
Path
Packet
StatisticsIntent
Application
Leadership
Messaging
Storage Region
Mastership
Driver
Group
Security
Flow Objective
Event
OpenFlow NetConf OVSDB
Core Cluster
. . .
Proxy ARPMobility L2 Forwarding
REST API GUI CLI
Network Cfg.
SDN IP / BGP Packet / Optical
Tunnel
. . .
OSGi / Apache Karaf
Network Virt.Device Cfg.
Config
UI Extension
External Apps
Graph
Discovery Tenant . . .
Ref: http://onosproject.org 8
Intent Framework
•
•
•
9
Play SDN with ONOS
10
ONOS
• macOS or Linux (Ubuntu, CentOS)
• (maven + karaf)
• Ansible (pichuang/onos-ansible)
• Docker (onosproject/onos)
11
docker ONOS
• docker pull onosproject/onos
• docker run -t -d --name onos onosproject/onos
• ssh -p 8101 karaf@[onos docker ip]
12
ONOS GUI
• http:// localhost:8181/onos/ui
• login with onos/rocks or karaf/karaf
13
ONOS App
•
• app activate [App ]
•
• app deactivate [App ]
•
• apps -a -s
• GUI
14
ONOS
• docker run -t -d --name onos1 onosproject/onos
• docker run -t -d --name onos2 onosproject/onos
• docker run -t -d --name onos3 onosproject/onos
• onos-form-cluster -u karaf -p karaf `docker-ip
onos1` `docker-ip onos2` `docker-ip onos3`
15
16
mininet ONOS
• ONOS App
• OpenFlow Provider
• LLDP Provider
• Host Location Provider
• Reactive Forwarding
• mininet Controller IP
17
GUI host
• shift host
• Create Host-to-Host Flow
18
Questions?
Software Defined Networking Developer Society
• http://sdnds.tw
• https://www.facebook.com/groups/sdnds.tw

2016 COSCUP ONOS

  • 1.
  • 2.
    ONOS • SDN Controller •ON.Lab • Java 1.8 & Apache Karaf • Apache 2.0 2
  • 3.
  • 4.
    GUI REST API CLI ONOS NetworkingCore Applications Distributed application platform OSGI/Karaf Drivers Protocols 4
  • 5.
    Distribute Architecture • Distributed •Symmetric • Fault-tolerant • Location Transparent • Dynamic 5
  • 6.
    NB Core API DistributedCore (state management,notifications,high-availability & scale-out) SB Core API Protocols Providers Protocols Providers Protocols Providers Protocols Providers AppsApps Distributed Core (state management,notifications,high-availability & scale-out) SB Core API NB Core API Providers Providers Providers Providers Protocols Protocols Protocols Protocols 6Ref: http://onosproject.org
  • 7.
    • • 1.0: Avocet •1.1 Blackbird • 1.2: Cardinal • 1.3: Drake • 1.4: Emu • 1.5: Falcon • 1.6: Goldeneye 7
  • 8.
    Core Subsystems Device LinkHost Topology Flow Rule Path Packet StatisticsIntent Application Leadership Messaging Storage Region Mastership Driver Group Security Flow Objective Event OpenFlow NetConf OVSDB Core Cluster . . . Proxy ARPMobility L2 Forwarding REST API GUI CLI Network Cfg. SDN IP / BGP Packet / Optical Tunnel . . . OSGi / Apache Karaf Network Virt.Device Cfg. Config UI Extension External Apps Graph Discovery Tenant . . . Ref: http://onosproject.org 8
  • 9.
  • 10.
  • 11.
    ONOS • macOS orLinux (Ubuntu, CentOS) • (maven + karaf) • Ansible (pichuang/onos-ansible) • Docker (onosproject/onos) 11
  • 12.
    docker ONOS • dockerpull onosproject/onos • docker run -t -d --name onos onosproject/onos • ssh -p 8101 karaf@[onos docker ip] 12
  • 13.
    ONOS GUI • http://localhost:8181/onos/ui • login with onos/rocks or karaf/karaf 13
  • 14.
    ONOS App • • appactivate [App ] • • app deactivate [App ] • • apps -a -s • GUI 14
  • 15.
    ONOS • docker run-t -d --name onos1 onosproject/onos • docker run -t -d --name onos2 onosproject/onos • docker run -t -d --name onos3 onosproject/onos • onos-form-cluster -u karaf -p karaf `docker-ip onos1` `docker-ip onos2` `docker-ip onos3` 15
  • 16.
  • 17.
    mininet ONOS • ONOSApp • OpenFlow Provider • LLDP Provider • Host Location Provider • Reactive Forwarding • mininet Controller IP 17
  • 18.
    GUI host • shifthost • Create Host-to-Host Flow 18
  • 19.
  • 20.
    Software Defined NetworkingDeveloper Society • http://sdnds.tw • https://www.facebook.com/groups/sdnds.tw