[SOLVED] algorithm Scheme html Java scala socket XML operating system database graph software network security Chapter 9: Name Services

$25

File Name: algorithm_Scheme_html_Java_scala_socket_XML_operating_system_database_graph_software_network_security_Chapter_9:_Name_Services.zip
File Size: 1186.92 KB

5/5 - (1 vote)

Chapter 9: Name Services
From
Distributed Systems : Concepts and Design Edition 4,Pearson Education 2005

Chapter 9: Name services
9.1 Introduction
9.2 Name services and the DNS
9.3 Discovery services
9.4 Case study of the global name
Service
9.5 Case study of the X.500 Directory
Service 9.6 Summary

Learning objectives
To understand the need for naming systems in distributed systems
To be familiar with the design requirements for distributed name services
To understand the operation of the Internet naming serviceDNS
To be familiar with the role of discovery services in mobile and ubiquitous computer systems
To understand these concepts through case studies
3

9.1 Introduction
In a DS names are used to refer to a wide variety of resources: Computers, services, remote objects, files.
Names is an important part of the design of a DS and facilitate communication and resource sharing.
Names are not only useful for identification. Description of attributes is another aspect.
Inthischapterweintroducethenameservicewhichprovide client with data about named objects in a distributed system.
4

9.1.1 Names, addresses and other attributes
Any process that requires access to a specific resource must posses a name or an identifier.
The term identifier is mostly used to refer to a name that is only readable by a program
We have seen in the previous chapter examples of identifiers UFID for the NFS and AFS.
Addresses are efficient to locate objects butobject may be relocated: addresses are not an adequate mean of identification
5

The role of names and name services
Resources are accessed using identifier or reference
Anidentifiercanbestoredinvariablesandretrievedfromtablesquickly
Identifier includes or can be transformed to an address for an objectE.g. NFS file handle, Corba remote object reference
Anameishumanreadablevalueusuallyastringthatcanberesolvedtoan identifier or address
Internet domain name, file pathname, process numberE.g .etcpasswd, http:www.cdk3.net
For many purposes, names are preferable to identifiers
becausethebindingofthenamedresourcetoaphysicallocationisdeferred
and can be changed
becausetheyaremoremeaningfultousers
Resource names are resolved by name servicestogiveidentifiersandotherusefulattributes
6

The role of names and name services
A name is resolved when it is translated into data about the name resource or object.
The association between a name and an object is called binding In general names are bound to attributes of name objects.
An attribute is the value of a property associated with an object.
Examples:
DNS maps domain names to the attributes of a host computerits IP address, the type of entry etc
X500 directory service can be used to map a persons name onto attributes including email.
The CORBA naming service maps the name of a remote object onto its remote object reference
7

9.1.1 Names, addresses and other attributes . . .
Remark: An address can be considered as another name that need to be looked up or it may contain such a name.
An IP address must be looked up to obtain a network address such as an Ethernet address.
Similarly web browsers and email clients make use of DNS to interpret the domain names in URLs.
This process the domain name of a URL resolved first via the DNS into an IP address and via ARP to an Ethernet address for the web server.
The last part fo the URL is resolved by the file system on the web server to locate the file.
8

Figure 9.1
Composed naming domains used to access a resource from a UR
Network address 2:60:8c:2:b0:5a
Web server file
URL http:www.cdk3.net:8888WebExamplesearth.html
DNS lookup
55.55.55.55 8888 WebExamplesearth.html
Resource ID IP number, port number, pathname
Socket
9

Composed naming domain used to access a resource
Here are more details
10

Composed naming domains used to access a resource from a URL
Figure 9.1
URL
http:www.cdk3.net:8888WebExamplesearth.html
DNS lookup
ARP lookup
Ethernet Network address
2:60:8c:2:b0:5a
file
Resource ID IP number, port number, pathname
138.37.88.61 8888 WebExamplesearth.html
11

Socket
Web server

9.1.1 Names, addresses and other attributes . . .
Name and services
Many of the names are specific to the services
Names are also used in DS to refer to entities that are beyond the scope of any single service.
Example:
Users with login name file service, printer service.
Given the connectivity provided by the Internet, naming requirements are potentially worldwide
12

9.1.1 Names, addresses and other attributes . . .
Requirements for name spaces
Allow simple but meaningful names to be used
Potentially infinite number of names
Structured
toallowsimilarsubnameswithoutclashestogrouprelatednames
Allow restructuring of name trees
for some types of change, old programs should
continue to work
Management of trust
13

9.1.1 Names, addresses and other attributes . . . Names and resources
Currently, different name systems are used for each type of resource:
resource name
identifies
file pathname process process id port port number
file within a given file system process on a given computer IP port on a given computer
Uniform Resource Identifiers URI offer a general solution for any type of resource. There two main classes:
URL
Uniform Resource Locator
URN
Uniform Resource Name

typedbytheprotocolfieldhttp,ftp,nfs,etc. partofthenameisservicespecific
resources cannot be moved between domains

requiresauniversalresourcenamelookupserviceaDNSlikesystem
for all resources
14

