Computer Networking TCP Performance and the Web Peter Steenkiste. Fall 2015

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

Project #2. CSE 123b Communications Software. HTTP Messages. HTTP Basics. HTTP Request. HTTP Request. Spring Four parts

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

Transport Layer Protocols

Web Caching and CDNs. Aditya Akella

DATA COMMUNICATOIN NETWORKING

Final for ECE374 05/06/13 Solution!!

Data Networks Summer 2007 Homework #3

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

SiteCelerate white paper

Question: 3 When using Application Intelligence, Server Time may be defined as.

DATA COMMUNICATOIN NETWORKING

Computer Networks Homework 1

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

QUIC. Quick UDP Internet Connections. Multiplexed Stream Transport over UDP. IETF-88 TSV Area Presentation

Key Components of WAN Optimization Controller Functionality

HTTPS is Fast and Hassle-free with CloudFlare

15-441: Computer Networks Homework 2 Solution

Homework 2 assignment for ECE374 Posted: 02/21/14 Due: 02/28/14

Why SSL is better than IPsec for Fully Transparent Mobile Network Access

1 Introduction: Network Applications

COMP 361 Computer Communications Networks. Fall Semester Midterm Examination

An Overview of Amazon Silk Amazon s new cloud-powered browser

D. SamKnows Methodology 20 Each deployed Whitebox performs the following tests: Primary measure(s)

COMP 3331/9331: Computer Networks and Applications. Lab Exercise 3: TCP and UDP (Solutions)

IAB CONCERNS ABOUT CONGESTION CONTROL. Iffat Hasnian

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:

Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage

Load Balancing and Sessions. C. Kopparapu, Load Balancing Servers, Firewalls and Caches. Wiley, 2002.

1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

TCP Adaptation for MPI on Long-and-Fat Networks

Outline. TCP connection setup/data transfer Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics

B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit

Application Level Congestion Control Enhancements in High BDP Networks. Anupama Sundaresan

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

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

Accelerating Wordpress for Pagerank and Profit

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

TFE listener architecture. Matt Klein, Staff Software Engineer Twitter Front End

This sequence diagram was generated with EventStudio System Designer (

FIVE WAYS TO OPTIMIZE MOBILE WEBSITE PERFORMANCE WITH PAGE SPEED

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

CISCO WIDE AREA APPLICATION SERVICES (WAAS) OPTIMIZATIONS FOR EMC AVAMAR

How To Understand The Power Of A Content Delivery Network (Cdn)

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

Network Technologies

Introducing the Microsoft IIS deployment guide

Context. Congestion Control In High Bandwidth-Delay Nets [Katabi02a] What is XCP? Key ideas. Router Feedback: Utilization.

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

SWE 444 Internet and Web Application Development. Introduction to Web Technology. Dr. Ahmed Youssef. Internet

Computer Networks. Chapter 5 Transport Protocols

TCP Westwood for Wireless

Clearing the Way for VoIP

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

Lecture 8a: WWW Proxy Servers and Cookies

Content Distribu-on Networks (CDNs)

Chapter 6 Congestion Control and Resource Allocation

CONTENT of this CHAPTER

Front-End Performance Testing and Optimization

Computer Networks - CS132/EECS148 - Spring

The Internet, Intranets, and Extranets. What is the Internet. What is the Internet cont d.

Application Response Time Improvements with Transparent Turn Reduction

CS514: Intermediate Course in Computer Systems

Frequently Asked Questions

Mobile Communications Chapter 9: Mobile Transport Layer

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

2 TCP-like Design. Answer

Challenges of Sending Large Files Over Public Internet

The Problem with TCP. Overcoming TCP s Drawbacks

Lecture 8a: WWW Proxy Servers and Cookies

Dynamic Content Acceleration: Lightning-Fast Web Apps with Amazon CloudFront and Amazon Route 53

AKAMAI WHITE PAPER. Delivering Dynamic Web Content in Cloud Computing Applications: HTTP resource download performance modelling

How To Optimize Your Website With Radware Fastview

Master s Thesis. Design, Implementation and Evaluation of

Results-Oriented Application Acceleration with FastView Because Every Second Counts Whitepaper

Digital Audio and Video Data

Masters Project Proxy SG

Load Balancing BEA WebLogic Servers with F5 Networks BIG-IP v9

Parallel TCP Data Transfers: A Practical Model and its Application

Visualizations and Correlations in Troubleshooting

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

4 High-speed Transmission and Interoperability

CHAPTER 4 PERFORMANCE ANALYSIS OF CDN IN ACADEMICS

CS268 Exam Solutions. 1) End-to-End (20 pts)

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

Sitecore Health. Christopher Wojciech. netzkern AG. Sitecore User Group Conference 2015

Quality of Service versus Fairness. Inelastic Applications. QoS Analogy: Surface Mail. How to Provide QoS?

A Standard Modest WebSite

Deployment Guide AX Series with Citrix XenApp 6.5

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

