ONOS	
  
Open	
  Network	
  Opera.ng	
  System	
  
	
  
Open-­‐Source	
  Distributed	
  SDN	
  OS	
  
Rou$ng	
   TE	
  
Network	
  OS	
  
Packet	
  
Forwarding	
  	
  
	
   Packet	
  
Forwarding	
  	
  
	
  
Packet	
  
Forwarding	
  	
  
	
  
Mobility	
  
Programmable	
  
Base	
  Sta$on	
  
	
  
Openflow	
  
SDN	
  Reference	
  Architecture	
  
Rou$ng	
   TE	
  
Network	
  OS	
  
Packet	
  
Forwarding	
  	
  
	
   Packet	
  
Forwarding	
  	
  
	
  
Packet	
  
Forwarding	
  	
  
	
  
Mobility	
  
Programmable	
  
Base	
  Sta$on	
  
	
  
Openflow	
   Scale-­‐out?	
  
Fault	
  Tolerance?	
  
Northbound	
  API?	
  
SDN	
  Persistent	
  Ques.ons	
  
Related	
  Work	
  	
  
Distributed	
  control	
  plaGorm	
  for	
  large-­‐scale	
  networks	
  
Focus	
  on	
  reliability,	
  scalability,	
  and	
  generality	
  
State	
  distribu.on	
  primi.ves,	
  global	
  network	
  view,	
  ONIX	
  API	
  
ONIX	
  
Other	
  Work	
  
Helios,	
  Hyperflow,	
  Maestro,	
  Kandoo	
  distributed	
  control	
  planes	
  
NOX,	
  POX,	
  Beacon,	
  Floodlight,	
  Trema	
  controllers	
  
Mo.va.on	
  for	
  ONOS	
  
Network	
  OS	
  
Rou$ng	
   TE	
   Mobility	
  
Instance	
  1	
   Instance	
  3	
  Instance	
  2	
   Instance	
  …	
  
Distributed	
  Network	
  OS	
  
Rou$ng	
   TE	
   Mobility	
  
Proprietary	
  efforts	
  have	
  been	
  addressing	
  these	
  issues	
  but	
  are	
  closed	
  source	
  
Community	
  needs	
  an	
  open	
  source	
  distributed	
  SDN	
  OS	
  
Host	
  
Host	
  
Host	
  
Titan	
  Graph	
  DB	
  
Cassandra	
  In-­‐Memory	
  DHT	
  
Instance	
  1	
   Instance	
  2	
   Instance	
  3	
  
Network	
  Graph	
  
Eventually	
  consistent	
  
Distributed	
  Registry	
  
Strongly	
  Consistent	
   Zookeeper	
  
ONOS	
  core	
  
Floodlight	
  
ONOS	
  core	
  
Floodlight	
  
ONOS	
  core	
  
Floodlight	
  
ONOS	
  High	
  Level	
  Architecture	
  
Cassandra	
  	
  
In-­‐memory	
  DHT	
  
Id:	
  1	
  
A	
  
Id:	
  101,	
  Label	
  
Id:	
  103,	
  Label	
  
Id:	
  2	
  
C	
  
Id:	
  3	
  
B	
  
Id:	
  102,	
  Label	
  
Id:	
  104,	
  Label	
  
Id:	
  106,	
  Label	
  
Id:	
  105,	
  Label	
  
Network	
  Graph	
  	
  
Titan	
  Graph	
  DB	
  
ONOS	
  Network	
  Graph	
  Abstrac.on	
  
Switch	
  Manager	
   Switch	
  Manager	
  Switch	
  Manager	
  
Network	
  Graph:	
  Switches	
  
OF	
  
OF	
  
OF	
  
OF	
  
OF	
  
OF	
  
Network	
  Graph	
  and	
  Switches	
  
SM	
  
Network	
  Graph:	
  Links	
  
SM	
   SM	
  
Link	
  Discovery	
   Link	
  Discovery	
   Link	
  Discovery	
  
LLDP	
   LLDP	
  
Network	
  Graph	
  and	
  Link	
  Discovery	
  
Network	
  Graph:	
  Devices	
  