9.1.1 Names, addresses and other attributes . . .
More on URNs
format: urn:nameSpace:namewithinnamespace examples:
a urn:ISBN:021619180
b urn:dcs.qmul.ac.uk:TR200056
resolution:
a send a request to nearest ISBNlookup serviceit would return
whatever attributes of a book are required by the requester b send a request to the urn lookup service at dcs.qmul.ac.uk
it would return a url for the relevant document
15

9.2 Name services and the Domain Name System
A name service stores a collection of one or more naming contexts
The major operation that such a service supports is to resolve a name.
There is also the operations related to maintain such a collection.
Name management is separated is separated from other services because of the openness of distributed systems.
This brings the following motivation
Unification: Often convenient to have the same naming
scheme for resources manage by different services
Integration: It is not always possible the scope of sharing in a DS. It may be required to share and therefore name resources that were created in different administrative domains
16

9.2 Name services and the Domain Name System . . .
General name service requirements
Name management is separated is separated from other services because of the openness of distributed systems.
This brings the following motivation
Unification: Often convenient to have the same naming
scheme for resources manage by different services
Integration: It is not always possible the scope of sharing in a DS. It may be required to share and therefore name resources that were created in different administrative domains
History: 1982 Grapevine; Global Name Service DEC 1986.
17

9.2 Name services and the Domain Name System . . .
General name service requirements . . .
GoaloftheGlobalNameService
To handle an essentially arbitrary number of names to
serve an arbitrary number of administrative organizations A long lifetime
High availability Fault isolation Tolerance to misuse
18

9.2 Name services and the Domain Name System . . .
General name service requirements . . .
Remarks:
Two name services that have concentrated on scalability
are the Globe name service and the Handle System
www.handle.net
DNS relies heavily upon replication and caching of naming data.
The design of DNS an other name services assume that the cache consistency need not be so strictly maintained as in the cache of copies of file.
19

9.2.1 Name spaces
A name space is the collection of all valid names recognized by a particular service
A syntactic definition is required to fulfill these requirements.
Hierarchic name space is often used and has the advantage that each part can be resolved relative to a separate context and the same name may be used with different meaning in different contexts.
Hierarchic name are potentially infinite.
URL has been introduced . The URL name space includes relative names
DNS names are called domain names and this space has a hierarchic structure.
DNS servers do not recognize relative names all names are referred to the global root.
20

Hierarchical namingDNS Domain Name System
It translates internet name fromto IP address and provides email service.
Its name space is hierarchical edu
.au
gov deety
anu cs
adfa
unsw
com bhp
That also represents admin. responsibility which
allow delegation.
21
ee

9.2.1 Name spaces
Aliases
To deal with long names aliases are used similar to symbolic names in UNIX.
DNS allows aliases in which one domain name is defined to stand for another one.
Naming domains
A naming domain is a name space for which there exists a single overall administrative authority
22

9.2.1 Name spaces
Combining and customizing name spaces
DNS provides a global and homogeneous name space in which a given name space in which a given name refers to the same entity no matter which process on which computer looks up the name
Merging
Problem: merging two file systems on two computers red and blue.
23

9.2.2 Name resolution
Name resolution is usually an iterative process.
To resolve a name it is presented to some initial naming context: resolution iterates as long as further contexts and derived names are output.
Merging
Problem: merging two file systems on two computers red and blue.
24

9.2.2 Name resolution
Name servers and navigation
Any name service such as DNS that store very large databases and used by a very large number of users will not store all its naming information on a single server computer.
The partitioning of data implies that the local name server cannot answer all the enquiries without the help of other name servers.
The process of locating naming data form among more than one name server in order to resolve a name is called navigation.
The client resolution software carries out navigation on behalf of the client.
It communicates with name servers as necessary to resolve a name
DNS supports the model know as iterative navigation to resolve a name.
25

9.2.2 Name resolution
Iterative navigation
To resolve a name a client presents the name to the local name server which attempts to resolve it.
If the local server has the name, it returns the result
If the server does not have the name it will suggests another one to help.
The process continue until the name is located or it is discovered to be unbound.
26

Figure 9.2
Iterative navigation
Client
3
2
1 NS1
Name servers
A client iteratively contacts name servers NS1NS3 in order to resolve a name
27
NS2
NS3

9.2.2 Name resolution . . .
Some Remarks on DNS server
In this case, DNS is designed to hold millions of entry and serve a similar number of clients.
You cannot start navigating from the root in each case. Not practicable
The database is partitioned between servers to solve locally many queries and other to be solved without the need to resolve each part of the name.
NFS employs iterative navigation in the resolution of a file name on a component by component basis.
28

Iterative navigation
Figure 9.2
Client
3
2
1 NS1
Name servers
NS2
NS3
A client iteratively contacts name servers NS1NS3 in order to resolve a name
Reason for NFS iterative name resolution
Used in:
This is because the file service may encounter a symbolic link i.e. an
DNS: Client presents entire name to servers, starting at a local server, NS1.
alias when resolving a name. A symbolic link must be interpreted in If NS1 has the requested name, it is resolved, else NS1 suggests
the clients file system name space because it may point to a file in a
contacting NS2 a server for a domain that includes the requested name.
directory stored at another server. The client computer must determine
NFS: Client segments pathnames into simple names and presents them
which server this is, because only the client knows its mount points.
one at a time to a server together with the filehandle of the directory that contains the simple name.
29

