Hi

  I am facing a strange behavior of TCP application.
I am trying to establish a TCP connection between two machines.
One of the machine is Linux with kernel 2.2.5-15 (say A) and
another machine is Windows NT 4.0 (say B). Scenario is like that:


      TCP A                                    TCP B

  1.  CLOSED                                   LISTEN

  2.  SYN-SENT    -->       (SYN)          --> SYN-RECEIVED

  3.  ESTABLISHED <--     (SYN,ACK)        <-- SYN-RECEIVED

  4.  ESTABLISHED -->       (ACK)          --> ESTABLISHED

       ............................................
  5.  CLOSED                                   CLOSED

My application is running on Windows NT that handles 
receiving and sending of proper segments.

Problem is like that at the first attempt of establishing the
connection is alright, but immediately after both machine reaches
CLOSED state if a second attempt is made, machine A fails to
send last (ACK) segment of 3-wayhandshaking. e.g

      TCP A                                    TCP B

  1.  CLOSED                                   LISTEN

  2.  SYN-SENT    -->       (SYN)          --> SYN-RECEIVED

  3.  ESTABLISHED <--     (SYN,ACK)        <-- SYN-RECEIVED

  4.  ESTABLISHED -->    (No ACK -- timeout)    


If there is ** time gap ** (around 3 minutes) between two attempts
then only second attempt of establishing connection get success.

"tcpdump" of these two attempts is like that:

19:46:33.951509 A > B : S 323969377:323969377(0) win 32120 <mss
                        1460,sackOK,timestamp 25788660[|tcp]> (DF)
19:46:34.091509 B > A : S 3309270320:3309270320(0) ack 323969378 win 32752
                        <timestamp 10 25788660,eol>
19:46:34.091509 A > B : . ack 1 win 32120 <nop,nop,timestamp 25788674 10>
                        (DF)
19:46:34.221509 B > A : R 13:13(0) ack 1 win 0 
                        <timestamp 1300010 25788680,eol>
19:46:34.231509 A > B : R 1:1(0) ack 13 win 32120 <nop,nop,timestamp
                        25788688 1300010> (DF)
-------------------------------------------------------------------
19:46:40.011509 A > B : S 332453865:332453865(0) win 32120 
                        <mss 1460,sackOK,timestamp 25789266[|tcp]> (DF)
19:46:40.111509 B > A : S 3309672536:3309672536(0) ack 332453866 win 32752
                        <timestamp 10 25789266,eol>
19:47:10.151509 B > A : R 1:1(0) ack 1 win 0 <timestamp 300430010
                        25789266,eol>



Can anyone help me in this regard ?

Thanks in advance
Sankar


-- 
To unsubscribe:
mail -s unsubscribe [EMAIL PROTECTED] < /dev/null

Reply via email to