Chapter 9 More on HTTP and DNS Professor Rick Han University of Colorado at Boulder

Slides:



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

TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
Chapter 9 Application Layer, HTTP Professor Rick Han University of Colorado at Boulder
The Application Layer Chapter 7. Electronic Mail Architecture and Services The User Agent Message Formats Message Transfer Final Delivery.
The Internet Useful Definitions and Concepts About the Internet.
Chapter 29 Structure of Computer Names Domain Names Within an Organization The DNS Client-Server Model The DNS Server Hierarchy Resolving a Name Optimization.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
CDNs & Replication Prof. Vern Paxson EE122 Fall 2007 TAs: Lisa Fowler, Daniel Killebrew, Jorge Ortiz.
CPSC 441: FTP & SMTP1 Application Layer: FTP & Instructor: Carey Williamson Office: ICT Class.
Chapter 9 Caching, NAT Professor Rick Han University of Colorado at Boulder
Chapter 9 Application Layer, DNS
CPSC 441: DNS1 Instructor: Anirban Mahanti Office: ICT Class Location: ICT 121 Lectures: MWF 12:00 – 12:50 Notes derived.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
Implementing Application Protocols. Overview An application protocol facilitates communication between applications. For example, an client uses.
Chapter 30 Electronic Mail Representation & Transfer
Mail Server Fitri Setyorini. Content SMTP POP3 How mail server works IMAP.
-I CS-3505 Wb_ -I.ppt. 4 The most useful feature of the internet 4 Lots of different programs, but most of them can talk to each.
Electronic Mail Three major components: SMTP user agents mail servers
Electronic Mail (SMTP, POP, IMAP, MIME)
Computer Concepts 2014 Chapter 7 The Web and .
SMTP, POP3, IMAP.
1 Application Layer Lecture 5 Imran Ahmed University of Management & Technology.
1 Chapter Internet Applications (DNS, )
SMUCSE 4344 application layer. SMUCSE 4344 application vs. application-layer protocols application-layer protocol is just one piece –how the end hosts.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
Application Layer Protocols Simple Mail Transfer Protocol.
Lecturer: Maxim Podlesny Sep CSE 473 File Transfer and Electronic in Internet.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 7 The Application Layer.
Network Applications Outline Simple Mail Transfer Protocol
Electronic Mail Originally –Memo sent from one user to another Now –Memo sent to one or more mailboxes Mailbox –Destination point for messages.
 TCP/IP is the communication protocol for the Internet  TCP/IP defines how electronic devices should be connected to the Internet, and how data should.
FTP (File Transfer Protocol) & Telnet
DNS: Domain Name System
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
Rensselaer Polytechnic Institute Shivkumar Kalvanaraman, Biplab Sikdar 1 The Web: the http protocol http: hypertext transfer protocol Web’s application.
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
Sistem Jaringan dan Komunikasi Data #9. DNS The Internet Directory Service  the Domain Name Service (DNS) provides mapping between host name & IP address.
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
Traditional Internet Applications Dr. John P. Abraham Professor UTRGV.
File Transfer Protocol (FTP)
1 Introductory material. This module illustrates the interactions of the protocols of the TCP/IP protocol suite with the help of an example. The example.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 8 Omar Meqdadi Department of Computer Science and Software Engineering University of.
Introduction to Internet. Chapter 1 Objectives Origins of the Internet Packets and Routers TCP/IP DNS HTTP URL Client-Server.
CS 3830 Day 9 Introduction 1-1. Announcements r Quiz #2 this Friday r Demo prog1 and prog2 together starting this Wednesday 2: Application Layer 2.
TCP/IP (Transmission Control Protocol / Internet Protocol)
INTERNET PROTOCOLS. Microsoft’s Internet Information Server Home Page Figure IT2031 UNIT-3.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Application Layer Functionality and Protocols.
CS440 Computer Networks 1 Neil Tang 12/01/2008.
Slides based on Carey Williamson’s: FTP & SMTP1 File Transfer Protocol (FTP) r FTP client contacts FTP server at port 21, specifying TCP as transport protocol.
World Wide Web r Most Web pages consist of: m base HTML page, and m several referenced objects addressed by a URL r URL has two components: host name and.
COMP 431 Internet Services & Protocols
COMP 431 Internet Services & Protocols
Data and Computer Communications Tenth Edition by William Stallings Data and Computer Communications, Tenth Edition by William Stallings, (c) Pearson Education.
Ch 2. Application Layer Myungchul Kim
© 2010 Computer Science Faculty, Kabul University FTP AND ELECTRONICE MAIL 5 TH LECTURE 4, May, 2010 Baseer Ahmad Baheer.
Spring 2006 CPE : Application Layer_ 1 Special Topics in Computer Engineering Application layer: Some of these Slides are Based on Slides.
درس مهندسی اینترنت – مهدی عمادی مهندسی اینترنت برنامه‌نویسی در اینترنت 1 SMTP, FTP.
Application layer tcp/ip
WWW and HTTP King Fahd University of Petroleum & Minerals
HTTP – An overview.
Web Development Web Servers.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
CHAPTER 2 Application Layer.
Web Development & Design Chapter 1, Sections 4, 5 & 6
Traditional Internet Applications
IS333D: MULTI-TIER APPLICATION DEVELOPMENT
Presentation transcript:

Chapter 9 More on HTTP and DNS Professor Rick Han University of Colorado at Boulder

Prof. Rick Han, University of Colorado at Boulder Announcements HW #4 due April 16 Programming Assignment #3 Thursday Midterm solutions on Web Lecture slides from last week on the Web Next, more on HTTP and DNS, also SMTP

Prof. Rick Han, University of Colorado at Boulder Recap of Previous Lecture HTTP A Simple Stateless Request-Response Protocol Simplicity leads to poor interaction with TCP Persistent HTTP 1.1 multiplexes multiple HTTP requests onto a single TCP connection Caching Proxies Reduce client response time Reduce wide-area network traffic Reduce server processing Combining Caching and Prefetching

Prof. Rick Han, University of Colorado at Boulder More on HTTP Configure the Web browser to access the Web via the HTTP proxy: Internet Explorer: Tools  Internet Options  Connections  LAN Settings Netscape: Edit  Preferences  Advanced  Proxies  Manual DNS lookup by HTTP Proxy Given URL then proxy must call DNS to translate to Then, proxy establishes HTTP over TCP connection to to retrieve URL’s page

Prof. Rick Han, University of Colorado at Boulder More on HTTP (2) Most browsers now support HTTP 1.1 Compatibility with HTTP 1.0 is “expected” but not mandated Eased via HTTP proxies Load balancing via HTTP Redirect In response to a GET request, a server can return an HTTP Redirect Response Server selects another server that is less loaded Client is redirected to again send GET request to less loaded server GET (1) Redirect (2) GET (3) HTTP Server 1 HTTP Server 2 Client

Prof. Rick Han, University of Colorado at Boulder More on HTTP (3) GET: Retrieve document, No payload One-step roundtrip process Incorporate parameters via long URL The server returns a response file with a MIME header identifying the type of file. MIME was developed for , but is reused by HTTP POST: sent from Client to Server typically used by HTML to send data to a back-end CGI script Two-roundtrip process: contact form-processing server, then send data Give information to a server, has payload Expect a response

Prof. Rick Han, University of Colorado at Boulder More on HTTP (4) POST vs. GET Use POST instead of GET if you want to send complex long text fields/parameters to server PUT: sent from Client to Server Store document at server under specified URL, May be disabled at server to avoid modifying files Receive a response: Created, Modified, … POST vs. PUT POST URL specifies the CGI process that will handle the enclosed form PUT URL specifies the enclosed document to be created/stored

Prof. Rick Han, University of Colorado at Boulder DNS Lookup Example Client Local DNS server root & edu DNS server cmu.edu DNS server NS cmu.edu NS cs.cmu.edu www=IPaddr cs.cmu.edu Authoritative DNS server Courtesy: Srini Seshan

