Review of Building Network Management Tools with Tcl/Tk

Building Network Management Tools with Tcl/Tk
Dave Zeltserman and Gerard Puoplo
Prentice Hall

Reviewed by Nick Christenson,

October 22, 1998

Most system and network administrators I know are not completely satisfied with their current network management platform and its implementation on their network. Given the extreme complexity of these systems, and the high barrier to entry for even the most popular off-the-shelf packages, this isn't terribly surprising. For many, the high end packages are out of their price range and they need to find some way to roll their own system. Whatever the reason, a lot of network managers have come to the realization that they need to do a lot of significant customization to their network monitoring/management system, if not write a great deal of it themselves, in order to accommodate their needs. This book provides information on an approach that will appeal to a sizeable class of sites that need to build part or all of their network monitoring/management solutions themselves.

For those that are looking to roll one of these systems themselves, Tcl, along with its extensions, is one of the more popular languages with which folks work. This is because the language is easily extensible, it is easy to create a GUI using the Tk extension, and two extensions are available, the commercial TickleMan and the free and commercial Scotty, which add SNMP capability to the core language. This book details how to build SNMP and RMON applications using the extended Tcl language.

The book starts with a few chapters introducing the reader to the Tcl language. An understanding of SNMP is already assumed. If the prospective reader is not already familiar with SNMP, it is unlikely that they will gain significant understanding from this book. I believe they would be well advised to read something like How to Manage Your Network Using SNMP by Marshall Rose and Keith McCloghrie first.

Even though four chapters are devoted to the basics of Tcl, I believe that the Tcl novice will not really be prepared for succeeding chapters. Instead, I would have to recommend that one already have direct experience programming with the language or to have read a book like Osterhout's Tcl and the Tk Toolkit or Welch's Practical Programming in Tcl and Tk before diving in. However, for those familiar with Tcl, the early chapters of Building Network Management Tools with Tcl/Tk serve as a good review for the parts of the language that will be extensively used in the rest of the book. In fact, some of the ways in which even familiar commands were used were fresh to me.

Next, the authors discuss the particulars of the two Tcl SNMP extensions available, TickleMan and Scotty. They choose to emphasize TickleMan in their applications, which I think is a little unfortunate since a open source version of only Scotty is available, but the distinctions between them are in mechanism rather than functionality, so it isn't too hard to translate between them.

After this, we get several chapters discussing Tk particulars, again, useful as a review and application of the SNMP functions, but not sufficient for a beginner to learn the language. Then the book gets into a chapter on programming with sockets in Tcl. What follows are four chapters each detailing the construction of a tool to accomplish some particular task, and the book concludes with a chapter discussing RMONv2 particulars and a chapter on ancillary information. Full source code to these tools are available in the text, and instructions are provided on how to download current versions of these tools from the Internet.

I came to this book well prepared for and extremely interested in the topic at hand. Unfortunately, despite my initial enthusiasm, I don't think the book is very well written. The writers jump quickly from the most rudimentary one line examples into full blown applications, and I don't think the leap serves the reader well. At various times concepts and commands are introduced without being explained, and even when they are explained, I believe these are not always terribly useful to the reader.

It seems to me that the applications the book discusses were probably written before the book, and the book itself appears to have been written to explain the process by which these specific sample applications were built. Unfortunately, in my opinion, this does not mesh well with what the reader likely wants to learn on the subject. I believe less versatile but shorter programs that more clearly demonstrate how one can extract a particular piece of information using the SNMP capable extensions to Tcl would be more useful to impart understanding of the processes.

On the other hand, I still believe the topic is interesting, and I learned enough from the book that a certainly don't regret purchasing and reading it. Building Network Management Tools with Tcl/Tk fills a vacuum, but not nearly as well as I would hope. Also, I highly recommend that the prospective reader be quite familiar with both the Tcl language and SNMP before diving into this book.


Although I don't feel this is a particularly well written book, I do think the topic is of considerable interest to a wide audience of computing professionals. Therefore, if the reader is interested in building network management tools using Tcl/Tk, this book may be helpful, even though I believe it could have been a lot better. One final warning, I wouldn't recommend this book to anyone who does not already have a fairly thorough understanding of the Tcl language and SNMP basics.

Click here to return to the index of reviews.