Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!BBN.COM!clynn From: clynn@BBN.COM (Charles Lynn) Newsgroups: comp.protocols.tcp-ip Subject: Re: Ignorant question - multiple connec Message-ID: <8907281116.AA02028@ucbvax.Berkeley.EDU> Date: 23 Jul 89 17:13:51 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 14 One trick is to use the high-order bits of the received acknowledgement field as the hashing function, where is selected based on the number of simultaneous connections the implementation is intended to support. Recall that the TCP gets to pick an initial sequence number "based on a clock"; one "clock" might be an bit counter that gets incremented each time a new connection is created (skipping over values which are still "in use"). One has to be a little careful, however, since all received connection attempts will fall into bucket "0" (some might call that a "feature"!) and would have to be moved to the appropriate bucket when the SYN/ACK is sent, and if a connection sends enough data the ACK will move to the "next bucket". E.g., for equal to 8 (a load byte instruction), there would be 256 buckets, and a connection would have to be moved to the next bucket (actually, it is in "two buckets" for a little while) after 16 MBytes of data had been sent.