lisp for sdn and nfv

35
LISP for SDN and NFV Vina Ermagan, Cisco Systems Sharon Barkai, ConteXtream Feb 4 th 2014

Upload: lamdan

Post on 01-Jan-2017

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LISP for SDN and NFV

LISP for SDN and NFV

Vina Ermagan, Cisco Systems Sharon Barkai, ConteXtream

Feb 4th 2014

Page 2: LISP for SDN and NFV

Agenda

•  LISP  Overview  •  LISP  and  SDN  • Availability  in  open  source  •  LISP  in  OpenDaylight  • Demos:  Service  Chaining  and  Disaster  Recovery  •  LISP  and  NFV    

Page 3: LISP for SDN and NFV

Locator/ID Separation Protocol

•  EID  (Endpoint  Iden-fier)  is  the  IP  address  of  a  host  –  just  as  it  is  today  

•  RLOC  (Rou-ng  Locator)  is  the  IP  address  of  the  LISP  router  for  the  host  

•  EID-­‐to-­‐RLOC  mapping  is  the  distributed  architecture  that  maps  EIDs  to  RLOCs  

Lisp  Mapping    Database  

VM VM VM

VM VM

App

OS

VM

Internet  Site  B  

Site  A  

Site  C  

LISP creates a Level of Indirection with two namespaces: EID  and  RLOC  

EID  Space  EID  Space  

RLOC  Space  

Page 4: LISP for SDN and NFV

Locator/ID Separation Protocol

Any  Physical  Network:  LAN,WAN,Hybrid  

Data  Plane:  EncapsulaMon  protocol  to  build  a  MulMtenant  Overlay  

 -­‐  MAC  in  IP    -­‐  IP  in  IP  

Control  Plane:  Mapping  of  Overlay  address    Space  to  underlying  physical  Network  including  policy  rouMng  

Lisp  Mapping    Database  

Open  Protocol:  RFC  published  

VM VM VM

VM VM

App

OS

VM

Internet  Site  B  

Site  A  

Site  C  

Page 5: LISP for SDN and NFV

Locator/ID Separation Protocol - policies

Policy:    -­‐  MulMhoming    -­‐  Load  Balancing    -­‐  Disaster  Recovery  

Data  Plane:  MulMtenant  Overlay  

   

Control  Plane:  Mapping  (+  policy)  of  overlay  to  underlying  network  

Lisp  Mapping    Database  

Open  Protocol:  RFC  published  

VM VM VM

VM VM

App

OS

VM

Internet  Site  B  

Site  A  

Site  C  

App

OS

Page 6: LISP for SDN and NFV

Locator/ID Separation Protocol - policies

Data  Plane:  MulMtenant  Overlay  

Control  Plane:  Mapping  (  +  policy)  of  overlay  to  underlying  network    

Policy:            -­‐  Traffic  Engineering    -­‐  Service  Chaining  

VM VM VM

VM VM

App

OS

VM

Open  Protocol:  RFC  published  

Database  

Page 7: LISP for SDN and NFV

SDN and LISP •  The  consensus  on  SDN  

•  Decoupling  of  Network  Control  Plane  form  the  Data  Plane  •  Programmable  •  Open  

•  The  goals  of  SDN  •  Increase  flexibility  and  development  speed  of  features  and  funcMonaliMes  

•  LISP  as  we  just  saw  •  Enables  network  virtualizaMon  via  dynamic  mulMtenant  overlays  •  Decoupled  control  plane  and  data  plane  •  Programmable  mapping  system  •  Open  

Page 8: LISP for SDN and NFV

LISP in Open Source •  LISPmob.org  

•  Linux  •  Android  •  OpenWRT  

• Open  vSwMch  •  LISP  DP  

• OpenDaylight    •  LISP  CP  

• OpenStack    •  *coming  soon    

Page 9: LISP for SDN and NFV

LISP  at  ODL

LISP  Enabled  Devices    

Page 10: LISP for SDN and NFV

LISP  at  ODL

LISP  Enabled  Devices    

   

Page 11: LISP for SDN and NFV

LISP in OpenDaylight

LISP    Plugin  

LISP  Service  

Load  Balancing  

Traffic  Engineering  

LISP  CP  Enabled    Device  

