Distributed Systems. 6. Name Services. Werner Nutt

Similar documents
Chapter 9: Name Services. 9.1 Introduction 9.2 Name services and the DNS 9.3 Directory services 9.6 Summary

Slides for Chapter 9: Name Services

Naming. Name Service. Why Name Services? Mappings. and related concepts

Application Protocols in the TCP/IP Reference Model. Application Protocols in the TCP/IP Reference Model. DNS - Concept. DNS - Domain Name System

Application Protocols in the TCP/IP Reference Model

Application Protocols in the TCP/IP Reference Model. Application Protocols in the TCP/IP Reference Model. DNS - Domain Name System

Motivation. Domain Name System (DNS) Flat Namespace. Hierarchical Namespace

The Domain Name System

Distributed Systems. 09. Naming. Paul Krzyzanowski. Rutgers University. Fall 2015

Lecture 2 CS An example of a middleware service: DNS Domain Name System

The Domain Name System (DNS)

Outline. Definition. Name spaces Name resolution Example: The Domain Name System Example: X.500, LDAP. Names, Identifiers and Addresses

Distributed Systems. 22. Naming Paul Krzyzanowski. Rutgers University. Fall 2013

The Domain Name System (DNS)

CS3250 Distributed Systems

DNS Domain Name System

ECE 4321 Computer Networks. Network Programming

- Domain Name System -

DNS : Domain Name System

Introduction to Network Operating Systems

Domain Name Server. Training Division National Informatics Centre New Delhi

3. The Domain Name Service

Chapter 23 The Domain Name System (DNS)

THE DOMAIN NAME SYSTEM DNS

1 Introduction: Network Applications

Hostnames. HOSTS.TXT was a bottleneck. Once there was HOSTS.TXT. CSCE515 Computer Network Programming. Hierarchical Organization of DNS

Domain Name System. 188lecture12.ppt. Pirkko Kuusela, Markus Peuhkuri, Jouni Karvo

How to Configure the Windows DNS Server

DNS. Computer Networks. Seminar 12

Introduction to DNS CHAPTER 5. In This Chapter

Lesson 13: DNS Security. Javier Osuna GMV Head of Security and Process Consulting Division

Domain Name System (DNS) Fundamentals

INTERNET DOMAIN NAME SYSTEM

Networking Domain Name System

Domain Name System. DNS is an example of a large scale client-server application. Copyright 2014 Jim Martin

How to Configure DNS Zones

Domain Name System DNS

Forouzan: Chapter 17. Domain Name System (DNS)

DNS. Computer networks - Administration 1DV202. fredag 30 mars 12

The Application Layer: DNS

Understanding DNS (the Domain Name System)

Domain Name Servers. Domain Types WWW host names. Internet Names. COMP476 Networked Computer Systems. Domain Name Servers

Networking Domain Name System

Applications and Services. DNS (Domain Name System)

HTG XROADS NETWORKS. Network Appliance How To Guide: EdgeDNS. How To Guide

CS3600 SYSTEMS AND NETWORKS

4.1 NAMING ENTITIES 184 NAMING CHAP Names, Identifiers, and Addresses

Internet Security [1] VU Engin Kirda

The Domain Name System

Goal of this session

Understand Names Resolution

Names & Addresses. Names & Addresses. Names vs. Addresses. Identity. Names vs. Addresses. CS 194: Distributed Systems: Naming

Names vs. Addresses. Flat vs. Hierarchical Space. Domain Name System (DNS) Computer Networks. Lecture 5: Domain Name System

How-to: DNS Enumeration

Installing and Setting up Microsoft DNS Server

Domain Name System (DNS)

Part 5 DNS Security. SAST01 An Introduction to Information Security Martin Hell Department of Electrical and Information Technology

The Application Layer. CS158a Chris Pollett May 9, 2007.

DNS. The Root Name Servers. DNS Hierarchy. Computer System Security and Management SMD139. Root name server. .se name server. .

Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 34 DNS & Directory

Domain Name System Richard T. B. Ma

How To Guide Edge Network Appliance How To Guide:

The Domain Name System (DNS) Jason Hermance Nerces Kazandjian Long-Quan Nguyen

