Global Name Resolution Services Through Direct Mapping (DMAP)
Presented by: Yanyong ZhangWINLAB, Rutgers University
Technology Centre of NJ671 Route 1, North Brunswick,
NJ 08902, [email protected]
Name-Address Separation Through GNRS Globally unique name
(GUID) for network attached objects device, content, context, AS name,
and so on Multiple domain-specific naming
services
Global Name Resolution Service for GUID NA mappings
Where to store these mappings?
Globally Unique Flat Identifier (GUID)
John’s _laptop_1
Sue’s_mobile_2
Server_1234
Sensor@XYZ
Media File_ABC
Host NamingService
Network
SensorNamingService
ContentNamingService
Global Name Resolution Service
Network addressNet1.local_ID
Net2.local_ID
ContextNamingService
Taxis in NB
A distributed service hosted on ~10,000 gateway routers Fast updates ~50-100 ms to support dynamic mobility Service can scale to ~10B names
AP
Global Name-Address Resolution Service A
Data Plane
Host GUID
Network – NA2
Network – NA1
Network Address 1
Registrationupdate
Mobile nodetrajectory
Initialregistration
GUID Network Address
Host GUID
Network Address 2
GNRS Design Objective
(00101100……10011001)
Hash Function
GUID
IPx = (44.32.1.153)IP
(+) Strictly 1-overlay-hop lookup No extra routing requirement
(e.g. utilize current BGP)
(-) IP “hole” issues Limited locality
Direct Mapping (DMAP)
Fixing IP Holes: If hash of GUID falls in
the IP hole, rehash that IP m times to get out of the hole
Lookup follows the same process to find GUID
Value at m=10 is 0.0009
Map of IP (/8) address space (white = unassigned addresses)
Fixing IP Holes for IPv4
Fixing IP Holes for General Network Addressing Schemes In a general network addressing scheme, we can have more
holes than used segments (e.g., IPv6) Used address segments are hashed into N buckets
a two-level index: (bucket ID: segment ID)
Mapping GUID to NA H1(GUID) bucket ID H2(GUID) segment ID within a bucket
network address space
used segments
unused segments
(2, 1) (1, 1) (1, 2) (2, 2)
IPx = (44.32.1.153)
Every mapping is replicated at K random locations
Lookups can choose closest among K mappings. Much reduced lookup latencies
K=1
K=2
K=3
Mapping Replication
k Hash Functions
GUID
IPIP
(00101100……10011001)
IPx = (67.10.12.1)IP
IPx = (8.12.2.3)
Spatial locality: GUIDs will be more often accessed by local nodes (within the same AS)
Solution: Keep a local replica of the mapping A lookup can involve simultaneous local lookup and global lookup
GUID 10
GUID AS#10 1
K=1
AS 1
AS 5
GUID AS#10 1
K=2
AS 101
GUID AS#10 1
K=3AS 200
GUID AS#10 1
Local replica
Capturing Locality
GNRS
1. GUID Publishing2. GNRS
lookup3. GNRSReply: H
H’
H
C
Inconsistent GNRS Entries
GUID NAC H
GNRS
1. GUID Publishing2. GNRS
lookup3. GNRSReply: H
GUID NAC H
6. Keep checkingGNRS until H’
GUID Update
H’
H
Inconsistent GNRS Entries
GNRS
1. GUID Publishing2. GNRS
lookup3. GNRSReply: H
GUID NAC
6. Keep checkingGNRS until H’
GUID Update
H’
H’
H
Inconsistent GNRS Entries
Simulation Results – Query Latencies
Simulation Results – Load Distribution
Open Issues
GNRS performance with tomorrow’s Internet model Sophisticated locality considerations Caching GNRS mappings Security and privacy
Large scale prototyping and validation
15
Questions & Answers