HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
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.
(Each chapter ends with a Summary, Exercises, Bibliographic Notes.)
Preface.
I. BACKGROUND MATERIAL.
1. Introduction to Networks.Background.
Network Characteristics.
Networking Models.
2. UNIX Programming.Overview.
Concepts.
Conventions.
Writing Programs.
Summary.
Exercise.
II. USER-LEVEL NETWORK PROGRAMMING.
3. STREAMS.STREAMS Background.
STREAMS Architecture.
System Calls.
Nonblocking I/O and Polling.
Service Interfaces.
IPC with STREAMS Pipes.
Advanced Topics.
4. The Transport Layer Interface.Introduction.
Transport Endpoint Management.
Connectionless Service.
Connection-oriented Service.
TLI and Read/Write.
5. Selecting Networks and Addresses.Introduction.
Network Selection.
Name-to-Address Translation.
Name-to-Address Library.
Design.
6. The Network Listener Facility.The Service Access Facility.
Port Monitors.
The Listener Process.
One-shot Servers.
Standing Servers.
The NLPS Server.
7. Sockets.Introduction.
Socket Management.
Connection Establishment.
Data Transfer.
UNIX Domain Sockets.
Advanced Topics.
Comparison with the TLI.
Name-to-Address Translation.
8. Remote Procedure Calls.Introduction.
XDR.
High-level RPC Programming.
Low-level RPC Programming.
rpcgen.
Advanced RPC Features.
III. KERNEL-LEVEL NETWORK PROGRAMMING.
9. The STREAMS Subsystem.The Kernel Environment.
The STREAMS Environment.
STREAMS Messages.
STREAMS Queues.
Communicating with Messages.
Message Types.
10. STREAMS Drivers.Introduction.
Driver Entry Points.
The Data Link Provider Interface.
Ethernet Driver Example.
11. STREAMS Modules.Introduction.
Module Entry Points.
The Terminal Interface.
Network TTY Emulator Example.
12. STREAMS Multiplexors.Introduction.
How Multiplexors Work.
The Transport Provider Interface.
Transport Provider Example.
IV. DESIGN PROJECT: IMPLEMENTING SLIP.
13. Design Project: Implementing SLIP.Introduction to SLIP.
Software Architecture.
User-level Components.
Kernel-level Components.
Bibliography.