Fast retransmit problem

From: Sreekanth (sreekanth_at_redlinenetworks.com)
Date: 07/30/03

  • Next message: Don Bowman: "RE: Help with FreeBSD Bridged Firewall"
    To: <freebsd-net@freebsd.org>
    Date: Wed, 30 Jul 2003 11:09:09 -0700
    
    

    I am facing a peculiar problem. Here is the scenario.
                       During a tcp data transfer.An intermediate data
    packet(Say X) from server to client is lost.The client sends an ack with
    ACK no. corresponding to the lost segment.Now this continues till the
    no. of duplicate acks reach the threshold.But Just before the threshold
    is reached, the server sent a fin to Client.After the FIN is sent the
    server realized that the packet X is lost and it retransmits the
    packet.Now if we assume that the Sequence no. of FIN packet is 100.The
    client should actually send the Final ACK with ACK no. as 101.But
    because of a bug , the client sends the Last ACK with ACK no. 100.In
    ideal cases since the FIN is not acked..the server should be
    retransmitting the FIN.But it does not.Upon investigating the Scene, i
    found that the retransmit timer is not running anymore.This is easily
    reproducible in my environment.I know that the timer is stopped just
    before the Fast retransmit happens, i think that the timer should be
    restarted once the ack is received but i am not able to figure out where
    it should be restarted..Did anybody face this problem already? Is this a
    known bug ?. Server is a FreeBSD 4.6 machine and the client is Windows
    2000
     
    Thanks in advance
     
    Sreekanth
     
    _______________________________________________
    freebsd-net@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-net
    To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"


  • Next message: Don Bowman: "RE: Help with FreeBSD Bridged Firewall"

    Relevant Pages

    • Re: Network performance
      ... > so I wrote a server and a client using socket. ... * That what you're measuring is overhead - and most likely of setup. ... * Server -> SYN ACK ...
      (comp.lang.python)
    • HTTP keep-alive performance
      ... So, I captured the TCP traffic with wireshark (both, server and client are running on the same machine, 'http://localhost ', so its not the network). ... The TCP ACK package is sent ... HEADER --> ...
      (comp.lang.python)
    • Re: Problem with TCP connection not opening properly
      ... >>I have a problem that is happening fairly regularly between a client ... This ACK gets lost, so is never seen by the server. ... That packets get lost occasionally is not realy realy an issue here. ...
      (comp.os.linux.networking)
    • Re: UDP server scalability question
      ... why are you setting up an ACK on UDP? ... If this is all the server does, spawning multiple threads will most likely ... Unless the ACK is giving data (what the client should ...
      (microsoft.public.dotnet.framework)
    • Re: tcpdump question
      ... F is for FIN ... client> server SYN ... sever> client SYN ACK ...
      (freebsd-questions)