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

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

CS 194: Distributed Systems WWW and Web Services

Distributed Systems are Everywhere!" CS162 Operating Systems and Systems Programming Lecture 22 Client-Server" Client-Server" Message Passing"

EE 122: HyperText Transfer Protocol (HTTP)

Distributed Systems are Everywhere!" CS162 Operating Systems and Systems Programming Lecture 22 Client-Server" Client-Server" Message Passing"

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

Application Layer. Applications and application-layer protocols. Goals:

Internet Content Distribution

The World Wide Web. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

Announcements. The World Wide Web. Goals of Today s Lecture. The World Wide Web HTML. Web Components

Application Layer Protocols

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

Announcements. The World Wide Web. Retrieving From the Server. Goals of Today s Lecture. The World Wide Web. POP3 Protocol

Protocol Classification

Domain Name System.

CS 3640: Introduction to Networks and Their Applications

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

IP ADDRESSES, NAMING, AND DNS

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

CS 3640: Introduction to Networks and Their Applications

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

ECE 650 Systems Programming & Engineering. Spring 2018

Distributed Systems. Distributed Systems Within the Internet Nov. 9, 2011

CSEN 404 Introduction to Networks. Mervat AbuElkheir Mohamed Abdelrazik. ** Slides are attributed to J. F. Kurose

Content Delivery on the Web: HTTP and CDNs

Application Layer. Goals: Service models. Conceptual aspects of network application protocols Client server paradigm

Chapter 2 Application Layer. Lecture 5 DNS. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Lecture 05: Application Layer (Part 02) Domain Name System. Dr. Anis Koubaa

EEC-682/782 Computer Networks I

CSCI-1680 WWW Rodrigo Fonseca

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

Overview General network terminology. Chapter 9.1: DNS

CSc 450/550 Computer Networks Domain Name System

CSEN 503 Introduction to Communication Networks

DNS Basics BUPT/QMUL

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

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

PIC 40A. Lecture 1: The Internet. Copyright 2011 Jukka Virtanen UCLA 1 03/31/14

Information Network Systems The application layer. Stephan Sigg

DNS & Iodine. Christian Grothoff.

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

Application Layer. Goals:

Application Layer. Applications and application-layer protocols. Goals:

Applications & Application-Layer Protocols: (SMTP) and DNS

CSCI-1680 WWW Rodrigo Fonseca

CSCE 463/612 Networks and Distributed Processing Spring 2018

2. Introduction to Internet Applications

Application Layer -1- Network Tools

Lecture 7 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

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

Miscellaneous. Name Service. Examples. Outline Domain Name System Peer-to-Peer Networks

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

Computer Networks. Domain Name System. Jianping Pan Spring /25/17 CSC361 1

CSE 565 Computer Security Fall 2018

Information Network I: The Application Layer. Doudou Fall Internet Engineering Laboratory Nara Institute of Science and Technique

Applications. Chong-kwon Kim. Running in end systems (hosts) over transport layer protocols Ex: , Web, FTP, instant messaging

DNS and CDNs : Fundamentals of Computer Networks Bill Nace

Application Protocols and HTTP

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016

Advanced Networking. Domain Name System

Advanced Networking. Domain Name System. Purpose of DNS servers. Purpose of DNS servers. Purpose of DNS servers

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

Computer Network 1 1

A DNS Tutorial

Computer Networks. Wenzhong Li. Nanjing University

CS Networks and Distributed Systems. Lecture 11: DNS + NAT. Revised 3/10/14

Overview Content Delivery Computer Networking Lecture 15: The Web Peter Steenkiste. Fall 2016

Domain Name System (DNS) Session-1: Fundamentals. Computers use IP addresses. Why do we need names? hosts.txt does not scale

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

Internet Technology 3/2/2016

CS 43: Computer Networks. 10: Naming and DNS September 24, 2018

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

Domain Name System (DNS)

Introduc)on to Computer Networks

Naming Computer Networking. Overview. DNS: Domain Name System. Obvious Solutions (1) Obvious Solutions (2)

Chapter 2 part B: outline

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

Computer Networking Introduction

Session 2. Background. Lecture Objectives

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

