Skip to main content

TCP Dynamic Behavior - Advanced

The TCP Dynamic Behavior - Advanced course builds on the basic course (here) and is designed for engineers with a good knowledge of TCP/IP that want to round up their skills and be able to design models and make predictions on dynamic behavior of the protocol as determined by the characteristics of the underlying IP network.

The course contents are summarized in the following bullets:

  1. TCP Reliability Mechanisms. Quick review of TCP mechanisms for reliability, focusing on segment exchange with losses and fast retransmissions and calculation of retransmission time-out (RTO). Useful to refresh the audience's knowledge on basic TCP working.
  2. TCP Congestion Control. Deep analysis on how TCP deals with congestion. The most widely used TCP CC algorithm, TCP Reno, is explained in detail. Alternative CC algorithms like TCP Cubic, TCP Vegas and others are mentioned. A real trace from a TCP connection is analyzed for congestion events and their consequences.
  3. Macroscopic Analysis of TCP performance. In this section the mathematical model governing TCP dynamic behavior is explained in detail. Closed formulas for congestion window size (cWnd) and available throughput as a function of round trip time (RTT) and packet loss are obtained.
  4. Queue build-up. Leveraging the model from the previous section, we'll obtain a model of end host queue build-up, obtain a closed formula for queue length as a function of packet loss and examine the consequences of end-host queues.
  5. Expected throughput, latency and jitter. Armed with the knowledge gathered in the previous sections, we learn how to obtain the theoretical throughput, latency and jitter given characterized end-hosts and IP network.
  6. End-host queues analysis using a spreadsheet. We'll introduce a spreadsheet that allows us to obtain values for additional delay introduced by end-host queues given the underlying IP network characteristics..
  7. Introduction to Wireshark scripting. Here we describe the Wireshark binding for Lua and explain how to implement our own trace analysis scripts. An example script displaying graphically a sender's congestion window size is explained.
  8. Interesting questions on TCP. We conclude the course with a number of example topologies to which we apply the knowledge obtained in order to reach conclusions on TCP performance on each topology.

The course is taught in a minimum of three hours with one 5 minutes break per hour.

Course material is free and can be found in the following link: slides

The trace from item 2 can be obtained here: trace

The spreadsheet from item 6 can be obtained here: spreadsheet

The Wireshark script from item 7 can be obtained here: script


Comments

Popular posts from this blog

TCP Dynamic Behavior

The TCP Dynamic Behavior course is designed for engineers with basic knowledge of TCP/IP that want to strengthen their knowledge and find out about the dynamic behavior of the protocol, i.e. how it behaves with respect to time. The course contents are summarized in the following bullets: TCP Basics . Quick summary of TCP principles, algorithms and interaction patterns. Useful to bring up the audience's knowledge to the level required for the rest of the course. TCP Congestion Control.  This section focuses specifically on how TCP deals with congestion. The most widely used TCP CC algorithm, TCP Reno, is explained in detail. Alternative CC algorithms like TCP Ledbat, TCP Cubic and others are mentioned. End Host characterization.  Here we explain what resources and parameters apply to an end host involved in TCP communication with a peer. Things like queues, time-outs, parameters governing TCP algorithms and host performance indicators as well as basic characterization tools