1 / 37

Chapter 6: Name Services

Chapter 6: Name Services. Name Services Introduction Name services and DNS Discovery services Summary. Objectives. To understand the need for naming systems in DS To study the design requirements for distributed name services

tadhg
Télécharger la présentation

Chapter 6: Name Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 6: Name Services

  2. Name Services • Introduction • Name services and DNS • Discovery services • Summary

  3. Objectives • To understand the need fornaming systemsin DS • To study thedesign requirements for distributed name services • To understand theoperation of the Internet naming service – DNS • To be familiar with therole of discovery servicesin mobile and ubiquitous computer systems

  4. The Role Of Names And Name Services • Resources - accessed using identifier or reference • An identifier can be stored in variables and retrieved from tables quickly • Identifier includes or can be transformed to an address for an object • E.g. NFS file handle, Corba remote object reference • A name is human-readable value (usually a string) that can be resolved to an identifier or address • Internet domain name, file pathname, process number • E.g ./etc/passwd, http://www.cdk3.net/

  5. The Role Of Names And Name Services (Cont.) • 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 • Resource names are resolved by name services • to give identifiers and other useful attributes

  6. Requirements For Name Spaces • 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

  7. URL http://www.cdk3.net:8888/WebExamples/earth.html DNS lookup Resource ID (IP number, port number, pathname) 138.37.88.61 8888 WebExamples/earth.html ARP lookup (Ethernet) Network address file 2:60:8c:2:b0:5a Socket Web server Composed Naming Domains Used To Access A Resource From A URL Figure 9.1

  8. Names And Resources • Currently, different name systems are used for each type of resource: resource name identifies file pathname file within a given file system process process id process on a given computer port port number IP port on a given computer • Uniform Resource Identifiers (URI) offer a general solution for any type of resource. 2 main classes:

  9. Names And Resources (Cont.) • There are two main classes (Cont.): URL Uniform Resource Locator • typed by protocol field (http, ftp, nfs, etc.) • part of the name is service-specific • resources cannot be moved between domains URN Uniform Resource Name • requires a universal resource name lookup service • DNS-like system for all resources

  10. Names And Resources (Cont.) More on URNs format: urn:<nameSpace>:<name-within-namespace> examples: a) urn:ISBN:021-61918-0 b) urn:dcs.qmul.ac.uk:TR2000-56 resolution: • send a request to nearest ISBN-lookup service - it would return whatever attributes of a book are required by the requester • send a request to the urn lookup service at dcs.qmul.ac.uk - it would return a url for the relevant document

  11. NS2 2 Name 1 NS1 servers Client 3 NS3 Name Resolution in an Iterative navigation Figure 9.2 Used in: DNS: Client presents entire name to servers, starting at a local server, NS1. If NS1 has the requested name, it is resolved, else NS1 suggests contacting NS2 (a server for a domain that includes the requested name). NFS: Resolves file name iteratively on a component by component basis. A client iteratively contacts name servers NS1–NS3 in order to resolve a name

  12. NS2 NS2 2 2 4 3 1 1 NS1 NS1 client client 3 5 4 NS3 NS3 Recursive Non-recursive server-controlled server-controlled Non-recursive And Recursive Server-controlled Navigation Figure 9.3 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

  13. DNS - The Internet Domain Name System • Def : a distributed hierarchical naming system for computers, services, or any resource connected to the Internet or a private network • To replace original scheme - host name ad adds were kept in single master file and downloaded by ftp. • Did not scale to a large number of computer. • Local organization wished to administer themselves • A general name service was needed • Name structure reflects administrative structure of 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

  14. DNS Server Functions And Configuration • Main function is to resolve domain names for computers, i.e. to get their IP addresses • caches the results of previous searches until they pass their 'time to live' • Other functions: • get mail host for a domain • reverse resolution - get domain name from IP address • Host information - type of hardware and OS • Well-known services - a list of well-known services offered by a host

  15. DNS - The Internet Domain Name System (Cont.) • Is designed for use in multiple implementation – have its own space name • Com – commercial organization • Edu - educational institutions • Gov - goverment agencies • DNS naming data are divided into zones that contains following data : • Attribute data for names in a domain and less any sub domains • names and adds of at least 2 names servers that provided authoritative data for zone • names of server that hold authoritative data for sub-domains • Zone management parameter – governing the caching and replication • 2 types of server that provide authoritative data • Primary/master – reads zone data directly from local master file • Secondary – download zone data from primary server

  16. DNS - The Internet Domain Name System (Cont.) Basic DNS algorithm for name resolution (domain name -> IP number) • Look for the name in the local cache • Try a superior DNS server, which responds with: – another recommended DNS server – IP address (which may not entirely up to date)

  17. a.root-servers.net (root) uk purdue.edu ns1.nic.uk yahoo.com .... (uk) ns.purdue.edu (purdue.edu) co.uk ac.uk... ns0.ja.net (ac.uk) * .purdue.edu ic.ac.uk qmw.ac.uk... alpha.qmw.ac.uk dns0.dcs.qmw.ac.uk dns0-doc.ic.ac.uk (qmw.ac.uk) (dcs.qmw.ac.uk) (ic.ac.uk) dcs.qmw.ac.uk *.dcs.qmw.ac.uk *.ic.ac.uk *.qmw.ac.uk DNS Name Servers Figure 9.4 Note: Name server names are in italics, and the corresponding domains are in parentheses.Arrows denote name server entries authoritative path to lookup: jeans-pc.dcs.qmw.ac.uk

  18. Values for the most significant segment of a domain name. DNS does not distinguish between names in upper or lower case.

  19. DNS Hierarchy Graphical illustrates one way DNS hierarchy might be structured in corporation. Name for individual computers can be added to the diagram.

  20. 2 examples of ways the domain name hierarchy can be divided among three servers. Each organization chooses how to divide names among its servers.

  21. a.root-servers.net (root) uk purdue.edu ns1.nic.uk yahoo.com .... (uk) ns.purdue.edu (purdue.edu) co.uk ac.uk... ns0.ja.net (ac.uk) * .purdue.edu ic.ac.uk qmw.ac.uk... IP: alpha.qmw.ac.uk alpha.qmw.ac.uk dns0.dcs.qmw.ac.uk dns0-doc.ic.ac.uk (qmw.ac.uk) (dcs.qmw.ac.uk) (ic.ac.uk) IP:jeans-pc.dcs.qmw.ac.uk IP:ns0.ja.net 4 2 1 3 dcs.qmw.ac.uk *.dcs.qmw.ac.uk *.ic.ac.uk *.qmw.ac.uk jeans-pc.dcs.qmw.ac.uk ? IP:dns0.dcs.qmw.ac.uk DNS In Typical Operation Without caching client.ic.ac.uk

  22. DNS Resource Records Record type Meaning Main contents A A computer address IP number NS An authoritative name server Domain name for server CNAME The canonical name for an alias Domain name for alias SOA Marks the start of data for a zone Parameters governing the zone WKS A well-known service description List of service names and protocols PTR Domain name pointer (reverse Domain name lookups) HINFO Host information Machine architecture and operating system MX Mail exchange List of < preference, host > pairs TXT Text string Arbitrary text - A Resource Record (RR) is the basic data element in the domain name system. - Zone data are stored by name servers in files based on resource records. - Each records refer to domain name.

  23. domain name time to live class type value 1D IN NS dns0 1D IN NS dns1 1D IN NS cancer.ucs.ed.ac.uk 1D IN MX 1 mail1.qmul.ac.uk 1D IN MX 2 mail2.qmul.ac.uk domain name ti m e to l i ve class type value www 1D IN CNAME apr i cot apr i cot 1D IN A 138.37.88.248 dcs 1D IN NS dns0.dcs dns0.dc s 1D IN A 138.37.88.249 dcs 1D IN NS dns1.dcs dns1.dc s 1D IN A 138.37.94.248 dcs 1D IN NS ca n c e r. u c s .ed .a c.uk DNS zone data records

  24. 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.

  25. Directory And Discovery Services • A service that stores collection of bindings between names and attributes • Directory service: 'yellow pages' for the resources in a network • Retrieves the set of names that satisfy a given description • e.g. X.500, LDAP, MS Active Directory Services • (DNS holds some descriptive data, but: • the data is very incomplete • DNS isn't organised to search it

  26. Directory And Discovery Services (Cont.) • Discovery service also: • is automatically updated as the network configuration changes • meets the needs of clients in spontaneous networks • discovers services required by a client (who may be mobile) within the current scope, for example, to find the most suitable printing service for image files after arriving at a hotel. • Examples of discovery services: Jini discovery service, the 'service location protocol', the 'simple service discovery protocol' (part of UPnP), the 'secure discovery service'.

  27. admin Printing 1. ‘finance’ service Mobile client lookup service? admin Client Lookup service Network 2. Here I am: ..... 4. Use printing admin, finance service Lookup 3. Request service Corporate Printing printing & receive proxy service infoservice finance Service Discovery In Jini • Jini services register their interfaces and descriptions with the Jini lookup servicesin their scope • Clients find the Jini lookup services in their scope by IP multicast • Jini lookup service searches by attribute or by interface type • The designers of Jini argue convincingly that this the only reliable way to do discovery

  28. Case Study • GNS case study (Section 9.4) • an early research project (1985) that developed solutions for the problems of: • large name spaces • restructuring the name space • X.500 and LDAP (Section 9.5) • a hierarchically-structured standard directory service designed for world-wide use • accommodates resource descriptions in a standard form and their retrieval for any resource (online or offline) • never fully deployed, but the standard forms the basis for LDAP, the Lightweight Directory Access Protocol, which is widely used • Trading services (see Section 17.3) • Directories of services with retrieval by attribute searching • Brokers negotiate the contract for the use of a service, including negotiation of attribute such as quality and quantity of service

  29. DI: 599 (EC) UK FR DI: 543 DI: 574 AC DI: 437 QMW DI: 322 Peter.Smith password mailboxes Alpha Beta Gamma Fig. 9.7: GNS directory tree &value tree for user Peter.Smith

  30. Fig. 9.8: Merging trees under a new root DI: 633 (WORLD) Well-known directories: #599 = #633/EC NORTH AMERICA EC #642 = #633/NORTH AMERICA DI: 599 DI: 642 CANADA US UK FR DI: 543 DI: 574 DI: 732 DI: 457

  31. DI: 633 (WORLD) Well-known directories: #599 = #633/EC #642 = #633/NORTH AMERICA EC NORTH AMERICA DI: 599 DI: 642 US US CANADA UK FR DI: 457 DI: 543 DI: 574 DI: 732 #633/EC/US Fig. 9.9: Restructuring the directory

  32. DUA DSA DSA DSA DUA DSA DSA DUA DSA Case Study: X.500 service Fig. 9.10: X.500 service architecture • Organized in tree structure • Namely Directory Information Tree (DIT) • Servers are Directory Service Agents (DSAs) • Clients are Directory User Agents (DUAs)

  33. Case Study: X.500 service (Cont.) Advantages - X.500 is designed to be scalable. If this is achieved in practice, then it should meet the future needs of large-scale networking better than DNS. - The main advantage of X.500 is that it is an attribute-based directory service. - Easy to use: users could address messages to people by quoting their real names and their organizational affiliations, instead of the Domain Name based addresses currently used. - The mail system would make a search request of X.500 to find the corresponding DNS or other network address of the user’s mailbox.

  34. Case Study: X.500 service (Cont.) Disadvantages - Searching with a wide scope is quite slow - Costly in computing resources - The scope could be limited by the use of the organizational affiliation. Several alternate mailboxes could be held in the directory server, providing fault tolerant mail delivery.

  35. X.500 Service (root) ... France (country) Great Britain (country) Greece (country) ... ... BT Plc (organization) University of Gormenghast (organization) ... Computing Service (organizationalUnit) ... Department of Computer Science (organizationalUnit) Engineering Department (organizationalUnit) ... Departmental Staff (organizationalUnit) ... ely (applicationProcess) Research Students (organizationalUnit) ... ... ... Alice Flintstone (person) Pat King (person) James Healey (person) Janet Papworth (person) ... Fig. 9.11: Part of X.500 Directory Information Tree

  36. info Alice Flintstone, Departmental Staff, Department of Computer Science, University of Gormenghast, GB commonName uid Alice.L.Flintstone alf Alice.Flintstone Alice Flintstone mail A. Flintstone alf@dcs.gormenghast.ac.uk surname Alice.Flintstone@dcs.gormenghast.ac.uk Flintstone roomNumber Z42 telephoneNumber +44 986 33 4604 userClass Research Fellow Fig. 9.12: An X.500 DIB Entry

  37. Summary • Name services: • defer the binding of resource names to addresses (and other attributes) • Names are resolved to give addresses and other attributes • Goals : • Scalability (size of database, access traffic (hits/second), update traffic) • Reliability • Trust management (authority of servers) • Issues • exploitation of replication and caching to achieve scalability without compromising the distribution of updates • navigation methods • Directory and discovery services: • 'yellow pages' retrieval by attributes • dynamic resource registration and discovery

More Related