Chalmers -    
Computer Engineering

A Quick Tour Around TCP

These pages were revised in 2005 by Tom Dunigan with assistance from Fernando Cela Diaz. Evicted from in 2014, links fixed 9/8/14. Requires Java.

This is a prototype for a course on TCP internal mechanisms and is intended for showing the capabilities of the VINT/LBL/UCB ns Network Simulator for undergraduate education . In addition to the plain ns, it also uses the following tools:

The tutorial and the class RFC793edu were written for teaching Jacobson's SIGCOMM'88 Paper.

Related work

There are several initiatives for the introduction of computer network simulators in undergraduate courses; you can find here an annotated list of links.


Many thanks to Sally Floyd and to LLoyd Wood for the guidance with ns and to Ahmet Sekercioglu for his helpful comments.

This tutorial is part of an undergraduate project work done under a Socrates/Erasmus agreement program between the Chalmers University of Technology (Göteborg, Sweden) and the University of Vigo (Vigo, Spain) established by Oscar Rubiños ( The overall work was supervised by Sven Tafvelin (


  1. All the scripts used in the demonstration are self-documented. Run them without parameters once to see the available options.
  2. For the sake of simplicity, packet sizes are always taken as 1000 bytes by default. If a different packet size is used in a demonstration it is explicitly mentioned.

Suggestions and bug reports are welcome (english corrections included ;-) mail to

If you are working on simulation assignments for undergraduate education, we will be happy to know your work and ideas and to set a link to your page. Please send us an email (F. Cela:; A. Goller:


(works best with firefox)
> The Sliding-Window Flow Control: Avoid peer overloading and achieving self-clocking.
> Karn's Algorithm: Obtain more accurate RTT estimations.
> RTT Variance Estimation: Adapt to RTT changes.
> The Congestion-Avoidance Algorithm: Stabilize the system on congestion.
> The Slow-Start Algorithm: Find network capacity at the start of the connection.
> The Fast-Retransmit Algorithm: Avoid long transmission stops after a packet is dropped.
> The Fast-Recovery Algorithm: Keep the pipe full.


visitors since 5/5/05