Chapter 5 TCP Sliding Window. Networking CS 3470, Section 1

Similar documents
2 TCP-like Design. Answer

Professor: Ian Foster TAs: Xuehai Zhang, Yong Zhao. Winter Quarter.

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

Chapter 6 Congestion Control and Resource Allocation

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

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

Applications. Network Application Performance Analysis. Laboratory. Objective. Overview

Prefix AggregaNon. Company X and Company Y connect to the same ISP, and they are assigned the prefixes:

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

Sample Network Analysis Report

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

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

CMPE 150 Winter 2009

Data Networks Summer 2007 Homework #3

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

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

Computer Networks UDP and TCP

Computer Networks. Data Link Layer

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

Transport Layer Protocols

Higher Layer Protocols: UDP, TCP, ATM, MPLS

TCP in Wireless Mobile Networks

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

Internet Packets. Forwarding Datagrams

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

Advanced Computer Networks Project 2: File Transfer Application

Network Security TCP/IP Refresher

This sequence diagram was generated with EventStudio System Designer (

RTT 60.5 msec receiver window size: 32 KB

[Prof. Rupesh G Vaishnav] Page 1

Computer Networks. Chapter 5 Transport Protocols

COMP 361 Computer Communications Networks. Fall Semester Midterm Examination

Digital Audio and Video Data

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

Final for ECE374 05/06/13 Solution!!

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

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

Stop And Wait. ACK received; transmit frame 2 CS 455 3

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

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

Access Control: Firewalls (1)

Introduction, Rate and Latency

Ring Protection: Wrapping vs. Steering

TCP Westwood for Wireless

Mike Canney Principal Network Analyst getpackets.com

Transport layer protocols for ad hoc networks

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

Data Communications & Networks. Session 6 Main Theme Reliable Data Transfer. Dr. Jean-Claude Franchitti

Transport Layer and Data Center TCP

File Transfer Protocol (FTP) Throughput Testing by Rachel Weiss

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

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

Strategies. Addressing and Routing

High-Speed TCP Performance Characterization under Various Operating Systems

Per-Flow Queuing Allot's Approach to Bandwidth Management

TCP in Wireless Networks

Chapter 5. Transport layer protocols

Low-rate TCP-targeted Denial of Service Attack Defense

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

Effects of Filler Traffic In IP Networks. Adam Feldman April 5, 2001 Master s Project

Mobile Communications Chapter 9: Mobile Transport Layer

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

Improving our Evaluation of Transport Protocols. Sally Floyd Hamilton Institute July 29, 2005

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

Application Note. Windows 2000/XP TCP Tuning for High Bandwidth Networks. mguard smart mguard PCI mguard blade

TCP Adaptation for MPI on Long-and-Fat Networks

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

TCP for Wireless Networks

A Transport Protocol for Multimedia Wireless Sensor Networks

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

High Performance VPN Solutions Over Satellite Networks

Introduction VOIP in an Network VOIP 3

Transport Layer. Chapter 3.4. Think about

High Speed Internet Access Using Satellite-Based DVB Networks

Ethernet. Ethernet Frame Structure. Ethernet Frame Structure (more) Ethernet: uses CSMA/CD

q Connection establishment (if connection-oriented) q Data transfer q Connection release (if conn-oriented) q Addressing the transport user

Sting: a TCP-based network measurement tool

Visualizations and Correlations in Troubleshooting

Frequently Asked Questions

Multipath TCP in Practice (Work in Progress) Mark Handley Damon Wischik Costin Raiciu Alan Ford

Module 2 Overview of Computer Networks

Network Performance: Networks must be fast. What are the essential network performance metrics: bandwidth and latency

EXAMPLES AND PROBLEMS. Competence Based Education Internet Protocols

Computer Networks Homework 1

Split TCP for Mobile Ad Hoc Networks

ITL Lab 5 - Performance Measurements and SNMP Monitoring 1. Purpose

D1.2 Network Load Balancing

Ethernet. Ethernet. Network Devices

RFC 6349 Testing with TrueSpeed from JDSU Experience Your Network as Your Customers Do

Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer)

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

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

Passive Aggressive Measurement with MGRP

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

TCP Behavior of a Busy Internet Server: Analysis and Improvements

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

GATE CS Topic wise Questions Computer Network

A Survey: High Speed TCP Variants in Wireless Networks

IP Subnetting and Addressing

Transcription:

Chapter 5 TCP Sliding Window Networking CS 3470, Section 1

