TCP/IP Illustrated: Volume 2: The Implementation: The Implementation v. 2 (APC) Hardcover – 31 Jan 1995
|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
Frequently Bought Together
Customers Who Bought This Item Also Bought
Enter your mobile number 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.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
From the Publisher
A teach by example approach to TCP/IP
Bestselling author W. Richard Stevens teams up with long-time colleague and TCP/IP expert Gary Wright in TCP/IP Illustrated, Volume 2. Unlike other books on the subject, TCP/IP Illustrated, Volume 2 presents the de facto standard implementation of TCP/IP from the 4.4 BSD release. The authors use a teach-by-example approach that combines hundreds of pictures and descriptions of all data structures and algorithms with 15,000 lines of code to help readers master the TCP/IP protocol suite. The book's timely coverage includes the newest TCP/IP features: multicasting, TCP's window scale and timestamp options, and protection against wrapped sequence numbers.
From the Back Cover
TCP/IP Illustrated, an ongoing series covering the many facets of TCP/IP, brings a highly-effective visual approach to learning about this networking protocol suite.
TCP/IP Illustrated, Volume 2 contains a thorough explanation of how TCP/IP protocols are implemented. There isn't a more practical or up-to-date bookothis volume is the only one to cover the de facto standard implementation from the 4.4BSD-Lite release, the foundation for TCP/IP implementations run daily on hundreds of thousands of systems worldwide.
Combining 500 illustrations with 15,000 lines of real, working code, TCP/IP Illustrated, Volume 2 uses a teach-by-example approach to help you master TCP/IP implementation. You will learn about such topics as the relationship between the sockets API and the protocol suite, and the differences between a host implementation and a router. In addition, the book covers the newest features of the 4.4BSD-Lite release, including multicasting, long fat pipe support, window scale, timestamp options, and protection against wrapped sequence numbers, and many other topics.
Comprehensive in scope, based on a working standard, and thoroughly illustrated, this book is an indispensable resource for anyone working with TCP/IP.
See all Product Description
What Other Items Do Customers Buy After Viewing This Item?
Top Customer Reviews
Most typographic conventions from the printed book were disregarded. Some enumerations are indistinguishable from subheadings. Many indentations are lost. Most of the time it is an indistinguishable stream of continuous text, quotes and remarks and even numbers! (In the printed version, mono spaced numbers placed on the page margin are code references) In the middle of a section figures were inserted up to four pages ahead.
And it lacks important content. The valuable references on the end-paper, the TCP state machine and key to the macro and function definitions have not made it into the Kindle version.
Code samples and formulas are presented either in blurry, awfully low resolution scans or in proportional fonts with random line breaks. The table summarizing mbuf functions is of such low resolution that it really gets useless: the characters are not recognizable. The code sample in figure 28.1. is incomplete.
Most Helpful Customer Reviews on Amazon.com (beta)
Chapter 6 is a very detailed treatment of IP addressing, the most useful discussion being the one on the in_ifinit function. This is followed by a discussion of the data structures used in domains and group protocols, with the IP initialization and transport multiplexing discussion being of particular interest to me.
The next 3 chapters give an overview of the IP layer, with IP packet structures and processing, option processing, and fragmentation and assembly all given detailed treatments. The performance issues involved in computing checksums and data copying are discussed also. The treatment of timeout processing by the function ip_slowtimo, which is very important from a modeling perspective, was given a thorough treatment.
ICMP is discussed in Chapter 11, with an extensive table included of the ICMP message types and codes. The discussion on error processing was particularly useful. This is followed in Chapter 12 by a survey on how IP multicasting is implemented along with Ethernet multicast addresses. A brief discussion of performance issues involved with Ethernet cards not supporting perfect filtering is given.
IGMP is then taken up in the next chapter, with a good discussion given of the virtual interface table in IP multicasting given in the next chapter. The authors carefully discuss the difference between physical interfaces and tunnels.
The most useful discussion in the book for me was the one on sockets in chapters 15, 16, and 17. The code for the socket data structure is given and a very detailed overview of socket system calls is given. The discussion of the listen and accept system calls is very helpful in understanding the process by which TCP sets up a connection. A full description is given of each macro and function involved in socket buffer allocation and manipulation.
Tree routing tables are discussed in chapters 18, 19, and 20, with emphasis on the structure of the radix tree routing tables used by packets, the interface functions between the kernel and the radix tree functions, and the routing sockets used to exchange routing messages. The discussion is extremely detailed, and the authors take great care in explaining the relevant data structures and function calls used.
ARP is discussed in Chapter 21, with a useful diagram given illustrating the relationship between ARP and routing tables and interface data structures. The structure of the ARP packet when transmitted on an Ethernet channel is shown in detail. Most interesting was the discussion on the algorithm used to avoid ARP flooding.
Protocol control blocks are discussed in the next chapter, with detailed treatments of binding, connecting, and demultiplexing. The handling of ICMP errors with the in_pcbnotify function is surveyed, with a detailed diagram summarizing how ICMP errors are processed.
The actual UDP implementation is discussed in Chapter 23, and the authors show how checksumming is done in this protocol. This is followed naturally by a discussion of the TCP implementation in the next 6 chapters. The reader can clearly see the difference in complexity between UDP and TCP in terms of the number of function calls and lines of code. A complete listing of the statistics used in the tcpstat data structure is given along with a listing of the SNMP variables used in tcp group. The TCP state transition diagram, familiar from Volume 1 by Stevens is given here also. The discussion of the seven TCP timers is very detailed and very helpful to those involved in the modeling of TCP performance. In particular the discussion of the tcp_xmit_timer function, which updates the smoothed RTT estimator and the smoothed mean deviation estimator, is very well written. Retransmission timeouts, the occurrence of which is so important in performance analysis and network troubleshooting, is given ample treatment also. Most interesting was the discussion on determining when a segment should be sent, via the tcp_output function. Also, the reassembly mechanism with the tcp_reass function is discussed in great detail. The reader who needs to be a TCP expert should take away a thorough understanding of it when completing these chapters.
The book ends with a fairly detailed treatment of the BSD Packet Filter and raw IP.
Noticeably missing of course, because of its age, is a discussion of the different versions of TCP/IP currently implemented in Windows 2000, Sun Solaris etc, which are slightly different. The reader will have to consult the Web or modern books to get an understanding of these implementations.
Difficulty aside, this book alone will honestly make you a TCP/IP guru - now that I've read volumes 1 and 2, the networking administrators where I work come to me with questions about issues they can't resolve. I'm literally comfortable saying that there's nothing I don't know about TCP/IP, and that's not a statement I'd make lightly (feel free to test me). But more than that, I learned a *lot* about writing good, solid code... in learning the networking stack as a whole, I was able to understand some higher-level software engineering concepts that had previously eluded me.
All in all, volume 1 is The Hobbit, and volume 2 is the Lord of the Rings - an oddysey not to be undertaken lightly, but from which you will emerge stronger and more powerful than ever before.
Look for similar items by category
- Books > Business, Finance & Law > E-Commerce > Managers' Guides to Computing
- Books > Computing & Internet > Computer Science > Information Systems
- Books > Computing & Internet > Digital Lifestyle > Online Shopping > Amazon
- Books > Computing & Internet > Networking & Security > Network Topics
- Books > Computing & Internet > UNIX & Linux
- Books > Science & Nature > Engineering & Technology > Electronics & Communications Engineering > Telecommunications