Brief Review of TCP. Dr. Chengzhi Li. March 8, 2005

Similar documents
TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

TCP in Wireless Mobile Networks

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

Data Networks Summer 2007 Homework #3

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

Lecture Objectives. Lecture 07 Mobile Networks: TCP in Wireless Networks. Agenda. TCP Flow Control. Flow Control Can Limit Throughput (1)

TCP over Wireless Networks

Simulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network

Transport Layer Protocols

Congestions and Control Mechanisms n Wired and Wireless Networks

High Speed Internet Access Using Satellite-Based DVB Networks

TCP in Wireless Networks

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

Low-rate TCP-targeted Denial of Service Attack Defense

This sequence diagram was generated with EventStudio System Designer (

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

TCP for Wireless Networks

TCP Westwood for Wireless

Computer Networks. Chapter 5 Transport Protocols

2 TCP-like Design. Answer

Mobile Communications Chapter 9: Mobile Transport Layer

La couche transport dans l'internet (la suite TCP/IP)

Analytic Models for the Latency and Steady-State Throughput of TCP Tahoe, Reno and SACK

SJBIT, Bangalore, KARNATAKA

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

TTC New Reno - Consistent Control of Packet Traffic

TCP Adaptation for MPI on Long-and-Fat Networks

A Survey: High Speed TCP Variants in Wireless Networks

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

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

Chapter 5. Transport layer protocols

Ina Minei Reuven Cohen. The Technion. Haifa 32000, Israel. Abstract

Visualizations and Correlations in Troubleshooting

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

STUDY OF TCP VARIANTS OVER WIRELESS NETWORK

15-441: Computer Networks Homework 2 Solution

Research of TCP ssthresh Dynamical Adjustment Algorithm Based on Available Bandwidth in Mixed Networks

Active Queue Management (AQM) based Internet Congestion Control

TCP based Denial-of-Service Attacks to Edge Network: Analysis and Detection

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

International Journal of Scientific & Engineering Research, Volume 6, Issue 7, July ISSN

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

A packet-reordering solution to wireless losses in transmission control protocol

Analysis and Detection of a Denial-of-Service Attack Scenario generated by TCP Receivers to Edge Network

High-Speed TCP Performance Characterization under Various Operating Systems

AN IMPROVED SNOOP FOR TCP RENO AND TCP SACK IN WIRED-CUM- WIRELESS NETWORKS

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

A Study on TCP Performance over Mobile Ad Hoc Networks

TCP PACKET CONTROL FOR WIRELESS NETWORKS

Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control

A Resilient Transport Layer for Messaging Systems

Student, Haryana Engineering College, Haryana, India 2 H.O.D (CSE), Haryana Engineering College, Haryana, India

An enhanced TCP mechanism Fast-TCP in IP networks with wireless links

TCP Behavior of a Busy Internet Server: Analysis and Improvements

Performance evaluation of TCP connections in ideal and non-ideal network environments

TCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks

TCP Flow Control. TCP Receiver Window. Sliding Window. Computer Networks. Lecture 30: Flow Control, Reliable Delivery

Advanced Computer Networks Project 2: File Transfer Application

An Improved TCP Congestion Control Algorithm for Wireless Networks

An enhanced approach for transmission control protocol traffic management Mechanism for Wireless Network

Mobile Computing/ Mobile Networks

Chapter 6 Congestion Control and Resource Allocation

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

FEW would argue that one of TCP s strengths lies in its

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

La couche transport dans l'internet (la suite TCP/IP)

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

Sample Network Analysis Report

Energy Efficient Congestion Control Operation in WSNs Adel Gaafar A. Elrahim Electrical Engineering Dept. Red Sea University, Port Sudan, Sudan

TCP Fast Recovery Strategies: Analysis and Improvements

Final for ECE374 05/06/13 Solution!!

TCP/IP Over Lossy Links - TCP SACK without Congestion Control

Multipath TCP under Massive Packet Reordering

THE Internet provides a convenient and cost-effective

CSE331: Introduction to Networks and Security. Lecture 9 Fall 2006

ALTHOUGH it is one of the first protocols

Improving Effective WAN Throughput for Large Data Flows By Peter Sevcik and Rebecca Wetzel November 2008

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

TCP performance optimization for handover Management for LTE satellite/terrestrial hybrid. network.

Linux 2.4 Implementation of Westwood+ TCP with rate-halving: A Performance Evaluation over the Internet

TCP/IP Networking for Wireless Systems. Integrated Communication Systems Group Ilmenau University of Technology

Homework 3 assignment for ECE374 Posted: 03/13/15 Due: 03/27/15

Network Friendliness of Mobility Management Protocols

Chaoyang University of Technology, Taiwan, ROC. 2 Department of Computer Science and Information Engineering

Linux TCP Implementation Issues in High-Speed Networks

Performance improvement of TCP over wireless network

The Effect of Packet Reordering in a Backbone Link on Application Throughput Michael Laor and Lior Gendel, Cisco Systems, Inc.

Analysis of Congestion Models for TCP Networks

Parallel TCP Data Transfers: A Practical Model and its Application

Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Networks

Effect of Packet-Size over Network Performance

EFFECT OF TRANSFER FILE SIZE ON TCP-ADaLR PERFORMANCE: A SIMULATION STUDY

Digital Audio and Video Data

Transport layer protocols for ad hoc networks

TCP, Active Queue Management and QoS

A Congestion Control Algorithm for Data Center Area Communications

SELECTIVE-TCP FOR WIRED/WIRELESS NETWORKS

Packet Queueing Delay

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

A Network-Controlled Architecture for SCTP Hard Handover

Transcription:

Brief Review of TCP Dr. Chengzhi Li March 8, 2005 1

Transmission Control Protocol (TCP) A connection oriented, end-to-end reliable transport protocol Using acknowledgement/retransmission for reliability Key assumption Packet loss only due to congestion (buffer overflow) End-to-end semantics ACK is sent by the receiver to TCP sender to confirm successful delivery only after the data is obtained 2

Basic Concepts, Mechanisms, Algorithms and Parameters TCP assigns byte sequence numbers for each segment Cumulative acknowledgements An ACK acknowledgements bytes up to the first missing byte in the stream A new cumulative acknowledgement is generated only on receipt of a new in-sequence packet A duplicate ACK is generated whenever an out-of-order segment arrives at the receiver Indications of packet loss Retransmission time out (RTO) 3 Duplicate ACKs 3

Basic Concepts, Mechanisms, Algorithms and Parameters Sliding window control Maximum range of data sent but not acknowledged Average Throughput Average sliding window size/average RTT Sliding window size = Minimum { receiver s advertised window, congestion window} receiver s advertised window determined by available buffer space at the receiver congestion window determined by the sender, based on feedback from the network An Example: Initial Sliding Window Size = 4 bytes [ 0 1 2 3 ] 4 5 6 7 8 9 0 1 2 3 ACK 1, WIN=4 0 [ 1 2 3 4 ] 5 6 7 8 9 4 ACK 5, WIN=3 0 1 2 3 4 [ 5 6 7 ] 8 9 5 6 7 4

Basic Concepts, Mechanisms, Algorithms and Parameters Four parameters Congestion window cwnd initial value 1 segment Receiver advertised window Based on receiver buffer size Bound cwnd always Slow start threshold ssthresh initial value 64 KB (A. S. Tanenbaum) or 65535 bytes (RFC 2001) Retransmission timer RTO RTO = RTT + 4*D RTT = a*pre_rtt + (1-a)*M M = the time taken by ACK a = 7/8 D = a*d + (1-a)* RTT M 5

Basic Concepts, Mechanisms, Algorithms and Parameters Four algorithms Slow start Congestion avoidance Fast transmit Fast recovery Tahoe TCP Slow start + congestion avoidance + fast transmission Reno TCP Slow start + congestion avoidance + fast transmission + fast recovery 6

Slow Start Goal: to fully exploit network resources Slow start procedure is triggered at the beginning of the TCP connection each time a packet loss is detected Congestion window cwnd set by sender to one segment at the beginning increased by one segment for every ACK (exponential growth of cwnd) till cwnd = ssthresh (entering congestion avoidance) Exponential backoff For every timeout, RTO = 2 * RTO, upto 64 sec 7

Congestion Avoidance Goal: to prevent network from being overloaded When an ACK is received and cwnd >ssthresh cwnd is increased by segmentsize*segmentsize/cwnd (linear growth of cwnd) When congestion occurs (timeout or 3 duplicate ACKs) ssthresh = 0.5*cwnd slow start is triggered if timeout occurs (Tahoe TCP & Reno TCP) or 3 duplicate ACKs (Tahoe TCP) How to determine TCP in slow start or congestion avoidance If cwnd <=ssthresh Ł slow statr Otherwise Ł congestion advoidance 8

Example for Slow Start and TCP Tahoe, Reno Congestion Advoidance 14 12 Congestion Window 10 8 6 4 Congestion Avoidance Slow Start Threshold Congestion Avoidance Slow Start Threshold 2 Slow Start Slow Start 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Number of Transmissions 9

Fast Retransmission Goad: quickly response to packet loss After 3 duplicate ACKs are received, retransmission for the missing segment is performed without waiting for RTO timeout For Tahoe TCP, slow start is triggered For Reno TCP, fast recovery is triggered 10

Fast Recovery Goad: to allow high throughput under minor or moderate congestion After fast retransmission ssthresh = 0.5*cwnd cwnd = ssthresh + 3 segment size Each time another duplicate ACK arrives, cwnd = cwnd + 1 segment size When an ACK for new data arrives cwnd = ssthresh begin congestion avoidance procedure 11

After fast recovery W in d o w size (seg m en ts) 10 8 6 4 2 0 0 2 4 6 8 10 12 14 Time (round trips) Receiver s advertized window After fast retransmit and fast recovery window size is reduced in half 12

Other Variations of TCP TCP New-Reno stay in fast recovery until all packet losses in window are recovered can recover 1 packet loss per RTT without causing a timeout Selective Acknowledgements (SACK) provides information about out-of-order packets received by receiver can recover multiple packet losses per RTT 13

References 1. RFC 2001 TCP Slow Start, Congestion Avoidance, Fast Retransmit and Fast Recovery 2. Simulation-based Comparisons of Tahoe, Reno, and SACK TCP, K. Fall and S. Floyd, Computer Communication Review, 1995 14