Writing

Feed Software, technology, sysadmin war stories, and more.

Tuesday, July 2, 2013

My "good book" of TCP/IP Networking

A bunch of people have written in asking which book I was referencing in my post about simultaneous TCP opens. I should have included some links in that post. Sorry about that.

The book I had in mind was TCP/IP Illustrated Volume 1: The Protocols by W. Richard Stevens. This book came out at the very end of 1993 and I got it some time in 1994 after reading about it in Boardwatch Magazine.

Upon going to get that link to Amazon, I was surprised to discover that was updated in 2011 and now has a second edition with another author at the helm since Stevens died in 1999. I never thought of this as the sort of book which would need updating, but I guess the Internet has evolved a bit in the past 20 years. Amazing!

Back then, I also had a huge book called PC Interrupts. It talked all about the weird things you had to do to talk to DOS itself, stuff like Netware and Lantastic, and a bunch of other software which was common in that world. It all boiled down to defining values in registers like AX and BX and then kicking off a software interrupt. Then it would tell you what to expect and which registers would hold the results.

The first edition of this book included a whole section on network interrupts. By the second edition, they included a note which said that the book would have been too big to bind, and so they had to create a spin-off called Network Interrupts. Notice that these also came out in the beginning of 1994.

These three books plus a whole bunch of messing around on my home network is what taught me a lot about the logical layers of networking. I never played with raw voltage levels and other stuff at the physical layer, but just slinging packets around and watching stuff happen was quite useful in and of itself.

I've since given away the Interrupts books since I no longer develop for DOS systems, but the Stevens book has been on my bookshelf this whole time. Once in a great while I still break it out to show someone the diagrams and other bits which made it such a great reference.

It can be handy to have around when someone doesn't believe that you could possibly know what you're talking about when some aspect of TCP/IP networking comes up. Pro tip: judging someone's technical abilities based on how they look is a great way to get in trouble.