B.2. References by Topic
This section describes books 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 book 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 books
from the same publisher, so you may want to visit their web sites as
well. For example, the majority of the books mentioned here are
O'Reilly books because O'Reilly & Associates has
specialized in Unix tool books 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
textbooks on network related topics.
B.2.1. System Management
This book assumes that you
understand the basics of system administration. If this isn't
the case, you should consider several books. My top choices are
Unix System Administration Handbook 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.
B.2.2. 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 books. One good choice is Eric Hall's
Internet Core Protocols: The Definitive Guide.
This will give you a fairly complete picture that should meet your
needs for quite a while. The book comes with Shomiti's Surveyor
Lite on a CD-ROM 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
books 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 book 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 book. 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 books listed here,
but quite worthwhile.
B.2.3. Specific Protocols
When it comes to specific protocols, there are a number of books on
each and every protocol. Here a few suggestions to get you started:
- DNS
-
For name services, DNS and BIND by Liu et al. is
the standard.
- Ethernet
-
For a complete overview of Ethernet, the place to start is
Spurgeon's Ethernet: The Definitive Guide.
For Fast Ethernet and Gigabit Ethernet, you may want to add
Gigabit Etherenet by Kadambi et al. to your
collection.
- Email
-
Basic administration is discussed in the books listed under system
administration and will probably meet your needs. The most commonly
cited book on sendmail is
sendmail by Costales et al. For IMAP, you might
consider Managing IMAP by Mullet and Mullet.
- NFS
-
For NFS, you have a couple of choices. If you want to understand the
inner working, consider Callaghan's NFS
Illustrated. If you want to get NFS working, consider
Stern's Managing NFS and NIS.[45]
- PPP
-
PPP Design and Debugging by Carlson is the best
book on the internals. Sun's Using & Managing
PPP is the place to turn to get PPP up and running.
- SNMP
-
There are a number of books on SNMP, none perfect. I think
Held's LAN Management with SNMP and RMON
and Network Management: A Practical Perspective
by Leinwand and Conroy are readable introductions. Udupa's
Network Management Systems Essentials does a
very nice job of describing the standard MIB objects but is awfully
dry reading. You may also want to visit http://www.simple-times.org/, an online
magazine devoted to SNMP. If you are using Windows, you'll want
to consider Murry's Windows NT SNMP.
- SSH
-
Get Barrett and Silverman's SSH, the Secure Shell:
The Definitive Guide.
- Web protocols
-
For an overview of a number of web services, consider getting
Managing Internet Information Services by Liu et
al.
There are a lot of other books out there, so keep your eyes open.
B.2.4. 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.
B.2.5. Troubleshooting
The definitive book 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 book
is to introduce you to tools you can use in troubleshooting. But this
is only one aspect of troubleshooting. There are other tool books,
most notably Maxwell's
Unix Network Management
Tools. There is considerable overlap between this book and
Maxwell's. This book 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 books. Haugdahl's
Network Analysis and Troubleshooting is a good
overview, but more details would have been nice. Miller has several
useful books. Two you might want to consider are
LAN
Troubleshooting Handbook and
Troubleshooting
TCP/IP.
B.2.6. Wiring
While this is a little off topic for
this book, 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.
B.2.7. 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/.
B.2.8. 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
Programming Perl 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.
B.2.9. Microsoft Windows
For Windows, you might begin by
looking at Frisch's
Essential Windows NT 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.
| | |
B. Resources and References | | B.3. References |