Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!samsung!usc!apple!agate!ucbvax!EUROPA.INTERLAN.COM!kasten From: kasten@EUROPA.INTERLAN.COM (Frank Kastenholz) Newsgroups: comp.protocols.tcp-ip Subject: Re: connect "collisions" in TCP Message-ID: <9101302235.AA04289@europa.InterLan.Com> Date: 30 Jan 91 22:35:10 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 42 > From tcp-ip-RELAY@NIC.DDN.MIL Wed Jan 30 17:15:41 1991 > From: usc!cs.utexas.edu!calvert@ucsd.edu (Kenneth L. Calvert) > Organization: U. Texas CS Dept., Austin, Texas > Subject: connect "collisions" in TCP > Sender: tcp-ip-relay@nic.ddn.mil > To: tcp-ip@nic.ddn.mil > > > In TCP, the result of a "connect collision" (i.e., two peers > "simultaneously" attempting to open a connection to the same pair > of ports) is a single connection. I have two questions: > > 0. My impression is that the Berkeley Unix sockets interface (to TCP) > precludes deliberate use of this "feature". Have I missed something? > (The implementation does the right thing when SYN is received in state > SYN_SENT). I'm not sure what you mean by this question. This "feature" is a function of the protocol, not the interface to your local protocol implementation. The "feature" is deliberately "used" by TCP implementations to prevent there being two Transmission Control Blocks in a host for the same connection -- a state which is very bad. > 1. Can anyone cite an application or higher-level protocol that > makes use of (or could, if it were possible) this fact, > i.e. permits users to establish connections symmetrically? > I can think of one possibility: the FTP data connection, > but I don't think it works that way. Generally, the client/server model of communications that we use precludes the possibility of a "connect collision". Assuming that it was possible to cause such a thing to happen, I am not sure why one would explicitly want to do so -- the end result is the same regardless of whether there was such a "conenct collision" or not -- a full duplex connection. > > Don't need to do this myself -- just curious. > Ken Calvert > calvert@cs.utexas.edu >