This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

TCPnet - TCP window management

Hi,

I'm using a homemade FTP server library , and recently , I observed a strange behaviour using it with Firefox as ftp client.

When I want to download a file from my server with firefox , the browser uses a 64K buffer window for the data connection .
The server sends data as fast as it can from the SD card (~550KB/s) , but quickly, the window is decreasing to zero , and the server still try to send data.

TCPnet does not seems to manage the buffer window of the host ....

Does someone has a solution to this problem ?

thanks in advance.

Parents
  • en.wikipedia.org/.../Silly_window_syndrome


    Silly window syndrome is a problem in computer networking caused by poorly-implemented TCP flow control. If a server with this problem is unable to process all incoming data, it requests that its clients reduce the amount of data they send at a time (the "window" setting on a TCP packet). If the server continues to be unable to process all incoming data, the window becomes smaller and smaller, sometimes to the point that the data transmitted is smaller than the packet header, making data transmission extremely inefficient. The name of this problem is due to the window size shrinking to a "silly" value.

    Since there is a certain amount of overhead associated with processing each packet, the increased number of packets means increased overhead to process a decreasing amount of data. The end result is thrashing.

Reply
  • en.wikipedia.org/.../Silly_window_syndrome


    Silly window syndrome is a problem in computer networking caused by poorly-implemented TCP flow control. If a server with this problem is unable to process all incoming data, it requests that its clients reduce the amount of data they send at a time (the "window" setting on a TCP packet). If the server continues to be unable to process all incoming data, the window becomes smaller and smaller, sometimes to the point that the data transmitted is smaller than the packet header, making data transmission extremely inefficient. The name of this problem is due to the window size shrinking to a "silly" value.

    Since there is a certain amount of overhead associated with processing each packet, the increased number of packets means increased overhead to process a decreasing amount of data. The end result is thrashing.

Children