Networking Applications

Networking: Application Layer

More Internet Support Protocols

CSE561 Naming and DNS. David Wetherall

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

Client Server Concepts, DNS, DHCP

Web, HTTP, Caching, CDNs

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app

Lecture 7: Application Layer Domain Name System

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

How Akamai delivers your packets - the insight. Christian Kaufmann SwiNOG #21 11th Nov 2010

Application Protocols in the TCP/IP Reference Model

Outline Computer Networking. HTTP Basics (Review) How to Mark End of Message? (Review)

CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers

Computer Networking: Applications George Blankenship. Applications George Blankenship 1

Domain Name System (DNS) 김현철 ( 화 ) 정보통신융합서울대학교컴퓨터공학부

How does the Internet Work? The Basics: Getting a Web Page. The Basics: Getting a Web Page. Client-Server model. The Internet: Basics

Introduction to Information Science and Technology 2017 Networking II. Sören Schwertfeger 师泽仁

CS454/654 Midterm Exam Fall 2004

Transcription:

EECS 122: Introduction to Computer Networks DNS and WWW Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776 Internet Names & Addresses Names: e.g., ariachne.berkeley.edu - human-usable labels for machines - conforms to organizational structure Addresses: e.g., 169.229.131.109 - router-usable labels for machines - conforms to network structure How do you map from one to another? - Domain Name System (DNS) 2 1

DNS: History Initially all host-addess mappings were in a file called hosts.txt (in /etc/hosts) - Changes were submitted to SRI by email - New versions of hosts.txt ftp d periodically from SRI - An administrator could pick names at their discretion As the Internet grew this system broke down because: - SRI couldn t handled the load - Names were not unique - Many hosts had inaccurate copies of hosts.txt Internet growth was threatened! - Domain Name System (DNS) was born 3 Basic DNS Features Hierarchical namespace - As opposed to original flat namespace Distributed storage architecture - As opposed to centralized storage (plus replication) Client--server interaction on UDP Port 53 - But can use TCP if desired 4 2

Naming Hierarchy root edu com gov mil org net uk fr etc. berkeley eecs sims argus mit Top Level Domains are at the top Depth of tree is arbitrary (limit 128) Domains are subtrees - E.g:.edu, berkeley.edu, eecs.berkeley.edu Name collisions avoided - E.g. berkeley.edu and berkeley.com can coexist, but uniqueness is job of domain 5 Host names are administered hierarchically root edu com gov mil org net uk fr berkeley mit eecs sims A zone corresponds to an administrative authority that is responsible for that portion of the hierarchy argus eecs controls names: x.eecs.berkeley.edu berkeley controls names: x.berkeley.edu and y.sims.berkeley.edu 6 3

Server Hierarchy Each server has authority over a portion of the hierarchy - A server maintains only a subset of all names Each server contains all the records for the hosts in its zone - Might be replicated for robustness Each server needs to know other servers that are responsible for the other portions of the hierarchy - Every server knows the root - Root server knows about all top-level domains 7 DNS Name Servers Local name servers: - Each ISP (company) has local default name server - Host DNS query first goes to local name server Authoritative name servers: - For a host: stores that host s (name, IP address) - Can perform name/address translation for that host s name Can also do IP to name translation, but won t discuss 8 4

DNS: Root Name Servers Contacted by local name server that can not resolve name Root name server: - Contacts authoritative name server if name mapping not known - Gets mapping - Returns mapping to local name server ~ Dozen root name servers worldwide 9 Host whistler.cs.cmu.edu wants IP address of www.berkeley.edu Simple DNS Example root name server 1. Contacts its local DNS server, 2 4 mango.srv.cs.cmu.edu 5 3 2. mango.srv.cs.cmu.edu contacts root name server, if necessary 3. Root name server contacts authoritative name server, ns1.berkeley.edu, if necessary local name server authorititive name server mango.srv.cs.cmu.edu ns1.berkeley.edu 1 6 requesting host whistler.cs.cmu.edu www.berkeley.edu 10 5

