UNIX® Network Programming

W. Richard Stevens

Publisher: Prentice Hall, 1990, 772 pages

ISBN: 0-13-949876-1

Keywords: Programming, Networks

Last modified: June 26, 2021, 2:30 p.m.

As networking software becomes increasingly important in today's world, a book that teaches programmers how to write and how to better use this technology has finally arrived.

UNIX® Network Programming is unique because it includes numerous case studies of real network applications, as well as approximately 15,000 lines of C source code, taken directly from their source files, to help further understanding of networking software.

W. Richard Stevens provides a detailed tutorial on networking for those with a working knowledge of C and the UNIX® system. Full descriptions are included for popular protocols, including TCP/IP, XNS, SNA, NetBIOS, OSI, and UUCP.

Following a detailed discussion of the transport layer interfaces, Berkeley sockets, and System V TLI, the author provides in-depth examinations of the follwoing networking examples:

  • security
  • time and data servers
  • file transfer
  • line printer spoolers
  • remote command execution
  • remote login
  • remote tape drive access
  • remote procedure calls

Targeted to meet the needs of today's software programmers, this book is an important and valuable reference for those interested in improving their networking software capabilities.

  1. Introduction
    1. History
    2. Layering
    3. OSI Model
    4. Processes
    5. A Simplified Model
    6. Client-Server Model
    7. Plan of the Book
    8. A History of Unix Networking
  2. The Unix Model
    1. Introduction
    2. Basic Definitions
    3. Input and Output
    4. Signals
    5. Process Control
    6. Daemon Processes
    7. Summary
  3. Interprocess Communication
    1. Introduction
    2. File and Record Locking
    3. A Simple Client-Server Example
    4. Pipes
    5. FIFOs
    6. Streams and Messages
    7. Name Spaces
    8. System V IPC
    9. Message Queues
    10. Semaphores
    11. Shared Memory
    12. Sockets and TLI
    13. Summary
  4. A Network Primer
  5. Communication Protocols
    1. Introduction
    2. TCP/IP — the Internet Protocols
    3. XNS — Xerox Network Systems
    4. SNA — Systems Network Architecture
    5. NetBIOS
    6. OSI Protocols
    7. UUCP — Unix-to-Unix Copy
    8. Protocol Comparisons
    9. Summary
  6. Berkeley Sockets
    1. Introduction
    2. Overview
    3. Unix Domain Protocols
    4. Socket Addresses
    5. Elementary Socket System Calls
    6. A Simple Example
    7. Advanced Socket System Calls
    8. Reserved Ports
    9. Stream Pipes
    10. Passing File Descriptors
    11. Socket Options
    12. Asynchronous I/O
    13. Input/Output Multiplexing
    14. Out-of-Band Data
    15. Sockets and Signals
    16. Internet Superserver
    17. Socket Implementation
    18. Summary
  7. System V Transport Layer Interface
    1. Introduction
    2. Overview
    3. Transport Endpoint Addresses
    4. Elementary TLI Functions
    5. A Simple Example
    6. Advanced TLI Functions
    7. Streams
    8. TLI Implementation
    9. Stream Pipes
    10. Passing File Descriptors
    11. Input/Output Multiplexing
    12. Asynchronous I/O
    13. Out-of-Band Data
    14. Summary
  8. Library Routines
    1. Introduction
    2. Berkeley Network Library Routines
    3. Network Utility Routines
    4. Providing a Reliable Message Service
    5. Summary
  9. Security
    1. Introduction
    2. 4.3BSD Routines
    3. Kerberos
    4. Summary
  10. Time and Date Routines
    1. Introduction
    2. Internet Time and Date Client
    3. Network Time Synchronization
    4. Summary
  11. Ping Routines
    1. Introduction
    2. Internet Ping Client
    3. XNS Echo Client
    4. Summary
  12. Trivial File Transfer Protocol
    1. Introduction
    2. Protocol
    3. Security
    4. Data Formats
    5. Connections
    6. Client User Interface
    7. UDP Implementation
    8. TCP Implementation
    9. Summary
  13. Line Printer Spoolers
    1. Introduction
    2. 4.3BSD Print Spooler
    3. 4.3BSD lpr Client
    4. System V Print Spooler
    5. Summary
  14. Remote Command Execution
    1. Introduction
    2. Security Issues
    3. rcmd Function and rshd Server
    4. rexec Function and rexecd Server
    5. Summary
  15. Remote Login
    1. Introduction
    2. Terminal Line Disciplines
    3. A Simple Example
    4. Pseudo-Terminals
    5. Terminal Modes
    6. Control Terminals (Again)
    7. rlogin Overview
    8. Windowing Environments
    9. Flow Control
    10. Pseudo-Terminal Packet Mode
    11. rlogin Client
    12. rlogin Server
    13. Summary
  16. Remote Tape Drive Access
    1. Introduction
    2. Unix Tape Drive Handling
    3. rmt Protocol
    4. rmt Server
    5. Summary
  17. Performance
    1. Introduction
    2. IPC Performance
    3. Tape Performance
    4. Disk Performance
    5. Network Performance
    6. Summary
  18. Remote Procedure Calls
    1. Introduction
    2. Transparency Issues
    3. Sun RPC
    4. Xerox Courier
    5. Apollo RPC
    6. Summary
  1. Miscellaneous Source Code
    1. System Type Header File
    2. System Type Shell Script
    3. Standard Error Routines
    4. Timer Routines

Reviews

UNIX Network Programming

Reviewed by Roland Buresund

Very Good ******** (8 out of 10)

Last modified: May 21, 2007, 2:47 a.m.

A classical work. Informative and still relevant. Read it.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required