integration of lisp and lisp-mn in inet · integration of lisp and lisp-mn in inet dominik klein...

24
Institute of Computer Science Chair of Communication Networks Prof. Dr.-Ing. P. Tran-Gia Integration of LISP and LISP-MN in INET Dominik Klein, Matthias Hartmann (University of Wuerzburg, Germany) Michael Höfling, Michael Menth (University of Tuebingen, Germany)

Upload: others

Post on 18-Mar-2020

50 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

Institute of Computer Science Chair of Communication Networks

Prof. Dr.-Ing. P. Tran-Gia

Integration of LISP and LISP-MN in INET

Dominik Klein, Matthias Hartmann (University of Wuerzburg, Germany)

Michael Höfling, Michael Menth (University of Tuebingen, Germany)

Page 2: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

2 Integration of LISP and LISP-MN in INET

Dominik Klein

Current naming and addressing architecture is facing scalability problems

Overload of IP address semantics with identification & routing information Possible solution

Locator identifier split Example: Locator/ID Separation Protocol (LISP) by CISCO

Motivation

IPv4 FIB entries from 01.01.1989 –

19.03.2012

Act

ive

BG

P e

ntrie

s (F

IB)

450k

400k

350k

300k

250k

200k

150k

100k

50k

0 89 95 00 05 10 12

Date

Page 3: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

3 Integration of LISP and LISP-MN in INET

Dominik Klein

Outline

Introduction Locator/identifier split

LISP background

Basic LISP architecture Overview of LISP extensions

LISP simulation model

Implemented nodes and messages Evaluation

Detailed analysis of handover delay

Summary and future work

Page 4: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

4 Integration of LISP and LISP-MN in INET

Dominik Klein

Introduction – Locator/Identifier Split

B?

RLOC X RLOC Y

RLOC X Data B

Mapping system

Provider X

Provider Y

B

A

Provider Z

RLOC Y

Idea Address space divided into identifiers and routing locators Mapping system provides ID-to-Loc information Network layer entities, e.g. gateways, add source and destination

Locs to outgoing packets after mapping lookup

Data packets Mapping

update

Page 5: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

5 Integration of LISP and LISP-MN in INET

Dominik Klein

Locator/ID Separation Protocol (LISP) Separates local naming and addressing from global routing

EIDs: locally routable and identifier on global scope RLOCs: globally routable IP addresses of LISP gateways LISP gateways add RLOCs to IP packets after mapping lookup Mapping service provides EID-to-RLOC information

Internet LISP domain

LISP domain

OH: IH:

SN EID 2

LISP gateway RLOC B

LISP gateway RLOC A

SN EID 1

Src: Dest:

EID 1 EID 2 DATA

MS

Src: Dest: RLOC A RLOC B EID 1 EID 2

DATA

Src: Dest:

EID 1 EID 2 DATA

Page 6: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

6 Integration of LISP and LISP-MN in INET

Dominik Klein

LISP Interworking: Outgoing Flow

Idea: send LISP packets without outer header Problem: upstream provider drops packets due to uRPF

Solution: tunnel packets to proxy ETR (PETR)

LISP domain

Non-LISP domain

OH: IH:

Non-LISP node

11.3.2.5

LISP gateway RLOC A

Src: Dest: RLOC A RLOC E EID 1 11.3.2.5

DATA

SN EID 1

PETR RLOC E

Src: Dest:

EID 1 11.3.2.5 DATA

Internet

Src: Dest:

EID 1 11.3.2.5 DATA

Page 7: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

7 Integration of LISP and LISP-MN in INET

Dominik Klein

LISP Interworking: Incoming Flow

Observation: non-LISP nodes use EIDs as destination address Problem: EIDs are not globally routable

Solution: proxy ITRs announces highly aggregated EID-prefix

LISP domain

Non-LISP domain

OH: IH:

Non-LISP node

11.3.2.5

LISP gateway RLOC A

Src: Dest: RLOC I RLOC A 11.3.2.5 EID 1

DATA

SN EID 1

MS

Src: Dest:

11.3.2.5 EID 1 DATA

Src: Dest:

11.3.2.5 EID 1 DATA

Internet

? PITR RLOC I

Page 8: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

8 Integration of LISP and LISP-MN in INET

Dominik Klein

LISP Mobile Node (MN)

MN acts as whole LISP domain Implements LISP gateway functionality EID used for identification and not for forwarding anymore Care-of-address used for forwarding within local domain MN registers care-of-address as RLOC at mapping service

Non-LISP domain

LISP domain

OH: IH:

SN EID 2

LISP gateway RLOC B

Src: Dest: RLOC B 17.87.7.2 EID 2 EID 1

DATA

Src: Dest:

EID 2 EID 1 DATA

MN EID 1

17.87.7.2

MS

Internet

Page 9: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

9 Integration of LISP and LISP-MN in INET

Dominik Klein

LISP NAT Traversal

NAT traversal router (NTR) acts as anchor and relay

NTR collocated with PETR MN registers at an NTR NTR adds own RLOC to mapping service

Tunnel between MN and NTR used to bypass NAT