LISPmob  OVS  

LISP  tunnel  

Legend:      LISP      OpenFlow      ODL      OVSDB  

OVSDB  

Page 12: LISP for SDN and NFV

Available Interfaces

Java  API  

Southbound  

DAO  

Map  Server  

Map  Resolver  

Implem

entaMo

n  

ODL  LISP  Service  

Northbound  

Page 13: LISP for SDN and NFV

Northbound API • Resources:  

•  Key  •  Mapping  

•  EID  •  src/dest  

•  Supported  mapping  address  types:  •  IPv4/IPv6/MAC  •  DisMnguished  Name  •  AS  Numbers  •  Segment  ID  •  Src/Dst  •  Explicit  Locator  Path  (Traffic  Eng/Service  Chaining)    

Page 14: LISP for SDN and NFV

REST API: key

Request  URL:  h`p://localhost:8080/lispflowmapping/nb/v2/default/key    Request  body  in  JSON:    {      "key"  :  "asdf",    "maskLength"  :  24,    "address"  :      {      "ipAddress"  :  "10.0.0.1",      "afi"  :  1      }  }  

•  PUT  •  h`p://localhost:8080/lispflowmapping/nb/v2/default/key  

•  GET  •  […]  /nb/v2/default/key/{iid}/{afi}/{address}/{mask}  

•  GET  (src/dst)  •  […]  /default/key/{iid}/{afi}/{srcAdd}/{srcML}/{dstAdd}/{dstML}  

Page 15: LISP for SDN and NFV

REST API: mapping

Request  URL:  h`p://localhost:8080/lispflowmapping/nb/v2/default/mapping  Request  body  in  JSON:    {  "key"  :  "asdf",      "mapregister"  :    {              "eidToLocatorRecords“  :            [  {  "prefixGeneric"  :    {  "ipAddress"  :  “10.0.0.1”,    "afi"  :  1  },                      "maskLength"  :  24,                        "locators"  :                            [  {  "locatorGeneric"  :  {  "ipAddress"  :  ”10.154.10.17“,  "afi"  :  1  },    "priority"  :  1,  "weight”  :50}  ]            }  ]  }    }  

•  PUT  •  h`p://localhost:8080/lispflowmapping/nb/v2/default/mapping  

•  GET  •  […]  /nb/v2/default/mapping/{iid}/{afi}/{address}/{mask}  

•  GET  (src/dst)  •  […]  /default/mapping/{iid}/{afi}/{srcAdd}/{srcML}/{dstAdd}/{dstML}  

Page 16: LISP for SDN and NFV

Demo • Demo  1:  Disaster  Recovery  • Demo  2:    Service  Chaining  

 •  >>  Thanks    to  Lori  Jakab.  

•  Thanks  to  Alberto  Rodriguez-­‐Natal  and  the  ConteXtream  engineering  team!  

Page 17: LISP for SDN and NFV

Demo topology

LISPmob  Client  

LISPmob  Server  1  

LISPmob  Server  2  

API  

Northbound  

Southbound  

DAO  Map  Server  

Map  Resolver  Impl.  

Mapping  Service  

EID:  1.1.1.1  

EID:  2.2.2.2  

Net  Admin  

Page 18: LISP for SDN and NFV

Demo – Disaster Recovery

LISPmob  Client  

LISPmob  Server  1  

LISPmob  Server  2  

API  

Northbound  

Southbound  

DAO  Map  Server  

Map  Resolver  Impl.  

Mapping  Service  

Net  Admin  

Define  Key,  mappings  

EID:  1.1.1.1  

EID:  2.2.2.2  

Page 19: LISP for SDN and NFV

Demo – Disaster Recovery

LISPmob  Client  

LISPmob  Server  1  

LISPmob  Server  2  

API  

Northbound  

Southbound  

DAO  Map  Server  

Map  Resolver  Impl.  

Mapping  Service  

Net  Admin  

Where  is  2.2.2.2?  Ping  2.2.2.2  

EID:  1.1.1.1  

EID:  2.2.2.2  

Page 20: LISP for SDN and NFV

Demo – Disaster Recovery

LISPmob  Client  

LISPmob  Server  1  

LISPmob  Server  2  

API  

Northbound  

Southbound  

