TCP/IP is the protocol suite that runs almost every network environment today. Consequently there are tons of books about TCP/IP - some deal with network implementation issues, some with applications, others are about security implications, and still further you can find books on protocol theory and protocol analysis. Finally there are books which try to give you an overview, a starting point on everything there is to know about TCP/IP. "TCP/IP Bible" is one such book. Who are the authors and have they done a good job?
About the authors
The book is written by a team of 5 authors: Rob Scrimger, Paul LaSalle, Mridula Parihar, Meeta Gupta and Clay Leitzke. All of them are network specialists, hold various certifications in networking topics (mainly from the Microsoft certification programme), and work as trainers and educators. The Indian pert of the team (Parihar and Gupta) work for India's leading IT training and education company NIIT Ltd.
Inside the book
As one would expect from people with extensive experience in teaching and training, the book offers a clear writing style and a systematic presentation of the topics - as is evident from a first glance inside its covers.
The book is organized in four parts, each with several chapters covering individual topics.
Part I - Understanding TCP/IP Communications, deals with the various layers of the TCP/IP stack. First, the OSI reference model is introduced and then you see how this translates in practice into the TCP/IP stack model. Each chapter in this part covers a particular layer of the stack: physical, network, internet, transport and application.
In Part II - Working with TCP/IP, you get all the information needed to install and configure TCP/IP on today's most popular operating systems. The authors included instructions for manual configuration on a typical Linux distribution, as well as on all the Windows systems from Microsoft.
Automatic configuration is examined next. Here you'll find information on protocols for automatic configuration of TCP/IP nodes: Bootstrap protocol (BOOTP) and Dynamic Host Configuration Protocol (DHCP). Closing part II is a chapter on naming and name resolution issues. The local HOSTS file, DNS, NetBIOS naming and WINS are crucial topics when designing a network, and in this chapter you'll get an overview of these topics as well as some implementation details (for ex. configuring DNS on Windows 2000).
Part III - Common TCP/IP Applications is about the most popular applications that run on TCP/IP. But first of all, the authors examine the issues with providing internet access to your network. Private network addressing is covered as well as guidelines for designing a private network. Since connecting a network to the internet is a high security risk, the authors included overviews of firewalls (from simple packet filters to stateful packet inspection firewalls and applications proxy firewalls), network address translation (NAT), VPNs and tunneling protocols. You will notice these are the features integrated in most security appliances now available on the market.
The next chapters cover the individual applications:
- file utilities (NFS, DFS, FTP);
- remote command utilities (telnet, remote login, remote shell, secure shell, remote execute and terminal servers);
- printing over the network (configuring network printing both in the Linux and MS world);
- www applications and protocols (covers overviews of HTML, HTTP, web servers and related technologies);
- mail and news (SMTP, POP, IMAP, NNTP protocols are covered here, including an introduction to how the mail process works);
- enterprise information services (this is the chapter about network directory services; the X.500 standard, LDAP, Network Information Service and Active Directory are introduced).
The following chapters are devoted to troubleshooting network and connectivity problems and monitoring TCP/IP networks (including tools for packet capture i.e. sniffers). Particularly useful here is a dissection of the typical network troubleshooting process. Finally, the last chapter is about technologies that are just being introduced or will be in the near future: IPv6, TCP/IP in the wireless world, and smart appliances.
After reading the book, what are my thoughts?
TCP/IP Bible is perhaps an unfortunate choice for a title. In fact, the book contains instructions and guidelines for setting up a whole network, from the physical assemblage to the implementation of various network based services in an organization. It is not merely about the TCP/IP protocol suite, it contains much more.
Trying to round up and collect all there is to know about TCP/IP networking into a single volume, seems like a monstrous task. Yet, the authors managed to do just that, in a very accessible way. On the other hand, most of the topics covered are treated only as an overview or introduction to the subject. If there was a detailed discussion of each topic, the book would be 10 times longer (and heavier), not the 600 pages you get with this volume. Therefore my suggestion is: don't read this book if you seek detailed discussion of TCP/IP protocol suite inner workings.
I couldn't really decide whom the book was intended for. The publisher advertises it as suitable for all reader levels, from beginning to advanced. Maybe the best answer is given by the authors themselves: they acknowledge the book is intended as a primer, a starting point on the TCP/IP protocol. And in this sense it's a very good book, especially for those who have already started working with TCP/IP, perhaps implemented a simple network and some basic services, but want to find out what else is there to know. As for intermediate and advanced users, this book can be at best a reference on TCP/IP, not a source of in-depth knowledge.
The authors did a particularly good job in explaining the "theoretical" part of TCP/IP - the OSI model and its correspondence to the TCP/IP layers. This may seem like esoteric stuff, but in order to gain a deeper understanding of how networking really works, some theoretical background is indeed required. And this knowledge will certainly pay off as better analytical and troubleshooting skills, essential for IT staff. Also, the authors have invested an effort to cover both the Linux and the Windows world, especially when providing information on configuring various TCP/IP-based services and applications.
This book is a Bible in the sense it provides basic knowledge on TCP/IP related technologies. It's a very good primer, but for further enlightenment you'll have to explore further, perhaps choose a more specialized book.