DNS and CDNs (Content Distribution Networks) Paul Francis Cornell Computer Science.

Slides:



Advertisements
Similar presentations
Internet Applications INTERNET APPLICATIONS. Internet Applications Domain Name Service Proxy Service Mail Service Web Service.
Advertisements

Sergei Komarov. DNS  Mechanism for IP hostname resolution  Globally distributed database  Hierarchical structure  Comprised of three components.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 6 Managing and Administering DNS in Windows Server 2008.
1 Server Selection & Content Distribution Networks (slides by Srini Seshan, CS CMU)
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.
Implementing Domain Name System
Domain Name System. DNS is a client/server protocol which provides Name to IP Address Resolution.
Computer Networks: Domain Name System. The domain name system (DNS) is an application-layer protocol for mapping domain names to IP addresses Vacation.
An Engineering Approach to Computer Networking
The Domain Name System Overview Introduction DNS overview How DNS helps us? Summary.
Spring 2003CS 4611 Content Distribution Networks Outline Implementation Techniques Hashing Schemes Redirection Strategies.
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
Reliable Distributed Systems Naming (Communication Basics Part II) Slide set based on one by Prof. Paul Francis, Cornell University.
20101 The Application Layer Domain Name System Chapter 7.
Computer Science Lecture 9, page 1 CS677: Distributed OS Today: Naming Names are used to share resources, uniquely identify entities and refer to locations.
CDNs & Replication Prof. Vern Paxson EE122 Fall 2007 TAs: Lisa Fowler, Daniel Killebrew, Jorge Ortiz.
Application Layer At long last we can ask the question - how does the user interface with the network?
Anycast Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
Hands-On Microsoft Windows Server 2003 Networking Chapter 6 Domain Name System.
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.
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.
COMS Prelim 2 Review Session Yejin Choi Daniel Williams
Caching and Content Distribution Networks. Web Caching r As an example, we use the web to illustrate caching and other related issues browser Web Proxy.
DNS. Outline r Domain Name System r DNS Hierarchy r Resolution.
Application Layer. Domain Name System Domain Name System (DNS) Problem – Want to go to but don’t know the IP addresswww.google.com Solution.
The Domain Name System (DNS)
Web Client/Server Communication A290/A590, Fall /09/2014.
Lecturer : Ms.Trần Thị Ngọc Hoa Chapter 2 Methods Configuring Name Resolution Methods.
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.
1 Content Distribution Networks. 2 Replication Issues Request distribution: how to transparently distribute requests for content among replication servers.
Distributed Computing COEN 317 DC2: Naming, part 1.
Content Distribution March 8, : Application Layer1.
Domain Name System (DNS)
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.
Computer Networks: Domain Name System. The domain name system (DNS) is an application-layer protocol for mapping domain names to IP addresses Vacation.
{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 17 Domain Name System (DNS)
Arthur Harris Gennadiy Kofman James Mendoza Domain Name System.
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.
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.
Distributed Computing COEN 317 DC2: Naming, part 1.
Internet and Intranet Protocols and Applications Lecture 5 Application Protocols: DNS February 20, 2002 Joseph Conron Computer Science Department New York.
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.
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.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
4343 X2 – Outline The Domain Name System The Web.
COMP 431 Internet Services & Protocols
Internet Naming Service: DNS* Chapter 5. The Name Space The name space is the structure of the DNS database –An inverted tree with the root node at the.
Domain Name System INTRODUCTION to Eng. Yasser Al-eimad
4343 X2 – The Application Layer Tanenbaum Chapter 7.
Basics of the Domain Name System (DNS) By : AMMY- DRISS Mohamed Amine KADDARI Zakaria MAHMOUDI Soufiane Oujda Med I University National College of Applied.
John S. Otto Mario A. Sánchez John P. Rula Fabián E. Bustamante Northwestern, EECS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
CSE 461 Section. Port numbers for applications MAC addresses for hardware IP addresses for a way to send data in a smart, routable way.
Understand Names Resolution
CS 372 COMPUTER COMMUNICATION AND NETWORKS
IMPLEMENTING NAME RESOLUTION USING DNS
Configuring and Troubleshooting DNS
The Internet.
DNS.
Content Distribution Networks
DNS: Domain Name System
Presentation transcript:

DNS and CDNs (Content Distribution Networks) Paul Francis Cornell Computer Science

What do all of these have in common? HTTP (web) SIP (Session Initiation Protocol)

They all have a DNS name somewhere HTTP (web) SIP (Session Initiation Protocol)

Why is DNS so important? Names are easier to remember than IP addresses ??? And in any event, IP addresses are not “dependable” They change often (dialup) They are not all unique

DNS is the “core” of the Internet So “we” (humans, and applications) like to deal with dependable, stable, friendly DNS names The names get “mapped” into IP addresses by lower layers By the Domain Name System (DNS) Then the learned IP address is put into packets, and IP routing gets the packets across the Internet

Picture of DNS query/reply

Why all these dots? Why falcon.cs.cornell.edu? Why not “cornell-falcon” or something?

It wasn’t always that way Twenty years ago, this was a valid address: How did my computer learn the IP address of “isi”?

The “host table” and DNS Before DNS, there was the host table This was a complete list of all the hosts in the Internet! It was copied every night to every machine on the Internet! At some point, this was perceived as a potential scaling bottleneck… So a distributed directory called the “Domain Name System” was invented (DNS)

The host table (historic) Host NameIP Address mit-dlab isi-mail mit-lcs ……

Distributed Directory A primary goal of DNS was to have a distributed “host table”, so that each site could manage its own name-to- address mapping But also, it should scale well!

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

Caching is the key to performance Without caching, the small number of machines at the top of the hierarchy would be overwhelmed But what if you want to change the IP address of a host? How do you change all those cached entries around the world? You can’t…you wait until they timeout on their own, then make your change

Changing a DNS name Say your TTL was set to one day This means that even if you change DNS now, some hosts will continue to use the old address for a day So, give the host two IP addresses for a while (the old one and the new one) But DNS only answers with the new one After a day, the old one is cleaned out of caches, and you can remove it from the host

DNS Issues DoS attacks on (13) root servers DoS = Denial of Service Mis-configuration issues But on the whole DNS is an incredible system, and is in many important respects is the “core” of the Internet

Next, Content Distribution Networks Idea here is to replicate a “web server” in many places over the Internet Latency to a single centralized web server farm may be too high A centralized web server farm may fail

Content Routing Principle (a.k.a. Content Distribution Network) S ISP Backbone ISP IX SS Site S ISP SSS SS Backbone ISP Backbone ISP Hosting Center Hosting Center Sites

Content Routing Principle (a.k.a. Content Distribution Network) S ISP Backbone ISP IX SS Site S ISP SSS SS Backbone ISP Backbone ISP Hosting Center Hosting Center Sites CS Content Origin here at Origin Server Content Servers distributed throughout the Internet OS

Content Routing Principle (a.k.a. Content Distribution Network) S ISP Backbone ISP IX SS Site S ISP SSS SS Backbone ISP Backbone ISP Hosting Center Hosting Center Sites CS Content is served from content servers nearer to the client CC OS

Two basic types of CDN: cached and pushed S ISP Backbone ISP IX SS Site S ISP SSS SS Backbone ISP Backbone ISP Hosting Center Hosting Center Sites CS CC OS

Cached CDN S ISP Backbone ISP IX SS Site S ISP SSS SS Backbone ISP Backbone ISP Hosting Center Hosting Center Sites CS 1.Client requests content. CC OS

Cached CDN S ISP Backbone ISP IX SS Site S ISP SSS SS Backbone ISP Backbone ISP Hosting Center Hosting Center Sites CS 1.Client requests content. 2.CS checks cache, if miss gets content from origin server. CC OS

Cached CDN S ISP Backbone ISP IX SS Site S ISP SSS SS Backbone ISP Backbone ISP Hosting Center Hosting Center Sites CS 1.Client requests content. 2.CS checks cache, if miss gets content from origin server. 3.CS caches content, delivers to client. CC OS

Cached CDN S ISP Backbone ISP IX SS Site S ISP SSS SS Backbone ISP Backbone ISP Hosting Center Hosting Center Sites CS 1.Client requests content. 2.CS checks cache, if miss gets content from origin server. 3.CS caches content, delivers to client. 4.Delivers content out of cache on subsequent requests. CC OS

Pushed CDN S ISP Backbone ISP IX SS Site S ISP SSS SS Backbone ISP Backbone ISP Hosting Center Hosting Center Sites CS 1.Origin Server pushes content out to all CSs. C OS C

Pushed CDN S ISP Backbone ISP IX SS Site S ISP SSS SS Backbone ISP Backbone ISP Hosting Center Hosting Center Sites CS 1.Origin Server pushes content out to all CSs. 2.Request served from CSs. C C OS

CDN benefits Content served closer to client Less latency, better performance Load spread over multiple distributed CSs More robust (to ISP failure as well as other failures) Handle flashes better (load spread over ISPs) But well-connected, replicated Hosting Centers can do this too

CDN costs and limitations Cached CDNs can’t deal with dynamic/personalized content More and more content is dynamic “Classic” CDNs limited to images Managing content distribution is non-trivial Tension between content lifetimes and cache performance Dynamic cache invalidation Keeping pushed content synchronized and current

What if lots of clients try to access the same CS? S ISP Backbone ISP IX SS Site S ISP SSS SS Backbone ISP Backbone ISP Hosting Center Hosting Center Sites CS C C OS CCC C

How can the CDN spread this load around? S ISP Backbone ISP IX SS Site S ISP SSS SS Backbone ISP Backbone ISP Hosting Center Hosting Center Sites CS C C OS CCC C

Guess what: DNS! Smart DNS server monitors load on the content servers When it answers a DNS request, it picks a server that is not overloaded (and near the client) The DNS answer has a small TTL (30 seconds – one minute) Small TTL allows the DNS load balancer to make fine-grained load decisions Can quickly offload a busy or even crashed content server

How well do CDNs work? Hard to say… Some evidence suggests they are not so good a picking nearby servers Internet bandwidth is improving, so not as important to pick nearby servers Central hosting centers are easier to manage, and perform increasingly well In fact, Akamai is beginning to find it difficult to justify its service!