Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Open Network Operating System

7,531 views

Published on

Introduction to Open Network Operating System. An open source distributed SDN OS from ON.Lab. www.onlab.us.

Published in: Technology, Business

Open Network Operating System

  1. 1. ONOS  Open  Network  Opera.ng  System    Open-­‐Source  Distributed  SDN  OS  
  2. 2. Rou$ng   TE  Network  OS  Packet  Forwarding       Packet  Forwarding      Packet  Forwarding      Mobility  Programmable  Base  Sta$on    Openflow  SDN  Reference  Architecture  
  3. 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. 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. 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. 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. 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. 8. Switch  Manager   Switch  Manager  Switch  Manager  Network  Graph:  Switches  OF  OF  OF  OF  OF  OF  Network  Graph  and  Switches  
  9. 9. SM  Network  Graph:  Links  SM   SM  Link  Discovery   Link  Discovery   Link  Discovery  LLDP   LLDP  Network  Graph  and  Link  Discovery  
  10. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 20. www.onlab.us  

×