1. Introduction and Overview. 2. The Client Server Model and Software Design. 3. Concurrent Processing in Client-Server Software. 4. Program Interface to Protocols. 5. The Socket Interface. 6. Algorithms and Issues in Client Software Design. 7. Example Client Software. 8. Algorithms and Issues in Server Software Design. 9. Iterative, Connectionless Servers (UDP). 10. Iterative, Connection-Oriented Servers (TCP). 11. Concurrent, Connection-Oriented Servers (TCP). 12. Single-Process Concurrent Servers (TCP). 13. Multiprotocol Servers (TCP, UDP). 14. Multiservice Servers (UDP, TCP). 15. Uniform, Efficient Management of Server Concurrency. 16. Concurrency in Clients. 17. Tunneling at the Transport and Application Levels. 18. Application Level Gateways. 19. External Data Representation (XDR). 20. Remote Procedure Call Concept (RPC). 21. Distributed Program Generation (Rpcgen Concept). 22. Distributed Program Generation (Rpcgen Example). 23. Network File System Concepts (NFS). 24. Network File System Protocol (NFS, Mount). 25. TELNET: An Example Client Design. 26. TELNET: An Example Server Design. 27. Practical Hints and Techniques for UNIX Servers. Appendix 1: System Calls and Library Routines Used with Sockets. Appendix 2: Manipulation of UNIX File and Socket Descriptors. Bibliography. Index.