Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed...
-
Upload
dustin-pope -
Category
Documents
-
view
214 -
download
1
Transcript of Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed...
Naming Examples
• UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique
• Uniform Resource Identifier (URI)– URL (uniform resource locator) – location dependent
• E.g., http://www.w3c.org/addressing• Name resolution via DNS (Domain Name Service): URI IP
– URN (uniform resource names) – location independent• E.g., urn:isbn:0-390-343221-1
Naming Principles
• Network entities (by Saltzer)– Services (and data)–Hosts (endpoints)–Network attachment points –Paths (routing paths)
• Naming issues:– Mobility– Multi-homing– Replication– Security– Scalability
3
Host Identity Protocol (HIP)
Process
Transport
IP Layer
<IPaddr, port>
<IPaddr>
Process
Transport
HIP Layer
IP Layer
<HIT, port>
<IPaddr>
<HIT>
HIT replaces IP address as a name of a systemHIT replaces IP address as a name of a system
128-bit host identity tag (HIT)
4
HIT
How It Works?
Client app
HIP layer
IPsec
HIPdaemon
DNSlibrary
DNSDNS request
DNS reply = pubkey (P)
HIT=hash(P)IPaddr
Client app
HIP Layer
IPsec
HIPdaemon4-way authentication
Transport
HITIPaddr, P
send(HIT)
send(HIT)
send(IPaddr)
send(IPaddr)
Transport
Layered Naming Architecture (LNA)
Process
Transport
IP Layer
<IPaddr, port>
<IPaddr>
Process
Transport
EID↔IP
IP Layer
<EID, port>
<IPaddr>
<EID>
SID↔EID <SID>
Should name each individually:• Service identifiers (SIDs) name services/data• Endpoint identifiers (EIDs) name hosts • IP addresses name attachment points• Ignore paths (router involvement)
How It Works?
6
Client app “DNS”DNS request
DNS reply = sid
send(IPi)
Client app
LNAdaemon
IP
Transport
send(sid)
DHTeid = get(sid)SID↔EI
Dsend(eid)
EID↔IP
send(eid) IP = get(eid)
put(sid, eid)put(eid, IP)
IP
Transport
SID↔EID
EID↔IPIntermediary (IPi)
Take Away
• Don’t bind to lower-level IDs prematurely – Host mobility and renumbering (HIP)– Service and data migration
• Resolution (binding) of name need not point to object itself, but can point to its delegate– Resolution can point to intermediaries who process packets on
behalf of the named target• Examples
– HIP: one layer; IDs identify machines– LNA: two layers
• EIDs identify machines• SIDs identify everything else
UIA Naming
• Flat (personal group level)– User can put “a user friendly” name to each device
• iPod.Alice, Camera.Bob
– Each “personal” device has a unique ID (EID)• Resolution– Mapping (user name EID via log records) is disseminated
whenever connectivity is available – Local resolution (assuming full replication)
• Routing:– Routing packets to the EID node?? – Source routing using a P2P overlay network
Service Discovery
• Lots of services dispersed across the network• How to find who has what services?
Example systems:Jini, JXTA, SLP, UPnP, BonjourSalutation, INS, Twine, etc..
Directory Information
Directory Architecture
Query Expressiveness
Query Routing
• Application level routing– DHT-based– Twine, Chord, CAN, Pastry– Loosely-consistent DHT
• JXTA, Freenet
– Flooding• Gnutella
• Network level communication– Unicast communication with a Central server
• Web-services, Napster, INS, Jini, SLP
– Multicast communication• Jini, SLP, UPnP