Distributed Systems COMP 212. Lecture 10 Othon Michail

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

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

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

Naming vs. Locating Entities

The Domain Name System (DNS)

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

Application-layer protocols

Simple Solution for a Location Service. Naming vs. Locating Entities. Forwarding Pointers (2) Forwarding Pointers (1)

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

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

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

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

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

Naming in Distributed Systems

Naming in Distributed Systems

Domain Name System (DNS)

Introduction to Network Operating Systems

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

CS3250 Distributed Systems

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

Understand Names Resolution

INTERNET DOMAIN NAME SYSTEM

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

Chapter 25 Domain Name System Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Domain Name System Richard T. B. Ma

DNS Basics. DNS Basics

Domain Name System (DNS) RFC 1034 RFC

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 - Concept. DNS - Domain Name System

Cape Girardeau Career Center CISCO Networking Academy Bill Link, Instructor. 2.,,,, and are key services that ISPs can provide to all customers.

DNS: Distributed Name System

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

DNS Domain Name System

Forouzan: Chapter 17. Domain Name System (DNS)

Chapter 23 The Domain Name System (DNS)

3. The Domain Name Service

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

Understanding DNS (the Domain Name System)

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.

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

Domain Name Service (DNS) Training Division, NIC New Delhi

CS3600 SYSTEMS AND NETWORKS

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

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

DNS: Domain Names. DNS: Domain Name System. DNS: Root name servers. DNS name servers

This Lecture. The Internet and Sockets. The Start If everyone just sends a small packet of data, they can all use the line at the same.

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

Network Layers. CSC358 - Introduction to Computer Networks

CS 43: Computer Networks Naming and DNS. Kevin Webb Swarthmore College September 17, 2015

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

Application Layer -1- Network Tools

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

Domain Name System (DNS)

Overview of Computer Networks

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

BASIC ANALYSIS OF TCP/IP NETWORKS

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

The Domain Name System (DNS)

How To Guide Edge Network Appliance How To Guide:

NET0183 Networks and Communications

Copyright

Module 5: Planning a DNS Strategy

Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS

Module 2. Configuring and Troubleshooting DNS. Contents:

Applications and Services. DNS (Domain Name System)

Application. Transport. Network. Data Link. Physical. Network Layers. Goal

ICS 351: Today's plan. DNS WiFi

Introduction to Computer Networks

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

An Introduction to the Domain Name System

THE BCS PROFESSIONAL EXAMINATION Professional Graduate Diploma. April 2001 EXAMINERS REPORT. Network Information Systems 2001

416 Distributed Systems. Feb 24, 2016 DNS and CDNs

Introduction to DNS CHAPTER 5. In This Chapter

THE MASTER LIST OF DNS TERMINOLOGY. v 2.0

Georgia College & State University

Computer Networks: Domain Name System

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

Managing Name Resolution

CS640: Computer Networks. Naming /ETC/HOSTS

Lab - Observing DNS Resolution

Internet-Praktikum I Lab 3: DNS

DNS and BIND. David White

1 Introduction: Network Applications

DEPLOYMENT GUIDE Version 1.1. DNS Traffic Management using the BIG-IP Local Traffic Manager

19 Domain Name System (DNS)

Use Domain Name System and IP Version 6

Computer Networks & Security 2014/2015

CMPE 80N: Introduction to Networking and the Internet

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

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

Introduction to the Domain Name System

- Domain Name System -

Internet Control Protocols Reading: Chapter 3

Internetworking Microsoft TCP/IP on Microsoft Windows NT 4.0

Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.

Implementing Domain Name Service (DNS)

Domain Name Resolver (DNR) Configuration

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Internetworking with TCP/IP Unit 10. Domain Name System

CLE202 Introduction to ServerIron ADX Application Switching and Load Balancing

Transcription:

Distributed Systems COMP 212 Lecture 10 Othon Michail

Naming Technologies within Distributed Systems Names, Identifiers and Addresses 2/28

Computers vs. Humans Entities (Internet hosts, routers, file systems, services) are accessed using identifiers (numbers) IP address File descriptor Port number Humans like to use meaningful names www.csc.liv.ac.uk My Documents Dater (from our Java RMI example) We need services that bind names and identifiers 3/28

Identifiers Special type of (usually, computer readable) names with the following properties: An id refers to at most one entity Each entity is referred by at most one id An id always refers to the same entity (never reused) An identifier includes or can be transformed to an address for an object e.g. NFS file handle, Java RMI remote object reference, etc 4/28

Names 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.csc.liv.ac.uk/ 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 5/28

Examples Resource Name Identifiers 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 6/28

Uniform Resource Locator (URL) Used for identifying resources in the Internet Typed by the protocol field (http, ftp, nfs, etc.) Part of the name is service-specific Resources cannot be moved between domains 7/28

