TCP Delayed Ack implementation in 6.1
Preethi Natarajan
nataraja at cis.udel.edu
Fri Apr 27 15:38:23 UTC 2007
Hello,
I have a question about the TCP delayed ack implementation in FreeBSD 6.1
According to specs, if delayed acks are enabled, the receiver delays
transmitting acks for the delack time period or acks every other
incoming packet.
I have an experimental setup where:
- RTT between server & client ~90ms.
- one-way data transmission from server to client.
- tcp delayed acks enabled
- delacktimer = 200ms.
- tcp inflight (BDP) calculation is disabled.
From tcpdump at client side:
Time: 38s.695ms: S->C data (282b)
Time: 38s.707ms: S->C data (1448b)
Time: 38s.707ms: C->S ack
Time: 38s.719ms: S->C data (1448b)
Time: 38s.719ms: C->S ack
Time: 38s.731ms: S->C data (1448b)
Time: 38s.741ms: S->C data (1166b)
Time: 38s.741ms: C->S ack
I do not understand the reason for the second ack from C->S (Time
38s.719ms). Clearly this ack has not delayed for 200ms from the previous
ack and acks only 1 packet. Am I missing something?
Thanks a ton,
Preethi
More information about the freebsd-net
mailing list