- Hardcover: 1024 pages
- Publisher: Addison-Wesley Professional; 3 edition (November 24, 2003)
- Language: English
- ISBN-10: 0131411551
- ISBN-13: 978-0131411555
- Product Dimensions: 7.4 x 1.5 x 9.4 inches
- Shipping Weight: 3.3 pounds (View shipping rates and policies)
- Average Customer Review: 4.7 out of 5 stars See all reviews (47 customer reviews)
- Amazon Best Sellers Rank: #396,437 in Books (See Top 100 in Books)
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.
Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition) 3rd Edition
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Discover what to read next through the Amazon Book Review. Learn more.
Frequently bought together
Customers who bought this item also bought
From the Back Cover
UNIX Network Programming, Volume 1: The Sockets Networking API, Third Edition
"Everyone will want this book because it provides a great mix of practical experience, historical perspective, and a depth of understanding that only comes from being intimately involved in the field. I've already enjoyed and learned from reading this book, and surely you will too."
--Sam LefflerThe classic guide to UNIX networking APIs... now completely updated!
To build today's highly distributed, networked applications and services, you need deep mastery of sockets and other key networking APIs. One book delivers comprehensive, start-to-finish guidance for building robust, high-performance networked systems in any environment: UNIX Network Programming, Volume 1, Third Edition.
Building on the legendary work of W. Richard Stevens, this edition has been fully updated by two leading network programming experts to address today's most crucial standards, implementations, and techniques. New topics include:
- POSIX Single UNIX Specification Version 3
- IPv6 APIs (including updated guidance on IPv6/IPv4 interoperability)
- The new SCTP transport protocol
- IPsec-based Key Management Sockets
- FreeBSD 4.8/5.1, Red Hat Linux 9.x, Solaris 9, AIX 5.x, HP-UX, and Mac OS X implementations
- New network program debugging techniques
- Source Specific Multicast API, the key enabler for widespread IP multicast deployment
The authors also update and extend Stevens' definitive coverage of these crucial UNIX networking standards and techniques:
- TCP and UDP transport
- Sockets: elementary, advanced, routed, and raw
- I/O: multiplexing, advanced functions, nonblocking, and signal-driven
- Daemons and inetd
- UNIX domain protocols
- ioctl operations
- Broadcasting and multicasting
- Design: TCP iterative, concurrent, preforked, and prethreaded servers
Since 1990, network programmers have turned to one source for the insights and techniques they need: W. Richard Stevens' UNIX Network Programming. Now, there's an edition specifically designed for today's challenges--and tomorrow's.
About the Author
The late W. RICHARD STEVENS was the original author of UNIX Network Programming, First and Second Editions, widely recognized as the classic texts in UNIX networking. BILL FENNER is Principal Technical Staff Member at AT&T Labs in Menlo Park, CA, specializing in IP multicasting, network management, and measurement. He is one of the IETF's Routing Area Directors, responsible for approving all routing-related documents that get published as RFCs. ANDREW M. RUDOFF, Senior Software Engineer at Sun Microsystems, specializes in networking, operating systems internals, file systems, and high availability software architecture.
Browse award-winning titles. See more
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
For those of us who have the first two editions of this book, the third edition has the following changes in effect:
· IPv6 updates. In the second version of the book, IPv6 was merely a draft and the sections covering IPv6 has been updated to take these changes into effect.
· POSIX updates. The functions/APIs and examples have been updated to reflect the changes to the latest version of the POSIX specification (1003.1-2001)
· SCTP coverage. 3 new chapters that cover this new reliable, message-based transport protocol have been added.
· Key Management Sockets coverage. Network security and its applicability and use with IPsec.
· Updated Operating Systems and machines that are used to run the examples in the book.
· Some topics such as Transaction TCP and X/Open Transport Interface have been dropped.
Many topics and sections have been updated with the authors' comments. These comments even though simple for someone new to the profession, are extremely useful as they are like hints and tips from one developer to the next to help you out in your next programming assignment.
If this is the only edition of the book that you are reading, you are in for a treat. Topics in Network Programming are covered in detail and using concrete programming examples that all of us can relate to - all Unix, but what else is there?! All kidding aside, the topics are covered well enough that they are useful information under any Operating System. The concepts don't change; sockets are sockets under any Operating System. The function call is different, but one needs to go thru the same steps under any environment.
Being the most popular networking protocol, TCP/IP is covered in Part I of the book. One needs to have prior understanding of the TCP/IP protocol and the OSI model, however. If this is the first time you are looking at the programming aspects of networking protocols, Part I of this book will cover the basics. It starts you off with a couple of simple examples such as daytime client and a daytime server and it builds on that as the reader reads along. TCP, UDP and SCTP (Stream Control Transmission Protocol) are covered in brief in Part I, and basic concepts such as the three-way handshake of TCP and the four-way handshake of SCTP are depicted.
Part II of the book covers sockets and socket programming. Topics such as the socket Address Structure in IPv4 and IPv6 for TCP, UDP and SCTP are covered and examples (the same daytime client/server) are given to convey the point to the reader. It is important to mention here that all the topics and concepts are depicted for the three transport protocols: TCP, UDP and SCTP. Every single socket API under the Unix programming environment is covered and examples are given for each function call to show the reader how the function can be utilized. An entire chapter has been dedicated to Socket Options and how they are used/can be used for best results. Hints are given throughout the chapter to tell the user about the pitfalls and best practices of each option.
After the basics have been covered, various I/O models are depicted in detail and examples are shown to convey the pro's and con's of each I/O model. The five I/O models used thru the book and available under the Unix environment are:
· Blocking I/O
· Non-blocking I/O
· I/O Multiplexing (using select and poll)
· Signal driven I/O
· Asynchronous I/O
SCTP - Stream Control Transmission Protocol, a new IEFT standard are covered in later chapters of 9 and 10 and again in chapter 23. The two interface models of SCTP (one-to-one and one-to-many) are covered in detail, and their differences with TCP are also explained in full. The client/server example that has been used throughout the book is ported to use the new SCTP protocol. The authors then go into great detail explaining the problems that SCTP solves over TCP and where and how it would be useful to use SCTP.
Advanced topics such as IPv4 and IPv6 portability, Unix Domain Protocols, Multicasting and advanced Socket programming for UDP, TCP and SCTP cover the rest of the chapters in this book.
Various options for interoperability between IPv4 and IPv6 start off the last section of the book. A chapter on Advanced I/O functions brings the reader a new perspective of how complicated Network Programming can become. Non-blocking I/O, befits and examples are covered in chapter 16. The topics on Multicasting, and adding reliability to UDP are probably my favorite chapters in this book. The Time Server that has been used throughout the book is re-coded to become a multicast application. Some issues that arise when designing multicast applications such as multicast on a WAN are also discussed.
The third edition of the UNP book is as good as ever. The updates truly reflect solutions to today's challenges in Network Programming. Bill Fenner and Andrew Rudoff did an amazing job continuing the work a true legend in the field of Computer Science.
The biggest issue with the text is its reliance on a single, horrifying concoction called the "unp.h" header file and its associated c files. An important rule, especially in teaching material, is not to present more material than what is necessary to convey the intended lesson. In order to understand how the simplest of the programs depicted in the book work, the student must climb an incredible mountain of code in the form of the appendices. The book does nothing to help the student understand the thinking involved in the wrapper functions, which often call other wrapper functions or use other author-defined variables in the unp.h header. The afformentioned header and its associated files take up twelve pages in appendix D. That doesn't sound like much, but when one function's code is calling on another function that appears off the current page and so on, it becomes an issue.
For an expert that already knows the ins and outs of Network Programming in C, this is an acceptable resource. As a guide to learning C network programming from the ground up, it is unfortunately less user friendly than it at first appears. However, if the student somehow overcomes the wall that is appendix D, things become smoother. My final verdict: A useful resource that will prove frustrating for beginners.
3rd edition updates include:
*POSIX 1003.1-2001 added
*Key Management Sockets for use with IPSec Added
*Machines used for examples updated
*Other material updated where appropriate (including new functions)
I bought this book a year ago along with Stevens "Advanced Programming in the UNIX Environment" I read most of this book as a tutorial on network programming. I continue to use it as reference. I also read all of APUE. Since then I've added TCP/IP Illustrated, Volume 1 and UNIX Network Programming, Volume 2 to my collection. I've come to apprecaite the painstaking detail, pure clarity, and conciseness that are the hallmarks of all Stevens books.
I'm thankful that Rudoff and Fenner updated this classic. This book is all most will need for the sockets API. I don't have the second edition, but I'm quite happy with the third. It's good to have something that speaks to IPv6. This is the best of the old and new. I wouldn't mind seeing an updated version of TCP/IP Illustrated volumes 1 and 2 either if Fenner and Rudoff are up to it.
All of the Stevens books compliment each other really well. Truth be told, the more Stevens books you read the better off you are.