Upload
others
View
50
Download
0
Embed Size (px)
Citation preview
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)
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
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
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
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
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
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
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
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
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
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
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
13 Integration of LISP and LISP-MN in INET
Dominik Klein
Implemented LISP Nodes
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
15 Integration of LISP and LISP-MN in INET
Dominik Klein
Implemented LISP Nodes
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
17 Integration of LISP and LISP-MN in INET
Dominik Klein
Implemented LISP Nodes
18 Integration of LISP and LISP-MN in INET
Dominik Klein
LISP Map Server
Handles registration requests Handles mapping lookups
Database for mapping entries
19 Integration of LISP and LISP-MN in INET
Dominik Klein
Implemented LISP Nodes
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
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
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
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, …
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