Building Network Management Tools with Tcl/Tk

Overview

Learn proven techniques for Web-enabling your network management applications - and for building tools that are extensible and easy to modify. Carefully annotated code and extensive screen captures show exactly what to expect. An accompanying Web site includes downloadable source code, new tips and insights, and much more.
Read More Show Less
... See more details below
Available through our Marketplace sellers.
Other sellers (Hardcover)
  • All (12) from $1.99   
  • New (1) from $70.00   
  • Used (11) from $1.99   
Close
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$70.00
Seller since 2014

Feedback rating:

(146)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Close
Sort by
Sending request ...

Overview

Learn proven techniques for Web-enabling your network management applications - and for building tools that are extensible and easy to modify. Carefully annotated code and extensive screen captures show exactly what to expect. An accompanying Web site includes downloadable source code, new tips and insights, and much more.
Read More Show Less

Editorial Reviews

Booknews
For anyone involved with managing TCP/IP networks, explains how to build custom network management tools using the Tcl/Tk language, and provides several complete tools. Recommends that readers be familiar with the basics of the SNMP protocol and MIBs, and use a Tcl package like Tickleman or Scotty for developing custom SNMP-based tools. Annotation c. by Book News, Inc., Portland, Or.
Read More Show Less

Product Details

  • ISBN-13: 9780130807274
  • Publisher: Simon & Schuster Adult Publishing Group
  • Publication date: 4/15/1998
  • Pages: 429
  • Product dimensions: 7.34 (w) x 9.58 (h) x 1.47 (d)

Read an Excerpt

PREFACE: Preface

I first became mildly interested in Tcl in 1993 when I was working with Digital Equipment Corporation. I was talking with Glenn Trewitt, a brilliant engineer with Digital's Western Research Laboratory, about an IP path tracing/diagnostic tool I was working on, and Glenn mentioned how he had just built an SNMP interface onto Tcl. At the time, the only thing I knew about Tcl was that it was an interpretive scripting language. I had spent the last three years programming in C and the previous eight years programming in assembly language, and the last thing I wanted to do was move to a scripting language, so I listened politely as Glenn described the interface he had built. Still, I had a great deal of respect for Glenn, great enough that I bought John Ousterhout's book Tcl and the Tk Toolkit book when it came out, but I wasn't yet motivated enough to take Tcl seriously.

At the end of 1993, I left Digtial to join LightStream Corporation. LightStream was building an ATM/Ethernet switch and I was given the opportunity to build a large bulk of the network management software. The test engineers were using Tcl/Tk to build their test platform. I was impressed with how quickly they were able to build their user interfaces using Tcl/Tk, but in my own mind, that just meant Tcl/Tk was good for building test tools. I still wasn't taking it seriously for network management. By the end of 1994, we were purchased by Cisco. As a newly appointed Cisco employee, I visited the headquarters in San Jose and had a code walk-through of the CiscoView application-written completely in Tcl/Tk. For the first time, I began to see the power of building networkmanagement applications with Tcl. A few months later, I left Cisco to join 3Com. One of the engineers in my group had discovered Scotty and wanted to develop on it (Scotty, among other things, provides an SNMP extension for Tcl). I was building a network monitoring/diagnostic tool for 3Com's LANplex switches and needed a tool to simulate the vast number of complex FDDI and system traps that the LANplex can generate, so I had this engineer build a trap simulation tool using Scotty. The tool was built quickly and was extremely powerful in how it simulated device traps. I was now more serious about Tcl.

The application I was building collected quite a bit of information from each interface on a switch and then ran the information through a series of expressions to determine how the switch was operating. The application supported up to several hundred switches at a time, and each switch could have 24-80 interfaces for which information would have to be gathered. Assuming about ten expressions per interface and a collection interval as short as 30 seconds, the application had a lot of expressions to evaluate every minute.

