LISP, SDN, and OpenDaylight

27
LISP, SDN, and OpenDaylight Vina Ermagan, Lori Jakab Cisco Systems

description

LISP, SDN, and OpenDaylight. Vina Ermagan, Lori Jakab Cisco Systems. Agenda. LISP Overview LISP and SDN Availability in open source LISP in OpenDaylight Demos: Service Chaining and Disaster Recovery. Locator/ID Separation Protocol. - PowerPoint PPT Presentation

Transcript of LISP, SDN, and OpenDaylight

Page 1: LISP, SDN, and OpenDaylight

LISP, SDN, andOpenDaylight

Vina Ermagan, Lori JakabCisco Systems

Page 2: LISP, SDN, and OpenDaylight

Agenda

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

Page 3: LISP, SDN, and OpenDaylight

Locator/ID Separation Protocol

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

• RLOC (Routing 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

VMVMVM

VMVM

App

OS

VM

InternetSite B

Site A

Site C

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

EID SpaceEID Space

RLOC Space

Page 4: LISP, SDN, and OpenDaylight

Locator/ID Separation Protocol

Any Physical Network:LAN,WAN,Hybrid

Data Plane:Encapsulation protocol to builda Multitenant Overlay

- MAC in IP- IP in IP

Control Plane:Mapping of Overlay address Space to underlying physicalNetwork including policy routing

Lisp Mapping Database

Open Protocol:RFC published

VMVMVM

VMVM

App

OS

VM

InternetSite B

Site A

Site C

Page 5: LISP, SDN, and OpenDaylight

Locator/ID Separation Protocol - policies

Policy: - Multihoming - Load Balancing - Disaster Recovery

Data Plane:Multitenant Overlay

Control Plane:Mapping (+ policy) of overlay tounderlying network

Lisp Mapping Database

Open Protocol:RFC published

VMVMVM

VMVM

App

OS

VM

InternetSite B

Site A

Site C

App

OS

Page 6: LISP, SDN, and OpenDaylight

Locator/ID Separation Protocol - policies

Data Plane:Multitenant Overlay

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

Policy: - Traffic Engineering - Service Chaining

VMVMVM

VMVM

App

OS

VM

Open Protocol:RFC published

Database

Page 7: LISP, SDN, and OpenDaylight

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 functionalities

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

Page 8: LISP, SDN, and OpenDaylight

LISP in Open Source• LISPmob.org

• Linux• Android• OpenWRT

• Open vSwtich• LISP DP

• OpenDaylight • LISP CP

• OpenStack • *coming soon

Page 9: LISP, SDN, and OpenDaylight

LISP at ODL

LISP EnabledDevices

Page 10: LISP, SDN, and OpenDaylight

LISP at ODL

LISP EnabledDevices

Page 11: LISP, SDN, and OpenDaylight

LISP in OpenDaylight

LISP Plugin

LISP Service

Load Balancing

Traffic Engineering

LISP CP Enabled Device

LISPmobOVS

LISP tunnel

Legend: LISP OpenFlow ODL OVSDB

OVSDB

Page 12: LISP, SDN, and OpenDaylight

Available Interfaces

JavaAPI

Southbound

DAO

Map Server

Map Resolver

Impl

emen

tatio

n

ODL LISP Service

Northbound

Page 13: LISP, SDN, and OpenDaylight

Northbound API• Resources:

• Key• Mapping

• EID• src/dest

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

Page 14: LISP, SDN, and OpenDaylight

REST API: key

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

• PUT• http://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, SDN, and OpenDaylight

REST API: mapping

Request URL: http://localhost:8080/lispflowmapping/nb/v2/default/mappingRequest 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• http://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, SDN, and OpenDaylight

Demo

• Demo 1: Disaster Recovery

• Demo 2: Service Chaining

Page 17: LISP, SDN, and OpenDaylight

Demo topology

LISPmobClient

LISPmobServer 1

LISPmobServer 2

API

Northbound

Southbound

DAOMap Server

Map ResolverImpl

.

Mapping Service

EID: 1.1.1.1

EID: 2.2.2.2

NetAdmin

Page 18: LISP, SDN, and OpenDaylight

Demo – Disaster Recovery

LISPmobClient

LISPmobServer 1

LISPmobServer 2

API

Northbound

Southbound

DAOMap Server

Map ResolverImpl

.

Mapping Service

NetAdmin

Define Key, mappings

EID: 1.1.1.1

EID: 2.2.2.2

Page 19: LISP, SDN, and OpenDaylight

Demo – Disaster Recovery

LISPmobClient

LISPmobServer 1

LISPmobServer 2

API

Northbound

Southbound

DAOMap Server

Map ResolverImpl

.

Mapping Service

NetAdmin

Where is 2.2.2.2?Ping 2.2.2.2

EID: 1.1.1.1

EID: 2.2.2.2

Page 20: LISP, SDN, and OpenDaylight

Demo – Disaster Recovery

LISPmobClient

LISPmobServer 1

LISPmobServer 2

API

Northbound

Southbound

DAOMap Server

Map ResolverImpl

.

Mapping Service

NetAdmin

Ping 2.2.2.2 Ping 2.2.2.2

EID: 1.1.1.1

EID: 2.2.2.2

Page 21: LISP, SDN, and OpenDaylight

Demo – Disaster Recovery

LISPmobClient

LISPmobServer 1

LISPmobServer 2

API

Northbound

Southbound

DAOMap Server

Map ResolverImpl

.

Mapping Service

NetAdmin

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, SDN, and OpenDaylight

Demo – Disaster Recovery

LISPmobClient

LISPmobServer 1

LISPmobServer 2

API

Northbound

Southbound

DAOMap Server

Map ResolverImpl

.

Mapping Service

NetAdmin

Ping 2.2.2.2

Ping 2.2.2.2

EID: 1.1.1.1

EID: 2.2.2.2

Page 23: LISP, SDN, and OpenDaylight

Demo – Service Chaining

LISPmobClient

LISPmobServer 1

LISPmobServer 2

API

Northbound

Southbound

DAOMap Server

Map ResolverImpl

.

Mapping Service

NetAdmin

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, SDN, and OpenDaylight

Demo – Service Chaining

LISPmobClient

LISPmobServer 1

LISPmobServer 2

API

Northbound

Southbound

DAOMap Server

Map ResolverImpl

.

Mapping Service

NetAdmin

LISPmob Service-

Node

Ping 2.2.2.2

Ping 2.2.2.2Ping 2.2.2.2

EID: 1.1.1.1

EID: 2.2.2.2

Page 25: LISP, SDN, and OpenDaylight

Demo – Service Chaining

LISPmobClient

LISPmobServer 1

LISPmobServer 2

API

Northbound

Southbound

DAOMap Server

Map ResolverImpl

.

Mapping Service

NetAdmin

LISPmob Service-

Node

Policy=drop/forward

Ping 2.2.2.2

Page 26: LISP, SDN, and OpenDaylight

Stay tuned…• Support for proactive SMR in case of policy change• Seamless integration with OVS

• Tutorial for demo + API spec is on the Wiki:• https://wiki.opendaylight.org/view/OpenDaylight_Lisp_Flow_

Mapping:User_Guide_for_Hydrogen#Tutorial

Page 27: LISP, SDN, and OpenDaylight

Thanks!

OpenWrtLinux Android

lispmob.org