Root name server: Example of Recursive DNS Query May not know authoritative name server 2 7 May know intermediate name server: who to contact to find authoritative name server? Recursive query: Puts burden of name local name server resolution on contacted name mango.srv.cs.cmu.edu server 1 8 Heavy load? root name server 6 3 intermediate name server (edu server) 4 5 requesting host whistler.cs.cmu.edu authoritative name server ns1.berkeley.edu www.berkeley.edu 11 Example of Iterated DNS Query Iterated query: Contacted server replies with name of server to contact I don t know this name, but ask this server 2 3 4 5 root name server iterated query local name server mango.srv.cs.cmu.edu 1 8 requesting host whistler.cs.cmu.edu intermediate name server (edu server) 7 6 authoritative name server ns1.berkeley.edu www.berkeley.edu 12 6

DNS Records Four fields:(name, value, type, TTL) Type = A: - name = hostname - value = IP address Type = NS: - name = domain - value = name of dns server for domain 13 DNS Records (cont d) Type = CNAME: - name = hostname - value = canonical name Type = MX: - name = domain in email address - value = canonical name of mail server 14 7

DNS as Indirection Service Can refer to machines by name, not address - Not only easier for humans - Also allows machines to change IP addresses without having to change way you refer to machine Can refer to machines by alias - www.berkeley.edu can be generic web server - but DNS can point this to particular machine that can change over time But, this flexibility applies only within domain! 15 Special Topics DNS caching - Improve performance by saving results of previous lookups DNS hacks - Return records based on requesting IP address Dynamic DNS - Allows remote updating of IP address for mobile hosts DNS politics (ICANN) and branding battles 16 8

Important Properties of DNS Administrative delegation and distributed server architecture results in: Easy unique naming Fate sharing for network failures Reasonable trust model 17 The Web History (I) 1945: Vannevar Bush, Memex: Vannevar Bush (1890-1974) "a device in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility" (See http://www.iath.virginia.edu/elab/hfl0051.html) Memex 18 9

The Web History (II) 1967, Ted Nelson, Xanadu: - A world-wide publishing network that would allow information to be stored not as separate files but as connected literature - Owners of documents would be automatically paid via electronic means for the virtual copying of their documents Coined the term Hypertext Ted Nelson 19 The Web History (III) Tim Berners-Lee World Wide Web (WWW): a distributed database of pages linked through Hypertext Transport Protocol (HTTP) - First HTTP implementation - 1990 Tim Berners-Lee at CERN - HTTP/0.9 1991 Simple GET command for the Web - HTTP/1.0 1992 Client/Server information, simple caching - HTTP/1.1-1996 20 10

The Web Core components: - Servers: store files and execute remote commands - Browsers: retrieve and display pages - Uniform Resource Locators (URLs): way to refer to pages A protocol to transfer information between clients and servers - HTTP 21 Uniform Record Locator (URL) protocol://host-name:port/directory-path/resource Extend the idea of hierarchical namespaces to include anything in a file system - ftp://www.cs.berkeley.edu/~istoica/cs194/05/lecture.ppt Extend to program executions as well - http://us.f413.mail.yahoo.com/ym/showletter?box=%40b%40bulk&m sgid=2604_1744106_29699_1123_1261_0_28917_3552_128995710 0&Search=&Nhead=f&YY=31454&order=down&sort=date&pos=0&vie w=a&head=b - Server side processing can be incorporated in the name 22 11

Web and DNS URLs use hostnames Thus, content names are tied to specific hosts This is bad! Uniform Resource Names (URNs) are one proposal to achieve persistence - Not discussed in this lecture 23 Hyper Text Transfer Protocol (HTTP) Client-server architecture Synchronous request/reply protocol - Runs over TCP, Port 80 Stateless 24 12

Big Picture Establish connection Client request Client TCP Syn TCP syn + ack TCP ack + HTTP GET Server Request response. Close connection 25 Hyper Text Transfer Protocol Commands GET transfer resource from given URL HEAD GET resource metadata (headers) only PUT store/modify resource under given URL DELETE remove resource POST provide input for a process identified by the given URL (usually used to post CGI parameters) 26 13

Response Codes 1x informational 2x success 3x redirection 4x client error in request 5x server error; can t satisfy the request 27 Client Request Steps to get the resource: http://www.eecs.berkeley.edu/index.html 1. Use DNS to obtain the IP address of www.eecs.berkeley.edu 2. Send to an HTTP request: GET /index.html HTTP/1.0 28 14

Server Response HTTP/1.0 200 OK Content-Type: text/html Content-Length: 1234 Last-Modified: Mon, 19 Nov 2001 15:31:20 GMT <HTML> <HEAD> <TITLE>EECS Home Page</TITLE> </HEAD> </BODY> </HTML> 29 HTTP/1.0 Example Client Server Request image 1 Transfer image 1 Request image 2 Transfer image 2 Request text Finish display page Transfer text 30 15

HHTP/1.0 Performance Create a new TCP connection for each resource - Large number of embedded objects in a web page - Many short lived connections TCP transfer - Too slow for small object - May never exit slow-start phase Connections may be set up in parallel (5 is default in most browsers) 31 HTTP/1.0 Caching Support Exploit locality of reference A modifier to the GET request: - If-modified-since return a not modified response if resource was not modified since specified time A response header: - Expires specify to the client for how long it is safe to cache the resource A request directive: - No-cache ignore all caches and get resource directly from server These features can be best taken advantage of with HTTP proxies - Locality of reference increases if many clients share a proxy 32 16

HTTP/1.1 (1996) Performance: - Persistent connections - Pipelined requests/responses - Efficient caching support - Network Cache assumed more explicitly in the design - Gives more control to the server on how it wants data cached Support for virtual hosting - Allows to run multiple web servers on the same machine 33 Persistent Connections Allow multiple transfers over one connection Avoid multiple TCP connection setups Avoid multiple TCP slow starts 34 17

Pipelined Requests/Responses Buffer requests and responses to reduce the number of packets Multiple requests can be contained in one TCP segment Note: order of responses has to be maintained Client Request 1 Request 2 Request 3 Transfer 1 Transfer 2 Transfer 3 Server 35 Caching and Replication Problem: You are a web content provider - How do you handle millions of web clients? - How do you ensure that all clients experience good performance? - How do you maintain availability in the presence of server and network failures? Solutions: - Add more servers at different locations If you are CNN this might work! - Caching - Content Distribution Networks (Replication) 36 18

Base-line Many clients transfer same information - Generate unnecessary server and network load - Clients experience unnecessary latency Server Backbone ISP ISP-1 ISP-2 Clients 37 Reverse Caches Cache documents close to server Typically done by content providers decrease server load Server Reverse caches Backbone ISP ISP-1 ISP-2 Clients 38 19

Forward Proxies Cache documents close to clients reduce network traffic and decrease latency Typically done by ISPs or corporate LANs Server Reverse caches Backbone ISP Forward caches ISP-1 ISP-2 Clients 39 Content Distribution Networks (CDNs) Integrate forward and reverse caching functionalities into one overlay network (usually) administrated by one entity - Example: Akamai Documents are cached both - As a result of clients requests (pull) - Pushed in the expectation of a high access rate Beside caching do processing, e.g., - Handle dynamic web pages - Transcoding 40 20

CDNs (cont d) Server Backbone ISP CDN Forward caches ISP-1 ISP-2 Clients 41 Example: Akamai Akamai creates new domain names for each client content provider. - e.g., a128.g.akamai.net The CDN s DNS servers are authoritative for the new domains The client content provider modifies its content so that embedded URLs reference the new domains. - Akamaize content, e.g.: http://www.cnn.com/image-of-theday.gif becomes http://a128.g.akamai.net/image-of-the-day.gif. 42 21

Example: Akamai DNS server for nhc.noaa.gov get http://www.nhc.noaa.gov www.nhc.noaa.gov Akamaizes its content. lookup a128.g.akamai.net local DNS server akamai.net DNS servers Akamaized response object has inline URLs for secondary content at a128.g.akamai.net and other Akamai-managed DNS names. a Akamai servers store/cache secondary content for Akamaized services. b c 43 What You Need to Know DNS: record types, and how they are used HTTP basics (and essential differences between 1.0 and 1.1) 44 22