SlideShare a Scribd company logo
1 of 43
Download to read offline
ONOS	
  
Open	
  Network	
  Opera.ng	
  System	
  
	
  
Experimental	
  Open-­‐Source	
  Distributed	
  SDN	
  OS	
  
So3ware	
  Defined	
  Networking	
  	
  
TE	
  
Network	
  OS	
  
Mobility	
  
Network	
  Virtualiza6on	
  
Sco9	
  Shenker,	
  
ONS	
  ‘11	
  
Global	
  Network	
  View	
  
Packet	
  
Forwarding	
  	
  
	
   Packet	
  
Forwarding	
  	
  
	
  
Packet	
  
Forwarding	
  	
  
	
  
Packet	
  
Forwarding	
  	
  
	
  
Packet	
  
Forwarding	
  	
  
	
  
Openflow	
  
Rou6ng	
  
Abstract	
  Network	
  Model	
  
Logically	
  Centralized	
  NOS	
  –	
  Key	
  Ques.ons	
  
TE	
  
Network	
  OS	
  
Mobility	
  
Network	
  Virtualiza6on	
  
Global	
  Network	
  View	
  
Packet	
  
Forwarding	
  	
  
	
   Packet	
  
Forwarding	
  	
  
	
  
Packet	
  
Forwarding	
  	
  
	
  
Packet	
  
Forwarding	
  	
  
	
  
Packet	
  
Forwarding	
  	
  
	
  
Openflow	
  
Rou6ng	
  
Abstract	
  Network	
  Model	
  
Fault	
  Tolerance?	
  
Scale-­‐out?	
  
How	
  to	
  realize	
  a	
  
	
  Global	
  Network	
  View	
  
Related	
  Work	
  	
  
Distributed	
  control	
  plaQorm	
  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	
  
Ø  Build	
  an	
  open	
  source	
  distributed	
  NOS	
  
Ø  	
  Learn	
  and	
  share	
  with	
  community	
  
Ø  	
  Target	
  WAN	
  use	
  cases	
  
	
  
Ø Demo	
  Key	
  Func6onality	
  
Ø Fault-­‐Tolerance:	
  Highly	
  Available	
  Control	
  plane	
  
Ø Scale-­‐out:	
  Using	
  distributed	
  Architecture	
  
Ø Global	
  Network	
  View:	
  Network	
  Graph	
  abstrac6on	
  
Ø Non	
  Goals	
  
Ø Performance	
  op6miza6on	
  	
  
Ø Support	
  for	
  reac6ve	
  flows	
  
Ø Stress	
  tes6ng	
  
Phase	
  1:	
  Goals	
  
December	
  2012	
  –	
  April	
  2013	
  
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	
  
How	
  does	
  ONOS	
  scale-­‐out?	
  
ONOS:	
  Scale-­‐out	
  using	
  control	
  isola.on	
  
Distributed	
  
Network	
  OS	
  
Instance	
  2	
  
	
  
Instance	
  3	
  
	
  
	
  	
  	
  	
  	
  	
  
	
  	
   	
  	
   	
  	
  
Instance	
  1	
  
	
  
Network	
  	
  Graph	
  
Simple	
  Scale-­‐out	
  Design	
  
Ø  An	
  instance	
  is	
  responsible	
  for	
  building	
  &	
  maintaining	
  a	
  part	
  of	
  network	
  graph	
  
Ø  Control	
  capacity	
  can	
  grow	
  with	
  network	
  size	
  	
  
Distributed	
  Registry	
  for	
  Control	
  
Isola.on	
  
ONOS:	
  Master	
  Elec.on	
  
Distributed	
  
Network	
  OS	
  
Instance	
  2	
  
	
  
Instance	
  3	
  
	
  
Instance	
  1	
  
	
  
Master	
  
	
  Switch	
  A	
  =	
  NONE	
  
Master	
  
	
  Switch	
  A	
  =	
  NONE	
  
Distributed	
  
Registry	
  
Host	
  
Host	
  
Host	
  
A	
  
B	
  
C	
  
D	
  
E	
  
F	
  
Master	
  
	
  Switch	
  A	
  =	
  NONE	
  
Candidates	
  =	
  ONOS	
  1,	
  
ONOS	
  2,	
  ONOS3	
  
Master	
  
	
  Switch	
  A	
  =	
  NONE	
  
Candidates	
  =	
  ONOS	
  1,	
  
ONOS	
  2,	
  ONOS3	
  
Master	
  
	
  Switch	
  A	
  =	
  NONE	
  
Master	
  
	
  Switch	
  A	
  =	
  NONE	
  
Candidates	
  =	
  ONOS	
  1,	
  
ONOS	
  2,	
  ONOS3	
  
Master	
  
	
  Switch	
  A	
  =	
  ONOS	
  1	
  
Candidates	
  =	
  ONOS	
  2,	
  
ONOS	
  3	
  
Master	
  
	
  Switch	
  A	
  =	
  ONOS1	
  
Candidates	
  =	
  	
  ONOS	
  2,	
  
ONOS3	
  
Master	
  
	
  Switch	
  A	
  =	
  ONOS1	
  
Candidates	
  =	
  ONOS	
  2,	
  
ONOS3	
  
Fault-­‐tolerance	
  using	
  Distributed	
  
Registry	
  
Master	
  
	
  Switch	
  A	
  =	
  ONOS1	
  
Candidates	
  =	
  ONOS	
  2,	
  
ONOS	
  3	
  
Master	
  
	
  Switch	
  A	
  =	
  ONOS1	
  
Candidates	
  =	
  	
  ONOS	
  2,	
  
ONOS	
  3	
  
Master	
  
	
  Switch	
  A	
  =	
  ONOS	
  1	
  
Candidates	
  =	
  ONOS	
  2,	
  
ONOS	
  3	
  
ONOS:	
  Control	
  Plane	
  Failover	
  
Distributed	
  
Network	
  OS	
  
Instance	
  2	
  
	
  