SM	
   SM	
   SM	
  LD	
   LD	
   LD	
  
Device	
  Manager	
   Device	
  Manager	
   Device	
  Manager	
  
PKTIN	
  
PKTIN	
  
PKTIN	
  
Host	
  
Host	
  
Host	
  
Devices	
  and	
  Network	
  Graph	
  
SM	
   SM	
   SM	
  LD	
   LD	
   LD	
  
Host	
  
Host	
  
Host	
  
DM	
   DM	
   DM	
  
Path	
  Computa.on	
   Path	
  Computa.on	
   Path	
  Computa.on	
  
Network	
  Graph:	
  Flow	
  Paths	
  
Flow	
  1	
  
Flow	
  4	
  
Flow	
  7	
  
Flow	
  2	
  
Flow	
  5	
  
Flow	
  3	
  
Flow	
  6	
  
Flow	
  8	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Path	
  Computa.on	
  with	
  Network	
  Graph	
  
SM	
   SM	
   SM	
  LD	
   LD	
   LD	
  
Host	
  
Host	
  
Host	
  
DM	
   DM	
   DM	
  
Flow	
  Manager	
  
Network	
  Graph:	
  Flows	
  
PC	
   PC	
   PC	
  
Flow	
  Manager	
   Flow	
  Manager	
  Flowmod	
   Flowmod	
  
Flowmod	
  
Flow	
  1	
  
Flow	
  4	
  
Flow	
  7	
  
Flow	
  2	
  
Flow	
  5	
  
Flow	
  3	
  
Flow	
  6	
  
Flow	
  8	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Network	
  Graph	
  and	
  Flow	
  Manager	
  
SM	
   SM	
   SM	
  LD	
   LD	
   LD	
  
Host	
  
Host	
  
Host	
  
DM	
   DM	
   DM	
  
Network	
  Graph	
  
FM	
   FM	
   FM	
  
Distributed	
  
Registry	
  
A	
  
B	
  
C	
  
D	
  
E	
  
F	
  
Flow	
  1	
  
Flow	
  4	
  
Flow	
  7	
  
Flow	
  2	
  
Flow	
  5	
  
Flow	
  3	
  
Flow	
  6	
  
Flow	
  8	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Master	
  Elec.on 	
  A:	
  ONOS	
  1 	
   	
  C:	
  ONOS	
  2 	
   	
   	
  E:	
  ONOS	
  3	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
   	
   	
  B:	
  ONOS	
  1 	
   	
  D:	
  ONOS	
  2 	
   	
   	
  F:	
  ONOS	
  3	
  
ONOS	
  Instance	
  1	
   ONOS	
  Instance	
  2	
   ONOS	
  Instance	
  3	
  
Distributed	
  Registry:	
  Master	
  Elec.on	
  
SM	
   SM	
   SM	
  LD	
   LD	
   LD	
  
Host	
  
Host	
  
Host	
  
DM	
   DM	
   DM	
  
Network	
  Graph	
  
FM	
   FM	
   FM	
  
Distributed	
  
Registry	
  
A	
  
B	
  
C	
  
D	
  
E	
  
F	
  
Master	
  Elec.on 	
  A:	
  ONOS	
  1 	
   	
  C:	
  ONOS	
  2 	
   	
   	
  E:	
  ONOS	
  3	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
   	
   	
  B:	
  ONOS	
  1 	
   	
  D:	
  ONOS	
  2 	
   	
   	
  F:	
  ONOS	
  3	
  
ONOS	
  Instance	
  1	
   ONOS	
  Instance	
  2	
   ONOS	
  Instance	
  3	
  
Flow	
  1	
  
Flow	
  4	
  
Flow	
  7	
  
Flow	
  2	
  
Flow	
  5	
  
Flow	
  3	
  
Flow	
  6	
  
Flow	
  8	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Distributed	
  Registry:	
  Instance	
  Failover	
  
SM	
   SM	
  LD	
   LD	
  
Host	
  
Host	
  
Host	
  
DM	
   DM	
  
Network	
  Graph	
  
FM	
   FM	
  
