Home > Store > Networking

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

  • By Jon C. Snader
  • Published May 4, 2000 by Addison-Wesley Professional.
    • Copyright 2000
    • Dimensions: 7-3/8x9-1/4
    • Pages: 320
    • Edition: 1st
    • Book
    • ISBN-10: 0-201-61589-4
    • ISBN-13: 978-0-201-61589-0
    • eBook
    • ISBN-10: 0-321-63838-7
    • ISBN-13: 978-0-321-63838-0

Register your product to gain access to bonus material or receive a coupon.

  • Description
  • Downloads
  • Extras
  • Reviews
  • Sample Content

Programming in TCP/IP can seem deceptively simple. Nonetheless, many network programmers recognize that their applications could be much more robust. Effective TCP/IP Programming is designed to boost programmers to a higher level of competence by focusing on the protocol suite's more subtle features and techniques. It gives you the know-how you need to produce highly effective TCP/IP programs.

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. Effective TCP/IP Programming offers valuable advice on such topics as:
  • Exploring IP addressing, subnets, and CIDR
  • Preferring the sockets interface over XTI/TLI
  • Using two TCP connections
  • Making your applications event-driven
  • Using one large write instead of multiple small writes
  • Avoiding data copying
  • Understanding what TCP reliability really means
  • Recognizing the effects of buffer sizes
  • Using tcpdump, traceroute, netstat, and ping effectively
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.

Through individual tips and explanations, you will acquire an overall understanding of TCP/IP's inner workings and the practical knowledge needed to put it to work. Using Effective TCP/IP Programming, you'll speed through the learning process and quickly achieve the programming capabilities of a seasoned pro.

0201615894B04062001

Source Code

Source Code and Online Resources

source code for the examples in the book

 

Web Resources

Click below for Web Resources related to this title:
Author Web Site

Praise For Effective TCP/IP Programming: 44 Tips to Improve Your Network Programs

"This book is packed with useful information about TCP/IP that an applications programmer might never get any other way - topics picked up from experience with protocol implementation and troubleshooting." --Unixreview.com, August 2000

Preface



0201615894P04062001

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

 
Best Value

Book + eBook Bundle  $107.98  $70.79

Book Price: $53.99
eBook Price: $16.80

Add To Cart

This book includes Instant Online Access with Safari and free shipping!

Instant Online Access with Safari Books Online

With your book purchase you are entitled to free, instant online access to that book on Safari Books Online for 45 days. After you've completed your purchase, you will receive instructions on how to log into Safari Books Online. If you do not want to receive online access to the book, simply uncheck the box for Instant Online Access in your cart.

Add To Cart

Book  $59.99  $53.99

Usually ships in 24 hours.

This book includes Instant Online Access with Safari and free shipping!

Instant Online Access with Safari Books Online

With your book purchase you are entitled to free, instant online access to that book on Safari Books Online for 45 days. After you've completed your purchase, you will receive instructions on how to log into Safari Books Online. If you do not want to receive online access to the book, simply uncheck the box for Instant Online Access in your cart.

Add To Cart

eBook  $47.99  $43.19

About this eBook

This PDF is DRM-free and requires the free Adobe® Reader® software. The PDF will be accessible from your Account page after purchase. Read our Non-DRM PDF FAQ.

Safari Books Online

What is this?

Online access to books, videos, and tutorials from Addison Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media and others - starting as low as $22.99. Learn more and start a free trial.

Start Reading Online
Informit Network