
d8d95ec687bf475a0bd65aa79e66a684.ppt
- Количество слайдов: 41
Chapter 9: Name Services • Introduction • Name services and the Domain Name System • Directory and discovery services • Case study of the Global Name Service • Case study of the X. 500 Directory Service • Summary
Names, addresses and other attributes • Name – Pure name: uninterpreted bit patterns – None-pure name: contain information • Resolve – Translate from name to object – Example • Bind – Association between a name and an object • Attribute – Value of a property associated with an object – E. g. IP address in DNS, person name in X. 500, remote object reference in CORBA Naming Service
Uniform Resource Identifiers • URL (Uniform Resource Location) – Addresses of web resource – Dangling problems • A resource may be moved • URN (Uniform Resource Name) – Intend to solve the dangling problems – URN lookup service: mapping from URN to URL – Urn: name. Space-specific. Name. • E. g. urn: ISBN: 0 -201 -62433 -8 • URC (Uniform Resource Characteristics) – Descriptive attributed of the resource – E. g. “author=Leslie Lamport”, “keywords=time”
Chapter 9: Name Services • Introduction • Name services and the Domain Name System • Directory and discovery services • Case study of the Global Name Service • Case study of the X. 500 Directory Service • Summary
Name management is separated from other services • Unification – It is convenient for resources managed by different services to use the same naming scheme – E. g. DNS • Integration – It is convenient to integrate service for sharing information by a common naming service
General name service requirements • Arbitrary number of names – scalability • Arbitrary number of administrative organizations – feasibility • A long lifetime – Accommodate variations, feasibility • High availability • Fault isolation – Isolate location failures from entire service • Tolerance of mistrust
Name spaces • Name space – A collection of all valid names recognized by a particular service – Require a syntactic definition • Internal structure – Hierarchic structure, e. g. /etc/passwd • Resolve relative to a separate context • Potentially infinite • Different context managed by different people • Alias • Naming domains – Name space with a single administrative authority, E. g. pku. edu. cn – Naming domains are in general stored by different name servers
Combining and customizing name spaces • Homogeneous/heterogeneous name spaces • Merging – E. g. mount file system in Unix and NFS – E. g. create a higher-level root context • Heterogeneity – DCE name: /…/dcs. qmw. ac. uk/principals/Jean. Dollimore cell principals • Customization – One file with different names, e. g. NFS – One name refer to different files, e. g. configuration for multiplatform – One name space per people, e. g. Plan 9
Name resolution • Name servers – Name space is partitioned in different name servers • Iterative navigation – Client name resolution software – E. g. , DNS, NFS • Server controlled navigation – Non-recursive – Recursive server • Suitable to environment where there administrative domain prohibits • Caching – Enhance response time – Eliminate the workload of high-level name servers – Isolate the failures of high-level name servers
The Domain Name System • Original Internet Naming scheme – A central master files, download to all hosts by FTP • Domain names [1987] – Name space is partitioned both organizationally and according to geography Com – Commercial organizations Edu – Universities and other educational institutions Gov – US governmental agencies Mil – US military organizations Net – Major network support centres Org – Organizations not mentioned above Int – International organizations Us – united States Uk – United Kingdom Cn - China
DNS queries • Host name resolution – From URL to IP address • Mail host location – Given a domain name, return a list of domain names of hosts that can accept the mail – E. g. , tom@dcs. rnx. ac. uk • Reverse resolution – From IP to URL
DNS queries …continued • Host information – E. g. the architecture type or operating system of a machine • Well-known services – A list of the services run by a computer – Protocol used to obtain them (UDP & TCP)
DNS name servers • DNS names are divided into Zones • Zone – Include names in the domain, less any sub-domains – At least two name servers for the zone – Hold name servers for the sub-domains – Include management parameters • Each server hold zero or more Zones – Zero zone: the caching name server
DNS name servers …continued • Other servers that a name server holds – Lower-level name servers • Child name servers – high-level name servers • One or more root name servers • Parent name server • Iterative navigation / recursive navigation • Example • DNS resource types
DNS performance • Replication – Zone data are replicated on at least two name servers – Master server / secondary server • Synchronize periodically • Cache – Any server is free to cache data – Time-to-live value • Availability & Scalability – Achieved by a combination of replication, cache and partition • Acceptable inconsistent naming data
Chapter 9: Name Services • Introduction • Name services and the Domain Name System • Directory and discovery services • Case study of the Global Name Service • Case study of the X. 500 Directory Service • Summary
Directory services • A special kind of naming service •
Discovery services • A special kind of directory service • Registers the services provided in a spontaneous network • General operations – Register / lookup / de-register • E. g. a registered printer Resource. Class=printer, type=laser, colour=yes, resolution=600 dpi, Location=room 101, url=http: //www. hotel. Du. Lac. com/services/printer 57
Jini • A lookup service – Services register an object with a set of attributes – Clients query lookup service – Clients download service object that matches query • How to locate lookup service? – A priori – Multicast to a well-know IP multicast address • Lookup services listen on the receiving socket • Lookup services announce their existence • Leases – A limited period of time during which the service can be used • Example
Chapter 9: Name Services • Introduction • Name services and the Domain Name System • Directory and discovery services • Case study of the Global Name Service • Case study of the X. 500 Directory Service • Summary
Introduction to GNS • Designed by DEC lab [lampson 1986] • Design objectives – Millions of computer names – Billions of email addresses for users – Long life time – Accommodate changes
Architecture of GNS • Directory tree / value tree • Directory identifier (DI) – unique identifier of a directory • Name:
How does GNS accommodate changes? • Merge two name space by a super-root – How to it transparent to client applications? • Working root & well-known directories – Store the working DI by client user agent • E. g. , client stores #599 of the EC – Working DI + relative path • Uniquely refer to a name in the merged tree • E. g. <#599/UK/AC/QMW, Peter. Smith> – Implementation: well-know directories • Mapping between working DI to new absolute path • Well-know directories should be replicated at each nodes, the bottleneck – Examples
Chapter 9: Name Services • Introduction • Name services and the Domain Name System • Directory and discovery services • Case study of the Global Name Service • Case study of the X. 500 Directory Service • Summary
X. 500 Architecture • General purpose directory service • Service architecture – Directory service agent (DUA) – Directory servcie agent (DSA) • Directory information tree (DIT) – Partitioned and stored in different servers – Organized according to distinguished name
Search in X. 500 • DIB entry – Consist of a name and a set of attributes • Search – A base name + a filter expression • LDAP – Distributed object naming service based on LDAP
Chapter 9: Name Services • Introduction • Name services and the Domain Name System • Directory and discovery services • Case study of the Global Name Service • Case study of the X. 500 Directory Service • Summary
Summary • Basics of naming service – Map between name and attributes of objects – Context, binding, resolve • Name space – Syntactic rules • Multiple name servers • Cache & replication • Cases – DNS – GNS: accommodating changes – X. 500: directory service
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
Iterative navigation NS 2 2 Client 1 Name NS 1 servers 3 NS 3 A client iteratively contacts name servers NS 1–NS 3 in order to resolve a name
Non-recursive and recursive server-controlled navigation NS 2 2 2 1 1 NS 1 client 4 client 3 4 3 NS 1 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
DNS name servers a. root-servers. net (root) ns 1. nic. uk (uk) co. uk ac. uk uk purdue. edu yahoo. com ns. purdue. edu (purdue. edu) ns 0. ja. net (ac. uk) *. purdue. edu ic. ac. uk qmw. ac. uk 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) *. ic. ac. uk dns 0 -doc. ic. ac. uk (ic. ac. uk)
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 lookups) Domain name HINFO Host information Machine architecture and operating system MX Mail exchange List of < preference, host pairs > TXT Text string Arbitrary text
Service discovery in Jini Client admin Printing service 1. ‘finance’ lookup service? admin Client Lookup service Network 2. Here I am: . . . 4. Use printing service Corporate infoservice admin, finance Printing service 3. Request printing finance Lookup service
GNS directory tree and value tree for user Peter. Smith DI: 599 UK DI: 543 AC DI: 437 QMW DI: 322 Peter. Smith password mailboxes Alpha Beta Gamma (EC) FR DI: 574
Merging trees under a new root DI: 633 (WORLD) Well-known directories: #599 = #633/EC #642 = #633/NORTH AMERICA EC DI: 599 DI: 543 DI: 642 UK FR US DI: 574 DI: 732 CANADA DI: 457
Restructuring the directory DI: 633 (WORLD) Well-known directories: #599 = #633/EC #642 = #633/NORTH AMERICA EC DI: 599 DI: 543 UK NORTH AMERICA DI: 642 FR US DI: 574 US DI: 732 CANADA DI: 457 #633/EC/US
X. 500 Service Architecture DUA DSA DSA DUA DSA
Part of X. 500 directory information tree X. 500 Service (root) . . . France (country) Great Britain (country) Greece (country). . . BT Plc (organization) University of Gormenghast (organization). . . Computing Service (organizational. Unit) Department of Computer Science (organizational. Unit) Engineering Department (organizational. Unit). . . Departmental Staff (organizational. Unit) ely (application. Process) Research Students (organizational. Unit). . . Alice Flintstone (person). . . Pat King (person) James Healey (person) Janet Papworth (person) . . .
An X. 500 DIB entry info Alice Flintstone, Departmental Staff, Department of Computer Science, University of Gormenghast, GB common. Name Alice. L. Flintstone Alice Flintstone A. Flintstone surname Flintstone telephone. Number +44 986 33 4604 uid alf mail alf@dcs. gormenghast. ac. uk Alice. Flintstone@dcs. gormenghast. ac. uk room. Number Z 42 user. Class Research Fellow
Remote object naming service based on LDAP A B 1 C l=Beijing dc=Dean dc=Teacher dc=Course c=China st=Beijing ou=Tsinghua B 2 ou=Beida dc=Dean dc=Course dc=Teacher st=Hubei l=Wuhan ou=Wuda dc=Course dc=Dean dc=Teacher