9.2.2 Name resolution . . .
Multicast navigation
In this approach a client multicasts the name to be resolved and the required object type to the group of name servers.
This approach does not work well when the name is unbound. You wait and wait
This approach can be modified by introducing a separate server that respond when the required name is unbound.
30

9.2.2 Name resolution . . .
Nonrecursive and recursive servercontrolled navigation
Under nonrecursive servercontrolled navigation any name server may be chosen by the client.
This server communicates by multicast or iteratively like it was a client with the other server. In this case the name server is NS1.
See next figure.
31

Nonrecursive and recursive servercontrolled navigation
client
NS1
client
2 1
2
4
3
NS3
NS2
NS2
Nonrecursive servercontrolled
Recursive servercontrolled
A name server NS1 communicates with other name servers on behalf of a client
32
1 5
4 NS1
3
NS3

Nonrecursive and recursive servercontrolled navigation
Figure 9.3
client 1 4
1 5
3
NS2 2
NS2
NS1 3
client
NS1
NS3
Nonrecursive servercontrolled
Recursive servercontrolled
NS3
A name server NS1 communicates with other name servers on behalf of a client
DNS offers recursive navigation as an option, but iterative is the standard technique. Recursive navigation must be used in domains that limit client access to their DNS information for security reasons.
33

2
4

9.2.2 Name resolution . . .
Nonrecursive and recursive servercontrolled navigation
In the nonrecursive case the servers need to know each other. The client may choose any servers. The chosen server communicates by multicast of iteratively with the other servers.
In the case of recursive servercontrolled the server can avoid to store much information. In this case also the client contact a single server.
If this server does not contain the name the server contacts a peer storing a larger prefix of the name which in turns try to resolve it.
We have a problem if its parent fails.
34

9.2.2 Name resolution . . .
Caching
In computer science, a cache pronounced k is a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive to fetch owing to longer access time or to compute, compared to the cost of reading the cache. In other words, a cache is a temporary storage area where frequently accessed data can be stored for rapid access. Once the data is stored in the cache, future use can be made by accessing the cached copy rather than refetching or recomputing the original data, so that the average access time is shorter.
A cache has proven to be extremely effective in many areas of computing because access patterns in typical computer applications have locality of reference. There are several kinds of locality, but this article primarily deals with data that are accessed close together in time temporal locality. The data might or might not be located physically close to each other spatial locality.
35

9.2.2 Name resolution . . .
Web caches are employed by web browsers and web proxy servers to store previous responses from web servers, such as web pages.
Web caches reduce the amount of information that needs to be transmitted across the network, as information previously stored in the cache can often be reused.
This reduces bandwidth and processing requirements of the web server, and helps to improve responsiveness for users of the web.
Modern web browsers employ a builtin web cache, but some internet service providers or organizations also use a caching proxy server, which is a web cache that is shared between all users of that network.
36

Caching . . .
Client name resolution software and servers maintain a cache of previous name resolutions.
How long a resolver caches a DNS response i.e. how long a DNS
response remains valid is determined by a value called the time to live.
Server may use data from its own cache or other server cache it is authorized to access.
Caching is key to performance and fault tolerance.

9.2.3 The Domain Name System
Definition: The DNS is a name service design whose main naming database is used across the internet.
This scheme replace the original one for the following reasons
It did not scale to a large number of computers Local administration wanted local control
A general naming service was needed
38

The Domain Name System
A distributed naming database
Name structure reflects administrative structure of the Internet
Rapidly resolves domain names to IP addressesexploits caching heavily
typical query time 100 milliseconds
Scales to millions of computerspartitioned database
caching
Resilient to failure of a serverreplication

Name Space

41
41
Parts of a domain name
Usually consists of two or more parts technically labels, separated by dots. .
The rightmost label conveys the toplevel domain.
Each label to the left specifies a subdivision, or
subdomain of the domain above it.

42
At the top of the hierarchy stand the root nameservers: the servers to query when looking up resolving a top level domain name
DNS name servers
The Domain Name System consists of a hierarchical set of DNS servers
Each domain or subdomain has one or more authoritative DNS servers that publish information about that domain and the name servers of any domains beneath it
The hierarchy of authoritative DNS servers matches the hierarchy of domains.
42

43
43
Basic DNS algorithm for name resolution
Look for the name in the local cache
Try a superior DNS server, which responds with:another recommended DNS server
the IP address which may not be entirely up to date

DNS name servers Figure 9.4
a.rootservers.net
Note: Name server names are in italics, and the corresponding domains are in parentheses. Arrows denote name server entries
uk
yahoo.com .
ns.purdue.edu
authoritative path to lookup:
ic.ac.uk
jeanspc.dcs.qmw.ac.uk
qmw.ac.uk
44
44

ns1.nic.uk
uk purdue.edu
co.uk
purdue.edu.purdue.edu
ac.uk
ns0.ja.net
alpha.qmw.ac.uk
dns0.dcs.qmw.ac.uk
dns0doc.ic.ac.uk
qmw.ac.uk
dcs.qmw.ac.uk .dcs.qmw.ac.uk
ic.ac.uk .ic.ac.uk
dcs.qmw.ac.uk .qmw.ac.uk
ac.uk
root

