naming chapter 4. basic naming terminology name: a string of bits or characters that is used to...

33
Naming Chapter 4

Upload: chad-small

Post on 30-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Naming

Chapter 4

Page 2: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Basic Naming Terminology

Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files).

Access point: An entity through which other entities in a distributed system are accessed.

Address: a special kind of name that refers to an access point of an entity.

An entity can – offer more than one access point.– change its access point

Page 3: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Separation an Entity from its Address– Changing an access point or reassigning an access point

• Reorganizing a distributed system

• Using an address to refer to an entity leads to invalid reference

• Refer to the service by a name independent of the address of its access point

– How to reference an entity that offers more than one access point

• Web services that are distributed across several servers

• Refer to the web service by a name independent of the addresses of its access points

Page 4: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Naming versus Locating Entities

a) Direct, single level mapping between names and addresses.b) T-level mapping using identities.

Page 5: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Characteristics of an identifier

– Identifiers: Names that are used to uniquely identify an entity

– Properties of an identifier that helps to defines names that are location independent:

• An identifier refers to at most one entity

• Each entity is referred to by at most one identifier

• An identifier always refers to the same entity

Page 6: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Flat Naming– Broadcasting and Multicasting

– Applicable in LANs

– Address Resolution Protocol (ARP)

– Forwarding Pointers• When an entity moves from A to B it leaves a forwarding

reference– SSP chains: when an object moves from address space A to B it leaves

behind a client stub in A and installs a server stub that refers to it in B.

– Home-based approaches– Hierarchical approaches

Page 7: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Forwarding Pointers (1)

The principle of forwarding pointers using (proxy, skeleton) pairs.

Page 8: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Forwarding Pointers (2)

Redirecting a forwarding pointer, by storing a shortcut in a proxy.

Page 9: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Home-Based Approaches• Home location keeps track of the current location of an entity

• Mobile IP– Each mobile host uses a fixed IP

– All communication to that entity is directed to the host’s home agent

– This home agent is located on the LAN corresponding to the network address in the mobile host’s IP address

• Drawback: – increased latency in large networks

– Use of a fixed home location

• Solution– register the home at a traditional naming service

Page 10: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Home-Based Approaches

The principle of Mobile IP.

Page 11: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Hierarchical Approaches (1)

Hierarchical organization of a location service into domains, each having an associated directory node.

Page 12: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Hierarchical Approaches (2)

An example of storing information of an entity having two addresses in different leaf domains.

Page 13: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Hierarchical Approaches (3)

Looking up a location in a hierarchically organized location service.

Page 14: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Hierarchical Approaches (4)

a) An insert request is forwarded to the first node that knows about entity E.

b) A chain of forwarding pointers to the leaf node is created.

Page 15: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Structured Naming

– Name Spaces– Name space distribution– Implementing of name resolution– Domain Name System

Page 16: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Name Spaces (1)

A general naming graph with a single root node.

Page 17: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Name Spaces (2)

The general organization of the UNIX file system implementation on a logical disk of contiguous disk blocks.

Page 18: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Linking and Mounting (1)

The concept of a symbolic link explained in a naming graph.

Page 19: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Linking and Mounting (2)

Mounting remote name spaces through a specific process protocol.

Page 20: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Linking and Mounting (3)

Organization of the DEC Global Name Service

Page 21: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Name Space Distribution (1)

An example partitioning of the DNS name space, including Internet-accessible files, into three layers.

Page 22: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Name Space Distribution (2)

A comparison between name servers for implementing nodes from a large-scale name space partitioned into a global layer, as an administrational layer, and a managerial layer.

Item Global Administrational Managerial

Geographical scale of network Worldwide Organization Department

Total number of nodes Few Many Vast numbers

Responsiveness to lookups Seconds Milliseconds Immediate

Update propagation Lazy Immediate Immediate

Number of replicas Many None or few None

Is client-side caching applied? Yes Yes Sometimes

Page 23: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Implementation of Name Resolution (1)

The principle of iterative name resolution.

Page 24: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Implementation of Name Resolution (2)

The principle of recursive name resolution.

Page 25: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Implementation of Name Resolution (3)

Recursive name resolution of <nl, vu, cs, ftp>. Name servers cache intermediate results for subsequent lookups.

Server for node

Should resolve

Looks upPasses to

childReceives

and cachesReturns to requester

cs <ftp> #<ftp> -- -- #<ftp>

vu <cs,ftp> #<cs> <ftp> #<ftp> #<cs>#<cs, ftp>

ni <vu,cs,ftp> #<vu> <cs,ftp> #<cs>#<cs,ftp>

#<vu>#<vu,cs>#<vu,cs,ftp>

root <ni,vu,cs,ftp> #<nl> <vu,cs,ftp> #<vu>#<vu,cs>#<vu,cs,ftp>

#<nl>#<nl,vu>#<nl,vu,cs>#<nl,vu,cs,ftp>

Page 26: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Implementation of Name Resolution (4)

The comparison between recursive and iterative name resolution with respect to communication costs.

Page 27: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

The DNS Name Space

The most important types of resource records forming the contents of nodes in the DNS name space.

Type of record

Associated entity

Description

SOA Zone Holds information on the represented zone

A Host Contains an IP address of the host this node represents

MX Domain Refers to a mail server to handle mail addressed to this node

SRV Domain Refers to a server handling a specific service

NS Zone Refers to a name server that implements the represented zone

CNAME Node Symbolic link with the primary name of the represented node

PTR Host Contains the canonical name of a host

HINFO Host Holds information on the host this node represents

TXT Any kind Contains any entity-specific information considered useful

Page 28: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

DNS Implementation (1)

An excerpt from the

DNS database for the zone

cs.vu.nl.

Page 29: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

DNS Implementation (2)

Part of the description for the vu.nl domain which contains the cs.vu.nl domain.

Name Record type Record value

cs.vu.nl NIS solo.cs.vu.nl

solo.cs.vu.nl A 130.37.21.1

Page 30: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

Attribute-based Naming

A simple example of a X.500 directory entry using X.500 naming conventions.

Attribute Abbr. Value

Country C NL

Locality L Amsterdam

Organization L Vrije Universiteit

OrganizationalUnit OU Math. & Comp. Sc.

CommonName CN Main server

Mail_Servers -- 130.37.24.6, 192.31.231,192.31.231.66

FTP_Server -- 130.37.21.11

WWW_Server -- 130.37.21.11

Page 31: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

The X.500 Name Space (1)

Part of the directory information tree.

Page 32: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

The X.500 Name Space (2)

Two directory entries having Host_Name as RDN.

Attribute Value Attribute Value

Country NL Country NL

Locality Amsterdam Locality Amsterdam

Organization Vrije Universiteit Organization Vrije Universiteit

OrganizationalUnit Math. & Comp. Sc. OrganizationalUnitMath. & Comp. Sc.

CommonName Main server CommonName Main server

Host_Name star Host_Name zephyr

Host_Address 192.31.231.42 Host_Address 192.31.231.66

Page 33: Naming Chapter 4. Basic Naming Terminology Name: A string of bits or characters that is used to refer to an entity (i.e. hosts, printers, disks, files)

References

Lecture slides of Distributed Systems principles and paradigms by Andrew Tannenbaum and Van Steen, Prentice Hall India, 2002.