Sunday, May 19, 2013

Computer Networking: A Top-Down Approach 5th Edition, James F. Kurose



In simple terms the text itself is an excellent textbook. The authors do a good job of keeping it quite readable and understandable, while explaining quite abstract components and concepts.

My real gripe lies with the Kindle Software itself, Amazon's really dropped the ball here. As with many technical books, the number of devices on which you can read this book appears to be limited to two. The reason I say appears is because the Kindle software (PC, Android, Cloud) will often fail to realize you have removed the book. At one point in class I had de-register all of my Kindle devices and delete the book, and the software still claimed that I had exceeded my quota and had to de-register more devices. The Cloud Reader is the most onerous example, as it should be able to interface it's licensing directly with amazon's servers, and yet seems to consistently suffer authentication errors. Errors include stating that I had opened the book too many times concurrently in Cloud Reader, despite only having one machine, one web browser, and no orphaned processes. It's inexcusable for Amazon to ship such a shoddy product when they are pushing E-Books as the future, it just doesn't work.

In short it's a great book, and Amazon almost had a working Kindle product for it, but I know I won't be relying on their software again in the future.

I got this book for one of my courses but it helped me for more than one though. Like when I needed some introduction on Security issues like Digital Certificates, Cryptography, Media Protocols, SNMP etc. The authors examples are very good and clever so you can learn better and faster. I have to say that my first introductory book on Computer Networks was that of Andrew Tanenbaum's and sometimes I found it a little bit too terse for a beginner at some point but it's a good book.
If I were to choose again I would do this:
I would take Kurose-Ross book for a first reading. This way one that doesn't know how things glue together he 'll be able to comprehend what Computer Networking is about from the first time. And then on the other side of my desk I would have extraordinary R. W. Stevens , TCP Illustrated vol. 1 : The Protocols where I could learn in depth and all the gory details about TCP/IP which is about the 70% of Kurose-Ross book.

After reading all the good reviews, I had a big expectation on this book and was a little disappointed in the end. I have read network books by Peterson&Davie, Tananbaum, and Forouzan so far, and Kurose's book comes somewhere between Tanenbaum's very detailed approach and Forouzan's plain and simple approach.

Pros and cons from my observation.

Pros
- Spends a lot of pages for application layer.
- The very detailed explanation on transport layer and network layer. Probably the best among all the computer network books on this part.
- Every protocol comes with RFC# and many references. Good for further study.

Cons
- Data link layer could have been better presented. Spends the entire chapter for CSMA(Ethernet) and not much mentions about connection oriented protocol. ATM is assigned only 2 pages which gives the readers nothing. Other important protocols(HDLC,Token-ring etc) should have been explained.
- Explanation on IP address(classful, CIDR, subnet) isn't deep enough.
- No chapter for physical layer. This is a big negative point.

Overall, it's a very good book, but I have to say that this book is top-heavy, by which what I mean is the focus is more on upper layers of protocol stack and many things are left out in the lower layers. May be intended to software people, but not for hardware people.

I'm not new to computer networking and can't read this book from the beginner's viewpoint, but I'm under the impression this book might be a little difficult to follow for those who have no idea how computer networks work. The reason I'd think that way is because of top-down approach. Although the total newbies have no idea about computer networking, they may have some vague idea about some data or signals transmitted between two hosts. Starting the discussion with logical properties(process) as in this book might lose the beginner readers in application layer or transport layer chapters. I'd guess it's probably easier for them to start out with physical layer which they can understand intuitively and climb up the protocol stack from there rather than climb down from the application layer. Many books are taking bottom-up approach and there is a reason for that, especially when the book is intended to beginners. What's even worse is that physical layer isn't even covered in this book. Therefore, I'd recommend Tanenbaum's book or Forouzan's to the beginners.

To refresh my computer networking knowledge, I bought this book based on reviewer "Michael Yasumoto"'s book review. Compared with the Peterson and Davie (P & D) book that I read a few years ago. This new edition from K&R is far better than "P&D" 's book. The significant advantages are:

