Last time NAT. Application layer. Intro. Web / HTTP 20-1

Similar documents
DATA COMMUNICATOIN NETWORKING

The Web: some jargon. User agent for Web is called a browser: Web page: Most Web pages consist of: Server for Web is called Web server:

1 Introduction: Network Applications

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview

Chapter 2 Application Layer. Lecture 5 FTP, Mail. Computer Networking: A Top Down Approach

Network Technologies

CS640: Introduction to Computer Networks. Applications FTP: The File Transfer Protocol

Application Layer: HTTP and the Web. Srinidhi Varadarajan

File Transfer Protocol (FTP) & SSH

FTP: the file transfer protocol

FTP and . Computer Networks. FTP: the file transfer protocol

TELE 301 Network Management. Lecture 17: File Transfer & Web Caching

First Midterm for ECE374 03/09/12 Solution!!

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?

Application Layer. CMPT Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2

1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; SMTP.

Computer Networks - CS132/EECS148 - Spring

CMPE 80N: Introduction to Networking and the Internet

The Web History (I) The Web History (II)

CONTENT of this CHAPTER

HTTP. Internet Engineering. Fall Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

FTP: the file transfer protocol

CPSC Network Programming. , FTP, and NAT.

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP Abstract Message Format. The Client/Server model is used:

Lecture 2. Internet: who talks with whom?

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)

Configuring your client to connect to your Exchange mailbox

Remote login (Telnet):

Proxies. Chapter 4. Network & Security Gildas Avoine

Cape Girardeau Career Center CISCO Networking Academy Bill Link, Instructor. 2.,,,, and are key services that ISPs can provide to all customers.

Final for ECE374 05/06/13 Solution!!

CSCI-1680 SMTP Chen Avin

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP - Message Format. The Client/Server model is used:

Chapter 2 Application Layer

Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose

Data Communication I

Advanced Higher Computing. Computer Networks. Homework Sheets

Introduction to Computer Security Benoit Donnet Academic Year

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)

Basic Network Configuration

Protocolo FTP. FTP: Active Mode. FTP: Active Mode. FTP: Active Mode. FTP: the file transfer protocol. Separate control, data connections

Sage 300 ERP Online. Mac Resource Guide. (Formerly Sage ERP Accpac Online) Updated June 1, Page 1

Computer Networks. Instructor: Niklas Carlsson

Sage ERP Accpac Online

Deployment Guide Microsoft IIS 7.0

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ MEng. Nguyễn CaoĐạt

Application Example: WWW. Communication in the WWW. WWW, HTML, URL and HTTP. Loading of Web Pages. The Client/Server model is used in the WWW

DATA COMMUNICATOIN NETWORKING

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

CS 5480/6480: Computer Networks Spring 2012 Homework 1 Solutions Due by 9:00 AM MT on January 31 st 2012

Revised: 14-Nov-07. Inmarsat Fleet from Stratos MPDS Firewall Service Version 1.0

Chapter 28: Expanding Web Studio

Lecture 8a: WWW Proxy Servers and Cookies

CS43: Computer Networks . Kevin Webb Swarthmore College September 24, 2015

loss-tolerant and time sensitive loss-intolerant and time sensitive loss-intolerant and time insensitive

Neoteris IVE Integration Guide

Application Layer. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross

Firewalls, IDS and IPS

Working With Your FTP Site

Step-by-Step Configuration

First Midterm for ECE374 02/25/15 Solution!!

FTP Use. Internal NPS FTP site instructions using Internet Explorer:

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)

Issue 1 April 2, 2009 Using the VT2442 Web User Interface


M3-R3: INTERNET AND WEB DESIGN

Review of Networking Basics. Yao Wang Polytechnic University, Brooklyn, NY11201

Connecting with Computer Science, 2e. Chapter 5 The Internet

SSL VPN Technology White Paper

Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

How to Configure edgebox as a Web Server

LESSON Networking Fundamentals. Understand TCP/IP

FILE TRANSFER PROTOCOL INTRODUCTION TO FTP, THE INTERNET'S STANDARD FILE TRANSFER PROTOCOL

Homework 2 assignment for ECE374 Posted: 02/20/15 Due: 02/27/15

Neoteris IVE Integration Guide

Talk Internet User Guides Controlgate Administrative User Guide

N-CAP Users Guide Everything You Need to Know About Using the Internet! How Firewalls Work

Internet Technologies Internet Protocols and Services

Installation Guide For Choic Enterprise Edition

Wireshark Lab: HTTP SOLUTION

First Midterm for ECE374 03/24/11 Solution!!

Internet Technology 2/13/2013

Principles of Network Applications. Dr. Philip Cannata

