This is an awesome reference but I wish the code was shown as part of the tutorials. The Github code today is somewhat more complicated to follow. If you know of any tutorials that walk through a TCP/IP stack with all relevant code I'd love to hear of it.
Let's code a TCP/IP stack (2016)
41–50 of 55 posts
Re: Let's code a TCP/IP stack (2016)
#42Coming from C/C++ and Having worked for 5 years within the java world now, i must admit that the naming "conventions" and variable abbreviation in c code or more specifically Linux kernel code form a high entry barrier for me. Why is it so hard to write things out? We all look up to the various Linux philosophies (keep it simple, do one thing, etc), but to me it feels that this kind of code style is not written with…
They literally had size limits on variable names back then.
Re: Let's code a TCP/IP stack (2016)
#43Coming from C/C++ and Having worked for 5 years within the java world now, i must admit that the naming "conventions" and variable abbreviation in c code or more specifically Linux kernel code form a high entry barrier for me. Why is it so hard to write things out? We all look up to the various Linux philosophies (keep it simple, do one thing, etc), but to me it feels that this kind of code style is not written with…
Re: Let's code a TCP/IP stack (2016)
#44Earlier quoted context omitted.
ISDN was super fast - I remember playing Warcraft 2 on an ISDN connect with a friend down the street :)
growing up in the UK stuck with 56Kbps modems, when prompted to select network speeds I remember seeing things like ISDN (128Kbps) and T1/T3 Cable (1Mbps) and thinking wow, those Americans have lightning Internet
Re: Let's code a TCP/IP stack (2016)
#45This is an awesome reference but I wish the code was shown as part of the tutorials. The Github code today is somewhat more complicated to follow. If you know of any tutorials that walk through a TCP/IP stack with all relevant code I'd love to hear of it.
Re: Let's code a TCP/IP stack (2016)
#46Coming from C/C++ and Having worked for 5 years within the java world now, i must admit that the naming "conventions" and variable abbreviation in c code or more specifically Linux kernel code form a high entry barrier for me. Why is it so hard to write things out? We all look up to the various Linux philosophies (keep it simple, do one thing, etc), but to me it feels that this kind of code style is not written with…
C and Unix are from the early 1970s. They date from an era that predates the prevalence of large, bitmapped displays. There is a famous photo of Dennis Ritchie and Ken Thompson at a teletype in 1972 ( http://www.columbia.edu/cu/computinghistory/teletype/ken-and... ). When the luxuries of modern IDEs, bitmapped displays, and high amounts of untapped computational power are unavailable, the programming environment and…
But why do we still have to suffer in 2021?
Re: Let's code a TCP/IP stack (2016)
#47Notice these classic technologies. They’re SIMPLE. That got lost in later development up the stack.
Ethernet and IP are simple. But TCP is super complex to me with all the state management and buffers and sliding windows. It works well but I find it terribly daunting to dig into (I've tried a few times, and still aim to succeed sometime).
Re: Let's code a TCP/IP stack (2016)
#48Earlier quoted context omitted.
ISDN was super fast - I remember playing Warcraft 2 on an ISDN connect with a friend down the street :)
growing up in the UK stuck with 56Kbps modems, when prompted to select network speeds I remember seeing things like ISDN (128Kbps) and T1/T3 Cable (1Mbps) and thinking wow, those Americans have lightning Internet
The good thing though was that you got a guaranteed 64k rather than the vagueries of a 56k modem that in practice never actually worked at 56k, more like 30-45k depending on phone line quality.
On top of that you could (if your wallet was fat enough) get ISDN30 (E1) which was akin to a T1 but ~500k faster.
I did a fair amount of commissioning of these things back in the 90's.
Re: Let's code a TCP/IP stack (2016)
#49Is there something similar but in python or rust or go? Not really keen on reading C.
Re: Let's code a TCP/IP stack (2016)
#50Earlier quoted context omitted.
Ethernet and IP are simple. But TCP is super complex to me with all the state management and buffers and sliding windows. It works well but I find it terribly daunting to dig into (I've tried a few times, and still aim to succeed sometime).
Ethernet was simple, with VLAN.. it isn't so simple anymore..