CS计算机代考程序代写 dns database chain Java file system distributed system cache algorithm Figure 15.1 A distributed multimedia system

Figure 15.1 A distributed multimedia system

Name Services

Updated by Rajkumar Buyya
Redmond Barry Distinguished Professor

• Introduction

• Name services and the DNS

• Directory/Discovery services

• Summary

Most concepts are
drawn from Chapter 13

2

Which one is easy for humans and machines? and why?

 74.125.237.83 or google.com

 128.250.1.22 or distributed systems website

 128.250.1.25 or Prof. Buyya

 Disk 4, Sector 2, block 5 OR /usr/raj/Hello.java

 .1.25 or .au

Names or Codes, or Numbers?

– Names (when meaningful) are easier to remember than

codes or numbers…

– Number (or sequence codes) are more useful for

structuring data and locating resources by a program..

– Example: IPv4

 128.250.29.30

 marg. cis. unimelb.edu.au

CIS network

Level 5 subnet

Machine Identifier

Australia

Education Institutions

The University of

Melbourne

Computing and

Information Systems
Machine name

Names or Codes? or Numbers?

– As discussed in file system (hierarchical naming of files) and mounting

at right location.

Which one is better?

Disk 4, Sector 26, Block15

/usr/bin/tar

5

Aim

 To introduce the name service as a distinct service

that is used by client processes to obtain attributes

such as the address of resources (computing

systems, files, printers etc.) or objects when given

their name.

6

Learning objectives

 To understand the need for naming systems in

distributed systems

 To be familiar with the design requirements such as

structure and management of name spaces, and

operations supported by them.

 To understand the operation of the Internet naming

service – DNS (Domain Name Service)

 To understand structure and operation of directory

service – X.500 Directory Service & LDAP

(Lightweight Directory Access Protocol)

7

1. Introduction

 In a distributed system, names are used to refer to a

wide variety of resources such as:
– Computers, services, remote objects, and files, as well as users.

 Naming is fundamental issue in DS design as it

facilitates communication and resource sharing.
– A name in the form of URL is needed to access a specific web page.

– Processes cannot share particular resources managed by a computer
system unless they can name them consistently

– Users cannot communicate within one another via a DS unless they
can name one another, with email address.

 Names are not the only useful means of

identification: descriptive attributes are another.

What are Naming Services?

 How do Naming Services facilitate communication

and resource sharing?

– An URL facilitates the localization of a resource exposed on the Web.

 e.g., abc.net.au means it is likely to be an Australian entity?

– A consistent and uniform naming helps processes in a distributed

system to interoperate and manage resources.

 e.g., commercials use .com; non-profit organizations use .org

 .edu, ac.uk or edu.au educational institutes

– Users refers to each other by means of their names (i.e. email) rather

than their system ids

– Naming Services are not only useful to locate resources but also to

gather additional information about them such as attributes

What are Naming Services?

 Definition

 Key benefits

– Resource localization

– Uniform naming

– Device independent address (e.g., you can move domain name/web

site from one server to another server seamlessly).

In a Distributed System, a Naming Service is a specific service

whose aim is to provide a consistent and uniform naming of

resources, thus allowing other programs or services to localize

them and obtain the required metadata for interacting with

them.

10

The role of names and name services

 Resources are accessed using identifier or reference

– An identifier can be stored in variables and retrieved from tables quickly

– Identifier includes or can be transformed to an address for an object

 E.g. NFS file handle, CORBA remote object reference

– A name is human-readable value (usually a string) that can be resolved to an

identifier or address

 Internet domain name, file pathname, process number

 E.g ./etc/passwd, http://www.cdk5.net/

 For many purposes, names are preferable to identifiers

– because the binding of the named resource to a physical location is deferred

and can be changed

– because they are more meaningful to users

 Resource names are resolved by name services

– to give identifiers and other useful attributes

Role of Names and Naming Services
– Name Resolution

66.102.11.104

100.109.23.104Naming Service

name IP attributes

www.google.com

www.hotmail.com

……..

Client

12

Requirements for name spaces

 Allow simple but meaningful names to be used

 Potentially infinite number of names

 Structured

– to allow similar subnames without clashes

– to group related names

 Allow re-structuring of name trees

– for some types of change, old programs should continue to work

 Management of trust

13

file

Web server
Socket

Composed naming domains used to access a resource from a URL

http://www.cdk5.net:8888/WebExamples/earth.html

URL

Resource ID (IP number, port number, pathname)

138.37.88.61 WebExamples/earth.html8888

DNS lookup

(Ethernet) Network address

2:60:8c:2:b0:5a

ARP lookup

Address Resolution Protocol (ARP)

