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