netkit lab dns Università degli Studi Roma Tre Dipartimento di Informatica e Automazione Computer Networks Research Group Version Author(s)

KB Windows 2000 DNS Event Messages 1 Through 1614

Domain Name System (DNS) Session-1: Fundamentals. Ayitey Bulley

Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer

Chapter 24 The Domain Name System (DNS)

Domain Name System. CS 571 Fall , Kenneth L. Calvert University of Kentucky, USA All rights reserved

System Administration Commands nslookup ( 1M )

Naming and the DNS. Focus. How do we name hosts etc.? Application Presentation Topics. Session Domain Name System (DNS) /URLs

Internet-Praktikum I Lab 3: DNS

Using Webmin and Bind9 to Setup DNS Sever on Linux

Application Layer. CMPT Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2

Module 2. Configuring and Troubleshooting DNS. Contents:

19 Domain Name System (DNS)

Copyright

DNS Root NameServers

Talk-101 User Guide. DNSGate

API of DNS hosting. For DNS-master and Secondary services Table of contents

CS 348: Computer Networks. - DNS; 22 nd Oct Instructor: Sridhar Iyer IIT Bombay

NET0183 Networks and Communications

Internetworking with TCP/IP Unit 10. Domain Name System

Networking Domain Name System

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ MEng. Nguyễn CaoĐạt

Domain Name System (or Service) (DNS) Computer Networks Term B10

DNS and BIND Primer. Pete Nesbitt linux1.ca. April 2012

Domain Name System WWW. Application Layer. Mahalingam Ramkumar Mississippi State University, MS. September 15, 2014.

Copyright International Business Machines Corporation All rights reserved. US Government Users Restricted Rights Use, duplication or disclosure

Understanding DNS By Robert Sterler

HTG XROADS NETWORKS. Network Appliance How To Guide: DNS Delegation. How To Guide

Computer Networks: Domain Name System

DNS: How it works. DNS: How it works (more or less ) DNS: How it Works. Technical Seminars Spring Paul Semple psemple@rm.

Agenda. Network Services. Domain Names. Domain Name. Domain Names Domain Name System Internationalized Domain Names. Domain Names & DNS

Windows Active Directory. DNS, Kerberos and LDAP T h u r s d a y, J a n u a r y 2 7, 2011 INLS 576 Spring 2011

Application-layer Protocols

ICS 351: Today's plan. DNS WiFi

Chapter 7 Implementing Domain Name System (DNS)

DNS & IPv6. Agenda 4/14/2009. MENOG4, 8-9 April Raed Al-Fayez SaudiNIC CITC rfayez@citc.gov.sa, DNS & IPv6.

DATA COMMUNICATOIN NETWORKING

Transcription:

Distributed Systems 6. Name Services Werner Nutt 1

Naming Concepts Names = strings used to identify objects (files, computers, people, processes, objects) Textual names (human readable) used to identify individual services, people email address: Hans.Mair@inf.unibz.it URL: www.google.com or groups of people or objects mailing lists: professors@unibz.it mail domains (if there are several mail exchangers) 2

Naming Concepts (cntd) Numeric addresses (identify the location of an object) locate individual resources, e.g. 193.206.186.100 (IP host address) special case: group addresses, e.g. multicast and broadcast addresses: IP Multicast, Ethernet Object identifiers pure names (=bit patterns), usually numeric and large never reused (include timestamp) used for identification purposes No real distinction between names and addresses. Both must be looked up to obtain lower-level data (= name resolution). 3

Examples of Name Services File system maps file name to file RMI registry binds remote objects to symbolic names DNS (=Domain Name Service) maps domain names to IP addresses scalable, can handle change X.500/LDAP directory service maps person s name to email address, phone number 4

Name Resolution on the WWW URL http://www.inf.unibz.it:8888/~mair/photos/hans.jpg DNS lookup Resource ID (IP number, port number, pathname) 193.206.186.198 8888 ~mair/photos/hans.jpg ARP lookup (Ethernet) Network address 2:60:8c:2:b0:5a file Socket Web server 5

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) identify arbitrary resources: Uniform Resource Locator (URL): locates resource typed by the scheme field (http, ftp, nfs, etc.) part of the name is service-specific resources cannot be moved between domains Uniform Resource Name (URN): names resource 6

