Development of the Domain Name System

Similar documents
ECE 650 Systems Programming & Engineering. Spring 2018

DNS and Modern Network Services. Amin Vahdat CSE 123b April 27, 2006

A DNS Tutorial

CSE 124 January 18, Winter 2017, UCSD Prof. George Porter

CSE 124 January 27, Winter 2017, UCSD Prof. George Porter

Domain Name System.

0 0& Basic Background. Now let s get into how things really work!

DNS/DNSSEC Workshop. In Collaboration with APNIC and HKIRC Hong Kong. Champika Wijayatunga Regional Security Engagement Manager Asia Pacific

Networking Applications

Naming. To do. q What s in a name q Flat naming q Structured naming q Attribute-based naming q Next: Content distribution networks

Protocol Classification

S Computer Networks - Spring What and why? Structure of DNS Management of Domain Names Name Service in Practice

The Domain Name System

CSE 124 January 12, Winter 2016, UCSD Prof. George Porter

Chapter 19. Domain Name System (DNS)

Client Server Concepts, DNS, DHCP

Objectives. Upon completion you will be able to:

APNIC elearning: DNS Concepts

The State and Challenges of the DNSSEC Deployment. Eric Osterweil Michael Ryan Dan Massey Lixia Zhang

CSE561 Naming and DNS. David Wetherall

CHAPTER 22 DISTRIBUTED APPLICATIONS ANSWERS TO QUESTIONS ANSWERS TO PROBLEMS

Communications Software. CSE 123b. CSE 123b. Spring Lecture 11: Domain Name System (DNS) Stefan Savage. Some pictures courtesy David Wetherall

CSE 123b Communications Software. Overview for today. Names and Addresses. Goals for a naming system. Internet Hostnames

DNS Basics BUPT/QMUL


EECS 122: Introduction to Computer Networks DNS and WWW. Internet Names & Addresses

Linux System Administration

DNS Concepts. Acknowledgements July 2005, Thimphu, Bhutan. In conjunction with SANOG VI. Bill Manning Ed Lewis Joe Abley Olaf M.

Re-engineering the DNS One Resolver at a Time. Paul Wilson Director General APNIC channeling Geoff Huston Chief Scientist

Overview General network terminology. Chapter 9.1: DNS

Introduction to the Domain Name System

Network Security Part 3 Domain Name System

Request for Comments: 882 November

DNS and HTTP. A High-Level Overview of how the Internet works

A Self-Configuring and Self-Administering Name System

Application Layer Protocols

UNIT III. cache/replicas maintenance Main memory No No No 1 RAM File system n No Yes No 1 UNIX file system Distributed file

page 1 Plain Old DNS WACREN, DNS/DNSSEC Regional Workshop Ouagadougou, October 2016

Computer Networks.. By Nidhi Jindal

Network Working Group. November 1987

DNS. Introduction To. everything you never wanted to know about IP directory services

The Interconnection Structure of. The Internet. EECC694 - Shaaban

Outline Applications. Central Server Hierarchical Peer-to-peer. 31-Jan-02 Ubiquitous Computing 1

The Domain Name System

This time. Digging into. Networking. Protocols. Naming DNS & DHCP

Electrical Engineering Department EE 400, Experiment # 4 IP Addressing and Subnetting

Request for Comments: Category: Informational October 1994

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols

04 Identifiers. UUID URI Format Characteristics. Coulouris, Ch 9 rfc3986 Ahmed, 2005 Subharthi, 2009

UDP. Networked Systems (H) Lecture 15

Goal of this session

Chapter 7. Local Area Network Communications Protocols

CS519: Computer Networks. Lecture 6: Apr 5, 2004 Naming and DNS

Networking Basics. EC512 Spring /15/2015 EC512 - Prof. Thomas Skinner 1

Distributed Operating Systems

Higher layer protocols

INTERNET ARCHITECTURE & PROTOCOLS

The Design and Implementation of a Next Generation Name Service for the Internet (CoDoNS) Presented By: Kamalakar Kambhatla

Configuring DNS. Finding Feature Information

Network+ Guide to Networks 5 th Edition. Chapter 10 In-Depth TCP/IP Networking

Top-Down Network Design

Domain Name System (DNS) DNS Fundamentals. Computers use IP addresses. Why do we need names? hosts.txt does not scale. The old solution: HOSTS.

1/18/13. Network+ Guide to Networks 5 th Edition. Objectives. Chapter 10 In-Depth TCP/IP Networking

BIG-IP DNS: Implementations. Version 12.0

IP ADDRESSES, NAMING, AND DNS

Configuring DNS. Finding Feature Information. Prerequisites for Configuring DNS

Chapter 6. The Protocol TCP/IP. Introduction to Protocols

DNS & Iodine. Christian Grothoff.