45
IP:dns0.dcs.qmw.ac.4u5 k

DNS in typical operation
Without caching
root
ns1.nic.uk
uk purdue.edu
uk
yahoo.com .
ns.purdue.edu
co.uk
purdue.edu.purdue.edu
ac.uk
ns0.ja.net
alpha.qmw.ac.uk
dns0.dcs.qmw.ac.uk
qmw.ac.uk
dcs.qmw.ac.uk .dcs.qmw.ac.uk
ic.ac.uk
dcs.qmw.ac.uk .qmw.ac.uk
IP:ns0.ja.net jeanspc.dcs.qmw.ac.uk ?
4
a.rootservers.net
ac.uk
ic.ac.uk
qmw.ac.uk
IP: alpha.qmw.ac.uk
dns0doc.ic.ac.uk 2 client.ic.ac.uk
.ic.ac.uk
1 3
IP:jeanspc.dcs.qmw.ac.uk

46
46
Resource Records

47
47
Example of resource record

48
48
DNS issues
Name tables change infrequently, but when they do, caching can result in the delivery of stale data.
Clients are responsible for detecting this and recovering
Its design makes changes to the structure of the name
space difficult. For example:
merging previously separate domain trees under a new root
moving subtrees to a different part of the structure e.g. if Scotland became a separate country, its domains should all be moved to a new countrylevel domain.

49
49
Directory and Discovery Services
Directory services
Attributebased name services
Attributes are used as values to be looked up
Textual name can be considered to be just another attribute

50
50
Directory and Discovery Services
Discovery services
Directory service that registers services provided in a spontaneous
networking environment
Provide an interface for automatically registering and de registering services, as well as an interface for clients to look up the services they require
Ex : a printer or the service that manages it may register its attributes with the discovery service as follows :
resourceClassprinter, typelaser, coloryes, resolution600dpi, locationroom101, urlhttp:www.hotelNW.comservicesprinter98

51
51
Jini Discovery Service
Designed to be used for spontaneous networking
Entirely javabased
Computers communicate by means of RMI, and can download code if necessary
Discoveryrelated components in a Jini system are look up services
A Jini service such as printing service may be registered with many look up services

Jini Discovery Service
How to locate the look up service ?
Using a wellknown multicast IP address
Multicast the request using a time to live value
Look up services announce their existence to the same multicast address
Service instance is configured with one or more group names such as finance, sales, admin, which act as scoping labels.
Limited period of time 52
52

53
53
Service Discovery in Jini
admin
Lookup service
Network
Client 2. Here I am: ..
Corporate infoservice
Printing service
3. Request printing
Lookup service
Client
1. finance
lookup service?
4. Use printing service
admin, finance
finance
Printing service
admin

54
54
Global Name Service GNS
Designed and implemented by Lampson and colleagues at the DEC Systems Research Center 1986
Provide facilities for resource location, email addressing and authentication
When the naming database grows from small to large scale, the structure of name space may change
the service should accommodate itCache consistency ?

55
55
GNS Structure
Tree of directories holding names and values
Mutipart pathnames refer to the root or relative working
directory like Unix file system
Unique Directory Identifier DI
A directory contains list of names and references
Leaves of tree contain value trees structured values

56
56
DI: 322
QMW Peter.Smith
Alpha
Beta
Gamma
mailboxes
password
DI: 437
AC
GNS directory tree and value tree
DI: 543
DI: 599 EC UK FR
DI: 574

57
57
Accommodating changes
Wellknown directories:
599633EC
642633NORTH AMERICA
EC
NORTH AMERICA DI: 642
DI: 599 DI: 543
UK
FR
DI: 574
DI: 732
US CANADA
DI: 457
How to integrate naming trees of two previously separate GNS services
But what is for UKACQMV, Peter.Smith ?
DI:633 WORLD

58
58
Using DI to solve changes
Wellknown directories:
599633EC
642633NORTH AMERICA
EC
NORTH AMERICA DI: 642
DI: 599 DI: 543
UK FR
DI: 732
US
CANADA
Using the name 599UKACQMV, Peter.Smith
DI:633 WORLD
DI: 574
DI: 457

Restructuring of database
Wellknown directories:
599633EC
642633NORTH AMERICA
EC
NORTH AMERICA DI: 642
DI: 543
UK FR
DI: 574
US
US CANADA DI: 732 DI: 457
Using symbolic links 59
59
DI: 599
DI: 633 WORLD
633ECUS

60
60
X500 Directory Service
Standard of ITU and ISO organizations
Organized in a tree structure with name nodes as in the
case of other name servers
A wide range of attributes are stored in each node
Directory Information Tree DIT
Directory Information Base DIB

61
61
X.500 service architecture
DUA DUA DUA
DSA DSA
Directory Server Agent DSADirectory User Agent DUA
DSA
DSA
DSA DSA

62
62
An X.500 DIB Entry
info
surname
alfdcs.gormenghast.ac.uk Alice.Flintstonedcs.gormenghast.ac.uk
Alice Flintstone, Departmental Staff, Department of Computer Science, University of Gormenghast, GB
commonName uid
Alice.L.Flintstone Alice.Flintstone Alice Flintstone A. Flintstone
alf
Flintstone
roomNumber
Z42 44 986 33 4604 userClass
telephoneNumber
mail
Research Fellow

