TCP Implementation in NET/IPV4 Module of Linux Kernel


We are studying the source code of TCP implementation in the Linux kernel. Some common algorithm can be found in the following source file.

1. TCP Slow Start and Congestion Avoidance (RENO)
# net/ipv4/tcp.c

2. TCP Timeout Parameters
# include/net/ipv4/tcp.h

3. RTO Exponential Backoff
# net/ipv4/tcp_timer.c

4. Default Congestion Control Algorithm (CUBIC)
# net/ipv4/tcp_cubic.c

5. Explicit Congestion Notification
# net/ipv4/tcp.c

6. Sysctl Parameters
# include/net/ipv4/tcp.h

7. Explicit Congestion Notification
# net/ipv4/tcp.c

8. Lower-level Packetizing
# net/ipv4/tcp.c