Back when I was an undergrad, the choices were between this and Internetworking with TCP/IP by Comer. It seemed generally agreed that Stevens was better. I actually read volumes 1 and 2 of Comer, with the Xinu TCP/IP stack implementation. So, there you go.
Fast-forward a decade and a bit, and I've forgotten the low-level details of TCP/IP. They may become more relevant for my work, so I'm reading up. This time, I thought I'd go for TCP/IP Illustrated. It's a good, chunky book of 1000 pages. My policy is becoming, for such long books, to review parts at a time. I think it's only fair to review at most 500 pages at a time. :)
Anyway, I'm stopping now, shortly before it moves onto TCP - the real meat. I'm stopping partly because I'm also working on my toy TCP/IP implementation, except that's not got to the stage where I can think about implementing TCP, so I'm waiting to catch up.
Bearing in mind that I've not yet reached the "interesting" part, with all the fanciness of TCP, what do I think of the book so far? I'm mildly disappointed. It's not clean and succinct, with the style I found in Stevens's other work. Perhaps this is partly down to Fall, but I think a fair chunk is down to IPv6. The second edition adds IPv6, and boy, does it have the Second System effect.
The text feels like compact descriptions of IPv4, followed by interminable IPv6isms. The profusions of addresses are never really clear and the extra complexity over IPv4 is painful. Lots of uninteresting side protocols are discussed in enough depth to be boring, without providing enough information to comprehend them without going to other docs.
Other things just don't sit nicely with me, either. The "illustrated" part used to be about tcpdump, I believe. Now, it's mostly illustrated with screenshots of Wireshark. Useful tool - yes, something nice to look at in a textbook - no.
I strongly suspect that the first edition had Stevens's/IPv4's elegance, and the second edition, having the complexity of IPv6 rammed in by someone less skilled, is a pale shadow. My hopes are that the second part, covering TCP, will be less modified than the lower-level early parts, and that it retains more qualities of the previous edition.
Posted 2015-03-01.