TCP Retransmission - Delay with Windows 10!
Hi, During our testing, I noticed when using Windows-10 - we observe less throughput. But when we use lInux - we see more throughput. But we intend to use Windows-10 only for this test.
When I analyzed the logs, below is my analysis so far:
Windows-10: 192.168.1.3, let's call Windows Peer : 192.168.1.176 , let's call peer.
traffic direction : Windows (iperf Client) to Peer (iperf server)
- Windows sends TCP Seq-x to Peer
- Peer sends a TCP ACK - x-1460 bytes .
- Windows waits for ~100ms to ~200ms before re-transmitting the packet - which as seq-x.
Looks like TCP retransmission timeout is configured to be very large value: may be around 200ms? Is there a way I can change this to lower value? Yes, I'm running on a network - where some packet loss is expected.
-ram
I'm not sure I understand your example correctly, it's a little too abstract. If it's just a iperf test why not share the PCAP file so we can take a look at what's really happening?
As far as your example goes I read it like "a packet is sent, it's acknowledged, it's resend again after 200ms" - which makes no sense. Why resend if the sender knows that it's packet got through fine? Also, iperf is a synthetic test so without seeing the pcap it's hard to say what it tries to do.
If I understand it correctly the author says TCP ACK has (x-1460) set therefore it ACKs 1 packet before last (I could be wrong here, because it's not 100% clear). If it's the case, 200ms timeout value is pretty typical for Windows as well as any other OS.