Programming the Network with Perl: A Book Review
Title: Programming the Network with PerlAuthor: Paul BarryPublisher: John Wiley & Sons, Ltd.URL: glasnost.itcarlow.ie/~pnb/index.html
The focus of Programming the Network with Perl, by Paul Barry, is the network infrastructure: packets and protocols. Perl is the tool that he uses to illustrate and manipulate the network.
Mr. Barry is a lecturer on Computer Networking at the Institute of Technology, Carlow in Ireland. His book is based upon his experiences using Perl to teach students how to program and debug network communications. He uses Perl for this so that students can devote more time to understanding the network instead of working to understand a difficult programming language.
The book consists of six chapters and five appendices. Each chapter starts by explaining the purpose of the material that will be presented. Then a sample application is presented and refined as the chapter progresses with an explanation of why each change was made. Each chapter ends with a list of web and print resources for further study and a set of exercises to test the reader's understanding of the chapter.
The applications in the book make use of several Perl modules available from CPAN as the underpinnings for network manipulation. You don't have to be a Perl expert to use this book, however. This first chapter offers a brief but useful introduction to Perl for non-Perl programmers. In addition, the programs in the book showcase useful code, such as writing to a log file and forking a process.
The second chapter covers installing the Perl modules required to work with network packets and then explains how to build a network sniffer. The sniffer application undergoes several refinements until it becomes a full-fledged network diagnostic and logging tool.
The next two chapters cover network programming with sockets and common protocols. Example programs illustrate the differences between sending data with UDP and TCP transport mechanisms. Other programs make use of the HTTP, SMTP, NNTP and Telnet protocols.
Chapter 5 deals with using Perl to manage network devices with ICMP (Internet Control Message Protocol) and SNMP(Simple Network Management Protocol). The bulk of the chapter discusses SNMP and using Perl's Net::SNMP module.
In the final chapter Mobile Agents are discussed. Mobile Agents are a combination of program and state data that can move to a machine over the network, execute on that machine and then move again. This is different than the typical client-server method, where a program runs on one machine and requests data from other machines.
My few complaints with the book really don't have anything to do with the material itself. Mr. Barry provides short instructions for downloading and installing Perl modules by hand, but he doesn't mention using Perl's CPAN module to do this automatically. I had difficulty installing the modules by hand on my machine, but I was able to get everything installed using the CPAN module. Offering this method as well in the book might help other people.
I also had some difficulty matching the sample programs downloaded from the author's web site with the programs presented in the text. In the book the program listings are broken up by text, which can make them difficult to enter. Perhaps a single program listing with a caption that matches the filenames of the downloaded programs, or at least a standard header comment in the listings supplying the program name, would help.
Programming the Network with Perl is meant to teach a programmer how to program network applications and understand the underlying network transport mechanisms. Perl is the tool by which this is accomplished. Mr. Barry provides plenty of clear explanation for each topic that he covers.
Ralph Krause (www.netperson.net/~rkrause) is a writer, computer programmer and webmaster who lives in Michigan. He has been tinkering with computers for the past 20 years and with Linux for over three years.
|Updates from LinuxCon and ContainerCon, Toronto, August 2016||Aug 23, 2016|
|NVMe over Fabrics Support Coming to the Linux 4.8 Kernel||Aug 22, 2016|
|What I Wish I’d Known When I Was an Embedded Linux Newbie||Aug 18, 2016|
|Pandas||Aug 17, 2016|
|Juniper Systems' Geode||Aug 16, 2016|
|Analyzing Data||Aug 15, 2016|
- Updates from LinuxCon and ContainerCon, Toronto, August 2016
- NVMe over Fabrics Support Coming to the Linux 4.8 Kernel
- What I Wish I’d Known When I Was an Embedded Linux Newbie
- New Version of GParted
- All about printf
- Analyzing Data
- Tor 0.2.8.6 Is Released
- Blender for Visual Effects
- Juniper Systems' Geode
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide