Reliable Distributed Systems Naming (Communication Basics Part II) Slide set based on one by Prof. Paul Francis, Cornell University.

Slides:



Advertisements
Similar presentations
INTERNET PROTOCOLS Class 9 CSCI 6433 David C. Roberts Entire contents copyright 2011, David C. Roberts, all rights reserved.
Advertisements

Network Attack via DNS Fagpakke: IT Sikkerhed Modul: Introduktion til IT Sikkerhed Jesper Buus Nielsen.
Sergei Komarov. DNS  Mechanism for IP hostname resolution  Globally distributed database  Hierarchical structure  Comprised of three components.
Mobility Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
2.1 Installing the DNS Server Role Overview of the Domain Name System Role Overview of the DNS Namespace DNS Improvements for Windows Server 2008 Considerations.
Domain Name System. DNS is a client/server protocol which provides Name to IP Address Resolution.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Naming (2) DISTRIBUTED.
Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
The implementation of a name space
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Name Services Jessie Crane CPSC 550. History ARPAnet – experimental computer network (late 1960s) hosts.txt – a file that contained all the information.
Computer Science Lecture 9, page 1 CS677: Distributed OS Today: Naming Names are used to share resources, uniquely identify entities and refer to locations.
Distributed Systems CS Naming – Part II Lecture 6, Sep 26, 2011 Majd F. Sakr, Vinay Kolar, Mohammad Hammoud.
Domain Name System: DNS
Reliable Distributed Systems Naming (Communication Basics Part II) Slide set based on one by Prof. Paul Francis, Cornell University. Updated by Bina Ramamurthy.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 5 Introduction to DNS in Windows Server 2008.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
NamingCS-4513, D-Term Naming CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz,
Naming Names in computer systems are used to share resources, to uniquely identify entities, to refer to locations and so on. An important issue with naming.
Domain Name System ( DNS )  DNS is the system that provides name to address mapping for the internet.
DNS. Outline r Domain Name System r DNS Hierarchy r Resolution.
Chapter 25 Domain Name System
Lecturer : Ms.Trần Thị Ngọc Hoa Chapter 2 Methods Configuring Name Resolution Methods.
11.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 11: Introducing WINS, DNS,
ES 101. Module 3 Domain Name System (DNS). Last Lecture Routing and IP addressing.
NET0183 Networks and Communications Lecture 25 DNS Domain Name System 8/25/20091 NET0183 Networks and Communications by Dr Andy Brooks.
DNS and CDNs (Content Distribution Networks) Paul Francis Cornell Computer Science.
Distributed Computing COEN 317 DC2: Naming, part 1.
1 Domain Name System (DNS). 2 DNS: Domain Name System Internet hosts: – IP address (32 bit) - used for addressing datagrams – “name”, e.g.,
Computer Science Lecture 9, page 1 CS677: Distributed OS Today: Naming Names are used to share resources, uniquely identify entities and refer to locations.
Chapter 16 – DNS. DNS Domain Name Service This service allows client machines to resolve computer names (domain names) to IP addresses DNS works at the.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 17 Domain Name System (DNS)
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.1 ISP Services Working at a Small-to-Medium Business or ISP – Chapter 7.
DNS: Domain Name System
1 DNS: Domain Name System People: many identifiers: m SSN, name, Passport # Internet hosts, routers: m IP address (32 bit) - used for addressing datagrams.
Chapter 17 Domain Name System
1 Application Layer Lecture 6 Imran Ahmed University of Management & Technology.
Paper Presentation – CAP Page 2 Outline Review - DNS Proposed Solution Simulation Results / Evaluation Discussion.
5.1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 6: Name Resolution.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network, Enhanced Chapter 6: Name Resolution.
Chapter 29 Domain Name System (DNS) Allows users to reference computer names via symbolic names translates symbolic host names into associated IP addresses.
Naming Chapter 4.
Domain Name System CH 25 Aseel Alturki
October 8, 2015 University of Tulsa - Center for Information Security Microsoft Windows 2000 DNS October 8, 2015.
Distributed Computing COEN 317 DC2: Naming, part 1.
1 Kyung Hee University Chapter 18 Domain Name System.
CPSC 441: DNS 1. DNS: Domain Name System Internet hosts: m IP address (32 bit) - used for addressing datagrams m “name”, e.g., - used by.
Configuring Name Resolution and Additional Services Lesson 12.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
TCP/IP (Transmission Control Protocol / Internet Protocol)
DNS DNS overview DNS operation DNS zones. DNS Overview Name to IP address lookup service based on Domain Names Some DNS servers hold name and address.
DNS Security 1. Fundamental Problems of Network Security Internet was designed without security in mind –Initial design focused more on how to make it.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
COMP 431 Internet Services & Protocols
Domain Name System INTRODUCTION to Eng. Yasser Al-eimad
Lecture 9: Name and Directory Servers CDK4: Chapter 9 CDK5: Chapter 13 TVS: Chapter 5.
Basics of the Domain Name System (DNS) By : AMMY- DRISS Mohamed Amine KADDARI Zakaria MAHMOUDI Soufiane Oujda Med I University National College of Applied.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
KAPLAN SCHOOL OF INFORMATION SYSTEMS AND TECHNOLOGY IT375 Window Enterprise Administration Course Name – IT Introduction to Network Security Instructor.
MAN-IN-THE-MIDDLE ATTACK STEGANOGRAPHY Lab# MAC Addresses and ARP  32-bit IP address:  network-layer address  used to get datagram to destination.
Domain Name System: DNS To identify an entity, TCP/IP protocols use the IP address, which uniquely identifies the Connection of a host to the Internet.
Understand Names Resolution
Domain Name System (DNS)
IMPLEMENTING NAME RESOLUTION USING DNS
Net 323 D: Networks Protocols
Lecture 7: Name and Directory Servers
Lecture 7: Name and Directory Servers
Lecture 8: Name and Directory Servers
Presentation transcript:

Reliable Distributed Systems Naming (Communication Basics Part II) Slide set based on one by Prof. Paul Francis, Cornell University.

“Any problem in computer science can be solved with another layer of indirection” David Wheeler

Naming 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

Names map to objects through a resolution service Distributed Name Resolution Service

Identifiers 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

Naming in networks

DNS names map into addresses Domain Name ( Domain Name System (DNS) Many-to-many Hierarchical User-friendly Location independent But not org independent

Addresses map into routes IP address ( ) Routing algorithm (BGP, OSPF, RIP) One-to-many Hierarchical Location Dependent Non-unique Can change often Refers to an interface, not a host

Routes get packets to interfaces A path Source dependent Can change often

DNS 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 identifies a service URLs are good identifiers

Domain Name System (DNS) Distributed directory service Hierarchical name space Each level separated by ‘.’ Analogous to ‘/’ separator in file systems One global root Replicated across <20 root servers! 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???

DNS is simple but powerful Only one type of query Query(domain name, RR type) Resource Record (RR) type is like an attribute type Answer(values, additional RRs) Limited number of RR types Hard to make new RR types Not for technical reasons… Rather because each requires global agreement

DNS 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

Important DNS RR types NS: Points to next Name Server down the tree A: Contains the IP address AAAA for IPv6 MX: Contains the name of the mail server Service-oriented RR types SRV: Contains addresses and ports of services on servers One way to learn what port number to use NAPTR: Essentially a generalized mapping from one name space (i.e. phone numbers) to another (i.e. SIP URL)

DNS tree structure. edu. cornell.edu. cs.cornell.edu. com.jp.us. cmu.edu.mit.edu. eng.cornell.edu. foo.cs.cornell.eduA bar.cs.cornell.eduA NS RR “pointers”

Primary and secondary servers cornell.edu. cs.cornell.edu. NS RRs point to both primary and secondary servers RRs are initially configured into primary server Primary server replicates RRs onto secondary servers periodically (updates are incremental)

Resolver structure and configuration. edu. cornell.edu. cs.cornell.edu. com.jp. cmu.edu. eng.cornell.edu. Static configuration of root servers Stub resolver resides on client host, points to configured recursive server Resolver manages DNS queries on behalf of stub resolvers

Resolver structure and configuration. edu. cornell.edu. cs.cornell.edu. com.jp. cmu.edu. eng.cornell.edu. 1. Stub resolver sends recursive query 2,3,4… Resolver makes iterative queries to servers N. Resolver returns final answer to stub resolver (which also caches result) Resolver caches results for efficiency

DNS cache management All RRs have Time-to-live (TTL) values When TTL expires, cache entries are removed NS RRs tend to have long TTLs Cached for a long time Reduces load on higher level servers A RRs may have very short TTLs Order one minute for some web services Order one day for typical hosts

Why is DNS iterative and not recursive? AT/MvS teach that recursive is more efficient Better caching characteristics Caches in servers, not just resolvers Shorter paths However, high-performance recursive server much harder to implement Maintain state for thousands of concurrent queries Manage cache Recursive server prone to DoS attacks * AT/MvS = Andrew Tanenbaum/Martin van Steen text

LDAP 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

URLs, URNs, and URIs Uniform Resource URL tells a computer where and how to reach a resource These came first URN is a true identifier Unique, persistent URI refers to both URLs and URNs Defines syntax for current and future URLs and URNs For now we only really care about URLs

URL Consists of: :

URL Consists of: : A protocol Information the protocol needs

URL examples HTTP (web) Newsgroups news:cornell/class/cs514 SIP (Session Initiation Protocol)

Note the central role of DNS HTTP (web) Newsgroups news:cornell/class/cs514 SIP (Session Initiation Protocol)

Locating mobile entities (section 4.2, AT/MvS) What is a mobile entity? From naming perspective, it is an entity whose address changes often This doesn’t 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

Is 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 server’s A RRs often have very short TTLs To allow quick failover to another web server

Is mobility a problem at all? Less than you’d 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 , instant messaging, and VoIP (Voice over IP)? Clients receive s, instant messages, and phone calls

Application specific registration as a mobility solution To receive , client connects to an server To do instant messaging, client registers with an IM server To do VoIP, client registers with a SIP server This is an adequate solution to 90% of mobility issues This is why Mobile IP hasn’t gotten traction (i.e. Microsoft has not implemented it)

Mobile IP uses an IP-level registration Foreign Agent Mobile Node Home Agent Correspondent Node Mobile Node has a stable home address at its home network Internet

Mobile IP uses an IP-level registration Foreign Agent Mobile Node Home Agent Correspondent Node Mobile Node moves to foreign network, gets a Care-of Address Internet

Mobile IP uses an IP-level registration Foreign Agent Mobile Node Home Agent Correspondent Node Mobile Node registers with Home Agent, creates IP tunnel Internet

Mobile IP uses an IP-level registration Foreign Agent Mobile Node Home Agent Internet Correspondent Node Connection initiated by Correspondent Node will be tunneled to Mobile Node

Mobile IP adds a layer of indirection Mobile IP DNS Routing Home address is stable Care-of address changes

Client identification Servers cannot locate clients, but often must be able to identify them HTTP cookies serve this role HTTP cookies also contain many attributes about the client or session They also typically contain some kind of signature To prevent tampering

Identifiers must be made hard to spoof That is why driver’s licenses have pictures and credit cards have signatures In networking, two ways: 1. Identifier is also a locator Reverse routability 2. Some kind of secret-protected signature

Reverse routability: DoS and Mobile IP Server Internet I’m Ok, prove it by echo’ing this number back to me! Since challenge doesn’t go back to (i.e. is not reverse routable), cannot spoof

Summary 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 (and also URIs and URNs) Mobility is not much of a problem Chapter 4 got this wrong Identifiers must be hard to spoof Reverse routability, cryptographic signatures