Nguyễn Bảo Toàn 00707189 Bùi Ngọc Sơn 00707179 Name service.

Post on 19-Jan-2016

233 views 0 download

Tags:

Transcript of Nguyễn Bảo Toàn 00707189 Bùi Ngọc Sơn 00707179 Name service.

Nguyễn Bảo Toàn 00707189

Bùi Ngọc Sơn 00707179

Name service

OutlineGeneral conceptsDomain Name System (DNS)

2

IntroductionIn a distributed system names are used to refer to

a wide variety of resources such as computers, services, remote objects, and files as well as users.

Names facilitate communication and resource sharing.

Names are used for identification as well as for describing attributes.

For many purposes, names are preferable to identifiers because the binding of the named resource to a

physical location is deferred and can be changedbecause they are more meaningful to users

3

Names, Addresses and other attributesAny process that requires access to a specific

resource must possess a name or identifier for it. Ex: URL http:://www.cdk3.net/

The term identifier is sometimes used to refer to names that are interpreted only by programs (remote object reference and NFS file handles are examples)

Names can be pure or non-pure Pure name has to be looked up before it can be

used.A name is said to be resolved when it is

translated into data about the resource or object.

4

Names and BindingThe association between a name and an

object is called binding.Services are written to map between

names and the attributes of objects they refer to.

Example:Domain name Service (DNS) maps domain

names to the attributes of the host computer (IP)

CORBA Naming service maps the name of a remote object onto its remote object reference.

5

Composed naming domains used to access a resource from a URL

file

Web serverSocket

http://www.cdk3.net:8888/WebExamples/earth.html

URL

Resource ID (IP number, port number, pathname)

138.37.88.61 WebExamples/earth.html8888

DNS lookup

Figure 9.1

(Ethernet) Network address

2:60:8c:2:b0:5a

ARP lookup

*6

Names and servicesMany of the names used in a DS are

specific to some particular service Client uses service name to perform an

operation upone a named object or resource.

Names are also needed to refer to entities in a distributed system that are beyond the scope of any single service.(e.g. users, computers and services)

All these names must be readable.

7

Uniform Resource IdentifierIt used to identify resources on the web

and other internet resources such as electronic mailbox.

URL: Uniform Resource LocatorThis term is reserve for identifiers that are

resource locators, including ‘http’ and ‘mailto’

URN: Uniform Resource NamesURNs are URIs that are used as pure

resource name rather than locator

8

Name Service and the DNSA name service stores a collection of one or

more naming contexts – sets of bindings between textual names and attributes for objects.

Provides a general naming scheme for entities (such as users and services) that are beyond the scope of a single service.

Major operation: resolve a name - to look up attributes from a given name

Other operations required: creating new binding, deleting bindings, listing bound names and adding and deleting contexts.

9

Why is name management separated from other services?1. Unification : it is convenient for resources

managed by different services to use the same naming scheme ( URI)

2. Integration : it is not possible to predict the scope of sharing DS. So, without a common name service, the administrative domain may use entirely different naming conventions.

10

General Name Service Requirements

Handle arbitrary number of names and to serve arbitrary number of administrative organizations.

A long lifetime High availability Fault isolation Tolerance of mistrust

11

Name services: Design IssuesName spacesName ResolutionThe domain name system

12

Name SpacesA name space is a collection of all valid names

recognized by a particular serviceAllow simple but meaningful names to be usedPotentially infinite number of namesStructured

to allow similar subnames without clashesto group related names

Allow re-structuring of name treesfor some types of change, old programs should

continue to workManagement of trust

13

Hierarchic name spaceNames may have an internal structure that

represents their position in a hierarchic name space.

Hierarchic name space advantages:Each part of a name is resolved relative to a

separate context, and the same name may be used with different meaning in different contexts (directory). E.g. /etc/passwd and /oldetc/passwd have different meanings because the second part is resolved in different contexts.

it is potentially infiniteDifferent context can be managed by different

people.

14

Name Space

15

AliasesAn alias allows a convenient name to be substituted

for a more complicated one.The DNS allows aliases in which one domain is

defined to stand for another.The reason for having aliases is to provide for

transparency.Aliases are generally used to specify the names of

machines that runs the web server or an FTP server.

Example:www.example.net might be an alias for

www.fred.example.net

16

Aliases (con.)Advantages:Client can refer to the web server by a

generic name that does not refer to a particular machine.

If the web server is moved to another computer, all that needs to be done is to update the alias in the DNS database.

17

Naming domainsA naming domain is a name space for

which there exist a single overall administrative authority for assigning names with it.

Domains in DNS are collections of domain names.

A domain’s name is the common suffix of the domain names within it. For example, net is a domain name that contains cdk4.net

18

Combining and customizing name spacesMerging

In which a part of one name space is conveniently embedded in another.Adding super rootEmbed the mounted file systems

Heterogeneity The DCE allows heterogeneous name spaces

to be embedded with it using junction.Customization

Users sometimes prefer to construct their name spaces independently rather than sharing a single name space

19

Name ResolutionResolution is an iterative process whereby a

name is repeatedly presented to the naming contexts.

The name is first presented to some initial naming context; resolution iterates as long as further context and derived names are output.

Example1: /etc/passwd in which ‘etc’ is presented to context / and ‘passwd’ is presented to context /etc.

Example 2: www.dcs.qmw.ac.uk in which the alias is resolved to another domain name such as copper.dcs.qmw.ac.uk which is further resolved to produce IP address.

20

Name Servers and Navigation

Any name service stores a very large database.

Data is partitioned into servers according to its domain.

Partitioning of the data implies that the local name server cannot answer all the enquiries without the help of other name servers.

Process of locating naming data from among more than one name server in order to resolve a name is called navigation. Ex: Iterative Navigation model(DNS)

