Académique Documents
Professionnel Documents
Culture Documents
Naming Services
Application
Naming
Security
Interprocess Communication:
Unicast
Broadcast
Name
Refers to an entity or object of interest
Name
E.g. Host name
Address
Address Special kind of a name
Identifies the objects location
(physical or logical)
E.g. IP address
Identification
Names specify objects (unambiguously?)
Example: c:\virus.exe, ISBN 0-201-61918-0
Objects can be: files, users, database objects,
variables, communication links, etc.
Naming systems of different application areas
are usually disjoint
Data Sharing
Shared access to the same object
Example: http://www.somewhere.org/index.html
Exchange of names among users
Indirection
Mapping between name and address spaces
E.g. from an easy memorable host name to IP address
Relocation transparency
Location and address changes while name remains
E.g. moving a server to a different location or ISP
Replication transparency
www.microsoft.com You can get a response from EU
servers, US servers, etc.
Universitt Duisburg-Essen Torben Weis 7
Verteilte Systeme
Definitions
Name
Sequence of characters
Out of a character set
May be subject to rules that describe valid names
Generally limited in length
Name space
Set of all possible names
Name resolution
Get object that is referred to by name
Universitt Duisburg-Essen Torben Weis 8
Verteilte Systeme
Desired Objectives of a Naming Service
Global
Names are globally unique
Not subject to a local context
Distributed, not managed by a single authority
Memorable
Human-friendly names that can be easily memorized
Not a randomly chosen number
Securely unique
Always points to the right object
Attackers cannot hijack a name
Universitt Duisburg-Essen Torben Weis 9
Verteilte Systeme
Centralized Name Space
Properties:
+ Easy to implement
Properties:
+ High availability
+ Efficient access
+ Load sharing between
several name servers
- Replication
management necessary
- Possible inconsistencies
(stale data)
Universitt Duisburg-Essen Torben Weis 12
Verteilte Systeme
Replication vs. Caching
Replication
Server-driven: actively copy data to other components
How to keep all copies consistent?
Caching
Client-driven: store results after resolving a name
Look into cache before asking name server
When to remove stale entries?
Flat names
Have no structure
Contain no information about the location of or
the authority for an object
Examples:
412
#9B3FB1C8
4f6ab58014adf4785fe5fcce498145aecbe4d2fa
URI
URL URN
http://joe:pw@example.net/index.php?action=view#section2
user +
scheme host path query fragment
password
mailto:joe@example.net?subject=clickable
urn:ISBN:0-395-36341-1
DN for Rothermel:
C = FRG; ORG = Uni-Stuttgart; F = Informatik;
I = IPVR; N = Rothermel
Universitt Duisburg-Essen Torben Weis 25
Verteilte Systeme
LDAP
Search("&(C=NL)(O=Vrije Universiteit)
(OU=*)(CN=Main Server)")
Primary task
Mapping from symbolic domain names to IP
addresses
www.vs.uni-due.de 134.91.78.133
address?
com org de nl
google uni-due
vs inf
mail www
Right-to-left significance
root is right, leaf is left
Second-level root (empty label)
www.vs.uni-due.de.
top-level
mail www
Field Description
Domain Name Name
Time-to-Live Caching duration in seconds
Class Practically always IN (Internet)
Type Data type of record
Data The actual information
dns1.vs.uni-due.de. IN A 134.91.78.133
dns2.vs.uni-due.de. IN A 134.91.78.131
Query root
www.example.net. IN A ? .
net
www.example.net. IN A ?
net
example.net. IN NS ns.example.net.
ns.example.net. IN A 193.0.0.236
www
net
www.example.net. IN A ?
example
Response from
authoritative name server
www
www.example.net. IN A 192.168.1.3
recursive iterative
query queries
recursive iterative
query queries
Zone
Data
Cache
Cache
Zone
Data
Client-side caching
Maximum storage time: time-to-live
Server-side replication
Good scalability and performance