Instance	
  3	
  
	
  
Instance	
  1	
  
	
  
Distributed	
  
Registry	
  
Host	
  
Host	
  
Host	
  
A	
  
B	
  
C	
  
D	
  
E	
  
F	
  
Master	
  
	
  Switch	
  A	
  =	
  NONE	
  	
  	
  
Candidates	
  =	
  ONOS	
  2,	
  
ONOS3	
  
Master	
  
	
  Switch	
  A	
  =	
  NONE	
  
Candidates	
  =	
  ONOS	
  2,	
  
ONOS3	
  
Master	
  
	
  Switch	
  A	
  =	
  NONE	
  
Candidates	
  =	
  	
  ONOS	
  2,	
  
ONOS3	
  
Master	
  
	
  Switch	
  A	
  =	
  ONOS2	
  	
  
Candidates	
  =	
  ONOS3	
  
Master	
  
	
  Switch	
  A	
  =	
  ONOS2	
  	
  
Candidates	
  =	
  ONOS3	
  
Master	
  
	
  Switch	
  A	
  =	
  ONOS2	
  	
  
Candidates	
  =	
  ONOS3	
  
Network	
  Graph	
  to	
  realize	
  
	
  global	
  network	
  view	
  
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	
  
Network	
  Graph	
  
port	
switch	
 port	
device	
port	
on	
port	
port	
port	
link	
switch	
on	
device	
host	
 host	
Ø  Network	
  state	
  is	
  naturally	
  represented	
  as	
  a	
  graph	
  
Ø  Graph	
  has	
  basic	
  network	
  objects	
  like	
  switch,	
  port,	
  device	
  and	
  links	
  
Ø  Applica.on	
  writes	
  to	
  this	
  graph	
  &	
  programs	
  the	
  data	
  plane	
  
Example:	
  Path	
  Computa.on	
  App	
  on	
  
Network	
  Graph	
  
port	
switch	
 port	
device	
Flow	
  path	
Flow	
  entry	
port	
on	
port	
port	
port	
link	
switch	
inport	
on	
Flow	
  entry	
device	
outport	
switch	
switch	
host	
 host	
flow	
flow	
•  Applica.on	
  computes	
  path	
  by	
  traversing	
  the	
  links	
  from	
  source	
  to	
  des.na.on	
  
•  Applica.on	
  writes	
  each	
  flow	
  entry	
  for	
  the	
  path	
  
Thus	
  path	
  computa.on	
  app	
  does	
  not	
  need	
  to	
  worry	
  about	
  topology	
  maintenance	
  	
  
Example:	
  A	
  simpler	
  abstrac.on	
  on	
  network	
  
graph?	
  	
  
Logical	
  Crossbar	
port	
switch	
 port	
device	
Edge	
  Port	
port	
on	
port	
port	
port	
link	
switch	
physical	
on	
Edge	
  Port	
device	
physical	
host	
host	
•  App	
  or	
  service	
  on	
  top	
  of	
  ONOS	
  	
  
•  Maintains	
  mapping	
  from	
  simpler	
  to	
  complex	
  	
  
Thus	
  makes	
  applica.ons	
  even	
  simpler	
  and	
  enables	
  new	
  abstrac.ons	
  
Virtual	
  network	
  objects	
Real	
  network	
  objects
Ø Demo	
  Key	
  Func6onality	
  
ü Fault-­‐Tolerance:	
  Highly	
  Available	
  Control	
  plane	
  
ü Scale-­‐out:	
  Using	
  distributed	
  Architecture	
  
ü Global	
  Network	
  View:	
  Network	
  Graph	
  abstrac6on	
  
	
  
Phase	
  1:	
  Goals	
  
December	
  2012	
  –	
  April	
  2013	
  
How	
  is	
  Network	
  Graph	
  built	
  and	
  
maintained	
  by	
  ONOS?	
  
Switch	
  Manager	
   Switch	
  Manager	
  Switch	
  Manager	
  
Network	
  Graph:	
  Switches	
  
OF	
  
OF	
  
OF	
  
OF	
  
OF	
  
OF	
  
Network	
  Graph	
  and	
  Switches	
  
SM	
  
Network	
  Graph	
  
Switch	
  Manager	
   SM	
  Switch	
  Manager	
   SM	
  Switch	
  Manager	
  
Link	
  Discovery	
   Link	
  Discovery	
   Link	
  Discovery	
  
Network	
  Graph	
  and	
  Link	
  Discovery	
  
SM	
  
Network	
  Graph:	
  Links	
  
SM	
   SM	
  
Link	
  Discovery	
   Link	
  Discovery	
   Link	
  Discovery	
  
LLDP	
   LLDP	
   LLDP	
  
Network	
  Graph	
  and	
  Link	
  Discovery	
  
Network	
  Graph	
  
SM	
   SM	
   SM	
  
Link	
  Discovery	
   Link	
  Discovery	
   Link	
  Discovery	
  
LD	
   LD	
   LD	
  
Devices	
  and	
  Network	
  Graph	
  
Device	
  Manager	
   Device	
  Manager	
   Device	
  Manager	
  
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	
  
How	
  Applica.ons	
  use	
  Network	
  Graph?	
  
SM	
   SM	
   SM	
  LD	
   LD	
   LD	
  
Device	
  Manager	
   Device	
  Manager	
   Device	
  Manager	
  
Host	
  
Host	
  
Host	
  
DM	
   DM	
   DM	
  
Path	
  Computa.on	
   Path	
  Computa.on	
   Path	
  Computa.on	
  
Network	
  Graph	
  
Path	
  Computa.on	
  with	
  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	
  
Path	
  Computa.on	
   Path	
  Computa.on	
  
Network	
  Graph	
  
PC	
   PC	
   PC	
  Path	
  Computa.on	
  
Flow	
  Manager	
   Flow	
  Manager	
  
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	
  
Flow	
  Manager	
  
Network	
  Graph:	
  Flows	
  
