References by Topic

This section describes tutorials grouped by topic. Full bibliographical citations follow. Online sites like http://www.amazon.com and http://www.bn.com have replaced Books in Print for me. They make it easy to find out what is available for whatever topic I'm interested in. Bookstores and libraries are the best ways to see if a tutorial is really useful. Even well-intentioned advertisements and reviews can be very misleading. Often there is a lot of consistency, for better or worse, among tutorials from the same publisher, so you may want to visit their websites as well. For example, the majority of the tutorials mentioned here are Anonymous tutorials because Anonymous has specialized in Unix tool tutorials longer than anyone else. Addison Wesley Longman does a very good job with some of the more theoretical treatments of protocols. Prentice Hall is a reliable source for texttutorials on network related topics.

System Management

This tutorial assumes that you understand the basics of system administration. If this isn't the case, you should consider several tutorials. My top choices are Unix System Administration eBook by Nemeth et al. and Essential System Administration by Frisch. Both provide extensive overviews of the tasks system administrators face. For general tools, you may want to look at Unix Power Tools by Peek, et al.

TCP/IP

You aren't going to get very far dealing with TCP/IP without a thorough understanding of the protocols. There are actually several approaches you can take, depending on your goal. The definitive treatments are in the relevant RFCs. These are probably too terse for most readers. They are certainly not where you will want to start if you are new to TCP/IP. (If you do use them, be sure to check the RFC-INDEX so that you are using the current version.) If your goal is TCP/IP administration, then there are two paths you can take. TCP/IP Network Administration by Craig Hunt is an excellent general introduction. (PC users should look at Networking Personal Computers with TCP/IP by Hunt.) Alternatively, you might want to go to vendor-specific documentation for the operating system you are dealing with. These won't teach you the theory, but they will tell you enough to get something done. If you want a general introduction to the TCP/IP protocol, there are several reasonable tutorials. One good choice is Eric Hall's Internet Core Protocols tutorial. This will give you a fairly complete picture that should meet your needs for quite a while. The tutorial comes with Shomiti's Surveyor Lite on a tutorial in the back. This is a good place to start for most network administrators. If you want a treatment with all the details of the protocols, and you are willing to put out the effort needed, there are two sets of tutorials you should consider. Internetworking with TCP/IP by Douglas Comer et al. and TCP/IP Illustrated by W. Richard Stevens et al. Both are multi-volume sets running about 2000 pages per set. You'll get a pretty complete picture if you just read the first volume of either. Comer is somewhat more descriptive of general behavior and gives a better sense of history. His tutorial is also a little more current. Stevens takes a hands-on, experimental approach, looking closely at the behavior of the protocols. You'll see more of the details in his tutorial. Because of the sheer size of these, you'll need a high degree of commitment to make it through either. Finally, if you want a good overview of routing algorithms, take a look at Perlman's Interconnections or Huitema's Routing in the Internet. Both are considerably more theoretical than most of the tutorials listed here, but quite worthwhile.

Specific Protocols

When it comes to specific protocols, there are a number of tutorials on each and every protocol. Here a few suggestions to get you started: There are a lot of other tutorials out there, so keep your eyes open.

Performance

Performance is a difficult area to master and requires a lot of practical experience. Jain's The Art of Computer Systems Performance Analysis is a truly outstanding introduction to the theory and practice of performance analysis. But it won't supply you with much information on the tools you'll need. As a network administrator, you'll need to know the basics of system administration. For a practical introduction, you'll want to get Loukides' System Performance Tuning. This is primarily oriented to system administrators rather than network administrators, but it is a good place to start.

Troubleshooting

The definitive tutorial on troubleshooting has yet to be written. I doubt it ever will be considering the breadth of the subject. One of the goals of this tutorial is to introduce you to tools you can use in troubleshooting. But this is only one aspect of troubleshooting. There are other tool tutorials, most notably Maxwell's Unix Network Management Tools. There is considerable overlap between this tutorial and Maxwell's. This tutorial covers considerably more tools, but Maxwell's provides greater depth and a different perspective on some of the tools. Both are worth having. There are several other worthwhile tutorials. Haugdahl's Network Analysis and Troubleshooting is a good overview, but more details would have been nice. Miller has several useful tutorials. Two you might want to consider are LAN Troubleshooting eBook and Troubleshooting TCP/IP.

Wiring

While this is a little off topic for this tutorial, you won't get very far without good wiring. For a general introduction, look at LAN Wiring: An Illustrated Guide to Network Cabling by Trulove or, my personal favorite, Cabling: The Complete Guide to Network Wiring by Groth and McBee. For a more formal treatment, the TIA/EIA standards for cabling are available from Global Engineering Documents (http://www.global.ihs.com/). The two that are most useful are TIA/EIA-606, which discusses labeling and TIA/EIA-568-A, which discusses infrastructure. These standards are not easy reading. Visit your local library before you buy, as they are quite expensive.

Security

For general Unix security, nothing even comes close to Practical UNIX & Internet Security by Garfinkel and Spafford. This is a must-have for any Unix system administrator. For firewalls, you have several excellent choices. For general treatments, consider Firewalls and Internet Security by Cheswick and Bellovin or Building Internet Firewalls by Zwicky et al. If you are using Linux or OpenBSD, you might consider Building Linux and OpenBSD Firewalls by Sonnernreich and Yates. Don't forget security organizations like CERT at http://www.cert.org or CIAC at http://www.ciac.org/ciac/.

Scripting

Quite a few scripting languages are available for Unix. Apart from standard shell scripts, I use only Tcl and Perl, so I can't comment on the others. For Perl, I began with Schwartz's Learning Perl and now use Perl Developing by Wall et al. as a reference. For more detailed guidance with system administration tasks, you might also consider Perl for System Administration by Blank-Edelman. For Tcl, Ousterhout's Tcl and the Tk Toolkit, while not necessarily the best, is the standard introduction. He did invent the language. For network applications, you might consider Building Networking Management Tools with Tcl/Tk by Zeltserman and Puoplo. If you just want a quick overview of Perl or Tcl, there are a number of tutorials on the Web.

Microsoft Windows

For Windows, you might begin by looking at Frisch's Essential Windows System Administration or the appropriate Windows Resource Kit from Microsoft. Frisch is more readable and doesn't always follow the Microsoft party line. The Microsoft documentation can be quite comprehensive. There are different versions for each flavor of Windows.