Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I understand the basics of networking such as Lan and stuff. I know what many of the protocols are and how to build a client/server socket program in C. But what I really want is a very good understanding of how networks actually work. Not only from a programming aspect but also from a application aspect. I am looking for some material(preferably a book) which will give me a very good foundation to go off of. I am in the middle of wanting to be a programmer or a UNIX admin, so I really should learn and know how to apply networking fundamentals.

Does any such a concise resource exist? Would it be better going the more academic route by buying a networking book(such as those from Tanenbaum or Kurose), or is it better to go the It route possibly looking into network admin text or certification books.

Thank you all so much.

share|improve this question
This question is a good candidate for Community Wiki. – Josh Oct 22 '09 at 22:41
up vote 3 down vote accepted

W. Richard Stevens' books 'UNIX Network Programming' and 'TCP/IP Illustrated' are must reads, no matter which career you go with.

If you would like more detail on the underlying technologies and theory, 'Computer Networks', by Andrew Tanenbaum was the seminal text when I was studying; again, highly recommended.

share|improve this answer

Exploring the material covered in ICND1, ICND2, which is what prepares you for CCNA would be a good learning path to take.

share|improve this answer
I agree. If you fully understand all of the material on the CCNA, you have a good base of knowledge to build on top of. – mpeterson Oct 22 '09 at 23:08

Computer Networks by Tanenbaum is a very good introduction to lots of different types of networks, although I don't know how up to date it currently is. The latest edition appears to be 2002. I don't know if it covers things like MPLS in any detail. It should give you a decent wide, but shallow introduction to the subject.

Once you've read an introductory book, you might want to read something like TCP/IP Illustrated or Internetworking with TCP/IP.

Interconnections: Bridges, Routers, Switches, and Internetworking Protocols is a good introduction to switches and the protocols that make them work together. BGP gives a deep coverage of the BGP routing protocol.

share|improve this answer
+1 on the Tanenbaum book - excellent! – sybreon Oct 23 '09 at 0:24

Check out O'Reilly's "Network Warrior". It's a good guide to practical networking - the protocols and techniques that are actually used in modern networks:

share|improve this answer

Another resource is to play around with network traces. Like look at the trace of loading a simple web page, file sharing, SSL, etc.

share|improve this answer

I personally used a Sybex study guide for the Network+ exam with a pretty solid understanding of networking already. It covered many topics, but not all. If you're looking into being a UNIX admin understanding topics such as VLANs, subnetting, and various types of tunneling are fairly important. I would recommend a Network+ exam study guide at a minimum, or a CCNA if you want a real education in networking.

share|improve this answer

Honestly, there is plenty of information out there to learn, but in the end, you can't beat real-world experience. If your current job won't provide this, setup various networks at home and put them through the paces...

That said, I wouldn't discount 'book learning' either... I think you need both for 'true' understanding.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.