Name Spaces Name space = collection of all valid names recognised by a service with a syntax for specifying names, and rules for resolving names (e.g., left to right) Naming context = maps a name to primitive attributes directly, or to another context and derived name (usually by prefixing) telephone no: country, area, number Internet host names: contexts = domains Unix file system: contexts = directories 7

Name Spaces (cntd) Binding associating a name to an object binding names to attributes, one of which may be address Naming domain has an authority that assigns names to objects within a name space or context sysadmin assigns login names Host names are assigned in a domain object may be registered more than once within context Multiple names alias (alternative name for an object, e.g. www, ftp, etc.) symbolic name (alternative name which maps to a path name in the name space, e.g., symbolic link for file) 8

Hierarchic Name Spaces Sequence of name tokens resolved in different context syntax: name token (text string) + delimiter DNS: inf.unibz.it Unix: /usr/bin Name structure reflects organisational structure name changes if object migrates names can be used relative to context or absolute local contexts managed in a distributed fashion Examples domain names, Unix file system 9

Flat Name Spaces Single global context and naming authority for all names computer serial number Ethernet address remote object reference (IP address, port, time, object number, interface id) Names not meaningful difficult to resolve (no tree hierarchy) easy to create easy to ensure uniqueness (timestamps) 10

Name Resolution Iteratively present name to a naming context start with initial naming context repeat as long as contexts + derived names are returned aliases can introduce cycles (abandon after threshold no of resolutions or ensure no cycles) Replication/Caching used for improved fault-tolerance on large services (more than one server, cf. DNS) Navigation organising the access to several servers 11

Iterative Navigation NS2 Client 2 1 NS1 Name servers 3 NS3 e.g., in DNS The database is distributed over servers for different domains A client contacts servers NS1 NS3 one after the other in order to resolve a name Server returns attributes if it knows the name, otherwise suggests another server 12

Server-controlled Navigation Name server communicates with other name servers on the client s behalf NS2 NS2 client 1 4 NS1 2 3 NS3 client 1 5 NS1 2 4 3 NS3 Non-recursive server-controlled Recursive server-controlled In DNS, iterative navigation is the standard. Recursive navigation is an option that is necessary in domains that limit client access to their DNS information for security reasons 13

Replication and Caching Replicate some directories for performance and availability. Updates Approach 1: write to single master, master propagates updates Approach 2: write to any replica, later merge updates (timestamps) Result: weak consistency (some entries out of date) Look-ups try any local server, then go to root and down the tree Caching names and addresses of recently used objects 14

Internet Domain Name System (DNS) Maps host names to IP addresses (basically) Design dates back to 1987 (Mockapetris) Before all host names and addresses in one large master file stored on one central host downloaded by computers that needed to resolve names What were the drawbacks of that approach? 15

Internet Domain Name System (cntd) Distributed naming database Hierarchical 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 (e.g., 13 root servers, 6 servers for.it, etc.) 16

generic domains The DNS Name Space. country domains org com net edu de at it uk yahoo ibm mit unibz bz inf www provinz Domain names: - Top level domains web www mail www - 2nd level domains - Computer names 17

DNS Server Functions Main function: resolves domain names for computers, i.e. gets their IP addresses caches the results of previous searches until they pass their time to live Info offered: host IP addresses and canonical names name servers for a domain mail exchangers for a domain host information - type of hardware and OS well-known services - a list of well-known services offered by a host Other functions: reverse resolution - get domain name from IP address 18

Example: DNS Servers Look up IP-address of www.dcs.qmw.ac.uk a.root-servers.net (root) ns1.nic.uk (uk) co.uk ac.uk... uk purdue.edu yahoo.com... ns0.ja.net (ac.uk) ns.purdue.edu (purdue.edu) *.purdue.edu Name server names are in italics (Corresponding domains are in parentheses) denotes a a.ns.qmw.ac.uk (qmw.ac.uk) ic.ac.uk qmw.ac.uk... a.ns.dcs.qmw.ac.uk (dcs.qmw.ac.uk) ns0.ic.ac.uk (ic.ac.uk) name server entry dcs.qmw.ac.uk *.qmw.ac.uk *.dcs.qmw.ac.uk *.ic.ac.uk 19

