Impact of TCP Window Size on a File Transfer

Similar documents
This tutorial shows how to use ACE to Identify the true causes of poor response time Document the problems that are found

Two-Tier Oracle Application

Eng 3553 Lab #5 TCP Throughput

ECEN Final Exam Fall Instructor: Srinivas Shakkottai

Documents. Configuration. Important Dependent Parameters (Approximate) Version 2.3 (Wed, Dec 1, 2010, 1225 hours)

Investigating the Use of Synchronized Clocks in TCP Congestion Control

cs/ee 143 Fall

Evaluating external network bandwidth load for Google Apps

Objective To examine the throughput of a TCP connection as the flow control window size is varied.

c) With the selective repeat protocol, it is possible for the sender to receive an ACK for a packet that falls outside of its current window.

NETWORK PROBLEM SET Due Date 6/28/2014

Exercises TCP/IP Networking With Solutions

Network Capacity Planning OPNET tools practice evaluation

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

Investigating the Use of Synchronized Clocks in TCP Congestion Control

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

Chapter III: Transport Layer

Report on Transport Protocols over Mismatched-rate Layer-1 Circuits with 802.3x Flow Control

Monitoring and Analysis

2.993: Principles of Internet Computing Quiz 1. Network

CSE 473 Introduction to Computer Networks. Exam 2. Your name here: 11/7/2012

CS 421: COMPUTER NETWORKS SPRING FINAL May 8, minutes

ECE 461 Internetworking. Problem Sheet 6

Karisma Network Requirements

CSCE 463/612 Networks and Distributed Processing Spring 2017

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

Principles of congestion control

>>> SOLUTIONS <<< Answer the following questions regarding the basics principles and concepts of networks.

Fermilab WAN Performance Analysis Methodology. Wenji Wu, Phil DeMar, Matt Crawford ESCC/Internet2 Joint Techs July 23, 2008

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

CSC 4900 Computer Networks: TCP

CSCD 330 Network Programming Winter 2015

Network Management & Monitoring

The Transport Control Protocol (TCP)

Wireless TCP Performance Issues

Appendix B. Standards-Track TCP Evaluation

Chapter 3 Transport Layer

BAMA Simulator. (Bandwidth Measurement Algorithms)

The ehealth Traffic Accountant Reporting Application

ETSF10 Internet Protocols Transport Layer Protocols

NETWORK PROBLEM SET Solution

Congestion Avoidance Overview

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

Internet Architecture & Performance. What s the Internet: nuts and bolts view

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED

Bandwidth Allocation & TCP

Transport Layer Protocols TCP

15-744: Computer Networking TCP

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

Computer Networking Introduction

Increase-Decrease Congestion Control for Real-time Streaming: Scalability

EE 122 Fall st Midterm. Professor: Lai Stoica

image 3.8 KB Figure 1.6: Example Web Page

ACE Whiteboard Tutorial: Modeling an Application Using Logic Scripts (Advanced)

Communication Networks

Congestion control in TCP

WRED Explicit Congestion Notification

Layer 4 TCP Performance in carrier transport networks Throughput is not always equal to bandwidth

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

Solutions for Homework #2

Expected Time: 90 min PART-A Max Marks: 42

===================================================================== Exercises =====================================================================

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

CPSC 441 Tutorial-1. Department of Computer Science University of Calgary

Computer Networking

CSCI Topics: Internet Programming Fall 2008

8. TCP Congestion Control

NET ID. CS519, Prelim (March 17, 2004) NAME: You have 50 minutes to complete the test. 1/17

Module 10 Frame Relay and ATM

WB-RTO: A Window-Based Retransmission Timeout. Ioannis Psaras, Vassilis Tsaoussidis Demokritos University of Thrace, Xanthi, Greece

Lecture 22: Buffering & Scheduling. CSE 123: Computer Networks Alex C. Snoeren

Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks. Congestion Control in Today s Internet

Advanced Application Reporting USER GUIDE

Transmission Control Protocol (TCP)

Mitigating Egregious ACK Delays in Cellular Data Networks by Eliminating TCP ACK Clocking

