Changes from the Second Edition
Sockets have been around, more or less in their
current form, since the 1980s, and it is a tribute to their initial
design that they have continued to be the network API of choice.
Therefore, it may come as a surprise to learn that quite a bit has
changed since the second edition of this book was published in
1998. The changes we've made to the text are summarized as
follows:
-
This new edition contains updated information on
IPv6, which was only in draft form at the time of publication of
the second edition and has evolved somewhat.
-
The descriptions of functions and the examples
have all been updated to reflect the most recent POSIX
specification (POSIX 1003.1-2001), also known as the Single Unix Specification Version 3.
-
The coverage of the X/Open Transport Interface
(XTI) has been dropped. That API has fallen out of common use and
even the most recent POSIX specification does not bother to cover
it.
-
The coverage of TCP for transactions (T/TCP) has
been dropped.
-
Three chapters have been added to describe a
relatively new transport protocol, SCTP. This reliable,
message-oriented protocol provides multiple streams between
endpoints and transport-level support for multihoming. It was
originally designed for transport of telephony signaling across the
Internet, but provides some features that many applications could
take advantage of.
-
A chapter has been added on key management sockets, which may be used with
Internet Protocol Security (IPsec) and other network security
services.
-
The machines used, as well as the versions of
their variants of Unix, have all been updated, and the examples
have been updated to reflect how these machines behave. In many
cases, examples were updated because OS vendors fixed bugs or added
features, but as one might expect, we've discovered the occasional
new bug here and there. The machines used for testing the examples
in this book were:
-
Apple Power PC running MacOS/X 10.2.6
-
HP PA-RISC running HP-UX 11i
-
IBM Power PC running AIX 5.1
-
Intel x86 running FreeBSD 4.8
-
Intel x86 running Linux 2.4.7
-
Sun SPARC running FreeBSD 5.1
-
Sun SPARC running Solaris 9
See Figure 1.16 for
details on how these machines were used.
Volume 2 of this UNIX
Network Programming series, subtitled Interprocess Communications, builds on the
material presented here to cover message passing, synchronization,
shared memory, and remote procedure calls.
|