PC	
   PC	
   PC	
  
Flow	
  Manager	
   Flow	
  Manager	
  Flowmod	
   Flowmod	
   Flowmod	
  
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	
  
Flow	
  Manager	
  
Network	
  Graph	
  
PC	
   PC	
   PC	
  
Flow	
  Manager	
   Flow	
  Manager	
  
FM	
   FM	
   FM	
  
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	
  
ONOS	
  uses	
  two	
  different	
  consistency	
  
models.	
  Why?	
  
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	
  
Consistency	
  Defini.on	
  
Ø  Strong	
  Consistency:	
  Upon	
  an	
  update	
  to	
  the	
  network	
  state	
  by	
  an	
  
instance,	
  all	
  subsequent	
  reads	
  by	
  any	
  instance	
  returns	
  the	
  last	
  updated	
  
value.	
  	
  
Ø  Strong	
  consistency	
  adds	
  complexity	
  and	
  latency	
  to	
  distributed	
  data	
  
management.	
  
	
  
	
  
Ø  Eventual	
  consistency	
  is	
  slight	
  relaxa.on	
  –	
  allowing	
  readers	
  to	
  be	
  behind	
  
for	
  a	
  short	
  period	
  of	
  .me.	
  	
  
Strong	
  Consistency	
  using	
  Registry	
  
Distributed	
  
Network	
  OS	
  
	
  	
  
Instance	
  2	
  
	
  
Instance	
  3	
  
	
  
	
  	
  	
  	
  
Network	
  Graph	
  
Instance	
  1	
  
	
  
A	
  =	
  	
  
Switch	
  A	
  
Master	
  =	
  NONE	
  	
  
A	
  =	
  ONOS	
  1	
  	
  
Timeline	
  
All	
  instances	
  	
  
	
  Switch	
  A	
  	
  Master	
  =	
  NONE	
  
Instance	
  1	
  Switch	
  A	
  Master	
  =	
  ONOS	
  1	
  
Instance	
  2	
  Switch	
  A	
  Master	
  =	
  ONOS	
  1	
  
Instance	
  3	
  Switch	
  A	
  Master	
  =	
  ONOS	
  1	
  
Master	
  elected	
  for	
  switch	
  A	
  
Registry	
   Switch	
  A	
  	
  
Master	
  =	
  NONE	
  
Switch	
  A	
  	
  
Master	
  =	
  ONOS	
  1	
  	
  
Switch	
  A	
  	
  
Master	
  =	
  ONOS	
  1	
  	
  
Switch	
  A	
  
Master	
  =	
  NONE	
  	
  	
  
Switch	
  A	
  
	
  Master	
  =	
  ONOS	
  1	
  	
  
Cost	
  of	
  Locking	
  
All	
  instances	
  	
  
	
  Switch	
  A	
  	
  Master	
  =	
  NONE	
  
Why	
  Strong	
  Consistency	
  is	
  needed	
  for	
  
Master	
  Elec.on	
  
Ø  Weaker	
  consistency	
  might	
  mean	
  Master	
  elec.on	
  on	
  
instance	
  1	
  will	
  not	
  be	
  available	
  on	
  other	
  instances.	
  
Ø  That	
  can	
  lead	
  to	
  having	
  mul.ple	
  masters	
  for	
  a	
  switch.	
  
Ø  Mul.ple	
  Masters	
  will	
  break	
  our	
  seman.c	
  of	
  control	
  
isola.on.	
  
Ø  Strong	
  locking	
  seman.c	
  is	
  needed	
  for	
  Master	
  Elec.on	
  
Eventual	
  Consistency	
  in	
  Network	
  Graph	
  
Distributed	
  
Network	
  OS	
  
	
  	
  
Instance	
  2	
  
	
  
Instance	
  3	
  
	
  
	
  	
  	
  	
  
Network	
  Graph	
  
Instance	
  1	
  
	
  
SWITCH	
  A	
  	
  
STATE=	
  INACTIVE	
  
Switch	
  A	
  
State	
  =	
  INACTIVE	
  
Switch	
  A	
  
STATE	
  =	
  INACTIVE	
  
All	
  instances	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  Switch	
  A	
  STATE	
  =	
  ACTIVE	
  
Instance	
  1	
  Switch	
  A	
  =	
  ACTIVE	
  
Instance	
  2	
  Switch	
  A	
  =	
  INACTIVE	
  
Instance	
  3	
  Switch	
  A	
  =	
  INACTIVE	
  
DHT	
  
Switch	
  Connected	
  to	
  ONOS	
  
Switch	
  A	
  
	
  State	
  =	
  ACTIVE	
  
Switch	
  A	
  	
  
State	
  =	
  ACTIVE	
  
Switch	
  A	
  
STATE	
  	
  =	
  ACTIVE	
  
Timeline	
  
All	
  instances	
  
	
  	
  	
  	
  	
  	
  Switch	
  A	
  	
  STATE	
  =	
  INACTIVE	
  
Consistency	
  Cost	
  
Cost	
  of	
  Eventual	
  Consistency	
  
Ø  Short	
  delay	
  will	
  mean	
  the	
  switch	
  A	
  state	
  is	
  not	
  ACTIVE	
  on	
  
some	
  ONOS	
  instances	
  in	
  previous	
  example.	
  
Ø  Applica.ons	
  on	
  one	
  instance	
  will	
  compute	
  flow	
  through	
  the	
  
switch	
  A	
  while	
  other	
  instances	
  will	
  not	
  use	
  the	
  switch	
  A	
  for	
  
path	
  computa.on.	
  
	
  
Ø  Eventual	
  consistency	
  becomes	
  more	
  visible	
  during	
  control	
  
plane	
  network	
  conges.on.	
  
Why	
  is	
  Eventual	
  Consistency	
  good	
  
enough	
  for	
  Network	
  State?	
  	
  
Ø  Physical	
  network	
  state	
  changes	
  asynchronously	
  	
  
