Chapter 9: Name Services
1
Name services – purpose
Names used for communication and resource sharing, e.g., e-mail, web.
Name service: Provides clients with data about named objects.
URL
http://www.cdk3.net:8888/WebExamples/earth.html
DNS lookup
Resource ID (IP number, port number, pathname)
55.55.55.55 8888 WebExamples/earth.html
Web server
Network address
2:60:8c:2:b0:5a file
Socket 2
Name services – basic concepts
Names may be identifiers, pure names or non-pure
names.
Resolution: Translation of a name into data about
the named resource.
Attribute: Value of a property associated with an
entity.
Binding: Association between name and entity.
Naming context: Set of bindings between textual
names and attributes for objects.
3
Name services – basic functionality
Storage of a collection of one or more naming
contexts.
Should support:
Resolution of names.
Creation of new bindings.
Deletion of bindings.
Listing of bound names.
Addition and deletion of naming contexts.
Some names are for local use, other for global
(world-wide).
4
Name services – requirements
Handling of an arbitrary number of names and
serving an arbitrary number of administrative
organizations.
A long lifetime.
High availability.
Fault isolation.
Tolerance of mistrust.
5
Name services – name spaces and naming domains
Name space: Collection of all valid names
recognized by a particular name service.
Naming domain: Name space with a single overall
authority for:
Assignment of names.
Administration of names.
Keeping naming data up-to-date.
6
Name resolution – basics
Name resolution:
Translation from a name into data about named entity.
Iterative process whereby a name is repeatedly
presented to naming contexts, yielding either:
A set of primitive attributes, or
a further naming context and a derived name to be
presented to that context.
Navigation: Location of naming data from more than
one name server in order to resolve a name.
7
Name resolution – iterative navigation
NS2
2
Name
1 NS1 servers
Client
3
NS3
A client iteratively contacts name servers NS1–NS3 in order to resolve a name
8
Name resolution – server-controlled navigation
NS2 NS2
2 2
4 3
1 1
NS1 NS1
client client
4 3 5
NS3 NS3
Non-recursive Recursive
server-controlled server-controlled
A name server NS1 communicates with other name servers on behalf of a client
9
Name resolution – caching
Results of previous name resolutions cached.
Increases performance and availability.
Naming data changed relatively rarely.
Cached data may have a time-to-live.
10
DNS – Domain Name Service
Name service of the Internet.
Objects named primarily computers, with IP addresses
stored.
Any name can be resolved by any client.
Main applications: Host name resolution, mail host resolution.
Design goals: Scalability, performance, fault tolerance.
Design techniques:
Hierarchical partitioning of the name database.
Replication of naming data.
Caching.
11
DNS – DNS name servers
DNS database distributed across a logical network of servers.
Each server holds part of the naming database, including:
Data for the local domain.
Domain names and addresses of other name servers.
The DNS naming data is divided into zones, containing:
Attribute data for names in a domain.
Names and addresses of at least two name servers that provide
authoritative data for the given zone.
Names etc. of name servers that hold authoritative data for delegated
sub-domains.
Zone management parameters.
A server may hold authoritative data for zero or more zones.
Each zone must be replicated authoritatively in at least two
servers.
12
DNS – where is data stored?
Root name servers hold authoritative entries for the
name servers for the top-level domains (com, edu,
gov, org, …).
Each country domain has a number of name
servers.
Country domain servers know the name servers for
second-level domains.
All DNS servers store the addresses of one or more
root name servers.
13
DNS – extract of the DNS database
Note: Name server names are a.root-servers.net
in italics, and the corresponding (root)
domains are in parentheses.
Arrows denote name server entries uk
ns1.nic.uk purdue.edu
(uk) yahoo.com
ns.purdue.edu
(purdue.edu)
co.uk
ac.uk ns0.ja.net
(ac.uk)
* .purdue.edu
ic.ac.uk
qmw.ac.uk
dcs.qmw.ac.uk *.dcs.qmw.ac.uk *.ic.ac.uk
*.qmw.ac.uk
alpha.qmw.ac.uk dns0.dcs.qmw.ac.uk dns0-doc.ic.ac.uk
(qmw.ac.uk) (dcs.qmw.ac.uk) (ic.ac.uk)
14
DNS – resource records types
Record type Meaning Main contents
A A computer address IP number
NS An authoritative name server Domain name for server
CNAME The canonical name for an alias Domain name for alias
SOA Marks the start of data for a zone Parameters governing the zone
WKS A well-known service description List of service names and protocols
PTR Domain name pointer (reverse Domain name
lookups)
HINFO Host information Machine architecture and operating
system
MX Mail exchange List of <preference, host> pairs
TXT Text string Arbitrary text
15
DNS – record example (from database of qmw.ac.uk)
domain name time to live class type value
dcs 1D IN NS dns0.dcs
dns0.dcs 1D IN A 138.37.88.249
dcs 1D IN NS dns1.dcs
dns1.dcs 1D IN A 138.37.94.248
dcs 1D IN NS cancer.ucs.ed.ac.uk
16
Directory and discovery services
Directory service:
Stores collections of bindings between names and
attributes.
Looks up entries that match attribute-based specifications.
Discovery service:
Registers the services provided in a spontaneous
networking environment.
Provides clients with an interface to look up required
services.
17
Summary
Name services.
Name resolution.
DNS: Domain Name Service.
(Directory and discovery services.)
18