Adarsh wiki's - adarshdbg/Implementation-of-TCP-Tahoe-in-ns3 GitHub Wiki

Welcome to the Implementation-of-TCP-Tahoe-in-ns3 wiki!

WEEK 0(23 SEP-30 SEP)

I started working on the Implementation of TCP Tahoe in ns3.

Download ns-3.23 from(https://www.nsnam.org/releases/ns-3-23/)

Create Public repo on Github for this Project.

WEEK 1(30 SEP -6 OCT)

Read the Paper on the Topic of Simulation-based Comparisons of Tahoe, Reno, and SACK TCP (https://www.icir.org/floyd/papers/sacks.pdf)

We get from Paper That, Restrictions imposed by the lack of selective recognition TCP implementation, Consolidate selective confirmation into Reno TCP Make minimal changes to the TCP base Congestion control algorithm.

Read the code of TCP Tahoe in ns-3.23 from (ns-allinone-3.23/ns-3.23/src/internet/model/tcp-tahoe.cc)

Read the difference between TCP socket_base code in ns-3.23 and ns-3.27

WEEK 2(6 OCT - 13 OCT)

Starting the learning and reading the information for creating a new TCP extension in ns3. It helps to implementation TCP Tahoe in the latest version of ns3.

(https://vimeo.com/223666358) && (https://slideplayer.com/slide/14693283/)

From this, I get knowledge about the Implementation of TCP in ns3.In ns3 we have different classes define for any modification in TCP like we have TCP header class, TCP socket class, TCP socket base class, TCP congestion ops class, etc. every class has a different function defined in the class like-: TCP header-It contains all the prerequisites like-port no, sequence no, etc. The two most important classes are defined the first one is TCP socket base class and the Second one is TCP congestion ops class these are important for creating a new TCP extension.

TCP socket base class-

Connection orientation, sliding window, fast retransmit and recovery, congestion state machine, congestion control interface.

TCP Congestion ops class-

Get ssthresh(get slow start threshold), increasing window, congestion state set, pkts acked.

Steps to add new TCP extension in ns3 (https://www.pastepic.xyz/image/whatsapp-image-2019-10-13-25342-pm.SFKed)

WEEK 3(13 OCT - 20 OCT)

Read about TCP Tahoe congestion control and their algorithm from (https://www.youtube.com/watch?v=6_w1vcoNjPM) and (https://www.youtube.com/watch?v=LeaUlxzBA5Y&t=360s), and read the difference between tcp variants.

TCP Tahoe =Slow start + AI + Fast retransmit

TCP Tahoe FSM (https://grafnet.files.wordpress.com/2017/12/tahoefsm.png)