Name Resolution URL http://www.csc.liv.ac.uk:80/~michailo/teaching/comp212/index.html DNS lookup Resource ID (IP number, port number, pathname) 138.253.184.144 80 ~michailo/teaching/comp212/index.html ARP lookup (Address Resolution Protocol) 0:30:6e:1c:f2:68 (Ethernet) Network address Socket file Web server 8/28

Namespaces Names are often organised into namespaces 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 names for some types of change, old programs should continue to work Management of trust 9/28

Name Graphs Within distributed systems, a namespace is represented by a labelled, directed graph with two types of nodes: - leaf nodes: information on an entity - directory nodes: a collection of named outgoing edges (which can lead to any other type of node) Each namespace has at least one root node Nodes can be referred to by path names (with absolute or relative) File systems are a classic example 10/28

Example 1: File System Unix File system is a classic example 11/28

Variations Global vs local name Global name denotes the same entity (always interpreted with respect to the same directory node) Local name its interpretation depends on where the name is being used More than one path to a node Naming graph: tree (hierarchical), more than one root, Directed Acyclic Graph (DAG) 12/28

Example: Alias (Solution 1) (Alias is another name for the same entity) Multiple absolute paths to the same node (hard link) 13/28

Example: Alias (Solution 2) Allow a leaf to contain an absolute path name (symbolic link) 14/28

Merging Name Spaces Merging name spaces problem: we have different name spaces that we wish to access from any given name space Possible Solution: Mounting A directory node called a mount point stores the id of (or all the necessary information for identifying and accessing) a directory node from a foreign name space called mounting point 15/28

Mounting (1) The following information is required: 1. Name of the access protocol (resolved to the implementation of a communication protocol) 2. Name of the server (resolved to an address where the server can be reached) 3. Name of the mounting point (resolved to a node in the foreign name space, by the foreign server) e.g. nfs://flits.cs.vu.nl//home/steen 16/28

Mounting (2) Mounting remote name spaces through a specific process protocol (in this case Sun s Network File System protocol - NFS) 17/28

Example 2: Internet Name Server A good naming server should provide Scalability Decentralised maintenance Robustness, fault-tolerance Global scope Names mean the same thing everywhere 18/28

Why not Centralised Server? Single server with all name-to-ip address mappings single point of failure traffic volume distant centralised database (performance) maintenance doesn t scale! 19/28

DNS (Domain Name System) Distributed database implemented in hierarchy of many name servers Decentralised control and management of data Application-layer protocol used by hosts and name servers Communicate to resolve names (name/address translation) Core Internet function implemented as application-layer protocol 20/28

DNS Name Space An example partitioning of the DNS name space, including Internet-accessible files, into the three name space layers A zone in DNS is a non-overlapping part of the namespace that is implemented by a separate name server 21/28

DNS Name Servers Authoritative name servers store parts of the database Names assigned to authoritative name servers For a host, authority stores that host s IP address, name Responds to queries for host s IP address Perform name/address translation for that host s name Root name server knows authoritative servers for particular subdomains Hierarchically organises authoritative name servers Reserving a domain gives you control of entry in root name server for particular names 22/28

DNS Lookup 1. Iterative Name Resolution. Server responds with as much as it knows (i.e. name of server to contact next) I don t know this name, but ask this server Client iteratively queries additional servers 2. Recursive Name Resolution. Server goes out and searches for more info on behalf of the client (recursive) Only returns final answer or not found Puts burden of name resolution on contacted name server 23/28

Iterative Name Resolution ftp://ftp.cs.vu.nl The name resolver queries each name server (at each layer) in an iterative fashion Note: the client is doing all the work here (and generating a lot of traffic, too) 24/28

Recursive Name Resolution The name resolver starts the process, then each server temporarily becomes a client of the next name server until the resolution is satisfied. The results are then returned to the client. 25/28

Caching and Recursive Name Resolution Server for node Should resolve Looks up Passes to child Receives and caches Returns to requester cs <ftp> #<ftp> -- -- #<ftp> vu <cs,ftp> #<cs> <ftp> #<ftp> #<cs> #<cs, ftp> ni <vu,cs,ftp> #<vu> <cs,ftp> #<cs> #<cs,ftp> root <ni,vu,cs,ftp> #<nl> <vu,cs,ftp> #<vu> #<vu,cs> #<vu,cs,ftp> #<vu> #<vu,cs> #<vu,cs,ftp> #<nl> #<nl,vu> #<nl,vu,cs> #<nl,vu,cs,ftp> Recursive name resolution of <nl, vu, cs, ftp>. Name servers cache intermediate results for subsequent lookups. This is seen as a key advantage to the recursive name resolution approach, even though the workload has been moved from the client to the servers. Nevertheless, think about subsequent lookups 26/28

Iterative vs. Recursive Resolution The comparison between recursive and iterative name resolution with respect to communication costs. Again, the recursive technology is generally regarded to have an advantage in this situation (especially over longer, more expensive WAN links). 27/28

Typical Resolution Client does recursive request to local name server Local name server does iterative requests to find name Local name server has knowledge of root servers 28/28