Networking and Internetworking 1

04 Identifiers UUID. Coulouris, Ch 9 URI. rfc3986 Format. Ahmed, 2005 Characteristics. Subharthi, 2009

Request for Comments: 1101 Updates: RFCs 1034, 1035 April 1989

ICS 351: Networking Protocols

Guide to TCP/IP, Third Edition. Chapter 12: TCP/IP, NetBIOS, and WINS

CS4/MSc Computer Networking. Lecture 3: The Application Layer

SmartDNS. Speed: Through load balancing, FatPipe's SmartDNS speeds up the delivery of inbound traffic.

Domain Name Service. DNS Overview. October 2009 Computer Networking 1

A Survey Paper on Grid Information Systems

Silberschatz and Galvin Chapter 15

Subject Introduction to Information Technology Paper code MSCIT-101

We will discuss about three different static routing algorithms 1. Shortest Path Routing 2. Flooding 3. Flow Based Routing

Configuration of Authoritative Nameservice

Application Layer -1- Network Tools

12. Name & Address 최양희서울대학교컴퓨터공학부

Network+ Guide to Networks 6 th Edition. Chapter 9 In-Depth TCP/IP Networking

Category: Experimental June DNS NSAP Resource Records. Status of this Memo

Manual Configuration Stateful Address Configuration (i.e. from servers) Stateless Autoconfiguration : IPv6

Venugopal Ramasubramanian Emin Gün Sirer SIGCOMM 04

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

Overview. Last Lecture. This Lecture. Next Lecture. Scheduled tasks and log management. DNS and BIND Reference: DNS and BIND, 4 th Edition, O Reilly

Domain Name System (DNS) Session-1: Fundamentals. Joe Abley AfNOG Workshop, AIS 2017, Nairobi

Potential Name Syntax. Properties of Naming. Naming and system components. Naming and layering. Replicated storage, consistency

Linux Network Administration

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.

ICS 351: Today's plan. DNS WiFi

Performance Evaluation of ENUM Directory Service Design

Computer Networking: Applications George Blankenship. Applications George Blankenship 1

Networking and Internetworking 1

Networking Overview. CS Computer Security Profs. Vern Paxson & David Wagner

Open Shortest Path First (OSPF)

CSE 5306 Distributed Systems

Transcription:

Development of the Domain Name System Paul V. Mockapetris, Keven J. Dunlap Presenter: Gigis Petros ACM SIGCOMM 88

Introduction What was before DNS? Before DNS we were using HOSTS.TXT system for publishing the mapping between host names and addresses The HOSTS.TXT was headed for problems

What is HOSTS.TXT? HOSTS.TXT is a simple text file, which is centrally maintained on a host at the SRI Network Information Center (SRI-NIC) Distributed to all hosts in the Internet via file transfers

Problems with HOSTS.TXT The file size and cost of distribution were becoming too large Centralized control of updating the file was against the trend toward more distributed management of the Internet. Increasement of hosts, organizations and file transfers was much larger than linear increase

Introduction Organizations were being forced into management of local network addresses, gateways, etc.. Need to partition the database and allow local control of name and address spaces A distributed name system was needed The existing distributed name systems were not suitable for the DARPA Internet

And Eureka! Domain Name System (DNS)

Initial Design of DNS Initial designed started in 1983 Base design assumptions for the DNS: 1. Provide at least all the same information as HOSTS.TXT 2. Allow database to be maintained in a distributed manner 3. No obvious size limits for names, types, etc 4. Interoperate across the DARPA Internet and other non TCP/IP projects 5. Provide tolerable performance

Initial Design of DNS Independence of Network topology Capable of encapsulating other name spaces OS independent Hierarchical design Distribution & size requirements Main Goal: Lean but Distributed Lean more implementation & quick availability Lead to removal of dynamic update of db with related atomicity, voting and backup considerations General design = more applications, increase functionality and increase number of enviroment under which DNS is deployed

Architecture of DNS Two major active components: Name Servers: Repositories of information Answer queries using whatever information they possess Resolvers: Interface to client programs Algorithms to contact name servers

The Name Space 1/2 The DNS internal name space is a variable-depth tree Each node has an associated case-insensitive label Labels are variable length 8-bit octets (Max = 63 octets) Name are restricted to 256 octets Tree structure allows overloading of names across different subtrees The domain name of a node is the concatenation of all labels on the path from the node to the root of the tree The zero length label is reserved for the root Top level domains are for country or broad organizational codes (uk, com, edu, etc)

The Name Space 2/2

Data attached to names Data for each name is organized as a set of resource records (RRs) Multiple values of the same type are represented as separate RRs Limited size datagram (UDP) - dont have to deal with breaking up maximum sized packet Each RR carries a well-known type and class field, followed by applications data Types represent abstract resources or functions (example: Host Addresses and mailboxes) Class field specifies the protocol family or instance (Internet, DARPA, CHAOS, ISO, etc)

