Name Services Bina Ramamurthy 242022 B Ramamurthy 1
Name Services Bina Ramamurthy 2/4/2022 B. Ramamurthy 1
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. 2/4/2022 B. Ramamurthy 2
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. cdk 3. 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. 2/4/2022 B. Ramamurthy 3
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 2/4/2022 B. Ramamurthy 4
Composed naming domains used to access a resource from a URL http: //www. cdk 3. net: 8888/Web. Examples/earth. html DNS lookup Resource ID (IP number, port number, pathname) 55. 55. 55 8888 Web. Examples/earth. html Web server Network address file 2: 60: 8 c: 2: b 0: 5 a Socket 2/4/2022 B. Ramamurthy 5
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. 2/4/2022 B. Ramamurthy 6
Universal Resource (L, I, N and C) URL: universal Resource Locator is the principle means of identifying web resources. n Advantages: Scalability and efficiency. n 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. n URN lookup service will provide URN given a URL. n 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’ 2/4/2022 B. Ramamurthy 7
Universal Resource Names Is an abstraction over URLs. A URN is of the form: urn: name. Space-specific. Name 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: TR 2000 -56 can be used to get the latest information about technical report TR 2000 -56 registered with the URL lookup service gormenghast. ac. uk department of CS (dcs) 2/4/2022 B. Ramamurthy 8
Server Types Connectionless vs. connection-oriented Stateless vs. stateful Concurrent processing vs. iterative processing 2/4/2022 Iterative Connectionless Iterative Connection-oriented Concurrent Connectionless Concurrent Connection-oriented B. Ramamurthy 9
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. 2/4/2022 B. Ramamurthy 10
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. n To handle arbitrary number of names and to server arbitrary number of administrative organizations. n A long lifetime. n High availability n Fault isolation n Tolerance of mistrust 2/4/2022 B. Ramamurthy 11
Design Issues Main design issues for Name services are: (Taking DNS as case study) Name spaces Name Resolution The domain name system 2/4/2022 B. Ramamurthy 12
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 2/4/2022 B. Ramamurthy 13
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. 2/4/2022 B. Ramamurthy 14
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. 2/4/2022 B. Ramamurthy 15
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/TR 2000 -99 where files is the junction point. Principals and files are the root for the heterogeneous names space. 2/4/2022 B. Ramamurthy 16
Name 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. Example 1: /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. 2/4/2022 B. Ramamurthy 17
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 2/4/2022 B. Ramamurthy 18
Iterative navigation NS 2 2 Client 1 NS 1 Name servers 3 NS 3 A client iteratively contacts name servers NS 1–NS 3 in order to resolve a name 2/4/2022 B. Ramamurthy 19
Non-recursive and recursive servercontrolled navigation NS 2 2 2 1 client 4 NS 1 client 3 1 4 NS 1 3 5 NS 3 Non-recursive server-controlled Recursive server-controlled A name server NS 1 communicates with other name servers on behalf of a client 2/4/2022 B. Ramamurthy 20
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. 2/4/2022 B. Ramamurthy 21
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. 2/4/2022 B. Ramamurthy 22
Domain Names Top level organizational domains are partitioned geographically and organizationally. edu , uk DNS Queries : host name resolution and well known services. 2/4/2022 B. Ramamurthy 23
Figure 9. 4 DNS name servers a. root-servers. net (root) Note: Name server names are in italics, and the corresponding domains are in parentheses. Arrows denote name server entries ns 1. nic. uk (uk) uk purdue. edu yahoo. com ns. purdue. edu (purdue. edu) co. uk ac. uk ns 0. ja. net (ac. uk) *. purdue. edu ic. ac. uk qmw. ac. uk 2/4/2022 dcs. qmw. ac. uk *. dcs. qmw. ac. uk alpha. qmw. ac. uk (qmw. ac. uk) dns 0. dcs. qmw. ac. uk (dcs. qmw. ac. uk) B. Ramamurthy *. ic. ac. uk dns 0 -doc. ic. ac. uk (ic. ac. uk) 24
- Slides: 24