Sliding Window Remember this? What was it useful for?

Sliding Window Revisited TCP s variant of the sliding window algorithm, which serves several purposes: (1) it guarantees the reliable delivery of data, (2) it ensures that data is delivered in order, and (3) it enforces flow control between the sender and the receiver. (Same as Chapter 2 for (1) and (2), but adds flow control.)

Sliding Window Revisited Rather than having fixed-size sliding window, receiver advertises a window size to the sender AdvertisedWindow field in TCP header Sender is limited to having no more than AdvertisedWindow bytes of unack ed data at any given time Receiver selects this value based on amount of memory allocated to connection 4

Sliding Window Revisited Sender Receiver Sender side LastByteAcked <= LastByteSent LastByteSent <= LastByteWritten

Sliding Window Revisited Sender Receiver Receiver side Less intuitive because of the problem of out-oforder delivery

Sliding Window Revisited Sender Receiver Receiver side LastByteRead < NextByteExpected NextByteExpected <= LastByteRcvd +1

TCP Flow Control - Receiver Receiver throttles the sender by advertising a window that is no larger than the amount of data it can buffer Receiver advertises following window size: AdvertisedWindow = MaxRcvBuffer ((NextByteExpected -1) LastByteRead) Represents amount of free space remaining in its buffer

TCP Flow Control - Receiver Size of AdvertisedWindow depends on how fast local application process is consuming data Window shrinks when NextByteExpected moves ahead faster than LastByteRead Window stays open when NextByteExpected moves at same rate of LastByteRead 9

TCP Flow Control - Sender TCP on sender must adhere to the advertised window it gets from the receiver. Must ensure that LastByteSent LastByteAcked <= AdvertisedWindow 10

TCP Flow Control - Sender EffectiveWindow is amount of data that it can still send EffectiveWindow = AdvertisedWindow (LastByteSent LastByteAcked) Must be > 0 to send any data 11

TCP Flow Control - Sender TCP will block sending process if it tries to send more data than what fits in the effective window What happens when AdvertisedWindow is 0, and sender is not allowed to send any more segments? 12

Sequence Number SequenceNum field contains the sequence number for the first byte of data carried in segment Important for?? 13

Sequence Number SequenceNum field contains the sequence number for the first byte of data carried in segment Important for Detecting dropped packets Detecting out of order packets Flow control 14

TCP seq. # s and ACKs Seq. # s: byte stream number of first byte in segment s data ACKs: seq # of next byte expected from other side cumulative ACK Q: how receiver handles out-of-order segments A: TCP spec doesn t say, - up to implementer User types C host ACKs receipt of echoed C Host A Host B simple telnet scenario host ACKs receipt of C, echoes back C time

Protecting against Wraparound Relevance of the 32-bit sequence number space The sequence number used on a given connection might wraparound A byte with sequence number x could be sent at one time, and then at a later time another byte with the same sequence number x could be sent

Protecting against Wraparound Packets cannot survive in the Internet for longer than the TCP Maximum Segment Lifetime (MSL), which is 120 sec We need to make sure that the sequence number does not wrap around within a 120-second period of time Depends on how fast data can be transmitted over the Internet 17

Protecting against Wraparound How many bytes of transferred data does the 32-bit sequence number represent? 18

Protecting against Wraparound How many bytes of transferred data does the 32-bit sequence number represent? 2 32 bytes are represented 4 GB of data can be sent! 19

Protecting against Wraparound Time until 32-bit sequence number space wraps around. TCP extension is used to extend sequence number space

Figuring out Wraparound Time 2 32 B / bandwidth (in Bytes) How long for wraparound on 2.5Gbps network (OC-48)? Convert bandwidth to Bytes 2.5 Gbps / 8 = 0.3125 GBps * 10 9 = 312,500,000 Bps 2 32 B / 312,500,000 Bps = 14 sec (Can also use 2 30 instead of 10 9 ) 21

Keeping the Pipe Full 16-bit AdvertisedWindow field must be big enough to allow the sender to keep the pipe full If the receiver has enough buffer space The window needs to be opened far enough to allow a full delay bandwidth product s worth of data Assuming an RTT of 100 ms (typical crosscountry connection in US)

Keeping the Pipe Full Required window size for 100-ms RTT. Uh oh 16 bit field only allows us to advertise a window of 64KB (2 16 = 65536 B = 64KB) TCP extension is used to extend AdvertisedWindow