DAO  Map  Server  

Map  Resolver  Impl.  

Mapping  Service  

Net  Admin  

Ping  2.2.2.2   Ping  2.2.2.2  

EID:  1.1.1.1  

EID:  2.2.2.2  

Page 21: LISP for SDN and NFV

Demo – Disaster Recovery

LISPmob  Client  

LISPmob  Server  1  

LISPmob  Server  2  

API  

Northbound  

Southbound  

DAO  Map  Server  

Map  Resolver  Impl.  

Mapping  Service  

Net  Admin  

Ping  2.2.2.2  

2.2.2.2:  Server  2  has  priority  

EID:  1.1.1.1  

EID:  2.2.2.2  

Ping  2.2.2.2  

Page 22: LISP for SDN and NFV

Demo – Disaster Recovery

LISPmob  Client  

LISPmob  Server  1  

LISPmob  Server  2  

API  

Northbound  

Southbound  

DAO  Map  Server  

Map  Resolver  Impl.  

Mapping  Service  

Net  Admin  

Ping  2.2.2.2  

Ping  2.2.2.2  

EID:  1.1.1.1  

EID:  2.2.2.2  

Page 23: LISP for SDN and NFV

Demo – Service Chaining

LISPmob  Client  

LISPmob  Server  1  

LISPmob  Server  2  

API  

Northbound  

Southbound  

DAO  Map  Server  

Map  Resolver  Impl.  

Mapping  Service  

Net  Admin  

LISPmob  Service-­‐Node  

2.2.2.2:  Insert  service  node  

Ping  2.2.2.2  

Ping  2.2.2.2  

EID:  1.1.1.1  

EID:  2.2.2.2  

Page 24: LISP for SDN and NFV

Demo – Service Chaining

LISPmob  Client  

LISPmob  Server  1  

LISPmob  Server  2  

API  

Northbound  

Southbound  

DAO  Map  Server  

Map  Resolver  Impl.  

Mapping  Service  

Net  Admin  

LISPmob  Service-­‐Node  

Ping  2.2.2.2  

Ping  2.2.2.2  Ping  2.2.2.2  

EID:  1.1.1.1  

EID:  2.2.2.2  

Page 25: LISP for SDN and NFV

Demo – Service Chaining

LISPmob  Client  

LISPmob  Server  1  

LISPmob  Server  2  

API  

Northbound  

Southbound  

DAO  Map  Server  

Map  Resolver  Impl.  

Mapping  Service  

Net  Admin  

LISPmob  Service-­‐Node  

Policy=drop/forward  

Ping  2.2.2.2  

Page 26: LISP for SDN and NFV

Stay tuned… •  Support  for  proacMve  SMR  in  case  of  policy  change  •  Seamless  integraMon  with  OVS  

•  Tutorial  for  demo  +  API  spec  is  on  the  Wiki:  •  h*ps://wiki.opendaylight.org/view/OpenDaylight_Lisp_Flow_Mapping:User_Guide_for_Hydrogen#Tutorial  

 

Page 27: LISP for SDN and NFV

LISP and NFV

Page 28: LISP for SDN and NFV

Network  Func5ons Before  NFV  

Coupled  with  rouMng  topology,  capacity,  availability,  and  rouMng  hardware  appliances  

AHer  NFV  Decoupled  from  rouMng,  cloud  capacity,  elasMcity,  availability,  standard  servers  

capacity    

Page 29: LISP for SDN and NFV

Programmable Network Before  NFV  

Programmable  Overlay  Coupled  with  rouMng  interfaces,  VLANs,  LSPs,  VRFs  

AHer  NFV  Programmable  Overlay  Decoupled  from  Underlay,    map  &  encap  methodology  

Page 30: LISP for SDN and NFV

LISP Ideal for SDN-NFV

"  Map  &  Encap  uses  IP  for    both  transport  &  database  

"  5-­‐tuple  flows:  as  the  basis  for  mapping  lookup-­‐cache  

"  Publish-­‐Subscribe:  for  mapped  lookups,  change-­‐SMR  

"  ApplicaMon  specific  LISP  XTRs:  Flow  handlers  and  ALGs  

"  Mapping  Affinity:  of  subscriber  to  funcMon  available  globally      