TCP congestion control:

CSCI 466 Midterm Networks Fall 2011

F-RTO: An Enhanced Recovery Algorithm for TCP Retransmission Timeouts

UNIVERSITY OF OSLO. Faculty of mathematics and natural sciences. INF3190/INF4190 Data Communications. All printed and written material, calculator

Improving TCP Performance over Wireless Networks using Loss Predictors

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

TCP Congestion Control

SIMULATION FRAMEWORK MODELING

Hybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks

Student ID: CS457: Computer Networking Date: 3/20/2007 Name:

Shared Ethernet Networks

Chapter 3 Transport Layer

TCP Adaptive Retransmission Algorithm - Original TCP. TCP Adaptive Retransmission Algorithm Jacobson

Chapter 1 Introduction

Oscillations and Buffer Overflows in Video Streaming under Non- Negligible Queuing Delay

CSE 461 Module 10. Introduction to the Transport Layer

NETWORK ASSISTED RATE ADAPTATION FOR CONVERSATIONAL VIDEO OVER LTE CSWS 14

Modelling a Video-on-Demand Service over an Interconnected LAN and ATM Networks

Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015

CS 421: COMPUTER NETWORKS FALL FINAL January 5, minutes. Name: Student No: TOT

The Transport Layer Congestion control in TCP

Internet Networking recitation #10 TCP New Reno Vs. Reno

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3

Transcription:

Impact of TCP Window Size on a File Transfer Introduction This example shows how ACE diagnoses and visualizes application and network problems; it is not a step-by-step tutorial. If you have experience with ACE, you can recreate this study by following the instructions on the last page. The screen images in this example were captured while running ACE with the ACE Decode Module (ADM) installed. If you do not have ADM installed, some screens might look different. In this network, the client connects to the FTP server, located in the data center, through a WAN that consists of a T1 circuit (1.544 Mbps). When the client performs a 1 MB file transfer, the response time is about 25 seconds. Given the file size and the data rate, the ideal response time is about 5 seconds (1 MB x 8 bits/byte / 1.544 Mbps). 1

Possible causes for the slow response time fall into two general categories: network bottlenecks and server bottlenecks. This study identifies the cause of the performance problems and recommends possible solutions. We begin our investigation by identifying and capturing a transaction of the file transfer. A probe was placed on both the client site and the data center, as shown in the following network diagram. Network Diagram 2

Packet captures were taken simultaneously at both the client and FTP server, then merged and synchronized to obtain the best possible analysis of delays at each tier and the network. A single probe would have sufficed, but it was not difficult to obtain data from both probes. 3

ACE Analysis After importing the trace into ACE, we looked at the transaction in the Data Exchange Chart, which shows the flow of application messages between tiers over time. You might have to adjust the window size to match the scale shown. Data Exchange Chart (Application Chart with Dependencies) Blue arrows show large messages being transferred between tiers Purple triangles indicate delays due to network Check Show Dependencies 4

The Data Exchange Chart shows the client initiating the file transfer and the server responding with several large (1460 bytes or greater) application messages, as represented by the blue arrows between the Client and FTP_Server tiers. When we check the Show Dependencies box, ACE shows that the delays are network-related, as indicated by the purple triangles on the FTP_Server tier. Zooming in to a group of application messages and displaying both the Application Message Chart and the Network Packet Chart allows us to examine the relationship between the network packets and the application messages. Zoomed View of Application and Network Charts 5

The Network Packet Chart displays the task as an exchange of packets as seen by the network. The Application Message Chart displays the task as an application-layer exchange of messages, excluding details from below the application layer. We can see the FTP Server sends packets to the client and waits for the arrival of acknowledgements before sending additional application data. This is not optimal behavior because it lengthens the file transfer. From the Data Exchange Chart, we can also graph specific statistics relating to the transaction that we are diagnosing. We know the delays are network-related, but we want to see how bandwidth is being used during this file transfer. 6

Time-Based Statistic of Network Throughput The Network Throughput statistic above shows that the maximum download speed is about 350 Kbps, far less than the 1,544 Mbps the circuit provides. 7

