9-Naming - Leonardo Mostarda

Download Report

Transcript 9-Naming - Leonardo Mostarda

Naming
Prof. Leonardo Mostarda
University of Camerino
Prof. Leonardo Mostarda-- Camerino,
1
Last Lecture
 Berkeley Sockets
 Message-Passing Interface
 Message-queuing systems
 Message brokers
 IBM’s WebSphere Message-Queuing System
2
Outline
 Flat naming
Forwarding Pointers
Home-Based Approaches
Distributed Hash Tables
Hierarchical Approaches
 Name Spaces
 Domain Name Server
Iterative
Concurrent
Caching
3
Learning objective
 Understand the basic terminology of naming
 Discuss and understand the flat naming
Forwarding Pointers
Home-Based Approaches
Distributed Hash Tables
Hierarchical Approaches
Name Spaces
 Discuss how the DNS works
4
Naming
 An entity has several access points. Each access point
has an address.
IP, Telephone number, email
 Addresses are rarely used they are not simple, there is not
access transparency and addresses can change.
 It is much better to let a service be known by a separate
name
independent
of
the
address
(location
independence).
 Names are used to identify entities.
 Name resolution allows the access the named entity.
 To resolve names, it is necessary to implement a naming
5
system.
FLAT NAMING
 Identifiers are special names used to uniquely represent
entities
 We will take a look at how we can locate an entity when
given only its identifier.
 Broadcasting
Address Resolution Protocol (ARP)
Broadcasting becomes inefficient when the network grows.
 Multicasting
only a restricted group of hosts receives the request
6
FLAT NAMING
 How can we locate a mobile entity?
 Forwarding Pointers
The principle is simple: when an entity moves from A to B, it
leaves behind in A a reference to its new location at B.
 Problem
A chain for a highly mobile entity can become so long that
locating that entity is prohibitively expensive.
All intermediate locations in a chain will have to maintain their
part of the chain of forwarding pointers as long as needed.
7
Forwarding Pointers (1)
 The principle of forwarding pointers using (client stub, server stub)
pairs.
 Chain can be too long
Forwarding Pointers (2)
 Redirecting a forwarding pointer by storing a shortcut in a client
stub.
 Scalability is still a problem
Invocation
request is
sent to object
Server stub at object's
current process returns
the current location
(a)
Server stub is no
longer referenced
by any client stub
Client stub sets
a shortcut
(b)
Home-Based Approaches
 A popular approach to supporting mobile entities in largescale networks is to introduce a home location
Ex. Mobile IP
Problem?
1 can be time consuming
Node can move forever
Or can move in another
Stable location
Solution?
Name server
Distributed Hash Tables General Mechanism
 One of problems with
Chord is that requests
may
be
routed
erratically across the
Internet
 Network
proximity
should be used
Hierarchical Approaches
 Hierarchical organization of a location service into domains, each
having an associated directory node.
o A location record for entity E in the directory node N for a leaf domain D
contains the entity's current address in that domain.
o The directory node N' for the next higher-level domain D' that contains D, will
have a location record for E containing only a pointer to N
DNS
DNS services
Hostname to IP address
translation
Host aliasing
Canonical and alias
names
Mail server aliasing
Load distribution
Replicated Web
servers: set of IP
addresses for one
canonical name
Why not centralise DNS?
single point of failure
traffic volume
distant centralised database
maintenance
doesn’t scale!
13
13
Distributed, Hierarchical Database
Root DNS Servers
com DNS servers
yahoo.com
amazon.com
DNS servers DNS servers
org DNS servers
pbs.org
DNS servers
edu DNS servers
ucl.ac.uk
ucla.edu
DNS serversDNS servers
Client wants IP for www.amazon.com; 1st approx:
 Client queries a root server to find com DNS server
 Client queries com DNS server to get amazon.com DNS
server
 Client queries amazon.com DNS server to get IP address
14
for www.amazon.com
14
DNS: Root name servers
 contacted by TLD that can not resolve name root name server:
There are currently 13 root name servers specified, with names in the
form letter.root-servers.net
a Verisign, Dulles, VA
c Cogent, Herndon, VA (also Los Angeles)
k RIPE London (also Amsterdam,
d U Maryland College Park, MD
Frankfurt)
g US DoD Vienna, VA
i Autonomica, Stockholm (plus 3
h ARL Aberdeen, MD
other locations)
j Verisign, ( 11 locations)
m WIDE Tokyo
e NASA Mt View, CA
f Internet Software C. Palo Alto,
CA (and 17 other locations)
13 root name servers
worldwide
b USC-ISI Marina del Rey, CA
l ICANN Los Angeles, CA
15
15
TLD and Authoritative Servers
16
 Top-level domain (TLD) servers: responsible for com, org,
net, edu, gov, int, etc, and all top-level country domains
uk, fr, ca, jp, ly.
Network solutions maintains servers for com TLD
Educause for edu TLD
 Authoritative DNS servers: organisation’s DNS servers,
providing authoritative hostname to IP mappings for
organisation’s servers (e.g., Web and mail).
Can be maintained by organisation or service provider
16
Local Name Server
17
 Does not strictly belong to hierarchy
 Each ISP (residential ISP, company, university) has one.
Also called “default name server”
 When a host makes a DNS query, query is sent to its local
DNS server
Acts as a proxy, forwards query into hierarchy.
17
Types of queries

recursive query:

iterative query:
2
3
7
local name server
uni.mdx.ac.uk
contacted server replies
1
with name of server to
8
contact
“I don’t know this name,
but ask this server”
requesting host
18
puts burden of name
resolution on contacted
name server
heavy load?
root name server
6
5
intermediate
4 name server
(com server)
authoritative name server
ns1.google.com
leo.mdx.ac.uk
www.google.com
Example
Host at mdx wants IP
address
for
www.google.com
root name server
iterated query
2
3
4
5
local name server
uni.mdx.ac.uk
1
8
requesting host
leo.mdx.ac.uk
intermediate name server
(com server)
7
6
authoritative name server
ns1.google.com
www.google.com 19 19
Summary
 Flat naming
Forwarding Pointers
Home-Based Approaches
Distributed Hash Tables
Hierarchical Approaches
 Name Spaces
 Domain Name Server
Iterative
Concurrent
Caching
20