Quality of Service Analysis of site to site for IPSec VPNs for realtime multimedia traffic.

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015

Congestion Control Review Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?

VoIP network planning guide

Basic Multiplexing models. Computer Networks - Vassilis Tsaoussidis

Cleaning Encrypted Traffic

ICOM : Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM

networks Live & On-Demand Video Delivery without Interruption Wireless optimization the unsolved mystery WHITE PAPER

MICROSOFT. Remote Desktop Protocol Performance Improvements in Windows Server 2008 R2 and Windows 7

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

Transcription:

15-441 15-441 Computer Networking 15-641 TCP Performance and the Web Peter Steenkiste Fall 2015 www.cs.cmu.edu/~prs/15-441-f15 Outline TCP TCP status and evolution (last week) TCP performance model (today) Throughput model Implications 2 1

TCP Modeling Given the congestion behavior of TCP can we predict what type of performance we should get? What are the important factors Loss rate: Affects how often window is reduced RTT: Affects increase rate and relates BW to window RTO: Affects performance during loss recovery MSS: Affects increase rate (additive increase) 3 Overall TCP Behavior Let us concentrate on steady state behavior with no timeouts and perfect loss recovery Packets transferred = area under curve It is a simple geometry problem! Window Time 4 2

Transmission Rate What is area under curve? Window in packets Time in RTTs A = avg window * time = ¾ W * T (packets) What was bandwidth? BW = A / T = ¾ W In packets per RTT Convert to bytes per second BW = ¾ W * MSS / RTT What is W? Depends on loss rate Window W W/2 T Time 5 Simple TCP Model Some additional assumptions Fixed RTT No delayed s In steady state, TCP loses a packet each time window reaches W packets Window drops to W/2 packets Each RTT window increases by 1 packet W/2 * RTT between packet losses 6 3

Simple Loss Model What was the loss rate? Packets transferred = (¾ W/RTT) * (W/2 * RTT) = 3W 2 /8 1 packet lost loss rate = p = 8/3W 2 W 8 3p BW = ¾ * W * MSS / RTT 8 4 3 W 3p 3 2 p MSS BW RTT 2 p 3 7 Implication 1: Fairness Flows sharing bottleneck do NOT get same bandwidth! Fairness: BW proportional to 1/RTT TCP is RTT fair Only if all else is equal do flows sharing a bottleneck get the same bandwidth Not by design 8 4

Implication 2: High Speed Networks 9 TCP over High-Speed Networks A TCP connection with 1250-Byte packet size and 100ms RTT is running over a 10Gbps link (assuming no other connections, and no buffers at routers) 1.4 hours 1.4 hours 1.4 hours cwnd Packet loss Packet loss Packet loss Packet loss TCP 100,000 10Gbps 50,000 5Gbps Slow start Congestion avoidance Time (RTT) Source: Rhee, Xu. Congestion Control on High-Speed Networks 10 5

TCP (CU)BIC Goal is to spend more time at the high end of the window value range Remember: 1.4 hours to reach Wmax on 10 Gbs link? Idea: make the additive increase adaptive depending on how close you are to presumed Wmax value Fast recovery using larger additive increase toward Wmax Slow change around Wmax Fast search for a higher Wmax 11 TCP CUBIC in one slide 12 6

Implication 3: How about non-tcp flow? Certain types of flow cannot use TCP E.g., multi-media streaming: timeouts add excessive delays, reducing Quality of Experience Require custom transport, but what congestion control? Solution TCP: make them TCP friendly Like TCP but smoother Motivation is that they need to coexist nicely with TCP Should hold their own without clobbering TCP flows Their throughput must follow that of the TCP equation Calculated smoothed estimates of RTT, p, Do TCP-Friendly Rate Control (TFRC) based on TCP equation Adjust rate w/o timeouts 13 Overview Content Delivery Web Protocol interactions Caching Cookies Peer-to-peer CDNs Video 14 7

Web history 1945: Vannevar Bush, As we may think, Atlantic Monthly, July, 1945. Describes the idea of a distributed hypertext system. A memex that mimics the web of trails in our minds. 1989: Tim Berners-Lee (CERN) writes internal proposal to develop a distributed hypertext system Connects a web of notes with links. Intended to help CERN physicists in large projects share and manage information 1990: TBL writes graphical browser for Next machines 1992-1994: NCSA/Mosaic/Netscape browser release 15 Internet Traffic History 100000 10000 1000 All Fixed Mobile PByte/month 100 10 1 0.1 0.01 0.001 Year 16 8

Typical Workload (Web Pages) Multiple (typically small) objects per page File sizes Lots of small objects Heavy-tailed versus TCP Pareto distribution for tail 3-way handshake Lognormal for body of distribution Lots of slow starts Embedded references Extra connection state Number of embedded objects also Pareto Pr(X>x) = (x/x m ) -k This plays havoc with performance. Why? Solutions? 17 HTTP 0.9/1.0 One request/response per TCP connection Simple to implement Short transfers are very hard on TCP Multiple connection setups three-way handshake each time Several extra round trips added to transfer Many slow starts low throughput because of small window Never leave slow start for short transfers Loss recovery is poor when windows are small Lots of extra connections Increases server state/processing 18 9