DNS Servers and Zones The DNS namespace consists of zones: zone = domain minus sub-domains, administered independently Every zone must have at least two name servers exactly one master (= primary) server: contains the only writable copy of the zone file one or more secondary (= slave) servers: copies its zone file from the master both, master and slaves, are authoritative for the zone set up should guarantee that slaves never hold information that is out of date 20

DNS Name Resolution Basic algorithm 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 Iteration Without caching ns1.nic.uk (uk) co.uk ac.uk... a.ns.qmw.ac.uk (qmw.ac.uk) dcs.qmw.ac.uk *.qmw.ac.uk a.root-servers.net (root) uk purdue.edu yahoo.com... ns0.ja.net (ac.uk) ic.ac.uk qmw.ac.uk... a.ns.dcs.qmw.ac.uk (dcs.qmw.ac.uk) *.dcs.qmw.ac.uk ns0.ic.ac.uk (ic.ac.uk) *.ic.ac.uk ns.purdue.edu (purdue.edu) *.purdue.edu IP: a.ns.qmw.ac.uk 2 IP:www.dcs.qmw.ac.uk IP:ns0.ja.net www.dcs.qmw.ac.uk? client.ic.ac.uk 14 IP:a.ns.dcs.qmw.ac.uk 3 22

Recursive Name Resolution in DNS 23

Types of DNS Resource Records Record type Meaning Main contents A A computer address IP 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 WKS A well-known service description List of service names and protocols PTR Domain name pointer (reverse Domain name lookups) HINFO Host information Machine architecture and operating system MX Mail exchange List of <preference, host> pairs TXT Text string Arbitrary text DNS Serves organize their info in resource records 24

Name Server Content An excerpt from the DNS database for the zone cs.vu.nl. 25

DNS Message Format Queries and replies have the same format (using UDP) Header identification: 16 bit number set in query, matching reply with same number flags: 1 bit each, e.g., query or reply authoritative answer recursion desired recursion available 26

DNS Message Format (cntd) The message body consists of resource records Domain names (or IP adds), type of records requested (incomplete records) Resource records answering the query Records pointing to authoritative servers Typically, address records of the authoritative servers 27

Implementations of DNS De facto standard for UNIX is BIND (= Berkeley Internet Name Domain) Client programs acting as resolver link in library software (i.e., no process on client) Server machines run a daemon ( named ) Server can be configured as one of three categories: primary, secondary, caching-only Microsoft s Active Directory supports DNS 28

Access to DNS host command for name resolution and reverse resolution nslookup command/tool to query DNS servers for arbitrary info dig similar to nslookup, without some of the deficiencies of the former /etc/resolv.conf file containing IP address of default name server Java JNDI (= Java Naming and Directory Interface) provides interface for querying DNS 29

Global Name Service (GNS) A proposal from research [B. Lampson, 86]: GNS is more flexible system for resource location, mail addressing and authentication Structured leafs: Value trees DI: 437 Directory nodes have a unique directory identifier ID DI: 322 Names in GNS have two parts <directory name, value name> DI: 543 QMW AC Peter.Smith DI: 599 (EC) UK FR DI: 574 GNS accommodates change: use directory identifiers to identify old roots Alpha mailboxes Beta Gamma password 30

Merging Trees Under a New Root Well-known directories: #599 = #633/EC #642 = #633/NORTH AMERICA DI: 599 DI: 633 (WORLD) EC NORTH AMERICA DI: 642 DI: 543 UK FR DI: 574 DI: 732 US CANADA DI: 457 Old working roots (like #599 (EC)) can be found in the new tree, using the well-known directories table of #633 (WORLD) 31

Restructuring the Directory Well-known directories: #599= #633/EC #642= #633/NORTH AMERICA DI: 599 DI: 633 (WORLD) EC NORTH AMERICA DI: 642 DI: 543 UK FR US DI: 574 DI: 732 US CANADA DI: 457 #633/EC/US The US becomes part of the EU: a symbolic link (#633/EC/US) points to the new location GNS gains flexibility at the cost of accumulating additional data after reconfiguration 32