Title: Reliable Distributed Systems
1Reliable Distributed Systems
- Naming(Communication Basics Part II)
- Slide set based on one by Prof. Paul Francis,
Cornell University. - Updated by Bina Ramamurthy
2- Any problem in computer science can be solved
with another layer of indirection - David Wheeler
3Naming is a layer of indirection
- What problems does it solve?
- Makes objects human readable
- Hides complexity and dynamics
- Multiple lower-layer objects can have one name
- Changes in lower-layer objects hidden
- Allows an object to be found in different ways
- One object can have multiple names
4Names map to objects through a resolution service
Name
Distributed Name Resolution Service
Object
5Identifiers and Locators
- A name is always an identifier to a greater or
lesser extent - Can be persistent or non-persistent
- Can be globally unique, locally unique, or even
non-unique - If a name has structure that helps the resolution
service, then the name is also a locator
6Naming in networks
Address
Name
Route
7DNS names map into addresses
Domain Name System (DNS)
Address
Many-to-many
Name
Route
- Hierarchical
- User-friendly
- Location independent
- But not org independent
Domain Name (www.cnn.com)
8Addresses map into routes
IP address (128.94.2.17)
Routing algorithm (BGP, OSPF, RIP)
Address
One-to-many
Name
- Hierarchical
- Location Dependent
- Non-unique
- Can change often
- Refers to an interface, not a host
Route
9Routes get packets to interfaces
Address
Name
Route
- A path
- Source dependent
- Can change often
10DNS names and IP addresses are identifiers and
locators
- Both are typically non-persistent
- Private IP addresses identify only in the context
of an IP realm - Domain names are good identifiers
- woodstock.cs.cornell.edu identifies a host
- www.cnn.com identifies a service
- URLs are good identifiers
11Domain Name System (DNS)
- Distributed directory service
- Hierarchical name space
- Each level separated by .
- Analogous to / separator in file systems
- One global root
- Replicated across
- There have been Denial of Service (DoS) attacks
on these root servers, none real successful - Because of caching, queries to root servers
relatively rare - DNS maybe only global directory service???
12DNS is the core of the Internet
- Global name space
- Can be the core of a naming or identifying scheme
- Global directory service
- Can resolve a name to nearly every computer on
the planet
13DNS tree structure
NS RR pointers
.
edu.
com.
jp.
us.
cornell.edu.
cmu.edu.
mit.edu.
cs.cornell.edu.
eng.cornell.edu.
foo.cs.cornell.edu A 10.1.1.1 bar.cs.cornell.edu
A 10.1.1.1
14LDAP is another popular distributed directory
service
- Richer and more general than DNS
- Has generalized attribute/value scheme
- Can search on attribute, not just name
- Simpler and more efficient than a full relational
database - Not a global directory service, though namespace
is global - Its predecessor, X.500, was meant to be
- But local LDAP services can point to each other
- Commonly used for personnel RR databases,
subscriber databases
15URL
16URL
A protocol
Information the protocol needs
17URL examples
- HTTP (web)
- http//www.cnn.com/news/story.html
- Email
- mailto//francis_at_cs.cornell.edu
- Newsgroups
- newscornell/class/cs514
- SIP (Session Initiation Protocol)
- sip//service_at_phone.verizon.com
18Note the central role of DNS
- HTTP (web)
- http//www.cnn.com/news/story.html
- Email
- mailto//francis_at_cs.cornell.edu
- Newsgroups
- newscornell/class/cs514
- SIP (Session Initiation Protocol)
- sip//service_at_phone.verizon.com
19Locating mobile entities (section 4.2, AT/MvS)
- What is a mobile entity?
- From naming perspective, it is an entity whose
address changes often - This doesnt require physical mobility!
- Every time you dial up, you may get a new address
- So, mobility existed well before laptops became
common - Though laptops create more mobility
20Is mobility a problem for DNS?
- Not really
- Even though DNS was designed with relatively
stable IP addresses in mind - Because mobility only effects leaf DNS servers
- Recall A RR TTL is short, but NS RR TTL is long
- Note non-mobile web servers A RRs often have
very short TTLs - To allow quick failover to another web server
21Is mobility a problem at all?
- Less than youd think
- Most mobile systems are clients servers are
rarely mobile - Clients are initiators of connections, not
recipients - Therefore, there is not a client locating problem
- What about email, instant messaging, and VoIP
(Voice over IP)? - Clients receive emails, instant messages, and
phone calls
22Identifiers must be made hard to spoof
- That is why drivers licenses have pictures and
credit cards have signatures - In networking, two ways
- Identifier is also a locator
- Reverse routability
- Some kind of secret-protected signature
23Summary of Lecture
- Introduction to Naming
- Naming basics
- Names, Addresses, Routes
- Identifiers and Locators
- DNS is the global directory service
- LDAP is a popular local directory service
- URLs build on DNS
- Identifiers must be hard to spoof
- Reverse routability, cryptographic signatures