http://penguin.dcs.bbk.ac.uk/academic/networks/network-layer/arp/index.php

14

Names and resources

• Currently, different name systems are used for each type of

resource:

resource name identifies

file pathname file within a given file system

process process id process on a given computer

port port number IP port on a given computer

• Uniform Resource Identifiers (URI) offer a general solution for any

type of resource. There two main classes:

URL Uniform Resource Locator (URL)

• typed by the protocol field (http, ftp, nfs, etc.)

• part of the name is service-specific

• resources cannot be moved between domains

URN Uniform Resource Name (URN)

• requires a universal resource name lookup service – a DNS-like system

for all resources

More on URNs (Uniform Resource Names)

format: urn::

examples:

a) urn:ISBN:021-61918-0

b) urn:cloudbus.unimelb.edu.au:TR2005-10

resolution:

a) send a request to nearest ISBN-lookup service – it would return

whatever attributes of a book are required by the requester

b) send a request to the urn lookup service at

cloudbus.unimelb.edu.au – it would return a url for the

relevant document

15

2. Name Services and the Domain Name System

 A name service stores a collection of one or more

naming contexts, sets of bindings between textual

names and attributes for objects such as computers,

services, and users.

 The major operation that a name service supports is

to resolve names.

Navigation

 Namespaces allows for structure in names.

 URLs provide a default structure that decompose

the location of a resource in

– protocol used for retrieval

– internet end point of the service exposing the resource

– service specific path

 This decomposition facilitates the resolution of the

name into the corresponding resource

 Moreover, structured namespaces allows for

iterative navigation…

Navigation is the act of chaining multiple Naming

Services in order to resolve a single name to the
corresponding resource.

17

Iterative navigation

Client
1

2

3

A client iteratively contacts name servers NS1–NS3 in order to resolve a name

NS2

NS1

NS3

Name
servers

Used in:

DNS: Client presents entire name to servers, starting at a local server, NS1.

If NS1 has the requested name, it is resolved, else NS1 suggests

contacting NS2 (a server for a domain that includes the requested name).

NFS: Client segments pathnames (into ‘simple names’) and presents them

one at a time to a server together with the filehandle of the directory that

contains the simple name.

Reason for NFS iterative name resolution

This is because the file service may encounter a symbolic link (i.e. an

alias) when resolving a name. A symbolic link must be interpreted in

the client’s file system name space because it may point to a file in a

directory stored at another server. The client computer must determine

which server this is, because only the client knows its mount points.

Server controlled navigation

 In an alternative model, name server coordinates

naming resolution and returns the results to the

client. It can be:

– Recursive:

 it is performed by the naming server

 the server becomes like a client for the next server

 this is necessary in case of client connectivity constraints

– Non recursive:

 it is performed by the client or the first server

 the server bounces back the next hop to its client

19

Non-recursive and recursive server-controlled navigation

A name server NS1 communicates with other name servers on behalf of a client

Recursive
server-controlled

1

2

3

5

4

client

NS2

NS1

NS3

1

2

34
client

NS2

NS1

NS3

Non-recursive
server-controlled

DNS offers recursive navigation as an option, but iterative is the standard

technique. Recursive navigation must be used in domains that limit client

access to their DNS information for security reasons.

20

DNS – The Domain Name System

 A distributed naming database (specified in RFC 1034/1305)

 Name structure reflects administrative structure of the Internet

 Rapidly resolves domain names to IP addresses

– exploits caching heavily

– typical query time ~100 milliseconds

 Scales to millions of computers

– partitioned database

– caching

 Resilient to failure of a server

– replication

Basic DNS algorithm for name resolution (domain name -> IP number)

• Look for the name in the local cache

• Try a superior DNS server, which responds with:

– another recommended DNS server

– the IP address (which may not be entirely up to date)

21

DNS name servers: Hierarchical organisation

Note: Name server names are in

italics, and the corresponding

domains are in parentheses.

Arrows denote name server entries

a.root-servers.net

(root)

ns0.ja.net

(edu.au)

mulga.cis.unimelb.edu.au

(cis.unimelb.edu.au)

abc.unimelb.edu.au

(unimelb.edu.au)
dns0-doc.usyd.edu.au

(usyd.edu.au)

ns.purdue.edu

(purdue.edu)

au

purdue.edu

usyd.edu.au

unimelb.edu.au

cis.unimelb.edu.au

*.unimelb.edu.au
*.usyd.edu.au*.cis.unimelb.edu.au

* .purdue.edu

ns1.nic.au

(au)

edu.au

com.au

yahoo.com

….

authoritative path to lookup:

raj-pc.cis.unimelb.edu.au

22

