Effective TCP/IP Programming: 44 Tips to Improve Your Network Programs (Paperback)

Jon C. Snader

買這商品的人也買了...

商品描述

 

Description

 

An excellent next-step for students who have read Stevens' TCP/IP Illustrated series, this book is designed to boost programmers to a higher level of competence by focusing on the protocol suite's more subtle features and techniques. In forty-four concise, self-contained lessons, this book offers experience-based tips, practices, and rules of thumb for learning high-performance TCP/IP programming techniques. Moreover, it shows you how to avoid many of TCP/IP's most common trouble spots. Numerous examples demonstrate essential ideas and concepts. Skeleton code and a library of common functions allow you to write applications without having to worry about routine chores.

Back to Top


Appropriate Courses

Networking--Advanced Topics.

Back to Top

 

Table Of Contents

 

Preface.
1. Introduction.

 

A Few Conventions.
Road Map to the Rest of the Book.
Client-Server Architecture.
Basic Sockets API Review.
Summary.


2. Basics.

 

Tip 1: Understand the Difference between Connected and Connectionless Protocols.
Tip 2: Understand Subnets and CIDR.
Tip 3: Understand Private Addresses and NAT.
Tip 4: Develop and Use Application “Skeletons.”
Tip 5: Prefer the Sockets Interface to XTI/TLI.
Tip 6: Remember That TCP Is a Stream Protocol.
Tip 7: Don't Underestimate the Performance of TCP.
Tip 8: Avoid Reinventing TCP.
Tip 9: Realize That TCP Is a Reliable Protocol, Not an Infallible Protocol.
Tip 10: Remember That TCP/IP Is Not Polled.
Tip 11: Be Prepared for Rude Behavior from a Peer.
Tip 12: Don't Assume That a Successful LAN Strategy Will Scale to a WAN.
Tip 13: Learn How the Protocols Work.
Tip 14: Don't Take the OSI Seven-Layer Reference Model Too Seriously.


3. Building Effective and Robust Network Programs.

 

 

Tip 15: Understand the TCP Write Operation.
Tip 16: Understand the TCP Orderly Release Operation.
Tip 17: Consider Letting inetd Launch Your Application.
Tip 18: Consider Letting tcpmux “Assign” Your Server's Well-Known Port.
Tip 19: Consider Using Two TCP Connections.
Tip 20: Consider Making Your Applications Event Driven (1).
Tip 21: Consider Making Your Applications Event Driven (2).
Tip 22: Don't Use TIME-WAIT Assassination to Close a Connection.
Tip 23: Servers Should Set the SO_REUSEADDR Option.
Tip 24: When Possible, Use One Large Write Instead of Multiple Small Writes.
Tip 25: Understand How to Time Out a Connect Call.
Tip 26: Avoid Data Copying.
Tip 27: Zero the sockaddr_in Structure Before Use.
Tip 28: Don't Forget about Byte Sex.
Tip 29: Don't Hardcode IP Addresses or Port Numbers in Your Application.
Tip 30: Understand Connected UDP Sockets.
Tip 31: Remember That All the World's Not C.
Tip 32: Understand the Effects of Buffer Sizes.


4. Tools and Resources.

 

 

Tip 33: Become Familiar with the ping Utility.
Tip 34: Learn to Use tcpdump or a Similar Tool.
Tip 35: Learn to Use traceroute.
Tip 36: Learn to Use ttcp.
Tip 37: Learn to Use lsof.
Tip 38: Learn to Use netstat.
Tip 39: Learn to Use Your System's Call Trace Facility.
Tip 40: Build and Use a Tool to Capture ICMP Messages.
Tip 41: Read Stevens.
Tip 42: Read Code.
Tip 43: Visit the RFC Editor's Page.
Tip 44: Frequent the News Groups.


Appendix A: Miscellaneous UNIX Code.

 

 

etcp.h Header.
The daemon Function.
The signal Function.


Appendix B: Miscellaneous Windows Code.

 

 

The skel.h Header.
Windows Compatibility Routines.


Bibliography.
Index. 0201615894T04062001


Back to Top

 

 

商品描述(中文翻譯)

描述

這本書是為已閱讀過Stevens的TCP/IP Illustrated系列的學生設計的,旨在通過關注協議套件的更細微的特點和技巧,將程序員提升到更高的能力水平。在這本書的四十四個簡潔、獨立的課程中,提供了基於經驗的技巧、實踐和經驗法則,用於學習高性能的TCP/IP編程技術。此外,它還向您展示了如何避免TCP/IP中的許多常見問題。大量的示例演示了基本思想和概念。骨架代碼和常用函數庫使您能夠撰寫應用程序,而無需擔心常規工作。

適合的課程

網絡-高級主題。

目錄

前言。
1. 簡介。

一些慣例。
書的其餘部分的路線圖。
客戶端-服務器架構。
基本套接字API回顧。
摘要。

2. 基礎。

Tip 1:了解連接和無連接協議之間的區別。
Tip 2:了解子網和CIDR。
Tip 3:了解私有地址和NAT。
Tip 4:開發和使用應用程序“骨架”。
Tip 5:優先使用套接字接口而不是XTI/TLI。
Tip 6:記住TCP是一種流協議。
Tip 7:不要低估TCP的性能。
Tip 8:避免重新發明TCP。
Tip 9:意識到TCP是一種可靠的協議,而不是一種絕對可靠的協議。
Tip 10:記住TCP/IP不是輪詢的。
Tip 11:為來自對等方的粗魯行為做好準備。
Tip 12:不要假設成功的局域網策略能夠擴展到廣域網。
Tip 13:了解協議的工作原理。
Tip 14:不要對OSI七層參考模型過於認真。

3. 構建有效和強大的網絡程序。

Tip 15:了解TCP的寫操作。
Tip 16:了解TCP的有序釋放操作。
Tip 17:考慮讓inetd啟動您的應用程序。
Tip 18:考慮讓tcpmux“分配”您的服務器的知名端口。
Tip 19:考慮使用兩個TCP連接。
Tip 20:考慮使您的應用程序事件驅動(1)。
Tip 21:考慮使您的應用程序事件驅動(2)。
Tip 22:不要使用TIME-WAIT暗殺來關閉連接。
Tip 23:服務器應該設置SO_RE```