Naming in Distributed Systems Overview: Names, Identifiers, - - PDF document

naming in distributed systems
SMART_READER_LITE
LIVE PREVIEW

Naming in Distributed Systems Overview: Names, Identifiers, - - PDF document

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


slide-1
SLIDE 1

CPSC-662 Distributed Computing Naming

1

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.
slide-2
SLIDE 2

CPSC-662 Distributed Computing Naming

2

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?

slide-3
SLIDE 3

CPSC-662 Distributed Computing Naming

3

Name Space

  • Names are organized into Name Space.
  • Name space consists of

n0 n5 n1 n4 n5 n5 n2 n3 n5 n0 Leaf Node Directory Node n2: “peter” n3: “mary” n4: “eve” keys home eve mary peter .twmrc mbox “/home/eve/mbox” “/keys” “/home/eve/keys” root node

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.

slide-4
SLIDE 4

CPSC-662 Distributed Computing Naming

4

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

client ’s name resolver Root name server Name server edu node Name server t amu node Name server cs node edu t amu cs f t p

  • 1. <

edu,t amu,cs,f t p>

  • 2. # <edu>,<

t amu,cs,f t p>

  • 3. <

t amu,cs,f t p>

  • 4. # <tamu>,<

cs,f t p>

  • 5. <

cs,f t p>

  • 6. # <cs>,<

f t p>

  • 7. <

f t p>

  • 8. # <f tp>

< edu,t amu,cs,f t p> # < edu,t amu,cs,f t p>

slide-5
SLIDE 5

CPSC-662 Distributed Computing Naming

5

Recursive Name Resolution

client ’s name resolver Root name server Name server edu node Name server t amu node Name server cs node

  • 1. <

edu,t amu,cs,f t p>

  • 8. # <

edu,t amu,cs,f t p>

  • 2. <

t amu,cs,f t p>

  • 7. # <

t amu,cs,f t p>

  • 3. <

cs,f t p>

  • 6. # <

cs,f t p>

  • 4. <

f t p>

  • 5. # <

f t p>

< edu,t amu,cs,f t p> # < edu,t amu,cs,f t p>

Iterative vs. Recursive Name Resolution: Comparison

Iterative

  • Stateless

Recursive

  • Higher-level servers need to

maintain state about resolutions. (!?)

  • Caching is effective.
  • Reduced communication costs.
slide-6
SLIDE 6

CPSC-662 Distributed Computing Naming

6

Caching in Recursive Name Resolution Iterative Resolution and Locality

client ’s name resolver Root name server Name server edu node Name server t amu node Name server cs node edu t amu cs f t p

  • 1. <

edu,t amu,cs,f t p>

  • 2. # <edu>,<

t amu,cs,f t p>

  • 3. <

t amu,cs,f t p>

  • 4. # <tamu>,<

cs,f t p>

  • 5. <

cs,f t p>

  • 6. # <cs>,<

f t p>

  • 7. <

f t p>

  • 8. # <f tp>

< edu,t amu,cs,f t p> # < edu,t amu,cs,f t p>

slide-7
SLIDE 7

CPSC-662 Distributed Computing Naming

7

Recursive Name Resolution

client ’s name resolver Root name server Name server edu node Name server t amu node Name server cs node

  • 1. <

edu,t amu,cs,f t p>

  • 8. # <

edu,t amu,cs,f t p>

< edu,t amu,cs,f t p> # < edu,t amu,cs,f t p>

  • 2. <

t amu,cs,f t p>

  • 3. <

cs,f t p>

  • 4. <

f t p>

  • 5. # <

f t p>

  • 6. # <

cs,f t p>

  • 7. # <

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. edu tamu cs merlot domain domain name root

slide-8
SLIDE 8

CPSC-662 Distributed Computing Naming

8

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.

slide-9
SLIDE 9

CPSC-662 Distributed Computing Naming

9

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 solo.cs.vu.nl NS cs.vu.nl solo.cs.vu.nl A 130.37.24.1