so#ware(defined(networks( and(openflow(defined(networks(and(openflow(nanog50,october2010! nick...

39
So#ware Defined Networks and OpenFlow NANOG 50, October 2010 Nick McKeown [email protected] With Martin Casado and Scott Shenker And contributions from many others Supported by NSF, Stanford Clean Slate Program, Cisco, DoCoMo, DT, Ericsson, Google, NEC, Xilinx

Upload: dinhdien

Post on 27-Apr-2018

227 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

So#ware  Defined  Networks  and  OpenFlow  

NANOG  50,  October  2010  

Nick McKeown [email protected]

With Martin Casado and Scott Shenker And contributions from many others

Supported  by  NSF,  Stanford  Clean  Slate  Program,  Cisco,  DoCoMo,  DT,  Ericsson,  Google,  NEC,  Xilinx    

Page 2: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Original  quesLon  

Q:  Can  we  help  students  on  college  campuses  to  test  out  new  ideas  in  a  real  network,  at  scale?  

Page 3: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Problem  

– Many  good  research  ideas  on  college  campuses  

– No  way  to  test  new  ideas  at  scale,  on  real  networks,  with  real  user  traffic  

– Result:  Almost  no  technology  transfer  

Example  Ideas  –  Improvements  to  BGP,  mulLcast,  anycast,  Mobile  IP,  data  center  networks  such  as  VL2,  Portland.  

– Access  control,  energy  management,  workload/traffic  opLmizaLon,  VM  mobility,  …  

Page 4: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Build  a  programmable  testbed?  

Problems  – Special  hardware  is  expensive  or  unrealisLc  – Buildout  at  scale  is  too  expensive  – Hard  to  get  users  to  opt-­‐in  

Our  approach  – Add  the  “testbed  capability”  to  exisLng  hardware,  then  ride  on  the  coat-­‐tails  of  new  deployments  

Page 5: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Goals  

1.  Enable  deployment  of  new/experimental  network  services  in  a  producLon  network.  Real  traffic,  real  users,  over  real  topologies  at  real  line-­‐rates.    

2.  Real  network  silicon/hardware.  3.  Allow  users  to  opt-­‐in  to  experimental  services.  

Page 6: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Slicing  traffic  

All network traffic Untouched legacy traffic VLANs

OpenFlow traffic

Experiment #1

Experiment #2

Experiment N

VLANs

Page 7: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

OpenFlow  Basics  

Page 8: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Research Experiments

Step  1:    Separate  Control  from  Datapath  

Page 9: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Step  2:    Cache  flow  decisions  in  datapath  

“If header = x, send to port 4”

“If header = ?, send to me” “If header = y, overwrite header with z, send to ports 5,6”

Flow  Table  

Page 10: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Plumbing  PrimiLves  

1.  Match  arbitrary  bits  in  headers:  

–  Match  on  any  header,  or  new  header  –  Allows  any  flow  granularity  

2.  AcLons:  –  Forward  to  port(s),  drop,  send  to  controller  –  Overwrite  header  with  mask,  push  or  pop  –  Forward  at  specific  bit-­‐rate  

10  

Header   Data  

Match:  1000x01xx0101001x  

Page 11: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Ethernet Switch/Router

Page 12: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …
Page 13: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

OpenFlow Protocol (SSL)

Page 14: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

OpenFlow  Spec  process  hdp://openflow.org  

Current  – V1.0:  December  2009  

– V1.1:  Expected  November  2010  – Open  but  ad-­‐hoc  process  among  10-­‐15  companies  

Future  Planning  a  more  “standard”  process  from  2011  

Page 15: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Slicing  an  OpenFlow  Network  

Page 16: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Slicing  

Default

New routing protocol

New mobility mgmt

Page 17: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Ways  to  use  slicing  

•  Slice  by  feature  •  Slice  by  user  

•  Home-­‐grown  protocols  and  services  

•  Download  and  try  new  feature  •  Versioning  

Page 18: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Some  research  examples  

18  

Page 19: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

FlowVisor  slices  an  OpenFlow  network  

OpenFlow  Protocol  

FlowVisor  

OpenPipes  Experiment  

OpenFlow  Wireless  Experiment  

OpenFlow  Protocol  

PlugNServe  Load-­‐balancer  

Policy  #1  

MulLple,  isolated  slices  in  the  same  physical  network  

Page 20: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Demo  Infrastructure  with  Slicing  

Page 21: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

ApplicaLon-­‐specific  Load-­‐balancing  

OpenFlow    Switch  

OpenFlow    Switch  

OpenFlow    Switch  

OpenFlow    Switch  

Internet  

OpenFlow    Switch  

Goal:  Minimize  h#p  response  Lme  over  campus  network  Approach:  Route  over  path  to  jointly  minimize  <path  latency,  server  latency>  

Network  OS  

Load-­‐Balancer  

“Pick path & server”

Page 22: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

InterconLnental  VM  MigraLon  Moved a VM from Stanford to Japan without changing its IP.

VM hosted a video game server with active network connections.

Page 23: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Feature   Feature  

NOX  

Converging  Packet  and  Circuit  Networks  

IP  Router  

TDM  Switch  

WDM  Switch  

WDM  Switch  

IP  Router  