Data Distribution Two major mechanisms for transferring data Zones Contiguous portion of the domain name space for which administrative responsibility has been delegated to an organization Caching Mechanism whereby data acquired in response to a client s request can be locally stored against future requests Both mechanisms invisible to the user who should see a single database

Zones Contiguous description of tree space and pointer information for other relevant contiguous zones Could be an intire subtree or just a node Distribute several copies to several servers to handle requests by clients Creation Begins with request to parent zone to delegate a subnode Grow as a tree within the node Parent records in RRs that zone records for particular node have a zone division and point to new zone holder Parent should not be involved henceforth

Zones Organization maintains zones and distributes zones appropriately Master file distributed to all users manually or DNS based algorithm - zone refresh Serial number based Zone transfer requires TCP Single name server can handle multiple zones (master/slave) Geographical distribution of data Data retrieved from zone = authoritative

Zones

Zones

Caching DNS resolvers programs responsible for caching A TTL field (in sec) is attached to each RR A low TTL is desirable because it minimizes inconsistency A high TTL minimizes traffic and allows caching to mask periods of server unavailability Recommended TTL value for host names is 2 days

Current Implementation Status

Current Implementation Status In 1987 HOSTS.TXT was still used by older hosts, but DNS became the recommended mechanism 5,500 host names were in HOSTS.TXT Over 20,000 host names available via DNS Domain space was petitioned into roughly 30 top level domains The delegation of subdomains by the SRI-NIC has grown steadily In 1987 roughly 300 domains were delegated In 1988 roughly 650 domains were delegated

Implementation Status 1988 Two good examples of contemporary DNS use: Root servers Berkley subdomain

Root Servers in 1988 Root domain is supported by 7 redundant name servers Typical traffic rate a query/sec Four types of queries: All information (25-40%) Address mappings (30-40%) Address to host mappings (10-15%) MX less than 10%

Berkeley in 1988 Due to growth in the campus network they developed BIND (Berkeley Internet Name Domain) server First organization on the DARPA Internet to bring up machines with all their network applications solely dependent on DNS Difficult to adopt it from users

Surprises Operation of the DNS has revealed several issues that came as surprises to the developers Refinement of semantics Performance Negative caching

Surprises Refinement of Semantics The DNS is to act as a repository for information and the initial assumption was that the form and content of the information in DNS was well-understood. (order, metric for multiple addresses to host) Performance Performance of the underlying network was much worse than the original design expected The reasons for the longer delays were: 1. Growth in the number of networks 2. Growth in load 3. The addition of many lower speed links At the root servers clients typically see response times of 500 ms to 5 secs. At delegated domain 3-10 secs and some times 30-60 secs

Negative Caching DNS provides two negative responses to queries 1. The name in query does not exist 2. The name in query exists but the requested data does not (query maybe for a mailbox) Initial monitoring of root server showed a very high percentage 20-60% of these responses Expected negatives responses to go down, but they stayed in the 10-50% range Decided they needed caching for negative results

Successes Variable depth hierarchy Additional section processing Organizational structuring of names Datagram access Caching Mail address cooperation

Variable depth hierarchy Successes Huge number of workstations lead to organizations better organizing themselves instead of single flat file Organizations are of different sizes depth should be of different levels Additional section processing Add any additional information as long as the data fits in a single datagram Can answer a request before it was asked Cuts query traffic in half

Successes Organizational structuring of names Names are independent of network topology, etc. was popular Datagram access Datagram used to access name servers was successful because of the bad performance of the DARPA Internet Drawback: need to develop and refine retransmission strategies

Successes Caching Caching discipline of the DNS works well and was essential to the success of the system But caching make it less reliable or useful Mail address cooperation Different Internet communities agreed to use organizationally structured domain names for mail addressing and routing

Shortcomings Type and class growth Easy upgrading of applications Distribution of control vs distribution of expertise or responsibility

Shortcomings Type and class growth Difficult to make new definitions Need to clearly design and publish their semantics Create applications to use them Easy upgrading of applications Not easy to convert network applications to use the DNS DNS resolver must be part of the OS Distribution of control vs distribution of expertise or responsibility Organizations should have been required to have redundant servers with real data before they were given a domain Documentation should always be well-written and simple

Was the DNS a good idea? Modifications to the HOSTS.TXT scheme could have postponed the need for a new system but need to distribute functionality was crucial and with the new functionality and the opportunities for future services it was a good idea!

Conclusion Things they wished they had known earlier: Caching works well, but caching for negative responses is needed It is more difficult to remove a function than to add new one Optimizations are not considered if the system performs at the expected level Allowing variations in the provided service causes problems

Backup