63
63
Part of the X.500 Directory Information Tree
Alice Flintstone person
Pat King person
James Healey person Janet Papworth person

X.500 Service root
France country Great Britain country Greece country
BT Plc organization University of Gormenghast organiza..t.ion
Computing Service organizationalUnit
Department of Computer Science organizationalUnit
DepartmentalStafforganizationalUnit
ely applicationProcess
Engineering Department organizationalUnit
Research Students organizationalUnit

64
64
Future of X500
Not clear
Privacy issues
Need to be integrated with existing Internet Standards DNSUniformity for object classes

65
65
References
Distributed Systems: Concepts and DesignInternet sources
http:www.cdk3.netwiki

Figure 9.4
DNS name servers
Note: Name server names are in italics, and the corresponding domains are in parentheses.
a.rootservers.net
Arrows denote name server entries
ns1.nic.uk
uk purdue.edu
uk
yahoo.com
co.uk ac.uk
ns0.ja.net
purdue.edu.purdue.edu
dcs.qmw.ac.uk .qmw.ac.uk
.dcs.qmw.ac.uk
.ic.ac.uk
alpha.qmw.ac.uk
dns0.dcs.qmw.ac.uk
dns0doc.ic.ac.uk
qmw.ac.uk
dcs.qmw.ac.uk
ic.ac.uk
ac.uk
root
ic.ac.uk qmw.ac.uk
66
ns.purdue.edu

Figure 9.5
DNS resource records
Record type
Meaning
Main contents
A
NS CNAME SOA WKS PTR
A computer address
IP number
Domain name for server
Domain name for alias
Parameters governing the zone
List of service names and protocols Domain name
HINFO
Host information
Machine architecture and operating system
MX TXT
Mail exchange Text string
List ofpreference, hostpairs Arbitrary text
An authoritative name server
The canonical name for an alias
Marks the start of data for a zone
A wellknown service description
Domain name pointer reverse lookups
67

Figure 9.6
DNS zone data records
domain name
time to live class
type value
domain name
time to live class
type value
www apricot
1D IN 1D IN
CNAME apricot
A 138.37.88.248
dcs dns0.dc s dcs
1D IN 1D IN 1D IN
NS dns0.dcs
A 138.37.88.249 NS dns1.dcs
dns1.dc s dcs
1D IN 1D IN
A 138.37.94.248
NS cancer.ucs.ed.ac.uk
1D IN 1D IN 1D IN 1D IN 1D IN
NS dns0
NS dns1
NS cancer.ucs.ed.ac.uk MX 1 mail1.qmul.ac.uk MX 2 mail2.qmul.ac.uk
68

Figure 9.7
GNS directory tree and value tree for user Peter.Smith
DI: 437
DI: 322 QMW Peter.Smith
DI: 543 UK FR AC
DI: 574
password Alpha Beta Gamma
mailboxes
69
DI: 599 EC

Figure 9.8
Merging trees under a new root
Wellknown directories:
599633EC
642633NORTH AMERICA
EC
NORTH AMERICA DI: 642
DI: 599 DI: 543
UK
FR
DI: 732
US
CANADA
DI: 633 WORLD
DI: 574
DI: 457
70

Figure 9.9
Restructuring the directory
Wellknown directories:
DI: 633 WORLD EC
599633EC
642633NORTH AMERICA
NORTH AMERICA DI: 642
DI: 543
UK FR
US DI: 574
US CANADA DI: 732 DI: 457
DI: 599
71
633ECUS

Figure 9.10
X.500 service architecture
DUA DUA DUA
DSA DSA
DSA
72
DSA DSA
DSA

Figure 9.11
Part of the X.500 Directory Information Tree
X.500 Service root
France country Great Britain country Greece country
BT Plc organization University of Gormenghast organ..i.zation
Computing Service organizationalUnit
Department of Computer Science organizationalUnit
Departmental Staff organizationalUnit
ely applicationProcess
Alice Flintstone person Pat King person James Healey person Janet Papworth person
73
Engineering Department organizationalUnit
Research Students organizationalUnit

Figure 9.12
An X.500 DIB Entry
info
Alice Flintstone, Departmental Staff, Department of Computer Science, University of Gormenghast, GB
commonName
uid
Alice.L.Flintstone Alice.Flintstone Alice Flintstone A. Flintstone
alf
surname
Alice.Flintstonedcs.gormenghast.ac.uk
Flintstone
roomNumber
telephoneNumber
Z42
44 986 33 4604
userClass
74
mail
alfdcs.gormenghast.ac.uk
Research Fellow

75

Nonrecursive and recursive servercontrolled navigation
Figure 9.3
client 1 4
1 5
3
NS2 2
NS2
NS1 3
client
NS1
NS3
Nonrecursive servercontrolled
Recursive servercontrolled
NS3
A name server NS1 communicates with other name servers on behalf of a client
DNS offers recursive navigation as an option, but iterative is the standard technique. Recursive navigation must be used in domains that limit client access to their DNS information for security reasons.
76

2
4

