Naming. Today. l What s in a name l Flat naming l Structured naming l Attribute-based naming

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

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

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

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

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

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

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

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

Introduction to Network Operating Systems

Chapter 23 The Domain Name System (DNS)

DNS Domain Name System

CS3250 Distributed Systems

Application Protocols in the TCP/IP Reference Model

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

Understanding DNS (the Domain Name System)

DNS : Domain Name System

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

Computer Networks: Domain Name System

DNS. Computer Networks. Seminar 12

The Domain Name System (DNS)

The Domain Name System (DNS)

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

THE DOMAIN NAME SYSTEM DNS

NET0183 Networks and Communications

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

Naming vs. Locating Entities

Introduction to DNS CHAPTER 5. In This Chapter

3. The Domain Name Service

The Domain Name System

Internet-Praktikum I Lab 3: DNS

- Domain Name System -

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

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

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

THE MASTER LIST OF DNS TERMINOLOGY. v 2.0

The Domain Name System

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

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

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

THE MASTER LIST OF DNS TERMINOLOGY. First Edition

Domain Name System (DNS)

ICS 351: Today's plan. DNS WiFi

DNS Basics. DNS Basics

Domain Name System (DNS) RFC 1034 RFC

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

Domain Name System Richard T. B. Ma

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

DNS and BIND. David White

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

Domain Name System DNS

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

Chapter 24 The Domain Name System (DNS)

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

Domain Name System (DNS)

The Domain Name Service, Etc. Jeff Chase Duke University, Department of Computer Science CPS 212: Distributed Information Systems

Domain Name Server. Training Division National Informatics Centre New Delhi

Understand Names Resolution

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

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

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

Networking Domain Name System

Installing and Setting up Microsoft DNS Server

The Use of DNS Resource Records

IP addresses have hierarchy (network & subnet) Internet names (FQDNs) also have hierarchy. and of course there can be sub-sub-!!

Domain Name System :49:44 UTC Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement

How to Add Domains and DNS Records

How to set up the Integrated DNS Server for Inbound Load Balancing

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

Internet Security [1] VU Engin Kirda

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

Configuring DNS. Finding Feature Information

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

FAQ (Frequently Asked Questions)

CS3600 SYSTEMS AND NETWORKS

Teldat Router. DNS Client

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

ECE 4321 Computer Networks. Network Programming

The Application Layer: DNS

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

19 Domain Name System (DNS)

How to Configure the Windows DNS Server

Module 2. Configuring and Troubleshooting DNS. Contents:

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

Forouzan: Chapter 17. Domain Name System (DNS)

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

Naming in Distributed Systems

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Development of the Domain Name System. Joey Brown David Margolies

Naming in Distributed Systems

Copyright

DNS + DHCP. Michael Tsai 2015/04/27

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

Chapter 2 Application Layer

INTERNET DOMAIN NAME SYSTEM

A Comparative Study of the DNS Design with DHT-Based Alternatives

CS640: Computer Networks. Naming /ETC/HOSTS

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

The Design and Implementation of a Next Generation Name Service for the Internet

OVERVIEW OF THE DNS AND GLOSSARY OF TERMS

OVERVIEW OF THE DNS AND GLOSSARY OF TERMS

Transcription:

Naming Today l What s in a name l Flat naming l Structured naming l Attribute-based naming

