CPSC-662 Distributed Computing Naming Naming in Distributed Systems • Overview: Names, Identifiers, Addresses, Routes, Name Space, Name Resolution, ... • Implementation of a Naming Service • Case Studies: DNS, X.500 • Naming and Mobile Entities • Reading: – Coulouris: Distributed Systems, Addison Wesley, Chapter 9 – Tanenbaum, van Steen: Distributed Systems, Prentice Hall, 2002, Chapter 4 Some Terminology: Entities, Names, Addresses • An Entity in a distributed system can be pretty much anything. • A Name is a string of bits used to refer to an entity. • We operate on an entity through its Access Point . • The Address is the name of the access point. 1
CPSC-662 Distributed Computing Naming Entities, Names, Addresses: Examples • Example – Telephone as Access Point to a person. – The Telephone Number then becomes the address of the person. – Person can have several telephone numbers. – Entity can have several addresses. • Another Example: Transport-Level Addresses – for servers this can be IP address and port number • Entities may change access points over time – telephone numbers, e-mail addresses, IP addresses in mobile systems, ... Identifiers are Special Names • Can we use addresses of access points as regular name for the associated entity? – access points may change over time – entities may have several access points • Identifiers uniquely identify an entity: – An identifier refers to at most one entity. – Each entity is referred to at most one identifier. – An identifier always referes to the same entity (never reused) • Example: – SSN? Telephone Numbers? 2
CPSC-662 Distributed Computing Naming Name Space • Names are organized into Name Space . • Name space consists of root node keys n0 n2: “peter” home n3: “mary” n4: “eve” “/keys” n1 eve n5 “/home/eve/keys” peter mary n2 n3 n4 mbox .twmrc n5 Leaf Node n5 n5 Directory Node n0 “/home/eve/mbox” Name Resolution • Path name N:<label-1, label-2, ... , label-n> • Absolute path name: first node in path name is root. • Relative path name: first node can be any node. • Global name vs. local name. • Where to start name resolution? (“Closure”) • Examples: – Location of inode of root directory. – Environment setting (e.g. HOME variable) to refer to home directory. 3
CPSC-662 Distributed Computing Naming Implementation of Name Resolution • Simplified picture: – No replication of name servers – No client side caching • Each client has access to local name resolver . • Example: resolve root:<edu,tamu,cs,ftp,pub,netex,index.txt> • Iterative Resolution vs. Recursive Resolution Iterative Name Resolution 1. < edu,t amu,cs,f t p> Root name server 2. # <edu> ,< t amu,cs,f t p> edu 3. < t amu,cs,f t p> Name server edu node client ’s 4. # <tamu> ,< cs,f t p> t amu name 5. < cs,f t p> resolver Name server t amu node 6. # <cs> ,< f t p> cs 7. < f t p> Name server cs node 8. # <f tp> f t p < edu,t amu,cs,f t p> # < edu,t amu,cs,f t p> 4
CPSC-662 Distributed Computing Naming Recursive Name Resolution 1. < edu,t amu,cs,f t p> Root 8. # < edu,t amu,cs,f t p> name server 2. < t amu,cs,f t p> 7. # < t amu,cs,f t p> Name server edu node client ’s 3. < cs,f t p> name 6. # < cs,f t p> resolver Name server t amu node 4. < f t p> 5. # < f t p> Name server cs node < edu,t amu,cs,f t p> # < edu,t amu,cs,f t p> Iterative vs. Recursive Name Resolution: Comparison Iterative Recursive • Stateless • Higher-level servers need to maintain state about resolutions. (!?) • Caching is effective. • Reduced communication costs. 5
CPSC-662 Distributed Computing Naming Caching in Recursive Name Resolution Iterative Resolution and Locality 1. < edu,t amu,cs,f t p> Root name server 2. # <edu> ,< t amu,cs,f t p> edu 3. < t amu,cs,f t p> Name server edu node client ’s 4. # <tamu> ,< cs,f t p> t amu name 5. < cs,f t p> resolver Name server t amu node 6. # <cs> ,< f t p> cs 7. < f t p> Name server cs node 8. # <f tp> f t p < edu,t amu,cs,f t p> # < edu,t amu,cs,f t p> 6
CPSC-662 Distributed Computing Naming Recursive Name Resolution 1. < edu,t amu,cs,f t p> Root 8. # < edu,t amu,cs,f t p> name server 2. < t amu,cs,f t p> 7. # < t amu,cs,f t p> Name server edu node client ’s 3. < cs,f t p> name 6. # < cs,f t p> resolver Name server t amu node 4. < f t p> 5. # < f t p> Name server cs node < edu,t amu,cs,f t p> # < edu,t amu,cs,f t p> Domain Name Resolution (DNS) • DNS Name Space: – organized as rooted tree – labels are case-insensitive strings of maximum 63 chars length – length of complete path limited to 255 chars – Path representation: root:<edu,tamu,cs,merlot> ⇔ merlot.cs.tamu.edu. root tamu edu cs merlot domain domain name 7
CPSC-662 Distributed Computing Naming Resource Records in DNS DNS Implementation • Each zone is implemented by a (replicated) name server. • Updates happen on primary name server, and secondary name server requests zone transfers . 8
CPSC-662 Distributed Computing Naming DNS Implementation (2) DNS Implementation (3) • How do other zones refer to the cs.vu.nl zone? • Part of description of vu.nl domain, which contains cs.vu.nl domain: Name Record Type Record Value cs.vu.nl NS solo.cs.vu.nl solo.cs.vu.nl A 130.37.24.1 9
Recommend
More recommend