DNSThe Internet Domain Name System
A distributed naming database
Name structure reflects administrative structure of the Internet
Rapidly resolves domain names to IP addressesexploits caching heavily
typicalquerytime100milliseconds
Scales to millions of computers
Basic DNS algorithm for name resolution domain nameIP number
Loopkafortrititohneendadmaetaibnatshe local cache
Try a superior DNS server, which responds with:
caching
another recommended DNS server
Resilient to failure of a server
the IP address which may not be entirely up to date
replication
77

DNS name servers Figure 9.4
a.rootservers.net
Note: Name server names are in italics, and the corresponding domains are in parentheses. Arrows denote name server entries
uk
yahoo.com .
ns.purdue.edu
authoritative path to lookup:
ic.ac.uk
jeanspc.dcs.qmw.ac.uk
qmw.ac.uk
ns1.nic.uk
uk purdue.edu
co.uk
purdue.edu.purdue.edu
ac.uk
ns0.ja.net
alpha.qmw.ac.uk
dns0.dcs.qmw.ac.uk
dns0doc.ic.ac.uk
qmw.ac.uk
dcs.qmw.ac.uk .dcs.qmw.ac.uk
ic.ac.uk .ic.ac.uk
dcs.qmw.ac.uk .qmw.ac.uk
ac.uk
78

root

DNS in typical operation
Without caching
root
ns1.nic.uk
uk purdue.edu
uk
yahoo.com .
ns.purdue.edu
co.uk
purdue.edu.purdue.edu
ac.uk
ns0.ja.net
alpha.qmw.ac.uk
dns0.dcs.qmw.ac.uk
dns0doc.ic.ac.uk 2 client.ic.ac.uk ic.ac.uk
qmw.ac.uk
dcs.qmw.ac.uk .dcs.qmw.ac.uk
dcs.qmw.ac.uk .qmw.ac.uk
.ic.ac.uk
4
a.rootservers.net
ac.uk
ic.ac.uk
qmw.ac.uk
IP: alpha.qmw.ac.uk
IP:dns0.dcs.qmw.ac.7u9 k
3

IP:jeanspc.dcs.qmw.ac.uk
IP:ns0.ja.net jeanspc.dcs.qmw.ac.uk? 1

DNS server functions and configuration
Main function is to resolve domain names for computers, i.e. to get their IP addresses
caches the results of previous searches until they pass their time to liveOther functions:
get mail host for a domain
reverse resolutionget domain name from IP address
Host informationtype of hardware and OS
Wellknown servicesa list of wellknown services offered by a hostOther attributes can be included optional
80

DNS resource records Figure 9.5
Record type
Meaning
Main contents
A
NS CNAME SOA WKS PTR
A computer address
IP number
Domain name for server
Domain name for alias
Parameters governing the zone
List of service names and protocols Domain name
HINFO
Host information
Machine architecture and operating system
MX TXT
Mail exchange Text string
List of preference, host pairs Arbitrary text
An authoritative name server
The canonical name for an alias
Marks the start of data for a zone
A wellknown service description
Domain name pointer reverse lookups
81

DNS issues
Name tables change infrequently, but when they do, caching can result in the delivery of stale data.
Clientsareresponsiblefordetectingthisandrecovering
Its design makes changes to the structure of the name space
difficult. For example:
mergingpreviouslyseparatedomaintreesunderanewroot
movingsubtreestoadifferentpartofthestructuree.g.ifScotlandbecamea separate country, its domains should all be moved to a new countrylevel domain.
See Section 9.4 on GNS, a research system that solves the above issues.
82

Directory and discovery services
Directory service: yellow pages for the resources in a networkRetrieves the set of names that satisfy a given description
e.g. X.500, LDAP, MS Active Directory ServicesDNS holds some descriptive data, but:
the data is very incomplete
DNS isnt organised to search it
Discovery service: a directory service that also:
is automatically updated as the network configuration changes
meets the needs of clients in spontaneous networks Section 2.2.3
discovers services required by a client who may be mobile within the current scope, for example, to find the most suitable printing service for image files after arriving at a hotel.
Examples of discovery services: Jini discovery service, the service location protocol, the simple service discovery protocol part of UPnP, the secure discovery service.
83

Service discovery in Jini
Figure 9.6
Printing service
admin
admin
Client
Mobile client
1. finance
lookup service?
Lookup service
Network
Corporate infoservice
Printing service
3. Request
Lookup service
4. Use printing service
2. Here I am: ..
Jini services register their interfaces and descriptions with the Jini lookup services in their scope
Clients find the Jini lookup services in their scope by IP multicastJini lookup service searches by attribute or by interface type
The designers of Jini argue convincingly that this the only reliable way to do discovery 85

finance
printing
receive
proxy
admin, finance

Topics not covered
GNS case study Section 9.4
anearlyresearchproject1985thatdevelopedsolutionsfortheproblemsof:large name spaces
restructuring the name space
X.500 and LDAP Section 9.5
a hierarchicallystructured standard directory service designed for worldwide use
accommodatesresourcedescriptionsinastandardformandtheirretrievalfor any resource online or offline
neverfullydeployed,butthestandardformsthebasisforLDAP,theLightweight Directory Access Protocol, which is widely used
Trading services see Section 17.3
Directoriesofserviceswithretrievalbyattributesearching
Brokersnegotiatethecontractfortheuseofaservice,includingnegotiationof attribute such as quality and quantity of service
86

