Modelling TCP with Markov chains

Similar documents
Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Introduction to Networking. Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Lecture 4: Congestion Control

UNIT IV -- TRANSPORT LAYER

ECE 333: Introduction to Communication Networks Fall 2001

Chapter 24. Transport-Layer Protocols

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

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

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Advanced Computer Networks

Chapter 7. The Transport Layer

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Real-Time Course. Video Streaming Over network. June Peter van der TU/e Computer Science, System Architecture and Networking

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Intro to LAN/WAN. Transport Layer

COMPUTER NETWORK. Homework #3. Due Date: May 22, 2017 in class

6. The Transport Layer and protocols

Transport Layer Review

Lecture 3: The Transport Layer: UDP and TCP

TCP/IP Protocol Suite 1

FINAL May 21, minutes

bitcoin allnet exam review: transport layer TCP basics congestion control project 2 Computer Networks ICS 651

Tuning, Tweaking and TCP

Congestion Collapse in the 1980s

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

Problem 7. Problem 8. Problem 9

image 3.8 KB Figure 1.6: Example Web Page

Transport Protocols & TCP TCP

The aim of this unit is to review the main concepts related to TCP and UDP transport protocols, as well as application protocols. These concepts are

An analytical model for evaluating utilization of tcp reno

Outline. CS5984 Mobile Computing

A Hybrid Systems Modeling Framework for Fast and Accurate Simulation of Data Communication Networks. Motivation

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

ETSF10 Internet Protocols Transport Layer Protocols

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture

TCP over Wireless PROF. MICHAEL TSAI 2016/6/3

CS 421: COMPUTER NETWORKS SPRING FINAL May 16, minutes

Networked Systems and Services, Fall 2017 Reliability with TCP

Flow and Congestion Control (Hosts)

This sequence diagram was generated with EventStudio System Designer (

Multiple unconnected networks

Chapter 5 End-to-End Protocols

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Congestion Control in Communication Networks

TRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016

Advanced Computer Networks

Congestion Avoidance and Control. Rohan Tabish and Zane Ma

05 Transmission Control Protocol (TCP)

Transport Layer (Congestion Control)

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

TCP/IP implementation within the Dartmouth Scalable Simulation Framework

CS 356: Introduction to Computer Networks. Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3. Xiaowei Yang

Outline Computer Networking. Functionality Split. Transport Protocols

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Section #6 Handout. B has processed this packet and updated its position of its sliding window. Everything is in terms of bytes.

TCP based Receiver Assistant Congestion Control

Networking Technologies and Applications

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

Transport Protocols and TCP: Review

CMPE 257: Wireless and Mobile Networking

Transport Protocols and TCP

Transport Layer. <protocol, local-addr,local-port,foreign-addr,foreign-port> ϒ Client uses ephemeral ports /10 Joseph Cordina 2005

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Announcements Computer Networking. What was hard. Midterm. Lecture 16 Transport Protocols. Avg: 62 Med: 67 STD: 13.

TCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018

COMPUTER NETWORK. Homework #3. Due Date: May 22, 2017 in class

CE693 Advanced Computer Networks

TCP HACK: TCP Header Checksum Option to improve Performance over Lossy Links

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

Router s Queue Management

Outline. Internet. Router. Network Model. Internet Protocol (IP) Design Principles

Networked Systems and Services, Fall 2018 Chapter 3

User Datagram Protocol

Context. TCP is the dominant transport protocol in today s Internet. Embodies some of Internet design principles

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.

THE INCREASING popularity of wireless networks

Sequence Number. Acknowledgment Number. Data

Transmission Control Protocol (TCP)

Computer Networking Introduction

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

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

TCP congestion control:

TCP Basics : Computer Networking. Overview. What s Different From Link Layers? Introduction to TCP. TCP reliability Assigned reading

Congestion / Flow Control in TCP

Reliable Transport II: TCP and Congestion Control

Analyzing the Receiver Window Modification Scheme of TCP Queues

King Fahd University of Petroleum and Minerals College of Computer Sciences and Engineering Department of Computer Engineering

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

a) Adding the two bytes gives Taking the one s complement gives

Improved Model for a Non-Standard TCP Behavior

CPSC 441 COMPUTER NETWORKS MIDTERM EXAM

Random Early Detection (RED) gateways. Sally Floyd CS 268: Computer Networks

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

Congestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013