1) Extremely easy to read. Unlike P&D's book which presents you with many implementation algorithms that are not useful for network application developers, this book provides you with the most important algorithms and give you the overall forest so you will never be lost in the trees.

2) Detailed explanation for key concepts. P&D's book might just use a few words to explain certain key concepts. But this book uses a few pages and examples to make sure you completely understand. This makes self-study an enjoyable journery.

3) Innovative approach to explain complex protocol. Many TCP/IP books simply state the protocol details, lots of details described and finally become a memory bunden. This book uses an innovative approach that describe general principles for designing a reliable protocol in chapter 3. This has helped me extend what I've learnt from the book to the protocols that I worked on during my daily work e.g. FIX protocol for trade exchanges.

4) Very up-to-date. The book contents are very up-to-date, unlike other network books (e.g. Tanenbaum) which I flip through and finally put it down, this book contains the most current contents and focused on the forefront development of the computer networking technology.

5) Inspiring and fun to read. The interviews supplied at the end of each chapter are very inspiring and fun to read. I wish I had read this book during my university years.

6) Very nice hard cover design, excellent printing quality. I have bought it a few weeks ago and have not been able to put it down yet. Its nicely designed hard cover makes you really want to read it.

Overall, this is the BEST computer networking introduction book EVER. 10 stars is my rating for this book.

This review compares the following four books:
Computer Networks by Peterson and Davie (P & D)
Computer Networks by Tanenbaum
Computer Networks by Comer / Internetworking with TCP/IP
Computer Networking by Kurose and Ross (K & R)

By far the best book in the list is "Computer Networking" by Kurose and Ross. This book covers all of the essential material that is in the other books but manages to do so in a relevant and entertaining way. This book is very up to date as seen by the release of the 5th Ed when the 4th Ed is barely two years old. There are lots of practical exercises using wireshark and the companion website is actually useful and relevant. The attitude of this book with regard to teaching networking concepts could be summed up as "try it out and see for yourself". One interesting thing to note is that the socket programming example are all in Java.

Next up is the Peterson and Davie book which covers everything that Kurose and Ross discuss but is slightly more mathematical in how it goes about things. There are a lot more numerical examples and defining of formulas in this book which is fine by me and in no way detracts from the book. Also the socket programming examples are in C which is a little more traditional. The points where this text loses ground to K & R is that it doesn't have the practical application exercises that K & R has and it also doesn't extend the basic networking theory that is covered to modern protocols like K & R.

The two Comer books come next. Comer's "Computer Networks" book is probably the most introductory book out of this whole list and is more of a survey of networking topics that doesn't cover anything in any real depth. Still, this is an excellent book in that it is a quick clear read that is very lucid in its explanations and you can't help feeling that you understand everything that is covered in the book. Comer's TCP/IP book is the equivalent of the other authors' computer network books and in that respect it is pretty average. It covers all of the relevant material and in a manner which is more than readable but that is all. There is nothing exceptional about the book which stands out from the rest.

Last comes Tanenbaum's book from the author who is probably most famous for his OS books. This is probably the most technical and detailed of the books with lots of sample C code belying is experience with operating systems and their network stack code. The weak point of this book is that all of the code and technical minutia might prevent the reader from seeing the forest for the trees. Unless you are trying to learn how to program your own network stack for a Unix/Linux system, then I would get either the K & R book or the P & D book to learn networking for the first time. This book would best be served as a reference in which case the technical nature of the book becomes a benefit rather than detracting from the text.

Product Details :
Hardcover: 864 pages
Publisher: Addison-Wesley; 5 edition (March 31, 2009)
Language: English
ISBN-10: 0136079679
ISBN-13: 978-0136079675
Product Dimensions: 7.5 x 1.3 x 9.2 inches

More Details about Computer Networking: A Top-Down Approach 5th Edition

or

Download Computer Networking: A Top-Down Approach 5th Edition PDF Ebook

No comments:

Post a Comment