Name Services Bina Ramamurthy 5/18/2019 B.Ramamurthy
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. Naming Service: provides data about named objects in a distributed systems. Directory and discovery service: locates objects that satisfy a given description. We will discuss services needed to look up resources from names and description. 5/18/2019 B.Ramamurthy
Names, Addresses and other attributes Any process that requires access to a specific resource must posses a name or identifier for it. Ex: URL http:://www.cdk3.net/ A 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. 5/18/2019 B.Ramamurthy
Names and Binding Names are bound to the attributes of named objects (and not to any specific implementations.) 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 Domain name Service (DNS) maps attributes of the host computer 5/18/2019 B.Ramamurthy
Composed naming domains used to access a resource from a URL http://www.cdk3.net:8888/WebExamples/earth.html URL Resource ID (IP number, port number, pathname) Network address 2:60:8c:2:b0:5a file Web server 55.55.55.55 WebExamples/earth.html 8888 DNS lookup Socket 5/18/2019 B.Ramamurthy
Composed Domain Name A URL is composed of names from three naming domains: IP (IP address), port number (IPC domain, socket), and file name (file system). All three have to successfully resolved to get at the resource. An IP address must be looked up to obtain the network address such as an Ethernet address. Similarly port number and file name have to be resolved by the file system. In the last slide an URL is resolved by a DNS into IP address, and then ARP into Ethernet address. 5/18/2019 B.Ramamurthy
Universal Resource (L,I,N and C) URL: universal Resource Locator is the principle means of identifying web resources. Advantages: Scalability and efficiency. Disadvantages: dangling links on removal of a resource. URLs are particular type of URI (UR Identifier). Another type of URI is URN (UR Name). URNs are intended to solve the dangling link problem and to provide richer modes of finding resources on the web. URN lookup service will provide URN given a URL. Of course the owner registers the resource with the lookup service when it moves. URC (UR Characteristics) is for looking up a resource that matches a description of one or more of its attributes; Ex: …’author=Leslie Lamport’ 5/18/2019 B.Ramamurthy
Universal Resource Names Is an abstraction over URLs. A URN is of the form: urn:nameSpace:nameSpace-specificName urn:doi:10.555/music-pop-1234 Refers to publication called music-pop-1234 in the naming scheme of publisher known as 10.555 in the Digital Object Identifier (doi) scheme (www.doi.org). Another urn example: urn:dcs.gormenghast.ac.uk:TR2000-56 can be used to get the latest information about technical report TR2000-56 registered with the URL lookup service gormenghast.ac.uk department of CS (dcs) 5/18/2019 B.Ramamurthy
Server Types Connectionless vs. connection-oriented Stateless vs. stateful Concurrent processing vs. iterative processing Iterative Connection-oriented Iterative Connectionless Concurrent Connection-oriented Concurrent Connectionless 5/18/2019 B.Ramamurthy
Name Service A name service stores a collection of one or more naming contexts – sets of bindings between textual names and attributes for objects such as users, computers, services and remote objects. (Definition) Major operation: resolve a name: to look up attributes from a given name. (Operational Requirements) Other operations required: creating new binding, deleting bindings, listing bound names and adding and deleting contexts. 5/18/2019 B.Ramamurthy
General Name Service Requirements Originally Name Service was simple since it was to bind names to addresses in a single domain. Interconnection of networks and increased scale of distributed systems have produced a much larger name-mapping problem. To handle arbitrary number of names and to server arbitrary number of administrative organizations. A long lifetime. High availability Fault isolation Tolerance of mistrust 5/18/2019 B.Ramamurthy
Design Issues Main design issues for Name services are: (Taking DNS as case study) Name spaces Name Resolution The domain name system 5/18/2019 B.Ramamurthy
Name Spaces A name space is a collection of all valid names recognized by a particular service. Name may be bound to an object or unbound. Name spaces require syntactic definition. For example “two” is not an unix process name whereas 2 is, and … is not acceptable as a DNS computer name. Name spaces are typically hierarchical. DNS names are called domain names; examples: bruno.dcs.qmw.ac.uk (computer) dcs.qmw.ac.uk, com, purdue.edu (domains). Not case sensitive: ac.uk is same as AC.UK 5/18/2019 B.Ramamurthy
Name Space (contd.) Aliases: DNS allows aliases in which one domain name may stand for another. A very popular alias is that for a web server: www.dcs.qmw.ac.uk stands for copper.dcs.qmw.ac.uk This has the advantage that the clients can refer to the web server by one generic name. 5/18/2019 B.Ramamurthy
Combining Name Spaces DNS provides a global and homogeneous name space in which a given name refers to the same entity, no matter which process on which computer looks up the name. But some other name services allow distinct name space and even heterogeneous name spaces to be embedded in them. Issues: merging, heterogeneity, and customization. We will look at heterogeneity in DCE. 5/18/2019 B.Ramamurthy
DCE’s Heterogeneous Namespace DCE allows heterogeneous namespaces to be embedded within it. DCE names are called junctions which are similar to mount points in NFS and Unix. Example consider: /…/dcs.qmw.ac.uk/principals/Jean.Dollimore /…/dcs.qmw.ac.uk denotes a context called a cell. Next component “principals” is a junction which is a context containing security principals in which final component is Jean.Dollimore can be looked up. Another Example: /…/dcs.qmw.ac.uk/files/pub/reports/TR2000-99 where files is the junction point. Principals and files are the root for the heterogeneous names space. 5/18/2019 B.Ramamurthy
Name Resolution Resolution is an iterative process whereby a name is repeatedly presented to the naming contexts. A naming context either maps name on to a set of primitive attributes or it maps it on to a further naming context and a derived name to be presented to the context. Example1: /etc/passwd in which ‘etc’ is presented to context / and ‘paswd 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. 5/18/2019 B.Ramamurthy
Name Servers and Navigation Any name service stores a very large database. Data is partitioned into servers according to its domain. In DNS most of the entries are local computers. Partitioning of the data implies that the local name server cannot answer all the enquiries without the help of other name servers. For example, the name server in the cse.buffalo.edu would not be able to IP address of a computer in cs.purdue.edu domain unless it is cached. Process of locating naming data from among more than one name server in order to resolve a name is called navigation. Ex: Iterative Navigation 5/18/2019 B.Ramamurthy
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 NS2 NS1 NS3 Name servers 5/18/2019 B.Ramamurthy
Non-recursive and recursive server-controlled navigation 1 2 3 5 4 A name server NS1 communicates with other name servers on behalf of a client client Recursive server-controlled NS2 NS1 NS3 Non-recursive 5/18/2019 B.Ramamurthy
Caching Client name resolution software and servers maintain a cache of previous name resolutions. 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. 5/18/2019 B.Ramamurthy
The Domain Name System The Domain Name System (DNS) is a name service whose principal naming database is used across the internet. It was designed by Mockapetris(1987) to replace the original internet naming scheme which did not scale well. Objects named by DNS are primarily computers for which IP addresses are stored as attributes. Millions of names are bound by Internet DNS, lookup are made from around the world. This is by hierarchical partitioning of name database, replication and caching. 5/18/2019 B.Ramamurthy
Domain Names Top level organizational domains are partitioned geographically and organizationally. edu , uk DNS Queries : host name resolution and well known services. 5/18/2019 B.Ramamurthy
Figure 9.4 DNS name servers Note: Name server names are in italics, and the corresponding domains are in parentheses. 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 Arrows denote name server entries 5/18/2019 B.Ramamurthy