Synopses & Reviews
Finally, with UNIX® System V Network Programming
, an authoritative reference is available for programmers and system architects interested in building networked and distributed applications for UNIX System V. Even if you currently use a different version of the UNIX system, such as the latest release of 4.3BSD or SunOS, this book is valuable to you because it is centered around UNIX System V Release 4, the version of the UNIX system that unified many of the divergent UNIX implementations.
For those professionals new to networking and UNIX system programming, two introductory chapters are provided. The author then presents the programming interfaces most important to building communication software in System V, including STREAMS, the Transport Layer Interface library, Sockets, and Remote Procedure Calls. So that your designs are not limited to user-level, the author also explains how to write kernel-level communication software, including STREAMS drivers, modules, and multiplexors.
Many examples are provided, including an Ethernet driver and a transport-level multiplexing driver. In the final chapter, the author brings the material from previous chapters together, presenting the design of a SLIP communication package.
This book makes a authoritative reference available for programmers and system architects interested in building networked and distributed applications for UNIX System V.This book is centered the UNIX System V Release 4, the version that unified many of the divergent UNIX implementations.
About the Author
Stephen A. Rago
, one of the Bell Laboratories developers who built UNIX System V, Release 4, currently works as a manger at EMC, specializing in file servers and file systems.
Table of Contents
(Each chapter ends with a Summary, Exercises, Bibliographic Notes.
I. BACKGROUND MATERIAL. 1. Introduction to Networks.
Networking Models. 2. UNIX Programming.
II. USER-LEVEL NETWORK PROGRAMMING. 3. STREAMS.
Nonblocking I/O and Polling.
IPC with STREAMS Pipes.
Advanced Topics. 4. The Transport Layer Interface.
Transport Endpoint Management.
TLI and Read/Write. 5. Selecting Networks and Addresses.
Design. 6. The Network Listener Facility.
The Service Access Facility.
The Listener Process.
The NLPS Server. 7. Sockets.
UNIX Domain Sockets.
Comparison with the TLI.
Name-to-Address Translation. 8. Remote Procedure Calls.
High-level RPC Programming.
Low-level RPC Programming.
Advanced RPC Features.
III. KERNEL-LEVEL NETWORK PROGRAMMING. 9. The STREAMS Subsystem.
The Kernel Environment.
The STREAMS Environment.
Communicating with Messages.
Message Types. 10. STREAMS Drivers.
Driver Entry Points.
The Data Link Provider Interface.
Ethernet Driver Example. 11. STREAMS Modules.
Module Entry Points.
The Terminal Interface.
Network TTY Emulator Example. 12. STREAMS Multiplexors.
How Multiplexors Work.
The Transport Provider Interface.
Transport Provider Example.
IV. DESIGN PROJECT: IMPLEMENTING SLIP. 13. Design Project: Implementing SLIP.
Introduction to SLIP.
Kernel-level Components. Bibliography.