With over 1000 pages, TCP/IP Unleashed (third edition) is a big and heavy volume. It is an attempt to collect all information about the TCP/IP protocol suite and its implementation in today's operating systems.
About the authors
According to the book cover two are the authors: Karanjit S. Siyan and Tim Parker. In reality, several other people are involved in the writing of this book. At the beginning of each chapter you can see who the author is and it's soon clear that many different authors contributed. Nevertheless, Siyan and Parker are leading experts in the field, they wrote the crucial chapters in this book and both hold a Ph.D. - and that's probably enough for the editors to put them as authors on the book jacket.
Karanjit S. Siyan is a consultant and expert in computer networks, programming languages, operating systems, expert systems and databases. He teaches advanced technology seminars throughout the U.S., Europe, Japan and the Far East. Dr. Siyan is actively involved in the application of many computer science disciplines such as network operating systems, databases, programming languages, expert systems, and computer security. He is also a leading author on the subject of TCP/IP having written "Windows 2000 TCP/IP" and "Inside TCP/IP".
Tim Parker founded Timothy Parker Consulting Incorporated, a technical writing and consulting firm, more than 20 years ago. He also specializes in technical training, including several courses about TCP/IP, software development and hardware testing. He is the author of more than 2500 articles and 60 books.
Inside the book
What can you find inside this book? A great number of topics is covered, that's evident from the sheer quantity of data: 44 chapters divided into ten parts.
Part 1 - TCP/IP Fundamentals - is an introduction to the OSI model and TCP/IP networking in general. There's also a well written historical perspective and a description of the RFC (Request for Comment) publishing model.
Next part - Naming and Addressing - discusses all issues pertaining IP and hardware addressing as well as name resolution. The relevant protocols covered here are ARP/RARP, DNS, WINS and automatic configuration protocols (BOOTP and DHCP). The functionality of each one is described in fair detail.
Part 3 - IP and Related Protocols, is perhaps the core of the book. Here, the authors cover the mechanics and functionality of the most important protocols: IP and TCP/UDP. These are analysed from a layered approach; and IP packets and TCP frames are dissected field by field. Finally, a whole chapter in this part is devoted to the upcoming IPv6.
Internetworking with IP is the next part dealing with routing in IP networks and the related protocols. Connecting different networks is done by router devices and implemented via static tables or dynamic discovery algorithms (distance-vector routing and link-state routing). In this respect two of the most popular routing protocols are examined in separate chapters: Routing Information Protocol (RIP) and Open Shortest Path First (OSPF).
After covering the routing issues, the book proceeds to explain some network services (that being the title). In this fifth part rather diverse topics are discussed: from the Internet Printing Protocol (IPP), to LDAP directory services and Remote Access Protocols (PPP, SLIP, PPTP, RADIUS, etc.). Also there is a discussion of firewalls and how to enhance network security by using encryption and authentication.
Part 6, Implementing TCP/IP, is about TCP/IP configuration on today's popular operating systems. The authors have included detailed instructions on how to configure TCP and dial-up networking on Windows 95/98/NT/2000 as well as on Novell Netware and Linux machines.
Using TCP/IP Applications is the following part and it contains detailed information and instructions on using popular TCP Application layer programs such as FTP, Telnet, the R-Utilities (rsh, rlogin, rcp, etc.), whois and finger. Also, the filesystem-sharing protocols are covered at the end of this part: the Network File System (NFS) and SMB/CIFS (the filesharing protocol of the Microsoft world). NFS implementation is described in detail while SMB/CIFS for some reason got only a few paragraphs.
The next part, titled Using IP Based Applications, focuses on popular application level protocols. First of all the internet mail protocols are covered, including X.400, the pervasive SMTP, and the protocols used for mail retrieval (POP and IMAP). Next, the authors tackle the HTTP and NNTP (network news) protocols. Finally, this part is concluded with information on web servers and installation/configuration instructions for the popular Apache web server.
Part 9, Operating and Administering a TCP/IP Network, is a collection of material discussing diverse topics ranging from advanced protocol configuration and tuning on UNIX systems to troubleshooting issues and network management. The authors have included useful information on TCP/IP startup scripts (rc scripts) and configuration files on UNIX machines. Also, a chapter in this part explains how to implement a DNS server on a UNIX machine. TCP/IP management is covered with emphasis on SNMP, the network management protocol. The unavoidable topic of network security is the subject of one chapter with information on password policy, encryption and firewalls. Finally, there is a discussion of common troubleshooting procedures in a TCP/IP network - from the hardware layer up to the network and application layer.
The last part of the book contains appendixes: a list of RFCs sorted by general category and a list of abbreviations and acronyms.
What you notice after skimming through the book, is that the authors/editors had a problem with organizing the structure of the material presented. The range of topics covered is so wide that it was probably very difficult to group everything in a meaningful way. This problem is also visible from some ambiguous titles for different parts of the book - for example, "Using TCP/IP Applications" and "Using IP Based Applications", the difference is really not clear.
Furthermore, each chapter is written by a different author and so in several instances you'll find some discussions overlap and/or repeat; that's particularly true for such topics as IPv6, SNMP and firewalls.
In this respect I would consider the book more a compilation of TCP/IP related material, it is not meant to read chapter by chapter in a linear fashion, but rather consider it reference material. And it's good reference material: despite being written by different people, each chapter has a clear writing style, and wherever possible the authors included a general historical perspective on the topic covered. Moreover, most discussions go into fine detail without losing the thread and they're written in an authoritative manner by somebody who really has a firm understanding of the material.
I would recommend "TCP/IP Unleashed" as a good read, despite its drawbacks. Here you'll find everything about TCP/IP, with the exception of programming TCP based applications (that requires a separate volume). Worth having next to the RFCs :)
Reading our newsletter every Monday will keep you up-to-date with security news.
Receive a daily digest of the latest security news.