Скачать презентацию Chapter 9 Name Services Introduction Name Скачать презентацию Chapter 9 Name Services Introduction Name

3980feb8c6309eadec0778b648a00b6c.ppt

  • Количество слайдов: 54

Chapter 9: Name Services • Introduction • Name services and the Domain Name System 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

What is Name Service? • A distinct service that is used by client to What is Name Service? • A distinct service that is used by client to obtain attributes such as the addresses of resources or objects when given their names • Name management is separated from other services – Unification – Integration

Name and Address • Name – A human readable string • Address – Bits Name and Address • Name – A human readable string • Address – Bits used by machines to locate an object • Bind – Association between a name and an address • Resolve – Translate from a name to an address – Example

Attributes • Value of a property associated with an object • DNS – IP Attributes • Value of a property associated with an object • DNS – IP address • X. 500 – Person’s email address and telephone number • CORBA Naming Service – Remote object reference

Uniform Resource Identifiers • URL (Uniform Resource Location) – Addresses of web resources – Uniform Resource Identifiers • URL (Uniform Resource Location) – Addresses of web resources – 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 – E. g. urn: ISBN: 0 -201 -62433 -8

Chapter 9: Name Services • Introduction • Name services and the Domain Name System 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

General name service requirements • Scalability – Arbitrary number of names – Arbitrary number General name service requirements • Scalability – Arbitrary number of names – Arbitrary number of administrative organizations • Flexibility – A long lifetime – Accommodate variations on the organization of the set of names

General name service requirements (2) • High availability – Most other systems depend upon General name service requirements (2) • High availability – Most other systems depend upon it • Fault isolation – Isolate location failures from entire service • Tolerance of mistrust – Not all clients are trusted by all components of the system

Name spaces • A collection of all valid names recognized by a particular service Name spaces • A collection of all valid names recognized by a particular service • Require a syntactic definition • E. g. domain name tree of DNS • E. g. directory tree of a file system

Internal structure of a name • Hierarchic structure, e. g. /etc/passwd – Resolve relative Internal structure of a name • Hierarchic structure, e. g. /etc/passwd – Resolve relative to a separate context – Potentially infinite – Different context managed by different people • Alias

Naming domain • A single administrative authority – A name space for which there Naming domain • A single administrative authority – A name space for which there exists a single authority – E. g. pku. edu. cn • Be stored in a separated server – Naming domains are in general stored in different name servers

Combining name spaces • Homogeneous/heterogeneous name spaces • Merging – E. g. mount file Combining 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 principals cell – /…/dcs. qmw. ac. uk/files/pub/reports/TR 2000 -99 cell files

Customizing name spaces • One file with different names – E. g. a NFS Customizing name spaces • One file with different names – E. g. a NFS directory mounted on different machines • One name refer to different files – E. g. install configuration for multiplatform • One name space per people – E. g. Plan 9

Name resolution • Name space is partitioned in different name servers • Iterative navigation Name resolution • Name space is partitioned in different name servers • Iterative navigation – Client controlling – E. g. , DNS, NFS 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

Server controlled navigation • Non-recursive/Recursive – Recursive type is suitable to environment where there Server controlled navigation • Non-recursive/Recursive – Recursive type is suitable to environment where there administrative domain prohibits 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

Caching tech. in name resolution • Enhance response time • Eliminate the workload of Caching tech. in name resolution • 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 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

The DNS name space Com – Commercial organizations Us – united States Edu – The DNS name space Com – Commercial organizations Us – united States Edu – Universities and other educational institutions Uk – United Kingdom Gov – US governmental agencies Mil – US military organizations Net – Major network support centres Org – Organizations not mentioned above Int – International organizations Cn - China

DNS queries • Host name resolution – From URL to IP address • Mail 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 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 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 • Each server hold zero or more Zones – Zero zone: the caching name server

DNS name servers …continued • Servers that a name server holds – Lower-level name DNS name servers …continued • 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

DNS name resolution • Iterative navigation / recursive navigation • Example • DNS resource DNS name resolution • Iterative navigation / recursive navigation • Example • DNS resource types

DNS performance • Replication – Zone data are replicated on at least two name 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

DNS performance (2) • Availability & Scalability – Achieved by a combination of replication, DNS performance (2) • 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 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 – Searching attributes • Entries Directory services • A special kind of naming service – Searching attributes • Entries – Each entry is concerned with a set of pairs • Query – Lookup by known attributes – Return interested attributes – E. g. query one’s telephone No. by his name

Directory services (2) • Yellow page / white page – Directory service / Conventional Directory services (2) • Yellow page / white page – Directory service / Conventional naming service • Directory servers and navigation – Similar to name service • Example – Active Directory Service – X. 500 – LDAP

Discovery services • A special kind of directory service • Register the services provided Discovery services • A special kind of directory service • Register 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 – A service registers an object with a set Jini • A lookup service – A service registers an object with a set of attributes – Clients query the lookup service – Clients download service object that matches query • Leases – A limited period of time during which the service can be used

How to locate lookup service in Jini? • A priori • Multicast to a How to locate lookup service in Jini? • A priori • Multicast to a well-know IP multicast address – Lookup services listen on the receiving socket – Lookup services announce their existence • Example

Chapter 9: Name Services • Introduction • Name services and the Domain Name System 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 – 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) – Architecture of GNS • Directory tree / value tree • Directory identifier (DI) – Unique identifier of a directory • Name of an entry – – E. g.

Architecture of GNS (2) • Multiple name servers – Directory tree is partitioned and Architecture of GNS (2) • Multiple name servers – Directory tree is partitioned and stored in many servers • Replication – Each partition is replicated in several servers • Cache – Inconsistency cache data is acceptable

How does GNS accommodate changes? • Merge two name space by a super-root – How does GNS accommodate changes? • Merge two name space by a super-root – How to it transparent to client applications? – E. g. how to locate /uk/ac/qmw ? DI: 633 (WORLD) Well-known directories: #599 = #633/EC #642 = #633/NORTH AMERICA EC DI: 599 DI: 543 DI: 642 UK FR DI: 574 DI: 732 US CANADA DI: 457

Working root DI • Client agent – Store the DI of working root by Working root DI • Client agent – Store the DI of working root by client agent – E. g. , for , client agent stores #599 which is the DI of “/”, i. e. EC • Resolve name – Working root DI + relative path • Uniquely refer to a name in the merged tree – E. g. <#599/UK/AC/QMW, Peter. Smith>

Well-known directories • A table of well-know directories – Mapping between working root DI Well-known directories • A table of well-know directories – Mapping between working root DI to new absolute path • Replication – Well-know directories are replicated at each nodes – Bottleneck of consistency • Examples

Chapter 9: Name Services • Introduction • Name services and the Domain Name System 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 • Directory information tree (DIT) – X. 500 Architecture • General purpose directory service • Directory information tree (DIT) – Partitioned and stored in different servers – Organized according to distinguished name • Service architecture – Directory user agent (DUA) – Directory service agent (DSA)

Search in X. 500 • DIB entry – Consist of a name and a Search in X. 500 • DIB entry – Consist of a name and a set of attributes • Attribute definition language • Search – Query by “a base name + a filter expression” – Return a list of entries

Light Directory Access Protocol (LDAP) • A distributed object naming service based B 1 Light Directory Access Protocol (LDAP) • A distributed object naming service based B 1 on LDAP C A 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

Chapter 9: Name Services • Introduction • Name services and the Domain Name System 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 Summary • Basics of naming service – Map between name and attributes of objects – 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 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

DNS name servers a. root-servers. net (root) ns 1. nic. uk (uk) co. uk 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 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 admin Printing Client service 1. ‘finance’ lookup service? admin Client Service discovery in Jini admin Printing Client service 1. ‘finance’ lookup service? admin Client Lookup service Network 2. Here I am: . . . 4. Use printing service admin, finance 3. Request Corporate Printing infoservice printing finance Lookup service

GNS directory tree and value tree for user Peter. Smith DI: 599 UK DI: 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 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 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 X. 500 Service Architecture DUA DSA DSA DUA DSA

Part of X. 500 directory information tree X. 500 Service (root) . . . 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, 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