1 Data information is sent onto the network cable using which of the following? A Communication protocol B Data packet

Chapter 23: Uploading Your Website to the Internet

UIP1868P User Interface Guide

File Transfer And Access (FTP, TFTP, NFS) Chapter 25 By: Sang Oh Spencer Kam Atsuya Takagi

Accessing the FTP Server - User Manual

Application Monitoring using SNMPc 7.0

TFTP TRIVIAL FILE TRANSFER PROTOCOL OVERVIEW OF TFTP, A VERY SIMPLE FILE TRANSFER PROTOCOL FOR SIMPLE AND CONSTRAINED DEVICES

ReadyNAS Remote White Paper. NETGEAR May 2010

Siteminder Integration Guide

Domain Name System (DNS)

EXTENDED FILE SYSTEM FOR F-SERIES PLC

Today s Lecture : Introduction to Telecommunication Networks Lectures 2: Protocol Stack. Applications and Application Protocols

An Insight into Cookie Security

Applications and Services. DNS (Domain Name System)

Quick Reference Guide: Shared Hosting

Single Pass Load Balancing with Session Persistence in IPv6 Network. C. J. (Charlie) Liu Network Operations Charter Communications

The Hyper-Text Transfer Protocol (HTTP)

Transcription:

Last time NAT Application layer Intro Web / HTTP 20-1

This time Finish HTTP FTP 20-2

HTTP Modeling Assume Web page consists of: 1 base HTML page (of size O bits) M images (each of size O bits) Non-persistent HTTP: M+1 TCP connections in series Response time = (M+1)O/R + (M+1)2RTT + sum of idle times Persistent HTTP: 2 RTT to request and receive base HTML file 1 RTT to request and receive M images Response time = (M+1)O/R + 3RTT + sum of idle times Non-persistent HTTP with X parallel connections Suppose M/X integer. 1 TCP connection for base file M/X sets of parallel connections for images. Response time = (M+1)O/R + (M/X + 1)2RTT + sum of idle times See the applet on UW-ACE! 20-3

HTTP Response time (in seconds) RTT = 100 msec, O = 5 Kbytes, M=10 and X=5 20 18 16 14 12 10 8 6 4 2 0 28 Kbps 100 Kbps 1 Mbps 10 Mbps non-persistent persistent parallel nonpersistent For low bandwidth, connection & response time dominated by transmission time. Persistent connections only give minor improvement over parallel connections. 20-4

HTTP Response time (in seconds) RTT =1 sec, O = 5 Kbytes, M=10 and X=5 70 60 50 40 non-persistent 30 persistent 20 10 parallel nonpersistent 0 28 Kbps 100 Kbps 1 Mbps 10 Mbps For larger RTT, response time dominated by TCP establishment & slow start delays. Persistent connections now give important improvement: particularly in high delay bandwidth networks. 20-5

HTTP request message Two types of HTTP messages: request, response HTTP request message: ASCII (human-readable format) request line (GET, POST, HEAD commands) header lines GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language:fr Carriage return, line feed indicates end of message (extra carriage return, line feed) 20-6

HTTP request message: general format 20-7

Uploading form input POST method: Web page often includes form input Input is uploaded to server in entity body URL method: Uses GET method Input is uploaded in URL field of request line: http://www.somesite.com/animalsearch?monkeys&banana 20-8

Method types HTTP/1.0 GET POST HEAD asks server to leave requested object out of response HTTP/1.1 GET, POST, HEAD PUT uploads file in entity body to path specified in URL field DELETE deletes file specified in the URL field 20-9

HTTP response message status line (protocol status code status phrase) data, e.g., requested HTML file header lines HTTP/1.1 200 OK Connection: close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998... Content-Length: 6821 Content-Type: text/html data data data data data... 20-10

HTTP response status codes In first line in server->client response message. A few sample codes: 200 OK request succeeded, requested object later in this message 301 Moved Permanently requested object moved, new location specified later in this message (Location:) 400 Bad Request request message not understood by server 404 Not Found requested document not found on this server 505 HTTP Version Not Supported 20-11

Trying out HTTP (client side) for yourself 1. Telnet to your favorite Web server: telnet cis.poly.edu 80 Opens TCP connection to port 80 (default HTTP server port) at cis.poly.edu. Anything typed in sent to port 80 at cis.poly.edu 2. Type in a GET HTTP request: GET /~ross/ HTTP/1.1 Host: cis.poly.edu By typing this in (hit carriage return twice), you send this minimal (but complete) GET request to HTTP server 3. Look at response message sent by HTTP server! 20-12