a.root-servers.net

(root)

ns0.ja.net

(edu.au)

mulga.cis.unimelb.edu.au

(cis.unimelb.edu.au)

alpha.unimelb.edu.au

(unimelb.edu.au)
dns0-doc.usyd.edu.au

(usyd.edu.au)

ns.purdue.edu

(purdue.edu)

au

purdue.edu

usyd.edu.au

unimelb.edu.au

cis.unimelb.edu.au

*.unimelb.edu.au
*.usyd.edu.au*.cis.unimelb.edu.au

* .purdue.edu

ns1.nic.au

(au)

edu.au

com.au

yahoo.com

….

DNS in typical operation

client.usyd.edu.au

IP: alpha.unimelb.edu.au

2

3IP:mulga.csse.unimleb.edu.au

raj-pc.cis.unimelb.edu.au ?

IP:ns0.ja.net

1

IP:raj-pc.cis.unimelb.edu.au

4

Without caching

23

DNS server functions and configuration

 Main function is to resolve domain names for

computers, i.e. to get their IP addresses

– caches the results of previous searches until they pass their ‘time to live’

 Other functions:

– get mail host for a domain

– reverse resolution – get domain name from IP address

– Host information – type of hardware and OS

– Well-known services – a list of well-known services offered by a host

– Other attributes can be included (optional)

24

DNS resource records

Record type Meaning Main contents

A A computer address (IPv4) IPv4 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

PTR Domain name pointer (reverse
lookups)

Domain name

HINFO Host information Machine architecture and operating
system

MX Mail exchange List of pairs

TXT Text string Arbitrary text

AAA A computer address (IPv6) IPv6 number

25

DNS issues

 Name tables change infrequently, but when they do, caching

can result in the delivery of stale data.

– Clients are responsible for detecting this and recovering

 Its design makes changes to the structure of the name space

difficult. For example:

– merging previously separate domain trees under a new root

– moving subtrees to a different part of the structure (e.g. if Scotland became a

separate country, its domains should all be moved to a new country-level

domain.)

26

Directory services (registration and discovery)

 Sometime users wish to find a particular person or resource, but they don’t know
its name, only some of its attributes.

– What is the name of the user with a telephone number 03-83441344?

– What is the name of professor teaching Cloud computing at UniMelb (e.g., ask Google!)

 Sometime users require a service, but they are not concerned with what system
entity provides it.

– Where can I print high resolution colour image?

 Directory services can help with above situation: they store collections of bindings
and attributes and also looks up entries that match attribute-based specs.

 Directory service:- ‘yellow pages’ for the resources in a network
– Retrieves the set of names that satisfy a given description

– e.g. X.500, LDAP, MS Active Directory Services
 (DNS holds some descriptive data, but:

• the data is very incomplete

• DNS isn’t organised to search it)

 Discovery service:- a directory service that also:
– is automatically updated as the network configuration changes

– meets the needs of clients in spontaneous networks

– discovers services required by a client (who may be mobile) within the current scope, for example, to find the most suitable printing service for
image files after arriving at a hotel.

– Examples of discovery services: Jini discovery service, the ‘service location protocol’, the ‘simple service discovery protocol’ (part of UPnP),
the ‘secure discovery service’.

27

X.500 Directory Service

 X.500 and LDAP (Lightweight Directory Access Protocol)

– a hierarchically-structured standard directory service designed for world-wide use

– X.500 is standardised by ITU (international telecommunication union) and ISO

– accommodates resource descriptions in a standard form and their retrieval for

any resource (online or offline)

– never fully deployed, but the standard forms the basis for LDAP, the Lightweight

Directory Access Protocol, which is widely used – IETF RFC 2251.

– A secure access to directory through authentication is also supported.

28

Part of the X.500 Directory Information Tree (DIT)

X.500 Service (root)

Australia (country) India USA

NSW (state) Vic (state)

Govt Private Educational

MonashUniMelb

CSSE Medicine

Staff Students

Object class for NSW govt.

29

Summary

• Names services facilitate communication and resource sharing in distributed
systems.

• They are playing very important role in Distributed systems such as the
Internet, Web, CDNs (Content Delivery Networks), Web Services, Location-
aware services– publication and discovery

• Name services:
– defer the binding of resource names to addresses (and other attributes)

– Names are resolved to give addresses and other attributes

– Goals :
 Scalability (size of database, access traffic (hits/second), update traffic)

 Reliability

 Trust management (authority of servers)

– Issues
 exploitation of replication and caching to achieve scalability without compromising the distribution

of updates

 navigation methods

• Directory and discovery services:
– ‘yellow pages’ retrieval by attributes

– dynamic resource registration and discovery