1 Chapter 9: Name Services From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001 Presentation based on slides by Coulouris et al; modified by Jens B Jorgensen, University of Aarhus
2 Name services – purpose URL Resource ID (IP number, port number, pathname) Network address 2:60:8c:2:b0:5a file Web server WebExamples/earth.html8888 DNS lookup Socket Names used for communication and resource sharing, e.g., , web. Name service: Provides clients with data about named objects.
3 Name services – basic concepts zNames may be identifiers, pure names or non-pure names. zResolution: Translation of a name into data about the named resource. zAttribute: Value of a property associated with an entity. zBinding: Association between name and entity. zNaming context: Set of bindings between textual names and attributes for objects.
4 Name services – basic functionality zStorage of a collection of one or more naming contexts. zShould support: yResolution of names. yCreation of new bindings. yDeletion of bindings. yListing of bound names. yAddition and deletion of naming contexts. zSome names are for local use, other for global (world-wide).
5 Name services – requirements zHandling of an arbitrary number of names and serving an arbitrary number of administrative organizations. zA long lifetime. zHigh availability. zFault isolation. zTolerance of mistrust.
6 Name services – name spaces and naming domains zName space: Collection of all valid names recognized by a particular name service. zNaming domain: Name space with a single overall authority for: yAssignment of names. yAdministration of names. yKeeping naming data up-to-date.
7 Name resolution – basics zName resolution: yTranslation from a name into data about named entity. zIterative process whereby a name is repeatedly presented to naming contexts, yielding either: yA set of primitive attributes, or ya further naming context and a derived name to be presented to that context. zNavigation: Location of naming data from more than one name server in order to resolve a name.
8 Name resolution – iterative navigation Client A client iteratively contacts name servers NS1–NS3 in order to resolve a name NS2 NS1 NS3 Name servers
9 Name resolution – server-controlled navigation A name server NS1 communicates with other name servers on behalf of a client client Recursive server-controlled NS2 NS1 NS3 NS2 NS1 NS3 Non-recursive server-controlled
10 Name resolution – caching zResults of previous name resolutions cached. zIncreases performance and availability. zNaming data changed relatively rarely. zCached data may have a time-to-live.
11 DNS – Domain Name Service zName service of the Internet. zObjects named primarily computers, with IP addresses stored. zAny name can be resolved by any client. zMain applications: Host name resolution, mail host resolution. zDesign goals: Scalability, performance, fault tolerance. zDesign techniques: yHierarchical partitioning of the name database. yReplication of naming data. yCaching.
12 DNS – DNS name servers zDNS database distributed across a logical network of servers. zEach server holds part of the naming database, including: yData for the local domain. yDomain names and addresses of other name servers. zThe DNS naming data is divided into zones, containing: yAttribute data for names in a domain. yNames and addresses of at least two name servers that provide authoritative data for the given zone. yNames etc. of name servers that hold authoritative data for delegated sub-domains. yZone management parameters. zA server may hold authoritative data for zero or more zones. zEach zone must be replicated authoritatively in at least two servers.
13 DNS – where is data stored? zRoot name servers hold authoritative entries for the name servers for the top-level domains (com, edu, gov, org, …). zEach country domain has a number of name servers. zCountry domain servers know the name servers for second-level domains. zAll DNS servers store the addresses of one or more root name servers.
14 DNS – extract of the DNS database 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
15 DNS – resource records types Record typeMeaningMain contents AA computer addressIP number NSAn authoritative name serverDomain name for server CNAMEThe canonical name for an aliasDomain name for alias SOAMarks the start of data for a zone Parameters governing the zone WKSA well-known service descriptionList of service names and protocols PTRDomain name pointer (reverse lookups) Domain name HINFOHost informationMachine architecture and operating system MXMail exchangeList of <preference, host> pairs TXTText stringArbitrary text
16 DNS – record example (from database of qmw.ac.uk) domain nametime to liveclasstypevalue dcs1DINNSdns0.dcs 1DINA dcs1DINNSdns1.dcs 1DINA dcs1DINNScancer.ucs.ed.ac.uk
17 Directory and discovery services zDirectory service: yStores collections of bindings between names and attributes. yLooks up entries that match attribute-based specifications. zDiscovery service: yRegisters the services provided in a spontaneous networking environment. yProvides clients with an interface to look up required services.
18 Summary zName services. zName resolution. zDNS: Domain Name Service. z(Directory and discovery services.)