Information Network 1 TCP 1/2

Transcription:

Modelling TCP with Markov chains Keith Briggs Keith.Briggs@bt.com more.btexact.com/people/briggsk2/ 2002 June 17 typeset in L A T E X2e on a linux system Modelling TCP p.1/30

Outline Markov chain basics Mini-TCP toy model Markov chain perturbations Results for mini-tcp NewReno analysis Modelling TCP p.2/30

Aims To build accurate models of various TCP algorithms To analyze them and compare mean behaviour such as throughput To study short-term behaviour (transient response) To generalize to non-markovian dynamics To design new TCPs for multicast, wireless etc. Software tool for easy analysis of modified algorithms? Modelling TCP p.3/30

TCP Sits between IP layer and applications Provides rate control and reliable transmission Full duplex Adjusts send rate to adapt to congestion and receiver buffer Adjust rate seeing only ACKs from receiver Modelling TCP p.4/30

TCP history BSD early 1980s Jacobson 1988 (old)tahoe, (new)reno, Westwood, MSWin (proprietary), Linux from BSD bugs? Modelling TCP p.5/30

TCP terminology segment (packet): 20 byte header, up to 64K bytes data window: continuous burst of segments timeout: indicates lost packet congestion window: current estimate of maximum window size to avoid congestion threshold: crossover point between slow-start (exponential) phase and congestion-avoidance phase Modelling TCP p.6/30

TCP segment header source destination sequence number acknowledgement number flags window size checksum urgent options data Modelling TCP p.7/30

Markov chain terminology 1 States : matrix of transition probabilities : positive, stochastic matrix Modelling TCP p.8/30

Markov chain terminology 2 Stationary distribution : Normalization: Fundamental matrix: To compute : find 1d kernel (rank( )=, e.g. by LU) of or iterate Modelling TCP p.9/30

! My idea: and therefore everything else depends on a loss probability, so do all calculations in computer algebra as power series in (Even the iteration!) Modelling TCP p.10/30

mini-tcp 1 Toy model to explain Markov chain method: Window if packet lost else Modelling TCP p.11/30

mini-tcp 2 (with, loss probability=, ) Modelling TCP p.12/30

mini-tcp 3 My software computes: Modelling TCP p.13/30

mini-tcp 4 My software computes: Expectation value of window size: Compare exact formula: Modelling TCP p.14/30

mini-tcp 5 4.0 3.5 3.0 E[w] 2.5 2.0 1.5 0.0 0.1 0.2 0.3 0.4 0.5 p Expected window size: exact, series, simulation *. Modelling TCP p.15/30

Sparsity 1 Do not store matrix; just compute elements as needed becomes a function Modelling TCP p.16/30

Rate of change of Recall fundamental matrix: Define group inverse of to be Then Thus can compute all required quantities Modelling TCP p.17/30

Markov chain perturbation theory 1 changed?, how is stationary distribution Entrywise: Modelling TCP p.18/30

Markov chain perturbation theory 2 tr Modelling TCP p.19/30

Example of computation of is dense! E.g. row 0: Can avoid density in practice by computing products Modelling TCP p.20/30

Example of computation of For mini-tcp: derivative of wrt : Modelling TCP p.21/30

NewReno TCP 1 State variables: second round round was : window size : first of two rounds; : lost packets in previous : backoff factor in previous Modelling TCP p.22/30

NewReno TCP 2 No packets lost: Modelling TCP p.23/30

NewReno TCP 3 One or more packets lost: Modelling TCP p.24/30

NewReno TCP 4 Exponential backoff (for ): Modelling TCP p.25/30

Sparsity 2 With, this gives 71 allowed states out of a possible states, giving a sparsity of about 5% Modelling TCP p.26/30

NewReno TCP 5 - typical output Modelling TCP p.27/30

Mean first passage time Let be the matrix whose element is the mean time for first transition from state to state. Then diag diag Mini-TCP: Modelling TCP p.28/30

Conclusion Can now analyze more-or-less automatically any TCP version Try new algorithms specialized for multicast or peer-to-peer? Modelling TCP p.29/30

References S L Campbell and C D Meyer, Generalized inverses of linear transformations, Dover 1991. J Padhye et al., A stochastic model of TCP Reno congestion avoidance and control, University of Massachusetts. CMPSCI Technical report 99-02. Modelling TCP p.30/30