Naming CSCI 6900/4900
Mounting • Mounting – Merging different namespaces transparently • File system example • Directory node of one namespace stores identifier of directory node of another namespace • Mount Point – Directory node storing the foreign ID • Mounting Point – Directory node in foreign space • Resolution occurs by looking up mounting point and then accessing its directory table • Can be generalized to other namespaces as well
Mounting Foreign Namespaces • Namespaces on different servers possibly on different machines • Mounting might require network communication • Mounting requires at least three information • Name of access protocol • Name of server • Name of mounting point in foreign space • Each name needs to be resolved • Mounting point needs to be resolved by the foreign server • Three names are represented as a URL • Example: nfs://flits.cs.vu.nl//home/steen
Mounting - Example • Mounting remote name spaces through a specific process protocol. • Tracing the resolution of /remote/vu/mbox
Mounting Alternative • Pioneered by Global Name Service • Add new root and make the existing root nodes the children of new root • Problem – Existing path names need to be changed • Solution – The root id (from where the resolution should normally start) is implicitly included in the path
Name Space Implementation • Naming service – A service that lets users to add/delete and lookup names • In large distributed systems naming service has to be distributed • For convenience namespace is partitioned into logical layers • Global layer – Highest level nodes (root and first level children) • Administration layer – Directory nodes managed by single organization (Ex: Departmental nodes in UGA) • Managerial layer – Nodes of local network, shared files, etc.
Name Space Distribution • An example partitioning of the DNS name space, including Internet-accessible files, into three layers.
Layers and their Characteristics • Global layer • Stability – Directory tables rarely change • High availability is critical • Permits high levels of caching, throughput is critical • Administrative Layer • Availability is critical • Permits high levels of caching • Response time should be fast • Managerial level • Client-side caching is in general less effective • Fast response time is crucial
Name Resolution - Implementation • Distribution affects name resolution implementation • Example: root:<nl, vu, cs, ftp, pub, globe, index.txt> • Two types – Iterative process and Recursive Process • Iterative Process • Each node resolves as much as it can and sends result to client, which contacts the next level of node • Recursive Process • Nodes do not return intermediate results to client • Contact next level of nodes obtain addresses and send complete results to the client
Iterative Vs. Recursive Name Resolutions • Iterative • Shorter connection durations -> Less load on servers • Caching can be done only at the server -> High latency • Recursive • Longer connection duration -> High loads on servers • Permits caching at higher levels of nodes • High-level nodes can “learn” about lower level nodes • Permits shortcuts • Cheaper with respect to communication latency
Caching in Recursive Name Resolution • Recursive name resolution of <nl, vu, cs, ftp>. Name servers cache intermediate results for subsequent lookups.
Implementation of Name Resolution (4) • The comparison between recursive and iterative name resolution with respect to communication costs.
The Domain Name Service • Largest distributed naming service • Used for looking up host addresses and mail servers • Hierarchically organized as a rooted tree • Labels – 63 Characters; Pathnames – 256 characters • String representation – Listing labels from right to left separated by dots • Domain – Subtree of nametree • Domain name – Path to the root of the domain • Contents of node – Resource records
The DNS Name Space • The most important types of resource records forming the contents of nodes in the DNS name space.
DNS Implementation • DNS namespace is divided into global layer and administration layer • Managerial layer no part of DNS • Each zone implemented by a name server • Replicated for availability • Updates happen only at primary name server • Lazy replication – Zone transfer • Database is made up of collection of files
DNS Implementation - Example • An excerpt from the DNS database for the zone cs.vu.nl.
Reference to Subdomains • Part of the description for the vu.nl domain which contains the cs.vu.nl domain.