User-server state: cookies Many major Web sites use cookies Four components: 1) cookie header line of HTTP response message 2) cookie header line in HTTP request message 3) cookie file kept on user s host, managed by user s browser 4) back-end database at Web site Example: Susan access Internet always from same PC She visits a specific e- commerce site for first time When initial HTTP requests arrives at site, site creates a unique ID and creates an entry in backend database for ID 20-13

Cookies: keeping state (cont.) client server Cookie file ebay: 8734 usual http request msg usual http response + Set-cookie: 1678 server creates ID 1678 for user entry in backend database Cookie file amazon: 1678 ebay: 8734 one week later: usual http request msg Cookie: 1678 usual http response msg cookiespecific action access access Cookie file amazon: 1678 ebay: 8734 usual http request msg Cookie: 1678 usual http response msg cookiespectific action 20-14

Cookies (continued) What cookies can bring: authorization shopping carts recommendations user session state (Web e- mail) aside Cookies and privacy: cookies permit sites to learn a lot about you you may supply name and e-mail to sites How to keep state : Protocol endpoints: maintain state at sender/receiver over multiple transactions cookies: http messages carry state 20-15

Web caches (proxy server) Goal: satisfy client request without involving origin server user sets browser: Web accesses via cache browser sends all HTTP requests to cache object in cache: cache returns object else cache requests object from origin server, then returns object to client client HTTP request HTTP response HTTP request HTTP response Proxy server HTTP request HTTP response origin server client origin server 20-16

More about Web caching Cache acts as both client and server Typically cache is installed by ISP (university, company, residential ISP) Why Web caching? Reduce response time for client request. Reduce traffic on an institution s access link. Internet dense with caches: enables poor content providers to effectively deliver content (but so does P2P file sharing) 20-17

Caching example Assumptions average object size = 100,000 bits avg. request rate from institution s browsers to origin servers = 15/sec delay from institutional router to any origin server and back to router = 2 sec Consequences utilization on LAN = 15% utilization on access link = 100% total delay = Internet delay + access delay + LAN delay = 2 sec + minutes + milliseconds institutional network public Internet 1.5 Mbps access link 10 Mbps LAN origin servers institutional cache 20-18

Caching example (cont) Possible solution increase bandwidth of access link to, say, 10 Mbps Consequences utilization on LAN = 15% utilization on access link = 15% Total delay = Internet delay + access delay + LAN delay = 2 sec + msecs + msecs often a costly upgrade institutional network public Internet 10 Mbps access link 10 Mbps LAN origin servers institutional cache 20-19

Caching example (cont) Install cache suppose hit rate is.4 Consequence 40% requests will be satisfied almost immediately 60% requests satisfied by origin server utilization of access link reduced to 60%, resulting in negligible delays (say 10 msec) total avg delay = Internet delay + access delay + LAN delay =.6*(2.01) secs +.4*milliseconds < 1.4 secs institutional network public Internet 1.5 Mbps access link 10 Mbps LAN origin servers institutional cache 20-20

Conditional GET Goal: don t send object if cache has up-to-date cached version cache: specify date of cached copy in HTTP request If-modified-since: <date> server: response contains no object if cached copy is up-todate: HTTP/1.0 304 Not Modified cache HTTP request msg If-modified-since: <date> HTTP response HTTP/1.0 304 Not Modified HTTP request msg If-modified-since: <date> HTTP response HTTP/1.0 200 OK <data> server object not modified object modified 20-21

Chapter 2: Application layer 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P file sharing 2.7 Socket programming with TCP 2.8 Socket programming with UDP 2.9 Building a Web server 20-22

FTP: the file transfer protocol user at host FTP user interface FTP client local file system file transfer FTP server remote file system transfer file to/from remote host client/server model client: side that initiates transfer (either to/from remote) server: remote host ftp: RFC 959 ftp server: port 21 20-23

FTP: separate control, data connections FTP client contacts FTP server at port 21, specifying TCP as transport protocol Client obtains authorization over control connection Client browses remote directory by sending commands over control connection. When server receives file transfer command, server opens 2 nd TCP connection (for file) to client After transferring one file, server closes data connection. FTP client TCP control connection port 21 TCP data connection port 20 FTP server Server opens another TCP data connection to transfer another file. Control connection: out of band FTP server maintains state : current directory, earlier authentication 20-24

FTP commands, responses Sample commands: sent as ASCII text over control channel USER username PASS password LIST return list of file in current directory RETR filename retrieves (gets) file STOR filename stores (puts) file onto remote host Sample return codes status code and phrase (as in HTTP) 331 Username OK, password required 125 data connection already open; transfer starting 425 Can t open data connection 452 Error writing file 20-25

Recap Finish HTTP FTP 20-26

Next time SMTP (email) DNS P2P 20-27