APRIL 23, 2018
TAGS
Hie
This semester I did my Advanced Computer Networks project on Linux TCP. It was implementing TDCTCP in Linux Kernel. There wasn’t any great outcome of this project output wise, which I’m sad of. But the good news that this project taught a great deal about the workings of TCP in Linux. So, I thought I’ll compile the resources I used as reference so that it will be useful for me in future or for someone else.
The Source
While getting to know the Linux TCP, I always had to open up the code and read it in order to understand. The Elixir Cross Referencer is a great tool for this. It has built in search for identifier, so every definition is just a click away. So here is the first resource:
May the source be with you.
TCP Internels
In order to implement a TCP, there are few basic functions that we can plug in to the TCP structure. For example, what should our TCP do when there is an acknowledgement packet, or a packet loss. These plug and play functions are properly explained in the next resource and also when these functions are called.
TCP Mini Tutorial
Along with functions, TCP also has some variables which are used now and then. The next resource has explanation to the data structures used in TCP, it also has some information on the previously discussed function.
Linux TCP Implementation Book
This is the best resource I’ve found for Linux TCP. I would recommend this if you wan’t to start with Linux TCP. This book contains explanation for each and every part of TCP. It also has some imformation on Linux kernel level basics. The best thing of this book is, it provides code snippets along with the explanation. I’ve given direct link to PDF.
I hope you find this compilation useful. If you wan’t me to add something to this compilation, please feel free to message or comment.