"  Mapping  Balancing:  between  funcMon  VIP  EID  to  instances  EID      

"  Mapping  Chaining:  of  subscribers  EID  to  service  EID  to  RLOCS  

"  Mapping  as  the  basis  for  NFV  orchestraMon  integraMon  Neutron+      

 

LISP  

SDN   NVO  

NFV  

Page 31: LISP for SDN and NFV

Creating ODL XTR for NFV

LISP  OpenStack Neutron  OpenFlow  

ALG Switch  

3rd Party OpenFlow Switch  

Controller (Flow Handler)  

Mapping System  

OpenDaylight  

CXTR  

Underlay Encapsulation  

OpenStack Compute  

LISP/VXLAN encap  

Subscribers  &  Func-ons  

Network  Virtualiza-on  Overlay  

Underlay  Mapping  

Page 32: LISP for SDN and NFV

Layout and Orchestration ALG

Switch  

OF Switch  

Controller (Flow Handler)  

Mapping System  

OpenDaylight  CXTR  

CXTR  

Access   Internet  

CXTR  CXTR  

Management and Orchestration  

Underlay Network  

Page 33: LISP for SDN and NFV

Example: Balance-Chain IMS-SBC  vSBC  

OF  Switch  

Controller  (Flow  

Handler)  

Mapping  System  

OpenDaylight  ContexNet  

Node  

SIP  Proxy  VNF  

IMS  Core   OF  

Switch  

Controller  (Flow  

Handler)  

Mapping  System  

OpenDaylight  ContexNet  Node  

SIP  Proxy  VNF  

POP  A   POP  C  

Underlay  

WAN  

OF  Switch  

Controller  (Flow  

Handler)  

Mapping  System  

OpenDaylight  ContexNet  Node  

SIP  Proxy  VNF  

POP  B  

WAN  

IMS  Core  

 vSBC  

 vSBC  

Encap   Decap  Encap  

Decap  

IMS  Core  

source IMS POP A SBC POP A

VIP 1.1.1.1 SIP Proxy A SIP Proxy

A VIP 2.1.1.1 SIP Proxy

A SIP Proxy A

VIP 3.1.1.1 SIP Proxy A SIP Proxy

A

VIP 1.1.1.1  VIP 2.1.1.1  VIP 3.1.1.1  

source IMS POP C SBC POP

C VIP 1.1.1.1 SIP Proxy

C ---------- VIP 2.1.1.1 SIP Proxy

C SIP Proxy B

VIP 3.1.1.1 SIP Proxy

C ---------- source IMS POP

B SBC POP B

VIP 1.1.1.1 SIP Proxy

B SIP Proxy B

VIP 2.1.1.1 SIP Proxy

B ----------

VIP 3.1.1.1 SIP Proxy

B SIP Proxy B

Page 34: LISP for SDN and NFV

Do it Yourself: XTR Patch-Panels NFVs

OpenFlow  Switch  -­‐  3  tuples:  source,  dest,  protocol  -­‐  layer2  (vRails,  VL2)  -­‐  layer3  (NVO3/LISP)  -­‐  CXTR  service  selecMon      ALG  Switch  -­‐  5  tuple:  source  dest  ports,  protocol    -­‐  layer  4:  TCP,  UDP,  SR,  Chain-­‐Balance  -­‐  layer  5:  SIP,  GRE,  GTP,  S1,  RSVP,  UIDH  -­‐  layer  6:  URL  Transcoding,  SSL  -­‐  layer  7:  NFS,  CDN,  X1,  DRA  

OpenDaylight  SAL    -­‐  PacketIn  FlowHandlers    -­‐  Basic  LISP  for  VL2/3  IP-­‐Mac:RLOC  -­‐  Protocol  specific  flowHandlers  -­‐  Global  lookup  /  Local  decision  

OpenDaylight  Services  -­‐  Mapping  LISP  &  Resxul  API  -­‐  Mapping  caching  &  registraMons  -­‐  Mapping  backend  DB  Wrapper  -­‐  Mapping  north  orchestraMon  -­‐  Mapping  DHT  DB  (Cassandra)  

SDN  Forwarding     SDN  Control    

Page 35: LISP for SDN and NFV

Thanks!

OpenWrt Linux Android

lispmob.org