Summary
Name services:
deferthebindingofresourcenamestoaddressesandotherattributes
Namesareresolvedtogiveaddressesandotherattributes
Goals:
Scalability size of database, access traffic hitssecond, update trafficReliability
Trust management authority of servers
Issues
exploitation of replication and caching to achieve scalability without compromising the
distribution of updatesnavigation methods
Directory and discovery services:
yellow pages retrieval by attributes
dynamicresourceregistrationanddiscovery
87

TheWeb
TheW3C,http:www.w3.orgistheWorldWideWebconsortium,whichistheforemostforumfor information, commerce, communication and collective understanding for the Webrelated technologies. The W3C develops interoperable technologies and releases specifications, guidelines, software and tools. For example, the W3C has developed the specifications for XML, SOAP and WSDL. It is the first stop on discovering standardized Internet technologies.
TheW3C,http:www.w3.org2002wsisastartingpointontheW3CWebsitethatlistsWebservice related technologies on which W3C is currently working.
ArchitecturalStylesandtheDesignofNetworkbasedSoftwareArchitecturesFieldingsDissertation Chapter 5 describes Representational State Transfer.
HTTP,http:www.w3.orgProtocolsW3CgatewaytodocumentsrelatingtotheHTTPprotocol.
BernersLeepageattheW3C,http:www.w3.orgPeopleBernersLeeprovideslinks,biographiesand
some nice questions and answers.
W3C Semantic Web Activity http:www.w3.org2001sw is a gateway to various Semantic Web technologies.
WebDesignIssueshttp:www.w3.orgDesignIssuesAseriesofessaysandthoughtbyTimBernersLee on the Web, the Semantic Web and general architectural and philosophical points. Some of these writings are now ten years old, but they still make insightful reading.
HTTP1.1: Header Field Definitions http:www.w3.orgProtocolsrfc2616rfc2616sec14.html Quick link for HTTP headers.
HTTP1.1:StatusCodeDefinitionshttp:www.w3.orgProtocolsrfc2616rfc2616sec10.htmlQuicklinkfor HTTP status codes.
88

Web 2.0
http:www.oreillynet.compubaoreillytimnews20050930whatisweb20.html. The concept of Web 2.0 began with a conference brainstorming session between OReilly and MediaLive International. Dale Dougherty, Web pioneer and OReilly VP, noted that far from having crashed, the web was more important than ever, with exciting new applications and sites popping up with surprising regularity. This Tim OReilly online article is a good start to the Web 2.0 discussions and how the term was coined.
Microformats homepage http:microformats.org links to news, mailing lists and wiki.
Mashups and APIs, http:www.programmableweb.com is a great collection of the latest
developments in the world of mashups and service APIs.
Atom Syndication Format http:tools.ietf.orghtmlrfc4287 Atom from the horses mouth. This is the Request for Comments.
Atom Publishing Protocol http:tools.ietf.orghtmlrfc5023 This is the current state of the APP proposal.
Web Application Description Language https:wadl.dev.java.net This is the WADL project page.
89

WebServices
OASIS,http:www.oasisopen.orgisanonprofitconsortium,whichattemptstodrivethedevelopment
and adoption of ebusiness standards. For example, it has developed specifications for ebXML and UDDI.
XML.com,http:www.xml.comprovidesvariousresourcesforXMLincludingasectiononWebServices.
WebServices.org,http:www.webservices.orgisaportalforfindingoutaboutWebServices.Itcontains newsletters, introductions to Web services, news and numerous articles.
WebServicesArchitect,http:www.webservicesarchitect.comhostsacollectionofarticlesandlinksfor Web Services from both a business and a technical perspective.
Microsofts Web Services Developer Center is a site dedicated to providing information to Web Service developers. It hosts many useful articles on the use of various Web Service technologies and lists the new Web service specifications.
IBMDeveloperWorksforWebServicescontainsanumberoftechnicalarticlesandspecificationsabout Web Services and related technologies. It also has a download section and learning resources.
WSI,http:www.wsi.orgWSIisanopen,industryorganizationcharteredtopromoteWebServices interoperability across platforms, operating systems, and programming languages. It works with industry and standards organizations to respond to customer needs.
XMethods, http:www.xmethods.com lists the publicly available Web Services. You can access the lists of Web Services by using their UDDI server, for example, to dynamically discover and connect to available resources.
JavaTechnologyandWebServices,http:java.sun.comwebservicesindex.jspcoversthevariousJava tools and packages that can support the development and deployment of Web Services.
90