Ø  Strong	
  consistency	
  across	
  data	
  and	
  control	
  plane	
  is	
  too	
  hard	
  
Ø  Control	
  apps	
  know	
  how	
  to	
  deal	
  with	
  eventual	
  consistency	
  
Ø  In	
  the	
  current	
  distributed	
  control	
  plane,	
  each	
  router	
  makes	
  its	
  
own	
  decision	
  based	
  on	
  old	
  info	
  from	
  other	
  parts	
  of	
  the	
  network	
  
and	
  it	
  works	
  fine	
  	
  	
  
Ø  Strong	
  Consistency	
  is	
  more	
  likely	
  to	
  lead	
  to	
  inaccuracy	
  of	
  
network	
  state	
  as	
  network	
  conges6ons	
  are	
  real.	
  
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	
  
Ø  Is	
  graph	
  the	
  right	
  abstrac.on?	
  
Ø  Can	
  it	
  scale	
  for	
  reac.ve	
  flows?	
  
Ø  What	
  is	
  the	
  Concurrency	
  requirement	
  on	
  graph?	
  
Ø  Is	
  it	
  large	
  enough	
  to	
  use	
  a	
  NoSQL	
  backend?	
  
Ø  What	
  about	
  No.fica.ons	
  or	
  publish/subscribe	
  on	
  Graph?	
  
	
  
Ø  Are	
  we	
  using	
  the	
  right	
  technologies	
  for	
  Graph?	
  
Ø  Is	
  DHT	
  a	
  right	
  choice?	
  
Ø  Cassandra	
  has	
  latencies	
  in	
  order	
  of	
  millisecond	
  –	
  is	
  it	
  ok?	
  
Ø  What	
  throughput	
  do	
  we	
  need?	
  
Ø  Titan	
  is	
  good	
  for	
  rapid	
  prototype	
  –	
  is	
  it	
  good	
  enough	
  for	
  produc.on?	
  
Ø  Have	
  we	
  got	
  our	
  Consistency	
  and	
  Par..on	
  Tolerance	
  right?	
  
Ø  What	
  is	
  the	
  latency	
  impact?	
  
Ø  Should	
  we	
  pick	
  Availability	
  over	
  Consistency?	
  
ONOS	
  	
  	
  	
  -­‐	
  	
  	
  	
  Ques.ons	
  
What	
  is	
  Next	
  for	
  ONOS	
  	
  
ONOS	
  Core	
  
ONOS	
  Apps	
  
Performance	
  benchmarks	
  and	
  improvements	
  
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	
  and/or	
  contribute	
  to	
  Open	
  DayLight.	
  
	
  
Build	
  and	
  assist	
  developer	
  community	
  outside	
  ON.LAB	
  
	
  
Support	
  deployments	
  in	
  R&E	
  networks	
  
	
  
	
  
www.onlab.us	
  

More Related Content

What's hot

The Openflow Soft Switch
The Openflow Soft SwitchThe Openflow Soft Switch
The Openflow Soft SwitchKrzysztof Rutka
 
Software Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architectureSoftware Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architecturePritesh Ranjan
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlowJoel W. King
 
Onos overview meetup sdn paris - redux
Onos overview  meetup sdn paris - reduxOnos overview  meetup sdn paris - redux
Onos overview meetup sdn paris - reduxSDN_Paris
 
SDN (Software Defined Networking) Controller
SDN (Software Defined Networking) ControllerSDN (Software Defined Networking) Controller
SDN (Software Defined Networking) ControllerVipin Gupta
 
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...Daniel Gheorghita
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & EcosystemKingston Smiler
 
Openflow overview
Openflow overviewOpenflow overview
Openflow overviewopenflowhub
 
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa RojasClash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa RojasOpenNebula Project
 
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load Balancing
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load BalancingL3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load Balancing
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load BalancingJan Schaumann
 
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionOpenlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionCcie Light
 
OpenFlow: What is it Good For?
OpenFlow: What is it Good For? OpenFlow: What is it Good For?
OpenFlow: What is it Good For? APNIC
 
Bgpcep odl summit 2015
Bgpcep odl summit 2015Bgpcep odl summit 2015
Bgpcep odl summit 2015Giles Heron
 
opendayight loadBalancer
opendayight loadBalancer opendayight loadBalancer
opendayight loadBalancer Khubaib Mahar
 
Introduction of ONOS and core technology
Introduction of ONOS and core technologyIntroduction of ONOS and core technology
Introduction of ONOS and core technologysangyun han
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorialopenflow
 
ONOS SDN-IP: Tutorial and Use Case for SDX
ONOS SDN-IP: Tutorial and Use Case for SDXONOS SDN-IP: Tutorial and Use Case for SDX
ONOS SDN-IP: Tutorial and Use Case for SDXAPNIC
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)rjain51
 
Implementing MPLS Services using Openflow
Implementing MPLS Services using OpenflowImplementing MPLS Services using Openflow
Implementing MPLS Services using OpenflowAPNIC
 

What's hot (20)

The Openflow Soft Switch
The Openflow Soft SwitchThe Openflow Soft Switch
The Openflow Soft Switch
 
Software Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architectureSoftware Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architecture
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlow
 
Onos overview meetup sdn paris - redux
Onos overview  meetup sdn paris - reduxOnos overview  meetup sdn paris - redux
Onos overview meetup sdn paris - redux
 
SDN (Software Defined Networking) Controller
SDN (Software Defined Networking) ControllerSDN (Software Defined Networking) Controller
SDN (Software Defined Networking) Controller
 
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & Ecosystem
 
Openflow overview
Openflow overviewOpenflow overview
Openflow overview
 
Understanding OpenFlow
Understanding OpenFlowUnderstanding OpenFlow
Understanding OpenFlow
 
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa RojasClash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas
 
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load Balancing
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load BalancingL3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load Balancing
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load Balancing
 
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionOpenlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sion
 
OpenFlow: What is it Good For?
OpenFlow: What is it Good For? OpenFlow: What is it Good For?
OpenFlow: What is it Good For?
 
