LISP for SDN and NFV Vina Ermagan, Cisco Systems Sharon Barkai, - - PowerPoint PPT Presentation

lisp for sdn and nfv
SMART_READER_LITE
LIVE PREVIEW

LISP for SDN and NFV Vina Ermagan, Cisco Systems Sharon Barkai, - - PowerPoint PPT Presentation

LISP for SDN and NFV Vina Ermagan, Cisco Systems Sharon Barkai, ConteXtream Feb 4 th 2014 Agenda LISP Overview LISP and SDN Availability in open source LISP in OpenDaylight


slide-1
SLIDE 1

LISP for SDN and NFV

Vina Ermagan, Cisco Systems Sharon Barkai, ConteXtream Feb 4th 2014

slide-2
SLIDE 2

Agenda

  • LISP ¡Overview ¡
  • LISP ¡and ¡SDN ¡
  • Availability ¡in ¡open ¡source ¡
  • LISP ¡in ¡OpenDaylight ¡
  • Demos: ¡Service ¡Chaining ¡and ¡Disaster ¡Recovery ¡
  • LISP ¡and ¡NFV ¡ ¡
slide-3
SLIDE 3

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 ¡

slide-4
SLIDE 4

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 ¡

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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 ¡

slide-7
SLIDE 7

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 ¡
slide-8
SLIDE 8

LISP in Open Source

  • LISPmob.org ¡
  • Linux ¡
  • Android ¡
  • OpenWRT ¡
  • Open ¡vSwMch ¡
  • LISP ¡DP ¡
  • OpenDaylight ¡ ¡
  • LISP ¡CP ¡
  • OpenStack ¡ ¡
  • *coming ¡soon ¡ ¡
slide-9
SLIDE 9

LISP ¡at ¡ODL

LISP ¡Enabled ¡ Devices ¡ ¡

slide-10
SLIDE 10

LISP ¡at ¡ODL

LISP ¡Enabled ¡ Devices ¡ ¡

¡ ¡

slide-11
SLIDE 11

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 ¡

slide-12
SLIDE 12

Available Interfaces

Java ¡ API ¡ Southbound ¡ DAO ¡ Map ¡Server ¡ Map ¡Resolver ¡ ImplementaMon ¡

ODL ¡LISP ¡Service ¡

Northbound ¡

slide-13
SLIDE 13

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)

¡ ¡

slide-14
SLIDE 14

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} ¡
slide-15
SLIDE 15

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} ¡
slide-16
SLIDE 16

Demo

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

¡

  • >> ¡Thanks ¡ ¡to ¡Lori ¡Jakab. ¡
  • Thanks ¡to ¡Alberto ¡Rodriguez-­‑Natal ¡and ¡the ¡ConteXtream ¡

engineering ¡team! ¡

slide-17
SLIDE 17

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 ¡

slide-18
SLIDE 18

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 ¡

slide-19
SLIDE 19

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 ¡

slide-20
SLIDE 20

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 ¡

slide-21
SLIDE 21

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 ¡

slide-22
SLIDE 22

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 ¡

slide-23
SLIDE 23

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 ¡

slide-24
SLIDE 24

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 ¡

slide-25
SLIDE 25

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 ¡

slide-26
SLIDE 26

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 ¡

¡

slide-27
SLIDE 27

LISP and NFV

slide-28
SLIDE 28

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 ¡ ¡

slide-29
SLIDE 29

Programmable Network

Before ¡NFV ¡ Programmable ¡Overlay ¡Coupled ¡with ¡rouMng ¡ interfaces, ¡VLANs, ¡LSPs, ¡VRFs ¡ AHer ¡NFV ¡ Programmable ¡Overlay ¡Decoupled ¡from ¡ Underlay, ¡ ¡map ¡& ¡encap ¡methodology ¡

slide-30
SLIDE 30

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 ¡

slide-31
SLIDE 31

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

¡

slide-32
SLIDE 32

Layout and Orchestration

ALG Switch

¡

OF Switch ¡

Controller (Flow Handler)

¡

Mapping System ¡

OpenDaylight ¡ CXTR ¡ CXTR ¡

Access

¡

Internet

¡

CXTR

¡

CXTR

¡

Management and Orchestration

¡

Underlay Network

¡

slide-33
SLIDE 33

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

slide-34
SLIDE 34

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 ¡ ¡

slide-35
SLIDE 35

Thanks!

OpenWrt Linux Android

lispmob.org ¡