As an experiment, we replaced the C++ code that was performing expression evaluation with Tcl code. Performance quickly became a problem. It was just too many expressions for Tcl to keep up with. In my mind, this proved that Tcl was geared only toward a subset of tools and network management applications, and was not applicable for the large-scale network monitoring application I was working on. Besides, I was now developing in C++ and did not want to move to a scripting language.

For the next year and a half I ignored Tcl. Then I noticed Jerry Puoplo, who at the time was an engineering manager for Transcend at 3Com, building useful network management tools using Tcl with the TickleMan extensions. Mind you, this was a manager building tools at a much faster pace than any of the engineers in his group. And they were useful tools-like collecting network inventory information and performing a network discovery. It finally hit me. While Tcl may not be appropriate for large-scale applications that are computationally-intensive, it is perfectly suited for a large number of network management tools-especially the type typically built by network managers and network consultants.

My goal for this book is to help network managers and network consultants get to the point that it took me four years to get to-that very powerful and useful network management tools can be written quickly and easily with Tcl/Tk.
Dave Zeltserman

In the preface to their book, How to Manage Your network Using SNMP--The Network management Practicum, Marshall Rose and Keith McCloghrie categorized their book as a preparedness book. The topic of this book has much in common with Marshall and Keith's book: that this too is a preparedness book. It's a book to prepare you to create and maintain custom-built network management utilities.

Anyone who has worked in network operations knows that some of the best network management tools are custom-built tools developed by network managers or network management consultants. I have seen many NOCs (Network Operations Centers) and it's easy to see which ones have their heads above water and which are drowning. The ones swimming along merrily have a defined strategy for how to manage their network via management tools. Over time, they have developed a number of useful custom tools that they have integrated with their vendor-based tools.

Unfortunately, many network managers do not have a strategy for developing and evolving their own network management tools. Some may feel they don't have the skill set or largeness of scope to even think of this as they continue to fight fires without adequate tools. Others may be blindly using PERL scripts with the HP OpenView SNMP APIs without knowing of any other alternative.

You may also have the problem where your typical day at work is putting out fires and hence you never have time during your workday to be proactive. This for years delayed my progress implementing custom tools. However, all that changed when I was able to develop custom tools at home on my PC and later run the same tools at work on my UNIX management system.

Building custom management tools will empower network managers, network consultants and network support engineers. They have a wealth of useful utilities inside of them that would make them more productive if they knew how to use Tcl with SNMP extensions.

Recently, I was visiting a NOC in the midst of a major network problem. I watched the pain on the faces of the vendor's network support engineers as they tried to obtain data on device operations using a MIB browser. If those network engineers knew Tcl with SNMP, I bet one of the first things they would do is spend a few days building simple Tcl-based diagnostic tools.

This book is for them and others like them. The various sample applications it describes exist to prepare network managers, network consultants and network support engineers to build custom management utilities. Creating custom tools is both satisfying and effective in helping to manage a network.
Jerry Puoplo

NOTATION

Throughout this book we will use a Courier font for both source code listings and for commands typed at a console window. Furthermore, results for commands typed at a console will be preceded by a Þ. For example:
set x 100 Þ 100
The Tcl command in this example, set x 100, appears in the Courier font. The result for this example, 100, appears on the following line. The Þ symbol in the above example is not part of the return value. In describing Tcl command syntax, the notation, ? arg ?, denotes an optional argument. The syntax, ? arg ... arg?, denotes one or more optional arguments.

BOOK ORGANIZATION
The chapters of this book are divided into three parts. The first part describes the motivation for using Tcl to build network management tools. Chapter 1 provides a brief introduction to Tcl and describes how it can be used to help manage a network. In Chapter 2 we expand on this theme and present the sample tools that we will be building later in the book and our motivation for originally building them (most of these tools were built before we ever conceived of this book).