Bgpcep odl summit 2015
Bgpcep odl summit 2015Bgpcep odl summit 2015
Bgpcep odl summit 2015
 
opendayight loadBalancer
opendayight loadBalancer opendayight loadBalancer
opendayight loadBalancer
 
Introduction of ONOS and core technology
Introduction of ONOS and core technologyIntroduction of ONOS and core technology
Introduction of ONOS and core technology
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorial
 
ONOS SDN-IP: Tutorial and Use Case for SDX
ONOS SDN-IP: Tutorial and Use Case for SDXONOS SDN-IP: Tutorial and Use Case for SDX
ONOS SDN-IP: Tutorial and Use Case for SDX
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Implementing MPLS Services using Openflow
Implementing MPLS Services using OpenflowImplementing MPLS Services using Openflow
Implementing MPLS Services using Openflow
 

Viewers also liked

OCP Engineering Workshop at UNH
OCP Engineering Workshop at UNH OCP Engineering Workshop at UNH
OCP Engineering Workshop at UNH 호용 류
 
Open network operating system (onos)
Open network operating system (onos)Open network operating system (onos)
Open network operating system (onos)Ameer Sameer
 
OVNC 2015-Enabling Software-Defined Transformation of Service Provider Networks
OVNC 2015-Enabling Software-Defined Transformation of Service Provider NetworksOVNC 2015-Enabling Software-Defined Transformation of Service Provider Networks
OVNC 2015-Enabling Software-Defined Transformation of Service Provider NetworksNAIM Networks, Inc.
 
Inter-controller Traffic in ONOS Clusters for SDN Networks
Inter-controller Traffic in ONOS Clusters for SDN Networks Inter-controller Traffic in ONOS Clusters for SDN Networks
Inter-controller Traffic in ONOS Clusters for SDN Networks Paolo Giaccone
 
2016 COSCUP SDN Introduction
2016 COSCUP SDN Introduction2016 COSCUP SDN Introduction
2016 COSCUP SDN IntroductionYi Tseng
 
2016 COSCUP ONOS
2016 COSCUP ONOS2016 COSCUP ONOS
2016 COSCUP ONOSYi Tseng
 
ONOS-Based VIM Implementation
ONOS-Based VIM ImplementationONOS-Based VIM Implementation
ONOS-Based VIM ImplementationOPNFV
 
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발sangyun han
 
ONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testsangyun han
 
ONOS System Test - ONS2016
ONOS System Test - ONS2016ONOS System Test - ONS2016
ONOS System Test - ONS2016Suibin Zhang
 
ONOS - multiple instance setting(Distributed SDN Controller)
ONOS - multiple instance setting(Distributed SDN Controller)ONOS - multiple instance setting(Distributed SDN Controller)
ONOS - multiple instance setting(Distributed SDN Controller)sangyun han
 
SDN Symposium - Cybera
SDN Symposium - CyberaSDN Symposium - Cybera
SDN Symposium - CyberaEdgar Magana
 
Tools and Platforms for OpenFlow/SDN
Tools and Platforms for OpenFlow/SDNTools and Platforms for OpenFlow/SDN
Tools and Platforms for OpenFlow/SDNUmesh Krishnaswamy
 
ONOS build 2016 Sharing
ONOS build 2016 SharingONOS build 2016 Sharing
ONOS build 2016 SharingChun Ming Ou
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutronmarkmcclain
 
CORD: Central Office Re-architected as a Datacenter
CORD: Central Office Re-architected as a DatacenterCORD: Central Office Re-architected as a Datacenter
CORD: Central Office Re-architected as a DatacenterOpen Networking Summits
 
Global SDN-IP Deployment at NCTU, Taiwan
Global SDN-IP Deployment at NCTU, TaiwanGlobal SDN-IP Deployment at NCTU, Taiwan
Global SDN-IP Deployment at NCTU, TaiwanFei Ji Siao
 
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014SAMeh Zaghloul
 

Viewers also liked (18)

OCP Engineering Workshop at UNH
OCP Engineering Workshop at UNH OCP Engineering Workshop at UNH
OCP Engineering Workshop at UNH
 
Open network operating system (onos)
Open network operating system (onos)Open network operating system (onos)
Open network operating system (onos)
 
OVNC 2015-Enabling Software-Defined Transformation of Service Provider Networks
OVNC 2015-Enabling Software-Defined Transformation of Service Provider NetworksOVNC 2015-Enabling Software-Defined Transformation of Service Provider Networks
OVNC 2015-Enabling Software-Defined Transformation of Service Provider Networks
 
Inter-controller Traffic in ONOS Clusters for SDN Networks
Inter-controller Traffic in ONOS Clusters for SDN Networks Inter-controller Traffic in ONOS Clusters for SDN Networks
Inter-controller Traffic in ONOS Clusters for SDN Networks
 
2016 COSCUP SDN Introduction
2016 COSCUP SDN Introduction2016 COSCUP SDN Introduction
2016 COSCUP SDN Introduction
 
2016 COSCUP ONOS
2016 COSCUP ONOS2016 COSCUP ONOS
2016 COSCUP ONOS
 
ONOS-Based VIM Implementation
ONOS-Based VIM ImplementationONOS-Based VIM Implementation
ONOS-Based VIM Implementation
 
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
 
ONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and test
 
ONOS System Test - ONS2016
ONOS System Test - ONS2016ONOS System Test - ONS2016
ONOS System Test - ONS2016
 
ONOS - multiple instance setting(Distributed SDN Controller)
ONOS - multiple instance setting(Distributed SDN Controller)ONOS - multiple instance setting(Distributed SDN Controller)
ONOS - multiple instance setting(Distributed SDN Controller)
 
SDN Symposium - Cybera
SDN Symposium - CyberaSDN Symposium - Cybera
SDN Symposium - Cybera
 