Single Transfer Example 0 RTT Client opens TCP connection 1 RTT Client sends HTTP request for HTML Client parses HTML Client opens TCP connection Client sends HTTP request for image Image begins to arrive 2 RTT 3 RTT 4 RTT Client SYN DAT FIN SYN DAT DAT Server SYN DAT FIN SYN Server reads from disk Server reads from disk 19 HTTP 1.1 Multiplex multiple transfers onto one TCP connection Avoid handshake and slow start when getting multiple objects from same server Transfers can be pipelined, i.e., multiple outstanding requests Requests are handled in FIFO order by server How to identify requests/responses? Delimiter Server must examine response for delimiter string Content-length and delimiter Must know size of transfer in advance Block-based transmission send in multiple length delimited blocks Store-and-forward wait for entire response and then use content-length 20 10

Persistent Connection Solution Server Client 0 RTT Client sends HTTP request for HTML index page DAT DAT Server reads from disk 1 RTT Client parses HTML Client sends HTTP request for image DAT DAT Server reads from disk 2 RTT Image begins to arrive 21 Some Challenges with HTTP 1.1 Head of line blocking: slow objects can delay all requests that follow E.g., objects from disk versus objects in cache Browsers open multiple TCP connections to achieve parallel transfers Increases load on servers and network HTTP headers are big Cost higher for small objects Embedded objects add RTT With small objects, RTT dominates 22 11

HTTP 2.0 to the Rescue Can multiplex many requests over a TCP connection AND Responses are carried over flow controlled streams avoids HOL blocking Streams can be prioritized by client based on how critical they are to rendering HTTP headers are compressed A PUSH features allows server to push embedded objects to the client without waiting for a client request Avoids an RTT What is the challenge? Default is to use TLS fall back on 1.1 otherwise 23 Web Proxy Caches User configures 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 Proxy server origin server client origin server 24 12

No Caching Example (1) Assumptions Average object size = 100,000 bits Avg. request rate from institution s browser 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 25 No Caching Example (2) Possible solution Increase bandwidth of access link to, say, 10 Mbps Often a costly upgrade Consequences Utilization on LAN = 15% Utilization on access link = 15% Total delay = Internet delay + access delay + LAN delay = 2 sec + msecs + msecs institutional network public Internet 10 Mbps access link 10 Mbps LAN origin servers 26 13

With Caching Example (3) Install cache Suppose hit rate is.4 Consequence 40% requests will be satisfied almost immediately (say 10 msec) 60% requests satisfied by origin server Utilization of access link reduced to 60%, resulting in negligible delays Weighted average of delays =.6*2 sec +.4*10msecs < 1.3 secs institutional network public Internet 1.5 Mbps access link 10 Mbps LAN origin servers institutional cache 27 HTTP Caching Clients often cache documents Challenge: update of documents If-Modified-Since requests to check HTTP 0.9/1.0 used just date HTTP 1.1 has an opaque entity tag (could be a file signature, etc.) as well When/how often should the original be checked for changes? Check every time? Check each session? Day? Etc? Use Expires header If no Expires, often use Last-Modified as estimate 28 14

Problems Fraction of HTTP objects that are cacheable is dropping Why? Major exception? This problem will not go away Dynamic data stock prices, scores, web cams CGI scripts results based on passed parameters Other less obvious examples SSL encrypted data is not cacheable Most web clients don t handle mixed pages well many generic objects transferred with SSL Cookies results may be based on past data Hit metering owner wants to measure # of hits for revenue, etc. What will be the end result? 29 Cookies: Keeping state Many major Web sites use cookies Four components: 1) Cookie header line in the HTTP response message 2) Cookie header line in HTTP request message 3) Cookie file kept on user s host and managed by user s browser 4) Back-end database at Web site Example: Susan accesses Internet always from the same PC She visits a specific e- commerce site for the first time When initial HTTP requests arrives at the site, the site creates a unique ID and creates an entry in a backend database for that ID 30 15

Cookies: Keeping State client Amazon server Cookie file ebay: 8734 usual http request msg usual http response + Set-cookie: 1678 server creates ID 1678 for user Cookie file amazon: 1678 ebay: 8734 one week later: Cookie file amazon: 1678 ebay: 8734 usual http request msg cookie: 1678 usual http response msg usual http request msg cookie: 1678 usual http response msg cookiespecific action cookiespecific action 31 Overview Content Delivery Web Protocol interactions Caching Cookies Peer-to-peer CDNs Video 32 16

Overview Content Delivery Web Protocol interactions Caching Cookies Peer-to-peer CDNs Video 33 17