I am working on applications that communicate through the TCP channel through windivert library. It is working fine for small packets but in case of large TCP packets i.e. over 10000 bytes, segments are lost during transmission. Following is the scenario:
- 11086 bytes of data split into 20 segments of 536 bytes
- I receive random packets i.e. sometimes 18 or 19 and sometimes all packets
- In case of loss packets, DUP ACK is sent or retransmission occurs
- Sometimes packets arrived in out of order
- For each packet which application receives, ACK is sent out
Is this due to ACK timeout issue or something else?