name-based shim6: a name-based approach to host mobility
DESCRIPTION
Name-based Shim6: A name-based approach to host mobility. Zhongxing Ming Javier Ubillos Mingwei Xu. Name-based Sockets - The Problem. addr = gethostbyname (someString ); …… connect( …, addr , … ); write( … ); close( … ); connect (…, addr , …); write( … ); colse( … );. - PowerPoint PPT PresentationTRANSCRIPT
Zhongxing MingJavier Ubillos
Mingwei Xu
23/4/20 1Tsinghua University
FQDN resolution and IP management is dealt with by the application
All cool stuff have to be implemented by the application.• Mobility• Multi-homing• IPv4/IPv6 agnosticism• NA(P)T traversal• Path diversity exploitation• Etc…
23/4/202
addr = gethostbyname (someString );……connect( …, addr, … );write( … );close( … );connect (…, addr, …);write( … );colse( … );
Tsinghua University
Developers seem to like them… One implementation for every
framework More often than not
• Resolve once• Resue IP• Resue IP• Resue IP• Resue IP• Resue IP
• ……
23/4/203
Tsinghua University
Provide the socket abstraction developers like.
Do allow all the cool functions of surrogate addresses• But don’t introduce new indirections• And be explicit about that it is different
23/4/204
Tsinghua University
23/4/20Tsinghua University5
New API
Not binary compatible
A session layer
Easy transition
Minor changesor none
Compatible
Middle-boxesunaffected
NetworkHost
23/4/20Tsinghua University6
Application
Transport
Network
Outside the host
Name-based sockets
HIP
LISP
SCTP
listen() – Prep for incoming session• Fd = listen(src_name, dst_name, local_port, transport);
open() – Initiate outgoing sesion• Fd = open(src_name, dst_name, remote_port, transport);
accept() – Receive incoming session• (src_name, dst_name, fd) = accept(fd);
read() – Receive data• Data = read(fd);
write() – Send data• Write(fd, data);
close() – Close session• Close(fd);
23/4/207
Tsinghua University
It has been a long struggle to manage mobility in today’s IP networks.
NBS allows mobile device users to move from one network to another while maintaining the connection.
DNS and Shim6 is involved to support mobile NBS• No triangular routing• Fast handover• Good reliability
23/4/208
Tsinghua University
23/4/209
src_name dst_name
src_ip dst_ip
src_name dst_name
hash(src_name) hash(dst_name)
hash(src_name) hash(dst_name)
src_loc dst_loc
NBS
NBS Shim6
Before shim6 state establishment
After shim6 state establishment
Tsinghua University
23/4/2010
Original Shim6 State Machine
Modified Shim6 State Machine
Tsinghua University
23/4/2011
DNS
①
②③
④
⑤DNS
⑥
⑦AR3
AR1
AR2
Mobile Node (A)Name: www.mobile-node.comIP: 166.111.3.4
Mobile Node (A)Name: www.mobile-node.comIP: 202.111.2.3
Correspondent Host (B)Name: www.corres-host.comIP: 59.72.38.236
166.111.1.1 202.111.2.1
59.72.38.1
⑥
Tsinghua University
DNS
①
①
②
②
③
③
③
③
AR4
AR1
AR2
AR3
④
⑤
⑥
④
⑤
A
B23/4/2012
Tsinghua University
23/4/2013
Tsinghua University
23/4/2014
Handover time for different IEEE 802.11b cardsTsinghua University
Throughput graph during movement
23/4/2015
• Bernhard Age et al studies various DNS resolvers aroundthe world and found that there are only less than 1\% of the cases for which DNS resolvers take more that 100ms to answer
• Concurrent move is not very likely to occur
• Thus DNS delay won’t be a problem in practice
Tsinghua University
Propose and implement name-based sockets as a socket-API abstraction so that an application developer may use names instead of IP-addresses.
improve Shim6 and integrate it with name-based sockets to provide mobility functionality.
Evaluate the performance of the proposed mechanism using a real testbed.
23/4/2016
Tsinghua University
Questions?
23/4/2017
Tsinghua University