In Part II, we start to lay a foundation for using Tcl to build network management tools. Chapters 3 and 4 provide both an introduction to Tcl and some basic Tcl procedures that will be used later with our sample tools. Chapter 5 examines two SNMP extension packages to Tcl, TickleMan, a commercial product available from SNMP Research, and Scotty, available both commercially and in some form as a freeware product. The freeware version of Scotty can be obtained over the Internet. In Chapter 6 we build a fairly robust SNMP polling loop and show how it can be used to periodically calculate several network statistics. In Chapter 7 we start to explore Tk, and use a step-by-step approach to build a sample user interface that can serve as a template for building network management application user interfaces. In Chapter 8 we build a simple table widget that will later be used by several of our sample tools. We also further explore Tk canvases, showing how to use them to draw an IP path. We end the chapter by exploring Itcl Mega-Widgets, and show how they can be used to build the same sample user interface that was built in Chapter 7. In Chapter 9 we explore sockets, building an example of a Web-accessible server.

In Part III, we provide four useful network management tools. In Chapter 10 we build a network response time monitoring tool; in Chapter 11 we build a network discovery tool; in Chapter 12 we design a status monitoring tool; in Chapter 13 we build an IP path tracing tool; and in Chapter 14 we build a series of scripts to help in RMONv2 configuration. Chapter 15 shows how to use Tcl plug-ins to access a server application, and also provides pointers to Tcl/Tk resources and a description of future Tcl/Tk work currently underway in the industry.

BOOK THANKS We would like to thank our wives, Judy and Lucy, for their patience, support and help on this book. Thanks to all of our reviewers, but especially David Levi for his TickleMan support, Juergen Schoenwaelder for getting us an early version of Tnm 3.0, his detailed review and his help with Scotty, and Brent Welch for his detailed review and for improving several of our code examples.

Thanks to the editors and staff at Prentice Hall. Mary Franz, Noreen Regina, Kathleen Caren and all the other editors and staff involved have done an amazing job getting this book published with the incredibly aggressive schedule that we had.

Finally, we would like to thank all of the end-users and customers we have worked with over the years for helping to educate us as to what's important in managing a network.

ABOUT NET MGMT SOLUTIONS Net Mgmt Solutions provides network management tools, training, consulting services, and custom tool development. By using Tcl/Tk, we feel we can build tools that can be easily extended and modified by our customers, and can also be used as templates in building other tools.

To access the sample applications detailed in this book: From the front page of our Web-site, www.net-mgmt-solutions.com, click on Customer Login, and use the Username "book-bnmtools", Password "MRB87125Z".


Read More Show Less

Table of Contents

Preface
Ch. 1 Introduction 1
Ch. 2 Overview 7
Ch. 3 Tcl Basics 23
Ch. 4 More Tcl 57
Ch. 5 SNMP Tcl Extensions 85
Ch. 6 Building a Polling Loop 143
Ch. 7 Tk Basics 171
Ch. 8 More Tk 211
Ch. 9 Socket Programming 265
Ch. 10 A Response Time Monitoring Tool 283
Ch. 11 A Network Discovery Tool 297
Ch. 12 Status Monitoring Tool 319
Ch. 13 An IP Path Tracing Tool 331
Ch. 14 RMONv2 Configuration 357
Ch. 15 More Information 387
Appendix A 409
Index 419
Read More Show Less

Preface

PREFACE: Preface

I first became mildly interested in Tcl in 1993 when I was working with Digital Equipment Corporation. I was talking with Glenn Trewitt, a brilliant engineer with Digital's Western Research Laboratory, about an IP path tracing/diagnostic tool I was working on, and Glenn mentioned how he had just built an SNMP interface onto Tcl. At the time, the only thing I knew about Tcl was that it was an interpretive scripting language. I had spent the last three years programming in C and the previous eight years programming in assembly language, and the last thing I wanted to do was move to a scripting language, so I listened politely as Glenn described the interface he had built. Still, I had a great deal of respect for Glenn, great enough that I bought John Ousterhout's book Tcl and the Tk Toolkit book when it came out, but I wasn't yet motivated enough to take Tcl seriously.