P2P Tools and Software
P2P and XML in Business, http:www.xml.compuba20010711xmlp2p.html provides an article discussing the integration of P2P and XML for
businesses.
PeertoPeer Computing, http:p2p.ingce.unibo.it is a popular yearly conference on Agents and P2P Computing AP2PC.
P2P4B2B, http:www.stratvantage.comdirectoriesp2pworkgroups.htm is a site listing noncommercial peertopeer efforts. The sites listed are non profit, open source or informational and have relevance to the business use of P2P technology. The sites also represent standards efforts.
OReilly OpenP2P.com, http:www.openp2p.com is a site dedicated to various articles on P2Prelated technology. Always interesting!
Global and PeertoPeer Computing, http:gp2pc.lri.fr is an international yearly workshop held in conjunction with CCGrid.
Intel P2P Developer Center is a site dedicated to technologies that can leverage the power of the existing endusers resources on the Internet.
Distributed Hash Tables, http:en.wikipedia.orgwikiDistributedhashtable is the wikipedia page for DHT technology.
BitTorrent, Inc., http:www.bittorrent.com is the home page of BitTorrent, Inc. and provides a number of BitTorrent related resources.
Wired, http:www.wired.comtechbizstartupsnews200712YE10startups, emphWired magazine 2003 interview with Bram Cohen, author of BitTorrent.
BitTorrent Protocol, http:www.bittorrent.orgbepsbep0003.html is the location of the Official BitTorrent Protocol Specification.
Doug Walker Interview, http:gigaom.com20080309bittorrrentceodougwalkerinterviewvideo interview with new CEO for BitTorrent.
Gnutelliums, http:www.gnutelliums.com provides a comprehensive directory of Gnutella clients for Windows, LinuxUnix and Macintosh, some of which are provided below:
BearShare, http:www.bearshare.com is a Windows file sharing program from Free Peers, Inc.
Gnotella, http:www.gnotella.com is a clone of Gnutella for Windows.
Gnucleus, http:gnucleus.sourceforge.net is an open Gnutella client for Windows.
LimeWire, http:www.limewire.com is a very popular Javabased Gnutella client.
Phex, http:www.konradhaenel.dephex is also a Java client, based on William W. Wongs Furi.
Toadnode, http:www.toadnode.com is an extensible platform for P2P networks. Its core functionality revolves around the ability to find, retrieve and
distribute data between users across multiple networks.
Gnut, http:www.gnutelliums.comlinuxunixgnut is a commandline client which implements the Gnutella protocol. It will run on a wide range of POSIXcompliant systems including: SunOS, Linux, FreeBSD, HPUX and Win32.
91

Grid Computing
Open Grid Forum OGF, http:www.ogf.org contains information about Gridrelated events. The OGF is a forum of some 5000 individual researchers and practitioners working on distributed computing or Grid technologies, and has a wide range of technical groups working on aspects of Grid technology and deployment.
GridForge, http:forge.gridforum.org is the working respository for OGF Working and Research Groups, housing the related documents through an open public comment process.
Globus: http:www.globus.org hosts the Globus middleware for Grid computing and all associated documentation.
GRIDSTART, http:www.gridstart.org contains information about the EU Framework 5 ISTfunded Grid research projects. You can find links to CrossGrid, DAMIEN, DataGrid EDG and EGEE, DataTAG, EGSO, EuroGrid, GRIA, GridLab and GRIP, along with a number of other projects that form the GRIDSTART cluster. The projects intention is to stimulate the widespread deployment of Grid technology by raising the awareness of potential users of the solutions already developed or being developed. They also organize IST Concertation Meetings on Grid Research, twice yearly, which host a number of plenary talks and European technical working groups.
UK eScience, http:www.rcuk.ac.ukescience Here you can find more information about the UK eScience program.
National eScience Center: http:www.nesc.ac.uk is a site containing links to a number of projects within the UK eScience
program.
GridCafe, http:gridcafe.web.cern.chgridcafe is a place to learn various aspects of Grid computing, from the name and the dream to a list of concrete projects around the world.
Grid Technology Repository GTR, http:gtr.globus.org was set up as a place for people to publish and discover work related to Grid technology.
The Grid Computing, http:www.gridcomputing.com information center is designed to promote the development of technologies which provide seamless and scalable access to widearea distributed resources.
Grid Today, http:www.gridtoday.com provides daily news and information for the Grid community.
The Grid Report, http:www.thegridreport.com is a collection of news items about distributed and Grid computing. It contains the latest news and information about Grid computing; its run by software engineers and its focus is for software engineers.
Grid Computing Planet is one of many sites run by JupiterWeb, the online division of Jupitermedia, which is a leading global provider of information, images, research and events for information technology, business and creative professionals. The Grid Computing Planet is in the EarthWeb information section and provides numerous articles, news events and so on, for Grid computing.
92

Distributed Object Systems
The Distributed Component Object Model DCOM, http:www.microsoft.comcomtechDCOM.asp is a Web site for finding out about distributed DCM technology, which enables software distributed components to communicate in a reliable, secure and efficient manner. It was previously called Network OLE and was based on the Open Software Foundations DCERPC specification.
CORBA, http:www.corba.org is the home page for the Common Object Request Broker Architecture CORBA middleware. It contains a number of resources, CORBA success stories and pointers to the Object Management Group.
Object Management Group OMG, www.omg.org which is establishing a model driven architecture through its worldwide standard specifications including CORBA, CORBAIIOP, the UML, XMI, MOF, Object Services, Internet Facilities and Domain Interface specifications.
Jini, http:www.jini.org is a central place for finding information about Jini. It contains new information, has discussion groups and allows users to exchange code and ideas.
93

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] algorithm Scheme html Java scala socket XML operating system database graph software network security Chapter 9: Name Services
$25