Goal:  Common  control  plane  for  “Layer  3”  and  “Layer  1”  networks  Approach:  Add  OpenFlow  to  all  switches;  use  common  network  OS  

OpenFlow  Protocol  

OpenFlow  Protocol  

[SupercompuLng  2009  Demo]  [OFC  2010]  

Page 24: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

ElasLcTree  Goal:  Reduce  energy  usage  in  data  center  networks  

Approach:    1.  Reroute  traffic  2.  Shut  off  links  and  switches  to  reduce  power  

[NSDI  2010]  

Network  OS  

DC  Manager  

“Pick paths”

Page 25: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

ElasLcTree  Goal:  Reduce  energy  usage  in  data  center  networks  

Approach:    1.  Reroute  traffic  2.  Shut  off  links  and  switches  to  reduce  power  

[NSDI  2010]  

Network  OS  

DC  Manager  

“Pick paths”

Page 26: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

OpenFlow  has  been  prototyped  on….  

Ethernet  switches  – HP,  Cisco,  NEC,  Quanta,  +  more  underway  

IP  routers  – Cisco,  Juniper,  NEC  

Switching  chips  – Broadcom,  Marvell  

Transport  switches  – Ciena,  Fujitsu  

WiFi  APs  and  WiMAX  BasestaLons  

Most  (all?)    hardware  switches  now  based  on    

Open  vSwitch…  

Page 27: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Open  vSwitch  hdp://openvswitch.org  

ToR  switch  

VM   VM   VM  

Open  vSwitch  

Linux, Xen

OpenFlow

Page 28: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Network  OS  

Several  commercial  Network  OS  in  development  – Commercial  deployments  2010/2011  

Research  – Research  community  mostly  uses  NOX  – Open-­‐source  available  at:  hdp://noxrepo.org    

28  

Page 29: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Part  2:  Where  does  this  lead?  

Page 30: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

What’s  the  problem?  

30  

Page 31: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Cellular  industry  

•  Recently  made  transiLon  to  IP  •  Billions  of  mobile  users  

•  Need  to  securely  extract  payments  and  hold  users  accountable  

•  IP  sucks  at  both,  yet  hard  to  change  

31  

Page 32: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Telco  Operators    

•  Global  IP  traffic  growing  40-­‐50%  per  year  •  End-­‐customer  monthly  bill  remains  unchanged  

•  Therefore,  CAPEX  and  OPEX  need  to  reduce  40-­‐50%  per  Gb/s  per  year  

•  But  in  pracLce,  reduces  by  ~20%  per  year  

How  can  they  differenLate  their  service  offering?  

32  

Page 33: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Example:  New  Data  Center  

Cost  200,000  servers  Fanout  of  20    10,000  switches  $5k  vendor  switch  =  $50M  $1k  commodity  switch  =  $10M  

Savings  in  10  data  centers  =  $400M  

Control  

More  flexible  control  Tailor  network  for  services  Quickly  improve  and  innovate  

Page 34: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Million  of  lines  of  source  code  

6000  RFCs   Barrier  to  entry  

Billions  of  gates   Bloated   Power  Hungry  

Looks  like  the  mainframe  industry  in  the  1980s  

A  closed  and    proprietary  industry  

Specialized  Packet  Forwarding  Hardware  

OperaLng  System  

Feature   Feature  

RouLng,  management,  mobility  management,    access  control,  VPNs,  …  

34  

Page 35: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Specialized  Packet  Forwarding  Hardware  

Feature   Feature  

Specialized  Packet  Forwarding  Hardware  

Specialized  Packet  Forwarding  Hardware  

Specialized  Packet  Forwarding  Hardware  

Specialized  Packet  Forwarding  Hardware  

OperaLng  System  

OperaLng  System  

OperaLng  System  

OperaLng  System  

OperaLng  System  

Network  OS  

Feature   Feature  

Feature   Feature  

Feature   Feature  

Feature   Feature  

Feature   Feature  

Restructured  Network  

35  

Page 36: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Feature   Feature  

Network  OS  

1.  Open  interface  to  packet  forwarding  

3.  Well-­‐defined  open  API  2.  At  least  one  Network  OS  

probably  many.  Open-­‐  and  closed-­‐source  

The  “So#ware-­‐defined  Network”  

OpenFlow  

36  

Packet  Forwarding    

Packet  Forwarding    

Packet  Forwarding    

Packet  Forwarding    

Packet  Forwarding    

Page 37: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

The  SDN  Approach  

Separate  control  from  the  datapath  –  i.e.  separate  policy  from  mechanism  

Datapath:  Define  minimal  network  instrucLon  set  – A  set  of  “plumbling  primiLves”  – A  vendor-­‐agnosLc  interface:  e.g.  OpenFlow  

Control:  Define  a  network-­‐wide  OS  – An  API  that  others  can  develop  on  

37  

Page 38: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Where  next?  

Expect  to  see  in  – Data  centers  – Small  WAN  trials  – Some  Campus  producLon  networks  

Eventually  could  move  into  – Larger  WAN  trials  – Enterprises  – Homes  

Page 39: So#ware(Defined(Networks( and(OpenFlow(Defined(Networks(and(OpenFlow(NANOG50,October2010! Nick McKeown nickm@stanford.edu With Martin Casado and Scott Shenker And …

Thank  you