News for hackers. Stuff that matters.
Re:What developers should know about TCP by commandlinefan on Friday May 15, 2020 @11:51AM (#23193604)
When I first started working with computer networks, I just thought of TCP/IP as "low-level stuff" and I focused instead on the higher level stuff. After I kept running into incomprehensible errors seemingly over and over again, I finally broke down and picked up a copy of Richard Steven's "TCP/IP Illustrated". Hands down, the best investment in time I've ever made. If you deal with distributed systems (hint, you do), you need to understand how they actually work.
Re:What developers should know about TCP by c0nsumer on Friday May 15, 2020 @12:15PM (#23193873)
A lot of benefit that I add in my day job is bridging the gap between high level folks (OS people) and what's-actually-happening-on-the-wire.

While so, so, so much of this is rarely the network, knowing how to look under the covers and see what's actually hitting the wire (versus what the API call asked for) leads to far, far faster resolution of problems.

It's frustrating to me that so many people see this as a mystery of "knowing networking" when it's really just basic protocol analysis.

Re:What developers should know about TCP by outworlder on Friday May 15, 2020 @02:10PM (#23195367)
> I focused instead on the higher level stuff.

That's fine. But every developer should have a basic understanding of networking. But that can also be dangerous.

I still have people in the company who swear you can't have more than 65k incoming connections to a machine, because "that's how many ports there are". Don't get me started on all the misconceptions on TCP_TW_REUSE AND TCP_TW_RECYCLE. Lengthy discussions because apparently "TIME_WAIT is bad and uses up ports! "(see also, 65k). For context, these are servers, with multiple clients, from different source IPs.

Re:What developers should know about TCP by rb808 on Friday May 15, 2020 @12:04PM (#23193749)
Great I thought I'll take a look. Three volumes each over 1000 pages? Any other suggestions? Did you mean all 3 books?
Re:What developers should know about TCP by commandlinefan on Friday May 15, 2020 @12:17PM (#23193887)
Hehe - I did end up reading all 3, and enjoyed them all, but I'd say I got 90% of the value from volume 1. Volume 2 walks through the BSD implementation of TCP/IP, which is fascinating, but way more detail than you'd ever need to know, and volume 3 goes off into some esoteric topics that seemed promising at the time but mostly ended up being abandoned (along with a brief discussion of HTTP as it was around the 90's).

If you're going to read it, though, find a used copy of the original Stevens' first edition, not that terrible desecrated second edition.

Re:What developers should know about TCP by Bootvis on Friday May 15, 2020 @12:25PM (#23193998)
What is wrong with the second edition?
Re:What developers should know about TCP by commandlinefan on Friday May 15, 2020 @12:32PM (#23194088)
It was rewritten by a different author (the original author, Richard Stevens, died in a car accident in the late 90's). I guess the new guy tried his best, but he just doesn't have the writing skill that Stevens had.
Re:What developers should know about TCP by kevstev on Friday May 15, 2020 @02:45PM (#23195784)
Just read the first one- it reads more like a novel than a textbook IMHO, though I may be biased- I have always been fascinated by networks and when I was coming of age this was the "high tech" of the time- I used to read RFCs for fun (I highly recommend this as well if you want to dig a little deeper- Jon Postel's are great reads).

This is one of the best written textbooks, if not the best, I have ever read.

Re:What developers should know about TCP by rramadass on Saturday May 16, 2020 @12:03AM (#23200398)
No. They are huge because they are highly detailed and nitpicky. I suggest the following for understanding Networking and TCP/IP;

* An Engineering Approach to Computer Networking: ATM Networks, the Internet, and the Telephone Network by S.Keshav

* TCP/IP Illustrated Vol -I by Richard Stevens (any edition will do).

* Effective TCP/IP programming by Jon Snader.

Re:What developers should know about TCP by tenant on Friday May 15, 2020 @12:18PM (#23193913)
Depressing, isn't it? There are so many books that I probably should read about almost any number of topics that, in my work, I "touch on".
Re:What developers should know about TCP by irrational on Friday May 15, 2020 @01:39PM (#23194950)
I have books that I purchased decades ago like this that are still languishing on my bookshelf.
Re:What developers should know about TCP by rb808 on Friday May 15, 2020 @12:31PM (#23194079)
Lol I'll probably buy it and put on my bookshelf with all the others.
Re:What developers should know about TCP by hilem on Friday May 15, 2020 @12:21PM (#23193947)
Not OP but the first volume is the one that's cited frequently and the only one of the series I believe to have a second edition.
Re:What developers should know about TCP by non-entity on Friday May 15, 2020 @12:21PM (#23193946)
Is this still a reccomend book? I was looking for a good TCP/IP reference book, but many seemed rather old. Of course, I imagine protocols like that dont get modified too much.
Re:What developers should know about TCP by commandlinefan on Friday May 15, 2020 @12:31PM (#23194073)
Well, it's definitely out of date: the first edition predates even IPv6 (and the second edition is awful, don't buy it). Still, the way it's laid out is so well done that once you understand how TCP/IP worked in the mid-90's, you'll easily be able to work out the evolution of it since on your own. It's a shame there's no better up-to-date book, but Stevens was one-of-a-kind. The Comer book isn't bad (but it's not really good, either), and the Kurose & Ross book is less not bad (and more not good), but even though both are more modern, I'd still recommend TCP/IP Illustrated to really understand what's going on in the network stack.
Re:What developers should know about TCP by travmatt on Friday May 15, 2020 @12:42PM (#23194211)
I just finished Kurose’ “Computer Networking: A Top-Down Approach” and I’d recommend it.