Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site wdl1.UUCP
Path: utzoo!watmath!clyde!cbosgd!ihnp4!zehntel!dual!amdcad!fortune!wdl1!jbn
From: jbn@wdl1.UUCP
Newsgroups: net.unix-wizards
Subject: Re: TCP/IP and the server<->client model
Message-ID: <190@wdl1.UUCP>
Date: Tue, 15-Jan-85 16:41:31 EST
Article-I.D.: wdl1.190
Posted: Tue Jan 15 16:41:31 1985
Date-Received: Sun, 20-Jan-85 06:20:09 EST
Sender: jrb@wdl1.UUCP
Organization: Ford Aerospace, Western Development Laboratories
Lines: 20
Nf-ID: #R:fisher:-44800:wdl1:17100041:000:897
Nf-From: wdl1!jbn    Dec 17 13:18:00 1984

The basic concept of a connection in the IP/TCP world is that ALL of
the following information is used to uniquely identify a connection.

	Source Internet Address			(32 bits)
	Source TCP Port				(16 bits)
	Destination Internet Address		(32 bits)
	Destination TCP Port			(16 bits)

Servers normally perform a passive TCP open specifying the Destination
Internet Address and Destination TCP port, but leaving the rest unspecified.
Users then perform TCP opens specifying all four parameters.  When the
first datagram (the TCP SYN packet) arrives at the destination, the matching 
passive open is ``bound'' to the full connection specification, and thereafter
that open talks only to the other end to which it is now bound.

The easiest way to build a server daemon of your own under 4.2BSD is to start 
with one of the simple ones (``rexecd'' is a good choice) and go from there.

						John Nagle