Internetworking With Tcp/Ip: Client-Server Programming And Applications (Bsd Socket Version With Ansi C)
This Second Edition of Volume III is from the most popular TCP/IP Inter networking series ever published. Software design is used as the central theme to answer, “How does application software use TCP/IP?” The text concentrates on how to use an Internet. The client-server paradigm is presented by using standard protocols to illustrate algorithms, designs, and implementation techniques such as gateway and tunneling.
The authors have incorporated the latest standards by rewriting the extensive code in ANSI C and discussing changes in protocols. New sections explain concepts such as slirp, the application gateway program that provides Internet access across a dial-up connection. Meant for all the computer science students and professionals alike, the text offers the most complete coverage of:
• Advanced server technology and its applications.
• Remote procedure call (RPC) and its use in constructing distributed programs.
• Concurrent processing as it applies to all concurrent programs and network applications.
• All software, including the new code in ANSI C, available by FTP.
• Comprehensive coverage of deadlock and livelock.
Table of Contents
• Foreword.
• Preface.
• Introduction and Overview.
• The Client Server Model and Software Design.
• Concurrent Processing in Client-Server Software.
• Program Interface to Protocols.
• The Socket Interface.
• Algorithms and Issues in Client Software Design.
• Example Client Software.
• Algorithms and Issues in Server Software Design.
• Iterative, Connectionless Servers (UDP).
• Iterative, Connection-Oriented Servers (TCP).
• Concurrent, Connection-Oriented Servers (TCP).
• Single-Process, Concurrent Servers (TCP).
• Multi protocol Servers (TCP, UDP).
• Multi service Servers (TCP, UDP).
• Uniform, Efficient Management of Server Concurrency.
• Concurrency in Clients.
• Tunneling at the Transport and Application Levels.
• Application Level Gateways.
• External Data Representation (XDR).
• Remote Procedure Call Concept (RPC).
• Distributed Program Generation (Rpcgen Concept).
• Distributed Program Generation (Rpcgen Example).
• Network File System Concepts (NFS).
• Network File System Protocol (NFS, Mount).
• A TELNET Client (Program Structure).
• A TELNET Client (Implementation Details).
• Practical Hints and Techniques for UNIX Servers.
• Deadlock and Starvation in Client-Server Systems.
• Appendices-System Calls and Library Routines Used with Sockets.
• Manipulation of UNIX File and Socket Descriptors.
• Bibliography.
• Index.