Internet Non-LISP domain

NAT 17.87.7.2

MN EID 1

10.0.0.1

NTR RLOC N

Traffic for MN

MS

Page 10: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

10 Integration of LISP and LISP-MN in INET

Dominik Klein

Motivation & Background

Motivation Test and evaluate improvements to mobile node Proof-of-concept for NAT traversal Check interoperability of LISP-MN and NAT traversal Study handover performance of LISP-MN

Implementation background

Extends INET framework with LISP protocol functionality Based on design ideas of OpenLISP Implementation according to LISP working group drafts Several modifications

– Integration of DHCP – Extension of wireless model multihoming support – Integration of basic NAT functionality

Page 11: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

11 Integration of LISP and LISP-MN in INET

Dominik Klein

Overview

Modified IP module Anchor point for LISP modules

LISP routing module Adds and removes LISP

header on data plane Triggers signaling messages

Map resolver module UDP application Control plane signaling

LISP mapping cache Stores used mappings

Inter-module communication Done via Notification Board

Ethernet

IP

TCP

MapResolver

MappingCache

LISPRouting

UDP

Not

ifica

tionB

oard

Other applications

PPP New module

Changed module

Unchanged module

Page 12: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

12 Integration of LISP and LISP-MN in INET

Dominik Klein

Implemented Messages

Message types and message formats implemented according to LISP working group drafts

LISP header added and removed by lisp routing module Signaling messages sent by map resolver module over UDP

Registration messages Mapping messages (lookup, probing, …)

cMessage

LISPMessage

Map-Register Map-Notify Map-Request Map-Reply

LISPHeader

Data

Signaling

Page 13: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

13 Integration of LISP and LISP-MN in INET

Dominik Klein

Implemented LISP Nodes

Page 14: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

14 Integration of LISP and LISP-MN in INET

Dominik Klein

LISP (Proxy) Router Module

IP module as anchor point for LISP routing module

Adds/Removes LISP header Triggers LISP signaling

Performs LISP signaling (e.g. register, lookup, …)

Stores recently used mappings

Used for inter-module

communication

Page 15: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

15 Integration of LISP and LISP-MN in INET

Dominik Klein

Implemented LISP Nodes

Page 16: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

16 Integration of LISP and LISP-MN in INET

Dominik Klein

LISP Mobile Node Module

One DHCP client per interface

Same module as in LISP router Mobile node behavior activated via flag Keeps track of mobile EID

Page 17: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

17 Integration of LISP and LISP-MN in INET

Dominik Klein

Implemented LISP Nodes

Page 18: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

18 Integration of LISP and LISP-MN in INET

Dominik Klein

LISP Map Server

Handles registration requests Handles mapping lookups

Database for mapping entries

Page 19: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

19 Integration of LISP and LISP-MN in INET

Dominik Klein

Implemented LISP Nodes

Page 20: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

20 Integration of LISP and LISP-MN in INET

Dominik Klein

NAT Traversal Router

LISP routing module as NTR also

acts as PETR

NTR specific forwarding, e.g. (NAT tunneling, packet relay,…)

Extended mapServer module with NTR

specific functionality

Database for mapping entries

of registered mobile nodes

Database for external IP:port of registered mobile nodes

Page 21: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

21 Integration of LISP and LISP-MN in INET

Dominik Klein

Handover Scenario

UDPVideoStreamSvr

1

UDPVideoStreamSvr

UDPVideoStreamCli

2 3

6 5 4

Larger delay: 50ms

Page 22: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

22 Integration of LISP and LISP-MN in INET

Dominik Klein

Detailed Delay Analysis

0

0.5

1

1.5

2

Del

ay in

sec

onds

LISP->NAT

NAT->nLISP

nLISP->LISP

LISP->nLISP

nLISP->NAT

NAT->LISP

event 1 event 2 event 3 event 4 event 5 event 6

Beacon lost detection delayScanning and association delayLISP signaling delayTotal handover delay

Beacon considered

lost after 350ms.

Passive scanning with one channel

and 300 ms maxChannelTime

MN updates NTR 50 ms

Relay next packet 50 ms

Registration 300 ms

Cache update 100 ms

Registration 300 ms

Cache update 100 ms

Relaying via NTR 100 ms

Page 23: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

23 Integration of LISP and LISP-MN in INET

Dominik Klein

Summary

Implementation of LISP model in INET Based on OpenLISP design idea and working group drafts Basic LISP architecture with interworking and mapping

interface LISP mobility architecture with own NAT traversal Handover delay study as working example

Future work

Extension of existing framework with mapping system Update/upgrade implementation according to the newest drafts Update implementation to the newest INET version Own website with documentation, tutorial, paper, …

Page 24: Integration of LISP and LISP-MN in INET · Integration of LISP and LISP-MN in INET Dominik Klein Implemented Messages Message types and message formats implemented according to LISP

24 Integration of LISP and LISP-MN in INET

Dominik Klein

Thank You for Your Attention

Questions?

Know answer?

Got question?

Answer question

Thank audience and

leave podium yes

yes

no

Pretend that time has run out

no