At the end of 1993, I left Digtial to join LightStream Corporation. LightStream was building an ATM/Ethernet switch and I was given the opportunity to build a large bulk of the network management software. The test engineers were using Tcl/Tk to build their test platform. I was impressed with how quickly they were able to build their user interfaces using Tcl/Tk, but in my own mind, that just meant Tcl/Tk was good for building test tools. I still wasn't taking it seriously for network management. By the end of 1994, we were purchased by Cisco. As a newly appointed Cisco employee, I visited the headquarters in San Jose and had a code walk-through of the CiscoView application-written completely in Tcl/Tk. For the first time, I began to see the power of buildingnetworkmanagement applications with Tcl. A few months later, I left Cisco to join 3Com. One of the engineers in my group had discovered Scotty and wanted to develop on it (Scotty, among other things, provides an SNMP extension for Tcl). I was building a network monitoring/diagnostic tool for 3Com's LANplex switches and needed a tool to simulate the vast number of complex FDDI and system traps that the LANplex can generate, so I had this engineer build a trap simulation tool using Scotty. The tool was built quickly and was extremely powerful in how it simulated device traps. I was now more serious about Tcl.

The application I was building collected quite a bit of information from each interface on a switch and then ran the information through a series of expressions to determine how the switch was operating. The application supported up to several hundred switches at a time, and each switch could have 24-80 interfaces for which information would have to be gathered. Assuming about ten expressions per interface and a collection interval as short as 30 seconds, the application had a lot of expressions to evaluate every minute.

As an experiment, we replaced the C++ code that was performing expression evaluation with Tcl code. Performance quickly became a problem. It was just too many expressions for Tcl to keep up with. In my mind, this proved that Tcl was geared only toward a subset of tools and network management applications, and was not applicable for the large-scale network monitoring application I was working on. Besides, I was now developing in C++ and did not want to move to a scripting language.

For the next year and a half I ignored Tcl. Then I noticed Jerry Puoplo, who at the time was an engineering manager for Transcend at 3Com, building useful network management tools using Tcl with the TickleMan extensions. Mind you, this was a manager building tools at a much faster pace than any of the engineers in his group. And they were useful tools-like collecting network inventory information and performing a network discovery. It finally hit me. While Tcl may not be appropriate for large-scale applications that are computationally-intensive, it is perfectly suited for a large number of network management tools-especially the type typically built by network managers and network consultants.

My goal for this book is to help network managers and network consultants get to the point that it took me four years to get to-that very powerful and useful network management tools can be written quickly and easily with Tcl/Tk.
Dave Zeltserman

In the preface to their book, How to Manage Your network Using SNMP--The Network management Practicum, Marshall Rose and Keith McCloghrie categorized their book as a preparedness book. The topic of this book has much in common with Marshall and Keith's book: that this too is a preparedness book. It's a book to prepare you to create and maintain custom-built network management utilities.

Anyone who has worked in network operations knows that some of the best network management tools are custom-built tools developed by network managers or network management consultants. I have seen many NOCs (Network Operations Centers) and it's easy to see which ones have their heads above water and which are drowning. The ones swimming along merrily have a defined strategy for how to manage their network via management tools. Over time, they have developed a number of useful custom tools that they have integrated with their vendor-based tools.

Unfortunately, many network managers do not have a strategy for developing and evolving their own network management tools. Some may feel they don't have the skill set or largeness of scope to even think of this as they continue to fight fires without adequate tools. Others may be blindly using PERL scripts with the HP OpenView SNMP APIs without knowing of any other alternative.

You may also have the problem where your typical day at work is putting out fires and hence you never have time during your workday to be proactive. This for years delayed my progress implementing custom tools. However, all that changed when I was able to develop custom tools at home on my PC and later run the same tools at work on my UNIX management system.

Building custom management tools will empower network managers, network consultants and network support engineers. They have a wealth of useful utilities inside of them that would make them more productive if they knew how to use Tcl with SNMP extensions.