Distributed	
  
Registry	
  
A	
  
B	
  
C	
  
D	
  
E	
  
F	
  
Flow	
  1	
  
Flow	
  4	
  
Flow	
  7	
  
Flow	
  2	
  
Flow	
  5	
  
Flow	
  3	
  
Flow	
  6	
  
Flow	
  8	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Master	
  Elec.on 	
  A:	
   	
   	
   	
  C:	
  ONOS	
  2 	
   	
   	
  E:	
  ONOS	
  3	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
   	
   	
  B:	
   	
   	
   	
  D:	
  ONOS	
  2 	
   	
   	
  F:	
  ONOS	
  3	
  
ONOS	
  Instance	
  2	
   ONOS	
  Instance	
  3	
  
Distributed	
  Registry:	
  Instance	
  Failover	
  
SM	
   SM	
  LD	
   LD	
  
Host	
  
Host	
  
Host	
  
DM	
   DM	
  
Network	
  Graph	
  
FM	
   FM	
  
Distributed	
  
Registry	
  
A	
  
B	
  
C	
  
D	
  
E	
  
F	
  
Flow	
  1	
  
Flow	
  4	
  
Flow	
  7	
  
Flow	
  2	
  
Flow	
  5	
  
Flow	
  3	
  
Flow	
  6	
  
Flow	
  8	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Flow	
  entries	
  Flow	
  entries	
  Flow	
  entries	
  
Master	
  Elec.on 	
  A:	
  ONOS	
  2 	
   	
  C:	
  ONOS	
  2 	
   	
   	
  E:	
  ONOS	
  3	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
   	
   	
  B:	
  ONOS	
  3 	
   	
  D:	
  ONOS	
  2 	
   	
   	
  F:	
  ONOS	
  3	
  
ONOS	
  Instance	
  2	
   ONOS	
  Instance	
  3	
  
Distributed	
  Registry:	
  Instance	
  Failover	
  
ONOS	
  Current	
  State	
  
ONOS	
  Core	
  
ONOS	
  Apps	
  
Derived	
  from	
  Floodlight	
  0.9.0	
  	
  
	
  
Network	
  graph	
  for	
  topology	
  and	
  flow	
  state	
  (Titan/Cassandra)	
  
	
  
Distributed	
  registry	
  for	
  master	
  elec.on	
  (Zookeeper)	
  
	
  
Topology	
  discovery,	
  path	
  computa.on,	
  flow	
  management	
  
	
  
ONOS	
  REST	
  API:	
  
Ø  	
  Topology	
  traversal	
  
Ø  Flow	
  path	
  manipula.on	
  
SDN-­‐IP	
  BGP	
  peering	
  
ONOS	
  Learning	
  Curve	
  
ONOS	
  Core	
  
ONOS	
  Apps	
  
Eventually	
  consistent	
  network	
  graph	
  allows	
  concurrent	
  applica$ons	
  
	
  
Strongly	
  consistent	
  registry	
  useful	
  for	
  control	
  plane	
  failovers	
  
	
  
Elec$ng	
  master	
  ONOS	
  instance	
  per	
  switch	
  allows	
  scale-­‐out	
  design	
  
	
  
Need	
  careful	
  considera$on	
  of	
  latency	
  in	
  distributed	
  compu$ng	
  
Graph	
  abstrac$on	
  makes	
  it	
  easy	
  to	
  develop	
  applica$ons	
  
	
  
Applica$ons	
  can	
  be	
  scaled-­‐out	
  if	
  they	
  are	
  aware	
  of	
  control	
  par$$ons	
  
What	
  is	
  Next	
  for	
  ONOS	
  	
  
ONOS	
  Core	
  
ONOS	
  Apps	
  
Reac.ve	
  flows	
  and	
  low-­‐latency	
  forwarding	
  
Events,	
  callbacks	
  and	
  publish/subscribe	
  API	
  
Expand	
  graph	
  abstrac.on	
  for	
  more	
  types	
  of	
  network	
  state	
  	
  
ONOS	
  Northbound	
  API	
  
Service	
  chaining	
  
