Download presentation
Presentation is loading. Please wait.
Published byGodwin Howard Modified over 8 years ago
2
Nguyễn Bảo Toàn 00707189 Bùi Ngọc Sơn 00707179 Name service
3
Outline General concepts Domain Name System (DNS) 2
4
Introduction In 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 changed because they are more meaningful to users 3
5
Names, Addresses and other attributes Any 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
6
Names and Binding The 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
7
Composed naming domains used to access a resource from a URL file Web server Socket http://www.cdk3.net:8888/WebExamples/earth.html URL Resource ID (IP number, port number, pathname) 138.37.88.61WebExamples/earth.html8888 DNS lookup Figure 9.1 (Ethernet) Network address 2:60:8c:2:b0:5a ARP lookup * 6
8
Names and services Many 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
9
Uniform Resource Identifier It used to identify resources on the web and other internet resources such as electronic mailbox. URL: Uniform Resource Locator This term is reserve for identifiers that are resource locators, including ‘http’ and ‘mailto’ URN: Uniform Resource Names URNs are URIs that are used as pure resource name rather than locator 8
10
Name Service and the DNS A 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
11
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
12
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
13
Name services: Design Issues Name spaces Name Resolution The domain name system 12
14
Name Spaces A name space is a collection of all valid names recognized by a particular service Allow simple but meaningful names to be used Potentially infinite number of names Structured to allow similar subnames without clashes to group related names Allow re-structuring of name trees for some types of change, old programs should continue to work Management of trust 13
15
Hierarchic name space Names 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 infinite Different context can be managed by different people. 14
16
Name Space 15
17
Aliases An 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.netwww.example.net might be an alias for www.fred.example.netwww.fred.example.net 16
18
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
19
Naming domains A 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
20
Combining and customizing name spaces Merging In which a part of one name space is conveniently embedded in another. Adding super root Embed 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
21
Name Resolution Resolution 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.www.dcs.qmw.ac.uk 20
22
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
23
Navigation types Iterative navigation Multicast navigation Non-recursive server-controlled navigation Recursive server-controlled navigation 22
24
Iterative navigation 23 Client 1 2 3 A client iteratively contacts name servers NS1–NS3 in order to resolve a name NS2 NS1 NS3 Name servers
25
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 Recursive server-controlled 1 2 3 5 4 client NS2 NS1 NS3 1 2 3 4 client NS2 NS1 NS3 Non-recursive server-controlled Figure 9.3 * 24
26
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. 25
27
The Domain Name System A distributed naming database Name structure reflects administrative structure of the Internet Rapidly resolves domain names to IP addresses exploits caching heavily typical query time ~100 milliseconds Scales to millions of computers partitioned database caching Resilient to failure of a server replication 26
28
Parts of a domain name Usually 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
29
DNS queries Host 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 location Electronic 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 system Well-known services : return the list of services run by a computer. 28
30
DNS name servers The Domain Name System consists of a hierarchical set of DNS servers Each server holds part of the naming database Each 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
31
Zones The 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
32
DNS servers and zones A 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
33
Master files System 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
34
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) 33
35
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) uk purdue.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
36
DNS in typical operation 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) uk purdue.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 3 IP: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
37
Resource Records 36
38
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Figure 9.6 DNS zone data records domain nametime to liveclasstypevalue 1DINNSdns0 1DINNSdns1 1DINNScancer.ucs.ed.ac.uk 1DINMX1 mail1.qmul.ac.uk 1DINMX2 mail2.qmul.ac.uk domain nametime to live classtype value www 1D IN CNAME apricot apricot 1D IN A 138.37.88.248 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
39
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 country-level domain. 38
40
References Distributed Systems: Concepts and Design Internet sources http://www.cdk3.net wiki 39
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.