21

Navigation typesIterative navigationMulticast navigationNon-recursive server-controlled navigationRecursive server-controlled navigation

22

Iterative navigation

23

Client1

2

3

A client iteratively contacts name servers NS1–NS3 in order to resolve a name

NS2

NS1

NS3

Nameservers

Non-recursive and recursive server-controlled navigation

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.

A name server NS1 communicates with other name servers on behalf of a client

Recursiveserver-controlled

1

23

5

4

client

NS2

NS1

NS3

12

34client

NS2

NS1

NS3

Non-recursiveserver-controlled

Figure 9.3

*24

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

25

The Domain Name SystemA distributed naming database

Name structure reflects administrative structure of the Internet

Rapidly resolves domain names to IP addressesexploits caching heavilytypical query time ~100 milliseconds

Scales to millions of computerspartitioned databasecaching

Resilient to failure of a serverreplication

26

Parts of a domain nameUsually consists of two or more parts

(technically labels), separated by dots. .The rightmost label conveys the top-level

domain.Each label to the left specifies a

subdivision, or subdomain of the domain above it.

27

DNS queriesHost name resolution

When a web browser is given a URL containing the domain name www.dcs.qmul.ac.uk , it makes a DNS enquiry and obtains the corresponding IP address.

Mail host locationElectronic mail software uses the DNS to resolve domain names into the IP address of mail hosts

Reverse resolution: return the domain name.Host information: return the machine type and

operating systemWell-known services : return the list of services run

by a computer.

28

DNS name serversThe Domain Name System consists of a

hierarchical set of DNS serversEach server holds part of the naming databaseEach domain or sub-domain 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.

At the top of the hierarchy stand the root name-servers: the servers to query when looking up (resolving) a top-level domain name

29

ZonesThe DNS naming data are divided into zones.Each zone contains:

1. Attribute data for names in a domain, less any sub-domains administered by lower-level authorities.

2. The name and addresses of at least two name servers that provide authoritative data for the zone.

3. The names of name servers that hold authoritative data for delegated sub-domains

4. Zone management parameters ( governing the caching & replication of zone data.

30

DNS servers and zonesA server may hold authoritative data for

zero or more zones.The DNS architecture specifies that each

zone must be replicated authoritatively in at least two servers. (why?)

31

Master filesSystem administrators enter the data for a zone

into a master file, which is the source of authoritative data for the zone.

There are two types of servers:1. Primary or master server which reads zone data

directly from a local master file.2. Secondary servers which download zone data from a

primary server and communicate periodically with the primary server to check whether their stored version matches that held by the primary server.

1. The primary sends the latest version if the secondary’s copy is out of date

2. The value of secondary’s check is one or two a day which is set by administrators as a zone parameters.

32

Basic DNS algorithm for name resolution

Look for the name in the local cacheTry a superior DNS server, which

responds with:another recommended DNS serverthe IP address (which may not be

entirely up to date)

33

DNS name servers

Note: Name server names are in italics, and the corresponding domains are in parentheses.Arrows denote name server entries

a.root-servers.net(root)

ns0.ja.net(ac.uk)

dns0.dcs.qmw.ac.uk(dcs.qmw.ac.uk)

alpha.qmw.ac.uk(qmw.ac.uk)

dns0-doc.ic.ac.uk(ic.ac.uk)

ns.purdue.edu(purdue.edu)

ukpurdue.edu

ic.ac.uk

qmw.ac.uk...

dcs.qmw.ac.uk*.qmw.ac.uk

*.ic.ac.uk*.dcs.qmw.ac.uk

* .purdue.edu

ns1.nic.uk(uk)

ac.uk...

co.uk

yahoo.com ....

Figure 9.4

authoritative path to lookup:

jeans-pc.dcs.qmw.ac.uk

*34

DNS in typical operationa.root-servers.net

(root)

ns0.ja.net(ac.uk)

dns0.dcs.qmw.ac.uk(dcs.qmw.ac.uk)

alpha.qmw.ac.uk(qmw.ac.uk)

dns0-doc.ic.ac.uk(ic.ac.uk)

ns.purdue.edu(purdue.edu)

ukpurdue.edu

ic.ac.uk

qmw.ac.uk...

dcs.qmw.ac.uk*.qmw.ac.uk

*.ic.ac.uk*.dcs.qmw.ac.uk

* .purdue.edu

ns1.nic.uk(uk)

ac.uk...

co.uk

yahoo.com ....

client.ic.ac.uk

IP: alpha.qmw.ac.uk

2

3IP:dns0.dcs.qmw.ac.uk

jeans-pc.dcs.qmw.ac.uk ?

IP:ns0.ja.net

1

IP:jeans-pc.dcs.qmw.ac.uk

4

Without caching

*35

Resource Records

36

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000

Figure 9.6DNS zone data records

domain name time to live class type value

1D IN NS dns01D IN NS dns11D IN NS cancer.ucs.ed.ac.uk1D IN MX 1 mail1.qmul.ac.uk1D IN MX 2 mail2.qmul.ac.uk

domain name time to live class type value

www 1D IN CNAME apricot

apricot 1D IN A 138.37.88.248

dcs 1D IN NS dns0.dcsdns0.dcs 1D IN A 138.37.88.249dcs 1D IN NS dns1.dcs

dns1.dcs 1D IN A 138.37.94.248dcs 1D IN NS cancer.ucs.ed.ac.uk

DNS issuesName tables change infrequently, but when they

do, caching can result in the delivery of stale data.Clients are responsible for detecting this and

recoveringIts design makes changes to the structure of the

name space difficult. For example:merging previously separate domain trees under a

new rootmoving 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 country-level domain.

38

ReferencesDistributed Systems: Concepts and DesignInternet sources

http://www.cdk3.netwiki

39