Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed...

13
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

Transcript of Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed...

Page 1: Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) – URL (uniform.

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

Page 2: Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) – URL (uniform.

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

Page 3: Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) – URL (uniform.

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)

Page 4: Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) – URL (uniform.

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

Page 5: Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) – URL (uniform.

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)

Page 6: Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) – URL (uniform.

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)

Page 7: Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) – URL (uniform.

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

Page 8: Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) – URL (uniform.

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

Page 9: Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) – URL (uniform.

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..

Page 10: Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) – URL (uniform.

Directory Information

Page 11: Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) – URL (uniform.

Directory Architecture

Page 12: Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) – URL (uniform.

Query Expressiveness

Page 13: Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) – URL (uniform.

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