Tools and Platforms for OpenFlow/SDN
Tools and Platforms for OpenFlow/SDNTools and Platforms for OpenFlow/SDN
Tools and Platforms for OpenFlow/SDN
 
ONOS build 2016 Sharing
ONOS build 2016 SharingONOS build 2016 Sharing
ONOS build 2016 Sharing
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutron
 
CORD: Central Office Re-architected as a Datacenter
CORD: Central Office Re-architected as a DatacenterCORD: Central Office Re-architected as a Datacenter
CORD: Central Office Re-architected as a Datacenter
 
Global SDN-IP Deployment at NCTU, Taiwan
Global SDN-IP Deployment at NCTU, TaiwanGlobal SDN-IP Deployment at NCTU, Taiwan
Global SDN-IP Deployment at NCTU, Taiwan
 
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
 

Similar to ONOS Open Network Operating System

Disaggregated Networking - The Drivers, the Software & The High Availability
Disaggregated Networking - The Drivers, the Software & The High AvailabilityDisaggregated Networking - The Drivers, the Software & The High Availability
Disaggregated Networking - The Drivers, the Software & The High AvailabilityOpen Networking Summit
 
Innovation in SDN Tools and Platforms
Innovation in SDN Tools and PlatformsInnovation in SDN Tools and Platforms
Innovation in SDN Tools and PlatformsUmesh Krishnaswamy
 
Software defined network
Software defined networkSoftware defined network
Software defined networkBogamoga1
 
DragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutronDragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutronEran Gampel
 
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus NetworksOpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus NetworksOpenStack
 
Open Transport Switch Enables Network Virtualization
Open Transport Switch Enables Network VirtualizationOpen Transport Switch Enables Network Virtualization
Open Transport Switch Enables Network VirtualizationInfinera
 
OpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetupOpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetupEran Gampel
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networkingOpenSourceIndia
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networkingsuniltomar04
 
Network programmability: an Overview
Network programmability: an Overview Network programmability: an Overview
Network programmability: an Overview Aymen AlAwadi
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar
 
MUTE: Multi-Tier Edge networks
MUTE: Multi-Tier Edge networksMUTE: Multi-Tier Edge networks
MUTE: Multi-Tier Edge networksNitinder Mohan
 
ONOS-Based VIM Implementation
ONOS-Based VIM ImplementationONOS-Based VIM Implementation
ONOS-Based VIM ImplementationOPNFV
 
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...Cloud Native Day Tel Aviv
 
Modification of l3 learning switch code for firewall functionality in pox con...
Modification of l3 learning switch code for firewall functionality in pox con...Modification of l3 learning switch code for firewall functionality in pox con...
Modification of l3 learning switch code for firewall functionality in pox con...eSAT Journals
 
Running Neutron at Scale - Gal Sagie & Eran Gampel - OpenStack Day Israel 2016
Running Neutron at Scale - Gal Sagie & Eran Gampel - OpenStack Day Israel 2016Running Neutron at Scale - Gal Sagie & Eran Gampel - OpenStack Day Israel 2016
Running Neutron at Scale - Gal Sagie & Eran Gampel - OpenStack Day Israel 2016Cloud Native Day Tel Aviv
 

Similar to ONOS Open Network Operating System (20)

Disaggregated Networking - The Drivers, the Software & The High Availability
Disaggregated Networking - The Drivers, the Software & The High AvailabilityDisaggregated Networking - The Drivers, the Software & The High Availability
Disaggregated Networking - The Drivers, the Software & The High Availability
 
Innovation in SDN Tools and Platforms
Innovation in SDN Tools and PlatformsInnovation in SDN Tools and Platforms
Innovation in SDN Tools and Platforms
 
Software defined network
Software defined networkSoftware defined network
Software defined network
 
DragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutronDragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutron
 
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus NetworksOpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
 
Open Transport Switch Enables Network Virtualization
Open Transport Switch Enables Network VirtualizationOpen Transport Switch Enables Network Virtualization
Open Transport Switch Enables Network Virtualization
 
OpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetupOpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetup
 
Software Defined Networking: Primer
Software Defined Networking: Primer Software Defined Networking: Primer
Software Defined Networking: Primer
 
SDN approach.pptx
SDN approach.pptxSDN approach.pptx
SDN approach.pptx
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Network programmability: an Overview
Network programmability: an Overview Network programmability: an Overview
Network programmability: an Overview
 
SDN basics
SDN basicsSDN basics
SDN basics
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
 
MUTE: Multi-Tier Edge networks
MUTE: Multi-Tier Edge networksMUTE: Multi-Tier Edge networks
MUTE: Multi-Tier Edge networks
 
ONOS-Based VIM Implementation
ONOS-Based VIM ImplementationONOS-Based VIM Implementation
ONOS-Based VIM Implementation
 
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
 
Modification of l3 learning switch code for firewall functionality in pox con...
Modification of l3 learning switch code for firewall functionality in pox con...Modification of l3 learning switch code for firewall functionality in pox con...
Modification of l3 learning switch code for firewall functionality in pox con...
 
Running Neutron at Scale - Gal Sagie & Eran Gampel - OpenStack Day Israel 2016
Running Neutron at Scale - Gal Sagie & Eran Gampel - OpenStack Day Israel 2016Running Neutron at Scale - Gal Sagie & Eran Gampel - OpenStack Day Israel 2016
Running Neutron at Scale - Gal Sagie & Eran Gampel - OpenStack Day Israel 2016
 
Link_NwkingforDevOps
Link_NwkingforDevOpsLink_NwkingforDevOps
Link_NwkingforDevOps
 

Recently uploaded

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

