LISP, SDN, and OpenDaylight
description
Transcript of LISP, SDN, and OpenDaylight
LISP, SDN, andOpenDaylight
Vina Ermagan, Lori JakabCisco Systems
Agenda
• LISP Overview• LISP and SDN• Availability in open source• LISP in OpenDaylight• Demos: Service Chaining and Disaster Recovery
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
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
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
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
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
LISP in Open Source• LISPmob.org
• Linux• Android• OpenWRT
• Open vSwtich• LISP DP
• OpenDaylight • LISP CP
• OpenStack • *coming soon
LISP at ODL
LISP EnabledDevices
LISP at ODL
LISP EnabledDevices
LISP in OpenDaylight
LISP Plugin
LISP Service
Load Balancing
Traffic Engineering
LISP CP Enabled Device
LISPmobOVS
LISP tunnel
Legend: LISP OpenFlow ODL OVSDB
OVSDB
Available Interfaces
JavaAPI
Southbound
DAO
Map Server
Map Resolver
Impl
emen
tatio
n
ODL LISP Service
Northbound
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)
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}
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}
Demo
• Demo 1: Disaster Recovery
• Demo 2: Service Chaining
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
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
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
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
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
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
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
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
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
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
Thanks!
OpenWrtLinux Android
lispmob.org