Recently, I was visiting a NOC in the midst of a major network problem. I watched the pain on the faces of the vendor's network support engineers as they tried to obtain data on device operations using a MIB browser. If those network engineers knew Tcl with SNMP, I bet one of the first things they would do is spend a few days building simple Tcl-based diagnostic tools.

This book is for them and others like them. The various sample applications it describes exist to prepare network managers, network consultants and network support engineers to build custom management utilities. Creating custom tools is both satisfying and effective in helping to manage a network.
Jerry Puoplo

NOTATION

Throughout this book we will use a Courier font for both source code listings and for commands typed at a console window. Furthermore, results for commands typed at a console will be preceded by a Þ. For example:
set x 100 Þ 100
The Tcl command in this example, set x 100, appears in the Courier font. The result for this example, 100, appears on the following line. The Þ symbol in the above example is not part of the return value. In describing Tcl command syntax, the notation, ? arg ?, denotes an optional argument. The syntax, ? arg ... arg?, denotes one or more optional arguments.

BOOK ORGANIZATION
The chapters of this book are divided into three parts. The first part describes the motivation for using Tcl to build network management tools. Chapter 1 provides a brief introduction to Tcl and describes how it can be used to help manage a network. In Chapter 2 we expand on this theme and present the sample tools that we will be building later in the book and our motivation for originally building them (most of these tools were built before we ever conceived of this book).

In Part II, we start to lay a foundation for using Tcl to build network management tools. Chapters 3 and 4 provide both an introduction to Tcl and some basic Tcl procedures that will be used later with our sample tools. Chapter 5 examines two SNMP extension packages to Tcl, TickleMan, a commercial product available from SNMP Research, and Scotty, available both commercially and in some form as a freeware product. The freeware version of Scotty can be obtained over the Internet. In Chapter 6 we build a fairly robust SNMP polling loop and show how it can be used to periodically calculate several network statistics. In Chapter 7 we start to explore Tk, and use a step-by-step approach to build a sample user interface that can serve as a template for building network management application user interfaces. In Chapter 8 we build a simple table widget that will later be used by several of our sample tools. We also further explore Tk canvases, showing how to use them to draw an IP path. We end the chapter by exploring Itcl Mega-Widgets, and show how they can be used to build the same sample user interface that was built in Chapter 7. In Chapter 9 we explore sockets, building an example of a Web-accessible server.

In Part III, we provide four useful network management tools. In Chapter 10 we build a network response time monitoring tool; in Chapter 11 we build a network discovery tool; in Chapter 12 we design a status monitoring tool; in Chapter 13 we build an IP path tracing tool; and in Chapter 14 we build a series of scripts to help in RMONv2 configuration. Chapter 15 shows how to use Tcl plug-ins to access a server application, and also provides pointers to Tcl/Tk resources and a description of future Tcl/Tk work currently underway in the industry.

BOOK THANKS We would like to thank our wives, Judy and Lucy, for their patience, support and help on this book. Thanks to all of our reviewers, but especially David Levi for his TickleMan support, Juergen Schoenwaelder for getting us an early version of Tnm 3.0, his detailed review and his help with Scotty, and Brent Welch for his detailed review and for improving several of our code examples.

Thanks to the editors and staff at Prentice Hall. Mary Franz, Noreen Regina, Kathleen Caren and all the other editors and staff involved have done an amazing job getting this book published with the incredibly aggressive schedule that we had.

Finally, we would like to thank all of the end-users and customers we have worked with over the years for helping to educate us as to what's important in managing a network.

ABOUT NET MGMT SOLUTIONS Net Mgmt Solutions provides network management tools, training, consulting services, and custom tool development. By using Tcl/Tk, we feel we can build tools that can be easily extended and modified by our customers, and can also be used as templates in building other tools.

To access the sample applications detailed in this book: From the front page of our Web-site, www.net-mgmt-solutions.com, click on Customer Login, and use the Username "book-bnmtools", Password "MRB87125Z".


Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)