Andrew Tenanbaum is one of the most prolific writers I’ve ever seen. He has written books on Distributed Operating Sytems, Computer Organisation, Operating Systems and Computer Networks.
Tanenbaum's Computer Networks is a good, solid introductory textbook on networking suitable for those with a computing background, either university students or computer professionals. I learned my basic networking from it six years ago and have been using it as a reference ever since. It uses a layer-based approach, starting at the bottom and working upwards. A very a wide range of material is covered; there is even an appendix on queuing theory.
The Introduction chapter gives a brief introduction about uses of computer networks, networking hardware, software, reference models and example networks like APRANET, NSFNET etc. A major difference between the 2nd and the 3rd edition is the shifting of focus from OSI model to TCP/IP model reflecting modern scenario.
The second chapter deals with the physical layer and gives information about the types of transmission media, wireless transmission, ISDN, cellular radio and communication satellites.
The third chapter deals with the data link layer and discusses the design issues, error detection, error correction, protocols, protocol specification and verification using Finite State Machine Models and Petrinets and example data link layer protocols.
The fourth chapter deals with the Medium Access Sublayer and gives information about the various protocols, IEEE standards( 802.3, 802.4, 802.5, 802.6 etc), bridges, LANS and satellite networks. The fifth chapter dealing with the network layer discusses design issues, routing algorithms, congestion control, inter-network, the network layer in internet and ATM networks.
The chapter on Transport layer deals with transport service, TCP, UDP, ATM AAL protocols and performance issues. The last chapter( Application layer) is very interesting and deals with security, DNS, SNMP, e-mail, WWW, cryptography and multimedia. Each of the chapters has been explained in a very down-to-earth style. The language is easy to follow.
In addition each chapter has a short summary followed by a large set of problems. The problem set is very useful. The only drawback is the lack of a solution manual to the problem sets.In case one wants to follow up a certain chapter a suggested reading list is provided.
To sum up, I’d say that this book is an excellent introductory book to computer networks. Plus points: excellent explanation, reasonably priced, good problem set. Minus points: needs a solution manual :D
Computer Networks is still one of the best general texts on networking I know of, however, and it deserves to survive to a fifth edition.
Thank you Dr Andrew S Tanenbaum!