Books to learn computer networking.
August 31, 2007 9:15 PM   Subscribe

Please recommend some canonical books (or even e-books) to learn networking in general (on par with a CS major), up to an 'intermediate' level. Including stuff on wireless networking and security concerns.

You may assume I know little about the underlying principles, and that I'm more concerned about theory than certification.
posted by philomathoholic to Computers & Internet (9 answers total) 9 users marked this as a favorite
 
Certification is based on the theory, so adopting generalized certification books is the way to go.

If it's theory and priciples start with Tanenbaum's Computer Networks.

It will give you a solid overview of networking and was, when I studied theory and not the active application of the principles, the entry level standard in CS.

Networking touches everything in the modern age, the theory has extended to application in nearly every form of communication. It's a HUGE task, try to focus on generally applied standards and bridge out. This is why studying and understanding modern internetworking will provide you principles you can extend and apply everywhere, specifically the OSI model.
posted by iamabot at 9:29 PM on August 31, 2007




Networking is more of an information technology topic than a computer science topic. You won't much theory that is directly applicable to practical networking.

At the theoretical level, graph theory, queuing theory, information theory are probably the most useful areas of study.

On the practical side, you want to know about the OSI model, 802.3, 802.11, and TCP/IP. Routing protocols would be good to know about (RIP, BGP, others).

Just chasing down those topics will bring some other interesting topics to your attention. Start with google and wikipedia. Amazon has plenty of good networking books and useful reviews.
posted by b1tr0t at 9:37 PM on August 31, 2007


Just chasing down those topics will bring some other interesting topics to your attention. Start with google and wikipedia. Amazon has plenty of good networking books and useful reviews.

Google and wikipedia have been helpful, but I am looking for the structure and guidance that a good book provides. I'd like to lay the foundation, not fill gaps.

Using amazon I've made a list of 'good books to read on the topic,' but what I'm really looking for are just the essential and foundational texts.
posted by philomathoholic at 10:09 PM on August 31, 2007


The Stevens books are very good, so let me second BP's recommendation.

Security concerns are difficult, because security is an extremely detail-oriented topic. You need to have a decent understanding of the whole stack, from the bits on the wire all the way up to the mental model in the user's head, before some security problems will make sense.

(Also, note that not all layered networking models are the OSI model— the actual OSI model is rarely followed in real-world systems.)
posted by hattifattener at 1:06 AM on September 1, 2007


What do you mean by networking? Do you want to be a sysadmin? Do you want to do network programming?

Anyway, Computer Networks a Top-Down Approach is a very good introductory text on Networks. (The University I went to uses this text now to teach their Networks course. The Distributed System class web site might be worth checking out also.) Unix Network Programing Volume 1 by Stevens is excellent, as are the three TCP/IP illustrated books. If you want a good core set of books on Networking, I think these would be it.

I took a lot of graph theory classes in University, and I really don't think much of it is applicable to Networks in general, beyond discussions on finding min-cost routes. One rarely discusses cut-sets and matchings or any of that nonsense. Queuing Theory is probably a more useful thing to study, or statistics in general.
posted by chunking express at 8:45 AM on September 4, 2007


[note that I agree that the theoretical subjects are largely irrelevant. OSI is about as theoretical as most networking people get, and TCP over Ethernet doesn't fit OSI perfectly. Networking is extremely empirical]
posted by b1tr0t at 9:55 PM on September 4, 2007


What do you mean by networking? Do you want to be a sysadmin? Do you want to do network programming?

I was surprised to see people still reading/commenting.

Anyway, I will probably be doing more programming than admin-ing, but I would still like to know the basics of what a sysadmin would consider essential.
posted by philomathoholic at 12:29 AM on September 5, 2007


If you already know C, then I think the best way to get started with Networks Programming is to grab Unix Network Programming by Stevens and start reading it and working through his examples. It's well written, and covers a lot of material on Networks in general. It's the one book I use the most when I have an issue to deal with at work.
posted by chunking express at 4:53 AM on September 5, 2007


« Older I don't know whether it's time to put my dog down...   |   How to unstick a stuck zippo Newer »
This thread is closed to new comments.