Tanenbaum's book is one of the most popular textbooks on computer networks. I recall the course I took in the Technion (044334) a few years back used it as a textbook as well. Recently, I found myself referring to the book a couple of times for work, and decided to go over it more thoroughly, at least over the good parts (a 850-page textbook is difficult to read cover to cover).

I've always been fascinated with networks, and the layered design of the internet is something I can't stop admiring. Tanenbaum does a good job comparing the various alternatives of network design and provides insightful historic background to the decisions made on the way to make the Internet of today.

All in all, the book is very good. However, it's so large and its scope is so wide that it's fairest to judge parts of the book separately. For instance, I really liked chapters 2-4 which talk on the Physical, Data link and MAC layers. Chapter 5 - the network layer, is mostly interesting for people designing or analyzing routers. Chapter 6 is also pretty good in the general sense.

After that, however (chapter 7 and later) I found the book very boring. Tanenbaum seems to have fallen to the marketing hype, spending pages upon pages explaining XML, Video compression, MP3, HTML, encryption, the workings of JPEG and many other unrelated topics. Are these connected to computer networks? Well, yes, in some way. Do they belong in a textbook on computer networks? IMHO no. As far as I'm concerned, Tanenbaum could've slapped half of his "Operating Systems" book to the end of this one (to increase the page count, which seems to have been one of the goals) with more relevance.

This isn't to say that the book isn't worth it. It's a great resource for understanding networks. About 2/3 of the book is really good stuff. The rest is paper-weight.