Network	
  monitoring,	
  analy.cs	
  and	
  debugging	
  framework	
  
Community	
  
Release	
  as	
  open	
  source	
  
	
  
Build	
  and	
  assist	
  developer	
  community	
  outside	
  ON.LAB	
  
	
  
Support	
  deployments	
  in	
  R&E	
  networks	
  
www.onlab.us	
  
Open Network Operating System
Open Network Operating System
Open Network Operating System
Open Network Operating System

Open Network Operating System

  • 1.
    ONOS   Open  Network  Opera.ng  System     Open-­‐Source  Distributed  SDN  OS  
  • 2.
    Rou$ng   TE   Network  OS   Packet   Forwarding       Packet   Forwarding       Packet   Forwarding       Mobility   Programmable   Base  Sta$on     Openflow   SDN  Reference  Architecture  
  • 3.
    Rou$ng   TE   Network  OS   Packet   Forwarding       Packet   Forwarding       Packet   Forwarding       Mobility   Programmable   Base  Sta$on     Openflow   Scale-­‐out?   Fault  Tolerance?   Northbound  API?   SDN  Persistent  Ques.ons  
  • 4.
    Related  Work     Distributed  control  plaGorm  for  large-­‐scale  networks   Focus  on  reliability,  scalability,  and  generality   State  distribu.on  primi.ves,  global  network  view,  ONIX  API   ONIX   Other  Work   Helios,  Hyperflow,  Maestro,  Kandoo  distributed  control  planes   NOX,  POX,  Beacon,  Floodlight,  Trema  controllers  
  • 5.
    Mo.va.on  for  ONOS   Network  OS   Rou$ng   TE   Mobility   Instance  1   Instance  3  Instance  2   Instance  …   Distributed  Network  OS   Rou$ng   TE   Mobility   Proprietary  efforts  have  been  addressing  these  issues  but  are  closed  source   Community  needs  an  open  source  distributed  SDN  OS  
  • 6.
    Host   Host   Host   Titan  Graph  DB   Cassandra  In-­‐Memory  DHT   Instance  1   Instance  2   Instance  3   Network  Graph   Eventually  consistent   Distributed  Registry   Strongly  Consistent   Zookeeper   ONOS  core   Floodlight   ONOS  core   Floodlight   ONOS  core   Floodlight   ONOS  High  Level  Architecture  
  • 7.
    Cassandra     In-­‐memory  DHT   Id:  1   A   Id:  101,  Label   Id:  103,  Label   Id:  2   C   Id:  3   B   Id:  102,  Label   Id:  104,  Label   Id:  106,  Label   Id:  105,  Label   Network  Graph     Titan  Graph  DB   ONOS  Network  Graph  Abstrac.on  
  • 8.
    Switch  Manager  Switch  Manager  Switch  Manager   Network  Graph:  Switches   OF   OF   OF   OF   OF   OF   Network  Graph  and  Switches  
  • 9.
    SM   Network  Graph:  Links   SM   SM   Link  Discovery   Link  Discovery   Link  Discovery   LLDP   LLDP   Network  Graph  and  Link  Discovery  
  • 10.
    Network  Graph:  Devices   SM   SM   SM  LD   LD   LD   Device  Manager   Device  Manager   Device  Manager   PKTIN   PKTIN   PKTIN   Host   Host   Host   Devices  and  Network  Graph  
  • 11.
    SM   SM   SM  LD   LD   LD   Host   Host   Host   DM   DM   DM   Path  Computa.on   Path  Computa.on   Path  Computa.on   Network  Graph:  Flow  Paths   Flow  1   Flow  4   Flow  7   Flow  2   Flow  5   Flow  3   Flow  6   Flow  8   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Path  Computa.on  with  Network  Graph  
  • 12.
    SM   SM   SM  LD   LD   LD   Host   Host   Host   DM   DM   DM   Flow  Manager   Network  Graph:  Flows   PC   PC   PC   Flow  Manager   Flow  Manager  Flowmod   Flowmod   Flowmod   Flow  1   Flow  4   Flow  7   Flow  2   Flow  5   Flow  3   Flow  6   Flow  8   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Network  Graph  and  Flow  Manager  
  • 13.
    SM   SM   SM  LD   LD   LD   Host   Host   Host   DM   DM   DM   Network  Graph   FM   FM   FM   Distributed   Registry   A   B   C   D   E   F   Flow  1   Flow  4   Flow  7   Flow  2   Flow  5   Flow  3   Flow  6   Flow  8   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Master  Elec.on  A:  ONOS  1    C:  ONOS  2      E:  ONOS  3                              B:  ONOS  1    D:  ONOS  2      F:  ONOS  3   ONOS  Instance  1   ONOS  Instance  2   ONOS  Instance  3   Distributed  Registry:  Master  Elec.on  
  • 14.
    SM   SM   SM  LD   LD   LD   Host   Host   Host   DM   DM   DM   Network  Graph   FM   FM   FM   Distributed   Registry   A   B   C   D   E   F   Master  Elec.on  A:  ONOS  1    C:  ONOS  2      E:  ONOS  3                              B:  ONOS  1    D:  ONOS  2      F:  ONOS  3   ONOS  Instance  1   ONOS  Instance  2   ONOS  Instance  3   Flow  1   Flow  4   Flow  7   Flow  2   Flow  5   Flow  3   Flow  6   Flow  8   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Distributed  Registry:  Instance  Failover  
  • 15.
    SM   SM  LD   LD   Host   Host   Host   DM   DM   Network  Graph   FM   FM   Distributed   Registry   A   B   C   D   E   F   Flow  1   Flow  4   Flow  7   Flow  2   Flow  5   Flow  3   Flow  6   Flow  8   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Master  Elec.on  A:        C:  ONOS  2      E:  ONOS  3                              B:        D:  ONOS  2      F:  ONOS  3   ONOS  Instance  2   ONOS  Instance  3   Distributed  Registry:  Instance  Failover  
  • 16.
    SM   SM  LD   LD   Host   Host   Host   DM   DM   Network  Graph   FM   FM   Distributed   Registry   A   B   C   D   E   F   Flow  1   Flow  4   Flow  7   Flow  2   Flow  5   Flow  3   Flow  6   Flow  8   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Flow  entries  Flow  entries  Flow  entries   Master  Elec.on  A:  ONOS  2    C:  ONOS  2      E:  ONOS  3                              B:  ONOS  3    D:  ONOS  2      F:  ONOS  3   ONOS  Instance  2   ONOS  Instance  3   Distributed  Registry:  Instance  Failover  
  • 17.
    ONOS  Current  State   ONOS  Core   ONOS  Apps   Derived  from  Floodlight  0.9.0       Network  graph  for  topology  and  flow  state  (Titan/Cassandra)     Distributed  registry  for  master  elec.on  (Zookeeper)     Topology  discovery,  path  computa.on,  flow  management     ONOS  REST  API:   Ø   Topology  traversal   Ø  Flow  path  manipula.on   SDN-­‐IP  BGP  peering  
  • 18.
    ONOS  Learning  Curve   ONOS  Core   ONOS  Apps   Eventually  consistent  network  graph  allows  concurrent  applica$ons     Strongly  consistent  registry  useful  for  control  plane  failovers     Elec$ng  master  ONOS  instance  per  switch  allows  scale-­‐out  design     Need  careful  considera$on  of  latency  in  distributed  compu$ng   Graph  abstrac$on  makes  it  easy  to  develop  applica$ons     Applica$ons  can  be  scaled-­‐out  if  they  are  aware  of  control  par$$ons  
  • 19.
    What  is  Next  for  ONOS     ONOS  Core   ONOS  Apps   Reac.ve  flows  and  low-­‐latency  forwarding   Events,  callbacks  and  publish/subscribe  API   Expand  graph  abstrac.on  for  more  types  of  network  state     ONOS  Northbound  API   Service  chaining   Network  monitoring,  analy.cs  and  debugging  framework   Community   Release  as  open  source     Build  and  assist  developer  community  outside  ON.LAB     Support  deployments  in  R&E  networks  
  • 20.