- Hardcover: 772 pages
- Publisher: Wiley-Blackwell; 1 edition (30 Dec. 2008)
- Language: English
- ISBN-10: 0470147733
- ISBN-13: 978-0470147733
- Product Dimensions: 18.5 x 4.2 x 25.7 cm
- Average Customer Review: 4.0 out of 5 stars See all reviews (1 customer review)
Amazon Bestsellers Rank:
1,183,227 in Books (See Top 100 in Books)
- #884 in Books > Computers & Internet > Software & Graphics > Internet Applications > Web-server Software > UNIX & Linux Operating Systems
- #2209 in Books > Scientific, Technical & Medical > Engineering > Electronics & Telecommunications Engineering
- #2770 in Books > Computers & Internet > Computer Science > Networking & Security > Network Topics
- See Complete Table of Contents
TCP/IP Architecture, Design and Implementation in Linux (Practitioners) Hardcover – 30 Dec 2008
|New from||Used from|
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
If you are a seller for this product, would you like to suggest updates through seller support?
From the Back Cover
The only single–source reference on the concept and implementation of TCP/IP in Linux
As open source software becomes a trusted part of business and research systems, it′s no wonder that a combination of the Transmission Control Protocol/Internet Protocol (TCP/IP) and the Linux operating system is becoming more common. TCP/IP′s prevalence allows easy communication among computers using various operating systems, whether Windows, Mac OS, Linux, or Unix. And Linux because it is open source and thus modifiable has become a frequent choice for developers who want a customizable operating system on which to build their applications.
This book describes the design and implementation of TCP/IP in Linux, from simple client–server applications to more complex executions. Topical coverage includes:
Basic socket concepts and implementations
The Linux implementation of network packets
TCP algorithms for data transmission and congestion control
IP layer and routing tables implementation
IP forwarding and quality of service implementation
Netfilter hooks for the stacks
Network Soft IRQ
How to debug a TCP/IP stack
All topics are discussed in a concise, step–by–step manner and the book is complemented with helpful illustrations to give readers a better understanding of the subject. TCP/IP Architecture, Design, and Implementation in Linux is an indispensable resource for embedded–network product developers, network security product developers, IT network architects, researchers, and graduate students.
About the Author
Sameer Seth works at Juniper Networks as Senior Staff Engineer for JUNOS Kernel Team. Previously, he was a senior engineer at Sun Microsystems, where he worked on the TCP/IP stack in Solaris, sockets, streams, NFS, and related kernel framework. He has ten years of experience working with Linux in research and commercial environments. He has also worked on embedded TCP/IP Linux stack as well as on X86 architectures. Additionally, he has worked on different communication protocols on Motorola MPC8260 processors. His community work includes blogging for opensolaris technology (blogs.sun.com/sameer) and he delivers technical talks on open solaris technology. In his spare time he enjoys writing and talking on technical topics related to networking and Unix.
M. Ajaykumar Venkatesulu is currently working on networking and naming services. He has seven years of experience with Linux networking and kernel in research and commercial environments. His areas of interest include Linux kernel, embedded systems, IP routing, and IP QoS.
Top Customer Reviews
However, the reading is not always that easy and the topics outlining should be kept "top-down" as much as possible, in order to avoid the thin details to make the overall picture difficult to be understood.
Most Helpful Customer Reviews on Amazon.com (beta) (May include reviews from Early Reviewer Rewards Program)
I am also disappointed at the numerous grammatical mistakes. It would appear that there was no editorial input to convert the English into correct English and I find that I am constantly having to add missing articles or translate into correct English, which detracts from the reading experience.
However, I will persist with reading the book and compare it to the Linux 2.6 source code as currently available to ensure I understand.
There are two main problems with the book:
- it is written for 2.4 kernels only (no 2.6)
- there is a huge number of typos, stylistic and grammatical errors
Even though the authors write in the preface: "The newest kernel version 2.6 does not have much variation as far as the TCP/IP stack is considered", this is only partially true. Most important algorithms are the same, but there were many new features; structures layout is rather different (they changed it several times even in 2.6 kernels).
For a description of Linux networking internals not related to TCP I would rather recommend "Understanding Linux Network Internals" by Christian Benvenuti.
The book provides nice descriptions of TCP algorithms - both generic and Linux-specific. For example, if you want to understand the management of synqueue/acceptqueue (what does it mean that connection is 'young'?), the book provides a very detailed and easy to understand description. The same is true for timers management, core processing and state machine.
The chapter about debugging is rather outdated - it describes LKCD/lcrash environment but all new kernels have kexec/kdump facility and 'crash' is the preferred debugger for those vmcores. Maybe 2.4 kernels and lkcd are still relevant for embedded Linux (2.4 has a smaller memory footprint), I am mainly interested in normal systems.
So this book is the best we have for Linux TCP internals at this moment. The authors promise to update the description for 2.6 kernels in the next edition. Hopefully typos/errors will be fixed either and then the book would be highly recommended.
The most attractive feature of the book is that the authors, attempting to share their understandings to the users, carefully organized topics with a natural logic that a kernel newbie is easy to follow. For example, there are several data structures regarding the TCP bind sockets but the source codes themselves are written in a quite confusing and inconsistent way, making it very hard to extract the role and usage of each of the structures. The authors list them all first and then dive into each with conceptual diagrams for the big picture of the data structure organizations. A typical fashion of discussion is applied throughout most of the topics, starting from the involved data structures as well as their organizations, and then walking through how the system calls interact with the protocol stack functions in manipulating these structures. It is clear that the authors are really experienced in modifying/customizing the Linux networking kernel.
The most unacceptable drawback of the book is, as another reviewer ever stated, the book contains a lot of typo and format errors. Because of them, the book looks like a rush result. Hope the revision will make out an elegant work.
It is a little pity that the book doesn't involve the UDP and raw sockets yet. However, I'd prefer to have such a TCP-only version first instead of waiting another half a year to have a more comprehensive one. The authors have promised UDP for the next edition but i'd like to suggest having the raw sockets as well, because the communication without port is not the same with the cases having the transport-layer identifiers.
The book covers an older version of Linux kernel, version 2.4, rather than the most updated 2.6, but this is understandable because such a work is very time-consuming. Personally i do think a book should be helpful in understanding problems rather than uncovering every algorithms. This book has achieved that.
Anyway, to my personal point of view, though there is very big and obvious room to improve the book, it contains currently the most comprehensive explanation over the TCP/IP stack in the Linux kernel. therefore I give 5 stars to the book and highly encourage the authors continuing the work, making the successive edition fully qualified.
The book is highly recommended to those who are trying to understand the linux networking kernel and making some modifications in it. it is suggested not only to read the book but also to read the original source code simultaneously, especially with a certain purpose of doing some research or development works.
For those who are using this book with new 2.6 Linux kernel, a careful comparison between the code of version 2.4 and that of 2.6 is necessary. The networking part in the version 2.6 is significantly changed from version 2.4 with introducing inet_ hash tables to replace the previous tcp hash data structures. However, following the clue that the book ever provided, one can get his/her own extraction on the current version 2.6 without much difficulty.
Look for similar items by category
- Books > Computing & Internet > Digital Lifestyle > Online Shopping > Amazon
- Books > Computing & Internet > Networking & Security > Network Topics
- Books > Computing & Internet > Programming > Languages & Tools
- Books > Computing & Internet > Software & Graphics
- Books > Computing & Internet > UNIX & Linux
- Books > Science & Nature > Engineering & Technology > Electronics & Communications Engineering
- Books > Scientific, Technical & Medical > Engineering > Electronics & Telecommunications Engineering