AppDoctor s Summary of Delays is used to identify the factors contributing to delay. Summary of Delays for the File Download The chart identifies protocol delay as the primary source of delay in this file transfer. From this chart, we can also drill down into the protocol delay and view a graphical analysis of the different factors that might cause this particular delay. 8

Application delay (client/server processing time) is negligible for this transaction. In this case, the network is the cause of slow application response time. The AppDoctor Diagnosis provides a more granular analysis of possible bottlenecks. This feature tests the current transaction against factors that often cause performance problems in network-based applications. Values that cross a specified threshold are marked as bottlenecks or potential bottlenecks. Diagnosis for the File Download 9

Diagnosis identifies two bottlenecks and one potential bottleneck. Each should be investigated. Descriptions of each are below. Effect of Bandwidth Packet transmission delay is a function of the size of the packet. Lower transmission speeds cause larger delays. This value is the total delay incurred due to transmission speed, as a percentage of the overall application response time. Effect of Protocol Network protocols (such as TCP) frequently perform flow control, congestion control, etc., which may throttle the rate at which applications send data. Other protocol effects that can impact application performance include retransmissions and collisions. This value is the total delay incurred due to protocol effects, represented as a percentage of the overall application response time. 10

TCP Windowing When an application is sending bulk data over a high-bandwidth and high-latency network, TCP window sizes must be large enough to permit TCP to send many packets in a row without having to wait for TCP acknowledgements. TCP will send data only if the amount of sent-but-not-yet-acknowledged data is less than the minimum of the congestion control window, sender window, and receiver window sizes. Sender and receiver windows have default sizes that can be overridden by an application. The congestion control window is dynamically-sized by TCP in response to retransmissions and other factors. TCP will be forced to wait for acknowledgments if any windows are less than the bandwidth-delay product. The bandwidth-delay product is (2 x Bandwidth x Propagation Delay). TCP is reducing the rate at which the application can send data because of a window that is too small. ACE auto-calculates the optimum window size based on the bandwidth-delay product as 29,974 bytes. 11

The TCP In-Flight Data (bytes): FTP Server to Client statistic illustrates this effect. Time-based Statistic Graph of TCP In-Flight Data The graph shows TCP is limiting the unacknowledged, in-flight data to about 8 KB although the ideal window size is about 30 KB. 12

Data Exchange Chart (Network View) The data flow has reached the steady state equal to the TCP Window Size ACE diagnosed the bottleneck for this application transaction to be TCP windowing. The Data Exchange Chart above highlights this process. As an application transmits data, TCP increases the amount of allowable, unacknowledged data that can be sent, up to the TCP window size. 13

Because TCP normally increases throughput as the network proves it can handle the traffic, the beginning of the transmission is called slow start. The TCP window prevents application throughput from growing forever and saturating the network. The graph above shows that by the sixth exchange, the flow has reached steady state. 14

Conclusion Analysis of this transaction revealed that the client had the send window size set to 8 KB. The window protects the network from being saturated by a single application, however in this example, TCP s flow control mechanism was the cause of the poor file download time. AppDoctor s Diagnosis suggested increasing the TCP window size to about 30 KB. It was not necessary to increase processing power at the client or server tiers, nor was it necessary to increase bandwidth. Any of these solutions would been both costly and ineffective. ACE allows you to troubleshoot poor application performance and pinpoint the potential causes. 15

Recreate the Example Load the file FTP_download_over_WAN (<release_dir>\models\std\tutorial_req\module) or follow the import process: 1) Import the following traces into ACE. FTP_download_server.enc FTP_download_client.enc 2) Rename the tiers. Rename 172.16.4.52 to Client Rename 192.168.2.2 to FTP_Server 3) Set bandwidth and latency between tiers. Set bandwidth to T1 (1.544 Mbps) Latency should have been automatically detected as 76.2 ms 4) Open the Treeview window. Notice that there are two TCP connections in this trace: Connection 1 carries the FTP control messages Connection 2 carries the FTP data transfer 16

17