Names, identifiers and addresses Names are used to denote entities in a system Hosts, printers, files, processes, users. To operate on an entity, e.g. print a file, we need to access it at an access point An entity can offer one or more access points (think phone #s) Access point Access point Entity (Mafalda) Access point 2

Names, identifiers and addresses Access points are entities as well; the name of an access point is an address Address of an access point of an entity = address of an entity (person telephone telephone #) Chile 371, San Telmo Capital Federal Argentina Location-independent name for entity E A name independent from the addresses of E s access points Easier and more flexible to use E can have multiple addresses and change them 3

Other names Pure names un-interpreted bit patterns Have no meaning, they are just random strings Can be used for comparison only No-pure names contain information about the object that they name (e.g., location) (True) Identifiers names interpreted by programs Each identifier refers to at most one entity (no reusing) Each entity is referred to by at most one identifier E.g. phone is not, passport number maybe An identifier need not necessarily be a pure name, i.e., it may have content Alias a name defined to denote the same info as another name 4

Name services Stores a collection of textual names, in the form of bindings between names and attributes Collection often subdivided in 1+ contexts managed as a unit Binding Association between a name and an object In general, names are bound to data about an objects rather than the object itself; e.g., address A name is resolved when it is translated into data about the named object Name space The collection of all valid names recognized by a particular service Why is name management a separate service? Unification resources managed by different services using the same naming scheme Integration - resources created in different administrative domain may eventually be shared 5

Names in distributed systems Flat naming Names chosen from a flat set of numeric or symbolic ids Must be globally unique Structured naming Have an internal structure that represent their position in a hierarchic name space Unique only within immediately containing level Each level resolved within the context of the next higher one Attribute-based naming Maybe more convenient to look up entities by attributes {(attribute, value)} Entities have a collection of (attribute, value) pairs 6

Name resolution and flat names Given an essentially unstructured name, how to locate its associated access point? Key point name has no information to locate the access point Simple solutions Broadcasting Forwarding pointers Home-based approaches Distributed Hash Tables Hierarchical location service 7

Broadcasting Broadcasting simply broadcast the ID, requesting the entity to return its current address Think Address Resolution Protocol (ARP) Can never scale beyond local-area networks Requires all processes to listen to incoming location requests Multicasting can help Join a multicast address and wait for your call Can (sort-of) help when selecting nearest replica What happens if the name is unbound? And what happens if the entity moves? 8

Forwarding pointers Forwarding pointers each time an entity moves, it leaves behind a pointer telling where it has gone to Dereferencing can be made entirely transparent to clients by simply following the chain of pointers Update a client s reference as soon as present location has been found Geographical scalability problems Long chains are not fault tolerant need some chain reduction mechanism Increased network latency at dereferencing 9

Home-based approaches A home keeps track of an entity location (Mobile IP) An entity s home address is registered at a naming service The home registers the foreign address of the entity Clients contact home first, and continues with foreign location Host s home location 2. Return address of current location 1. Send packet to host at its home Client s location 3. Tunnel packet to current location 4. Send successive packets to current location Host s present location 10

Home-based approaches issues Home address has to be supported as long as the entity lives Home address is fixed, even if entity moves permanently Poor geographical scalability (entity may be next to the client) Host s home location 2. Return address of current location 3. Tunnel packet to current location 1. Send packet to host at its home Client s location 4. Send successive packets to current location Host s present location 11

Hierarchical location system Scalability through hierarchies Flat name space with hierarchical administration Network divided into a collection of domains and subdomains Each domain has an associated directory node Keeps track of entities in that domain The root directory node dir(t) M Top-level domain T Directory node dir(s) of domain S A subdomain S of top-level domain T (S is contained in T) D 1 D 2 A leaf domain, contained in S 12

Lookup and caching Tree organization Address of an entity kept in leaf node, or an intermediate node Intermediate nodes contain a pointer to a child iff the sub-tree rooted at the child stores an address of the entity The root knows about all entities Lookup Start lookup at local leaf node If node knows it, follow downward pointer, otherwise go one up Upward lookup stops at root M knows about E forwards request to child M Lookup request D 13

Structured naming Structured names Have an internal structure that represent their position in a hierarchic name space Unique only within immediately containing level Each level resolved within the context of the next higher one Advantages of hierarchies Makes large name spaces more manageable They are potentially infinite (rather than limited by the length/ base of the id space) 14

Name resolution On the client s behalf, a local name resolver To resolve a name we need a directory node; how do we actually find that (initial) node? Closure mechanism Knowing how to and where to start name resolution Closure mechanism deal with selecting the initial node in a name space from which to start Many times implicit, e.g., in the Unix FS the i-node of the root directory is the first i-node in the FS 15

Iterative name resolution Interactive client drives the resolution Caching by clients only (a second client s resolution of the same name has to go through the same sequence ) Potentially costly communication (www,eecs, northwestern,edu) Client s name resolver (www,eecs,northwestern,edu) #edu, (www,eecs, northwestern) (www,eecs,northwestern) #northwestern (www,eecs) (www,eecs) #eecs, (www) (www) #www #(www,eecs, northwestern,edu) Root name server Name server Name server Name server 16

Recursive name resolution Recursive the server does Higher performance demand on servers More effective caching Reduced communication costs (www,eecs,northwestern,edu) #edu, (www,eecs, northwestern) Root name server (www,eecs,northwe stern) Client s name resolver #northwestern (www,eecs) #eecs, (www) Name server Name server (www,eecs) #www (www) Name server (www,eecs, northwestern,edu) #(www,eecs, northwestern,edu) 17

Hierarchical naming DNS Naming for the Internet before DNS (1983) Each computer retrieved HOST.TXT from a computer at SRI A legacy a fossil host file still exist in most modern OS DNS by Paul Mockapetris Internet names are structured, no flat eleuthera.cs.northwestern.edu Resolution works the same way If a name is cached in local server, try to use it Otherwise go up the hierarchy one level Difference is that each level knows only its level edu knows of northwestern but not about eleuthera 18

DNS names and name spaces Names organized into name spaces Domain name space is partitioned organizationally and geographically (.edu and.ar) Name space consist of a tree of domains; each node has 0+ resource records SOA Holds info on the represented zone (email address of sys admin, host from where data on zone can be fetched, ) A IP address of the host this node represents MX Mail server to handle mail address to this node NS Name server that implement the represented zone CNAME Canonical name of the host HINFO Info on this host 19

DNS scalability Scalability though partitioning, replication and caching Tree sub-divides into zones beginning at the root Each zone could be 1+ domains and sub-domains Zone files the txt file that describes a zone Includes name and address for 2+ authoritative servers and for delegated subdomains Management parameters (e.g. caching) and RR The information contained in each zone is implemented in 2+ name servers (2 for redundancy) Any server can cache data from other servers If a non-authoritative server caches data, it notes the TTL 20

DNS scalability Top of DNS hierarchy root nameservers keep track of authoritative nameservers for the top-level domains (TLDs) Generic TLDs (gtlds) -.com,.edu,.net Country-code TLDs -.ar,.uk,.in,.cn, Nameservers are statically configured with 13 IP addresses for the root servers 21

DNS scalability and resolution DNS resolvers operate on behalf of clients to map queries to matching resource records Accepts queries, formats them and contacts nameservers to answer them Resolver follows simple request/reply over UDP Multiple queries/responses per request/reply to save on network traffic Either recursive (optional) or iterative resolution Client ask local resolver, resolver contact a root nameserver to find the TLD nameserver issues the query to TLD, obtains the authoritative nameserver of the next subdomain Aggressive caching to scale Weak consistency through time-to-live (TTL) 22

Stress on current DNS* Increases in malicious behavior Delegation bottleneck number of NS in delegation chain that need to be compromised to control the domain Worst at the network level minimum number of gateways 33% at a single gateway (Microsoft DDOS attack 2001) Buggy implementations with known vulnerabilities 2% with a known buffer overflow bug Explosion in client population, Zipf-like query distribution low performance In 2000, 29% of queries took >2 Bottlenecks All Domains Top 500 1 0.82% 0.8% 2 78.44% 62.80% 3 9.96% 13.20% 4 4.64% 13% Hierarchy implies higher load at the higher levels 2002 DDOS left 9/13 root severs unresponsive *V. Ramasubramanian et al, SIGCOMM 2004 23

Decentralized DNS back to DHTs Map names to responsible nodes through a hash CoDoNS based on Beehive Proactive replication on prefix-matching DHTs for O(1) lookup performance (instead of O(logN)) Clearly replicating every entry at every node gives O(1) Trick is in picking what to replicate Every institution contribute peers Same API as DNS, compatible with legacy DNS Use legacy to resolve queries not explicitly inserted by nameowners Reply Legacy DNS Request Cached reply *V. Ramasubramanian et al, SIGCOMM 2004 24

Attributed-based and directory services Maybe more convenient to name, and look up entities by attributes {(attribute, value)} Simply agreeing on attributes and their values is a challenge Directory service Stores collection of bindings between names and attributes Allows attribute-based queries (a.k.a. attribute-based name services or yellow-age services) Expensive lookup basically an exhaustive search! 25

Scaling directory services Hierarchies again combine with traditional structured naming system LDAP, Microsoft s Active Directory A directory entry a collection of (attr,value) pairs Set of directory entries form a directory information base Listing attributes in sequence, leads to a tree the directory information tree And you can partition and distribute the tree among servers Attribute Abbr Value Country C USA Locality L Evanston C=USA L=Evanston O=Northwestern U. Organization O Northwestern U. Organization Unit OU EECS Common name CN Main server OU=IEMS OU=EECS Mail_Server - 129.105.8.4 WWW_Server - 129.105.8.227 26

Scaling directory services Entities descriptions translated into attribute-value trees (AVTree) then encoded into a set of unique hash ids for a (yes) DHT INS/Twine, SWORD, Mercury Entity description Corresponding AVTree A hash for every path description { type = book description { author = Tolkien title = LOTR } genre = fantasy } Queries translated into AVTree for matching type book author Tolkien genre fantasy Single-value queries (ranges would be harder) title LOTR Query: Books written by Tolkien? h1: hash(type-book) h2: hash(type-book-author) h3: hash(type-book-author-tolkien) h4: hash(type-book-title) h5: hash(type-book-title-lotr) h6: hash(genre-fantasy) type book author Tolkien 27

Summary Naming is central to computer systems in general and distributed systems in particular How do you name things? How do you find what you are looking for? What if that s a moving target? How do you implement name/directory services in an scalable manner? 28