Prof. Rick Han, University of Colorado at Boulder More on DNS In addition to name translation, DNS helps with Host aliasing DNS supports multiple host names for a single IP address, e.g. yahoo.com and Load distribution Instead of HTTP Redirect, use DNS! A busy site like cnn.com will have multiple replicated Web servers, each with a different IP address A set of IP addresses associated with cnn.com DNS can return multiple records that match a single name Order of replicated server addresses is rotated

Prof. Rick Han, University of Colorado at Boulder DNS Message Format Identification No. of Questions No. of Authority RRs Questions (variable number of answers) Answers (variable number of resource records) Authority (variable number of resource records) Additional Info (variable number of resource records Flags No. of Answer RRs No. of Additional RRs Name, type fields for a query RRs in response to query Records for authoritative servers Additional “helpful info that may be used 12 bytes

Prof. Rick Han, University of Colorado at Boulder More on DNS (2) DNS helps with Load distribution (cont.) DNS round robin to N servers Akamai’zing – Smarter than DNS round robin: choose the server closest to you – better response time! Akamai serves a subset of cnn.com Each URL in Akamai subset has a name for which the Akamai DNS server is authoritative  a128.g.akamai.net/foo.gif Server Farm DNS Client

Prof. Rick Han, University of Colorado at Boulder More on DNS (3) RFC 1794, DNS Support for Load Balancing DNS also helps with : Mail server aliasing Given hotmail.com, return the specific host name BIND is a popular name server for Unix

Prof. Rick Han, University of Colorado at Boulder More on DNS (4) Dynamic DNS: Mapping your well-known Web name to a dynamic IP address (from DHCP) Suppose you’ve reserved a hostname to serve Web pages from your home PC Each time your PC connects via cable/DSL, your ISP assigns your PC a different dynamic IP address via DHCP Users won’t know your dynamic IP address but may remember your Web address. How can they reach you? Solution: your PC includes code snippet to update DNS each time your PC gets a new IP address via DHCP Your PC must have authorization at a DNS server to update its DNS record Dynamic DNS services are being offered on the Web, some for free, others you pay

Prof. Rick Han, University of Colorado at Boulder Load Balancing Techniques HTTP Redirection DNS Load Balancing Router-based Zany idea #1: N servers each advertise the same IP address. Let IP shortest-hop routing determine the nearest server. Hopefully no loops.

Prof. Rick Han, University of Colorado at Boulder Load Balancing Techniques (2) Router-based Better idea: Place an IP router in front of N servers – the router balances the load Example: each server has different IP address, and router substitutes IP address of lightest loaded server If a TCP connection is established to a specific server X, router must remember to route packets for this TCP connection to server X only router can’t just choose most lightly loaded server L, because L might not be X, so server L would not be expecting server X’s TCP packets NAT-Based (see NAT section)

Prof. Rick Han, University of Colorado at Boulder SMTP, POP, IMAP SMTP – Simple Mail Transfer Protocol Defines header and body ASCII text for header and body To:, Subject:, Date:, From:, Received: MIME = Multipurpose Internet Mail Extensions Supplements original RFC 822 Allows to carry more than just text: images, audio, video, MS Word, …

Prof. Rick Han, University of Colorado at Boulder SMTP, POP, IMAP (2) MIME = Multipurpose Internet Mail Extensions Augments header with fields MIME-version:, Content-Description:, Content-Transfer-Encoding: Content-Type: namely, the MIME type text/html application/postscript image/gif multipart – allows multiple types in an , e.g. multipart/mixed; each part has its own header

Prof. Rick Han, University of Colorado at Boulder SMTP, POP, IMAP (3) Mail client uses SMTP over TCP to send to mail server Mail reader uses POP3 or IMAP4 to read from mail server SMTP Sendmail is UNIX SMTP implementation Mail may traverse several mail forwarding gateways en route to destination Each gateway will have sendmail or an SMTP equivalent to set up a new SMTP connection SMTP client sends a command (HELO, MAIL, RCPT, …), server responds with a code