When I was testing 'TCP Simultaneous open' with Windows XP Professional Version 2002 Service Pack 2, connection process was aborted with sending RST to the remote Peer. RFC 793 allows both end hosts to simultaneously send SYN packet to each other. Is Windows XP SP2 NOT compliant to RFC 793? If it is, what could be causing the RST to be generated after SYNACK is received in the following diagram. (please view with fixed size font) <pre> WinXP or Linux WinXP | | | +------------SYN--+ +--SYN-------------|---------------->+ |<-----------------+ | | | | +---------SYNACK--+ +--SYNACK----------|---------------->+ >> Connected |<-----------------+ | | | >> Disconnected |<------------------------------RST--+ !!! +--RST------------------------------>| | | </pre>
Forgot to mention... I am using Visual Studio .NET 2003, and my TCP test client is written in C++ using winsock2. The test is performed by running two TCP clients on different hosts and them having then start connecting to each other at the same time. Thnx, "Nat Cracker" wrote: > When I was testing 'TCP Simultaneous open' with Windows XP Professional > Version 2002 Service Pack 2, connection process was aborted with sending RST > to the remote Peer. > > RFC 793 allows both end hosts to simultaneously send SYN packet to each > other. Is Windows XP SP2 NOT compliant to RFC 793? If it is, what could be > causing the RST to be generated after SYNACK is received in the following > diagram. (please view with fixed size font) > > <pre> > WinXP or > Linux WinXP > | | > | +------------SYN--+ > +--SYN-------------|---------------->+ > |<-----------------+ | > | | > | +---------SYNACK--+ > +--SYNACK----------|---------------->+ >> Connected > |<-----------------+ | > | | >> Disconnected > |<------------------------------RST--+ !!! > +--RST------------------------------>| > | | > </pre> >