ONOS Open Network Operating System

  • 1. ONOS   Open  Network  Opera.ng  System     Experimental  Open-­‐Source  Distributed  SDN  OS  
  • 2. So3ware  Defined  Networking     TE   Network  OS   Mobility   Network  Virtualiza6on   Sco9  Shenker,   ONS  ‘11   Global  Network  View   Packet   Forwarding       Packet   Forwarding       Packet   Forwarding       Packet   Forwarding       Packet   Forwarding       Openflow   Rou6ng   Abstract  Network  Model  
  • 3. Logically  Centralized  NOS  –  Key  Ques.ons   TE   Network  OS   Mobility   Network  Virtualiza6on   Global  Network  View   Packet   Forwarding       Packet   Forwarding       Packet   Forwarding       Packet   Forwarding       Packet   Forwarding       Openflow   Rou6ng   Abstract  Network  Model   Fault  Tolerance?   Scale-­‐out?   How  to  realize  a    Global  Network  View  
  • 4. Related  Work     Distributed  control  plaQorm  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   Ø  Build  an  open  source  distributed  NOS   Ø   Learn  and  share  with  community   Ø   Target  WAN  use  cases    
  • 6. Ø Demo  Key  Func6onality   Ø Fault-­‐Tolerance:  Highly  Available  Control  plane   Ø Scale-­‐out:  Using  distributed  Architecture   Ø Global  Network  View:  Network  Graph  abstrac6on   Ø Non  Goals   Ø Performance  op6miza6on     Ø Support  for  reac6ve  flows   Ø Stress  tes6ng   Phase  1:  Goals   December  2012  –  April  2013  
  • 7. 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  
  • 8. How  does  ONOS  scale-­‐out?  
  • 9. ONOS:  Scale-­‐out  using  control  isola.on   Distributed   Network  OS   Instance  2     Instance  3                             Instance  1     Network    Graph   Simple  Scale-­‐out  Design   Ø  An  instance  is  responsible  for  building  &  maintaining  a  part  of  network  graph   Ø  Control  capacity  can  grow  with  network  size    
  • 10. Distributed  Registry  for  Control   Isola.on  
  • 11. ONOS:  Master  Elec.on   Distributed   Network  OS   Instance  2     Instance  3     Instance  1     Master    Switch  A  =  NONE   Master    Switch  A  =  NONE   Distributed   Registry   Host   Host   Host   A   B   C   D   E   F   Master    Switch  A  =  NONE   Candidates  =  ONOS  1,   ONOS  2,  ONOS3   Master    Switch  A  =  NONE   Candidates  =  ONOS  1,   ONOS  2,  ONOS3   Master    Switch  A  =  NONE   Master    Switch  A  =  NONE   Candidates  =  ONOS  1,   ONOS  2,  ONOS3   Master    Switch  A  =  ONOS  1   Candidates  =  ONOS  2,   ONOS  3   Master    Switch  A  =  ONOS1   Candidates  =    ONOS  2,   ONOS3   Master    Switch  A  =  ONOS1   Candidates  =  ONOS  2,   ONOS3  
  • 13. Master    Switch  A  =  ONOS1   Candidates  =  ONOS  2,   ONOS  3   Master    Switch  A  =  ONOS1   Candidates  =    ONOS  2,   ONOS  3   Master    Switch  A  =  ONOS  1   Candidates  =  ONOS  2,   ONOS  3   ONOS:  Control  Plane  Failover   Distributed   Network  OS   Instance  2     Instance  3     Instance  1     Distributed   Registry   Host   Host   Host   A   B   C   D   E   F   Master    Switch  A  =  NONE       Candidates  =  ONOS  2,   ONOS3   Master    Switch  A  =  NONE   Candidates  =  ONOS  2,   ONOS3   Master    Switch  A  =  NONE   Candidates  =    ONOS  2,   ONOS3   Master    Switch  A  =  ONOS2     Candidates  =  ONOS3   Master    Switch  A  =  ONOS2     Candidates  =  ONOS3   Master    Switch  A  =  ONOS2     Candidates  =  ONOS3  
  • 14. Network  Graph  to  realize    global  network  view  
  • 15. 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  
  • 16. Network  Graph   port switch port device port on port port port link switch on device host host Ø  Network  state  is  naturally  represented  as  a  graph   Ø  Graph  has  basic  network  objects  like  switch,  port,  device  and  links   Ø  Applica.on  writes  to  this  graph  &  programs  the  data  plane  
  • 17. Example:  Path  Computa.on  App  on   Network  Graph   port switch port device Flow  path Flow  entry port on port port port link switch inport on Flow  entry device outport switch switch host host flow flow •  Applica.on  computes  path  by  traversing  the  links  from  source  to  des.na.on   •  Applica.on  writes  each  flow  entry  for  the  path   Thus  path  computa.on  app  does  not  need  to  worry  about  topology  maintenance    
  • 18. Example:  A  simpler  abstrac.on  on  network   graph?     Logical  Crossbar port switch port device Edge  Port port on port port port link switch physical on Edge  Port device physical host host •  App  or  service  on  top  of  ONOS     •  Maintains  mapping  from  simpler  to  complex     Thus  makes  applica.ons  even  simpler  and  enables  new  abstrac.ons   Virtual  network  objects Real  network  objects
  • 19. Ø Demo  Key  Func6onality   ü Fault-­‐Tolerance:  Highly  Available  Control  plane   ü Scale-­‐out:  Using  distributed  Architecture   ü Global  Network  View:  Network  Graph  abstrac6on     Phase  1:  Goals   December  2012  –  April  2013  
  • 20. How  is  Network  Graph  built  and   maintained  by  ONOS?  
  • 21. Switch  Manager   Switch  Manager  Switch  Manager   Network  Graph:  Switches   OF   OF   OF   OF   OF   OF   Network  Graph  and  Switches  
  • 22. SM   Network  Graph   Switch  Manager   SM  Switch  Manager   SM  Switch  Manager   Link  Discovery   Link  Discovery   Link  Discovery   Network  Graph  and  Link  Discovery  
  • 23. SM   Network  Graph:  Links   SM   SM   Link  Discovery   Link  Discovery   Link  Discovery   LLDP   LLDP   LLDP   Network  Graph  and  Link  Discovery  
  • 24. Network  Graph   SM   SM   SM   Link  Discovery   Link  Discovery   Link  Discovery   LD   LD   LD   Devices  and  Network  Graph   Device  Manager   Device  Manager   Device  Manager  
  • 25. 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  
  • 26. How  Applica.ons  use  Network  Graph?  
  • 27. SM   SM   SM  LD   LD   LD   Device  Manager   Device  Manager   Device  Manager   Host   Host   Host   DM   DM   DM   Path  Computa.on   Path  Computa.on   Path  Computa.on   Network  Graph   Path  Computa.on  with  Network  Graph  
  • 28. 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  
  • 29. SM   SM   SM  LD   LD   LD   Host   Host   Host   DM   DM   DM   Flow  Manager   Path  Computa.on   Path  Computa.on   Network  Graph   PC   PC   PC  Path  Computa.on   Flow  Manager   Flow  Manager   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  
  • 30. 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   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  
  • 31. SM   SM   SM  LD   LD   LD   Host   Host   Host   DM   DM   DM   Flow  Manager   Network  Graph   PC   PC   PC   Flow  Manager   Flow  Manager   FM   FM   FM   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  
  • 32. ONOS  uses  two  different  consistency   models.  Why?  
  • 33. 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  
  • 34. Consistency  Defini.on   Ø  Strong  Consistency:  Upon  an  update  to  the  network  state  by  an   instance,  all  subsequent  reads  by  any  instance  returns  the  last  updated   value.     Ø  Strong  consistency  adds  complexity  and  latency  to  distributed  data   management.       Ø  Eventual  consistency  is  slight  relaxa.on  –  allowing  readers  to  be  behind   for  a  short  period  of  .me.    
  • 35. Strong  Consistency  using  Registry   Distributed   Network  OS       Instance  2     Instance  3             Network  Graph   Instance  1     A  =     Switch  A   Master  =  NONE     A  =  ONOS  1     Timeline   All  instances      Switch  A    Master  =  NONE   Instance  1  Switch  A  Master  =  ONOS  1   Instance  2  Switch  A  Master  =  ONOS  1   Instance  3  Switch  A  Master  =  ONOS  1   Master  elected  for  switch  A   Registry   Switch  A     Master  =  NONE   Switch  A     Master  =  ONOS  1     Switch  A     Master  =  ONOS  1     Switch  A   Master  =  NONE       Switch  A    Master  =  ONOS  1     Cost  of  Locking   All  instances      Switch  A    Master  =  NONE  
  • 36. Why  Strong  Consistency  is  needed  for   Master  Elec.on   Ø  Weaker  consistency  might  mean  Master  elec.on  on   instance  1  will  not  be  available  on  other  instances.   Ø  That  can  lead  to  having  mul.ple  masters  for  a  switch.   Ø  Mul.ple  Masters  will  break  our  seman.c  of  control   isola.on.   Ø  Strong  locking  seman.c  is  needed  for  Master  Elec.on  
  • 37. Eventual  Consistency  in  Network  Graph   Distributed   Network  OS       Instance  2     Instance  3             Network  Graph   Instance  1     SWITCH  A     STATE=  INACTIVE   Switch  A   State  =  INACTIVE   Switch  A   STATE  =  INACTIVE   All  instances                    Switch  A  STATE  =  ACTIVE   Instance  1  Switch  A  =  ACTIVE   Instance  2  Switch  A  =  INACTIVE   Instance  3  Switch  A  =  INACTIVE   DHT   Switch  Connected  to  ONOS   Switch  A    State  =  ACTIVE   Switch  A     State  =  ACTIVE   Switch  A   STATE    =  ACTIVE   Timeline   All  instances              Switch  A    STATE  =  INACTIVE   Consistency  Cost  
  • 38. Cost  of  Eventual  Consistency   Ø  Short  delay  will  mean  the  switch  A  state  is  not  ACTIVE  on   some  ONOS  instances  in  previous  example.   Ø  Applica.ons  on  one  instance  will  compute  flow  through  the   switch  A  while  other  instances  will  not  use  the  switch  A  for   path  computa.on.     Ø  Eventual  consistency  becomes  more  visible  during  control   plane  network  conges.on.  
  • 39. Why  is  Eventual  Consistency  good   enough  for  Network  State?     Ø  Physical  network  state  changes  asynchronously     Ø  Strong  consistency  across  data  and  control  plane  is  too  hard   Ø  Control  apps  know  how  to  deal  with  eventual  consistency   Ø  In  the  current  distributed  control  plane,  each  router  makes  its   own  decision  based  on  old  info  from  other  parts  of  the  network   and  it  works  fine       Ø  Strong  Consistency  is  more  likely  to  lead  to  inaccuracy  of   network  state  as  network  conges6ons  are  real.  
  • 40. 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  
  • 41. Ø  Is  graph  the  right  abstrac.on?   Ø  Can  it  scale  for  reac.ve  flows?   Ø  What  is  the  Concurrency  requirement  on  graph?   Ø  Is  it  large  enough  to  use  a  NoSQL  backend?   Ø  What  about  No.fica.ons  or  publish/subscribe  on  Graph?     Ø  Are  we  using  the  right  technologies  for  Graph?   Ø  Is  DHT  a  right  choice?   Ø  Cassandra  has  latencies  in  order  of  millisecond  –  is  it  ok?   Ø  What  throughput  do  we  need?   Ø  Titan  is  good  for  rapid  prototype  –  is  it  good  enough  for  produc.on?   Ø  Have  we  got  our  Consistency  and  Par..on  Tolerance  right?   Ø  What  is  the  latency  impact?   Ø  Should  we  pick  Availability  over  Consistency?   ONOS        -­‐        Ques.ons  
  • 42. What  is  Next  for  ONOS     ONOS  Core   ONOS  Apps   Performance  benchmarks  and  improvements   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  and/or  contribute  to  Open  DayLight.     Build  and  assist  developer  community  outside  ON.LAB     Support  deployments  in  R&E  networks