Thread (4 messages) 4 messages, 3 authors, 2002-08-29

A question on RTT estimation of SACKed packet.

From: Xiaoliang (David) Wei <hidden>
Date: 2002-08-29 10:17:24

Hi Everyone,
    I am studying the Linux 2.4.19 TCP code. I have a question on the RTT
estimation.
    In the function tcp_clean_rtx_queue (tcp_input.c), all the packet before
snd_una is checked:
    1. When a packet was not SACKed before, we can calculate the seq_rtt
from its skb's timestamp (now - scb->when).
    2. When a packet was SACKed but not retransmitted, the linux also
calculate the seq_rtt from it when there is no unSACKed packet in the queue.
     I cannot understand the second situation: The packet was SACKed before,
that means it arrived the receiver and triggered a SACK sometime before. The
interval between when packet is sent and when the SACK is received should be
the RTT for experienced this packet. Even now the packet is ACKed, I don't
think this ACK is triggered by this packet. Why is it used to calculate the
RTT?
      Thanks.

-David

Xiaoliang (David) Wei             Graduate Student in CS@Caltech
http://www.cs.caltech.edu/~weixl
====================================================
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help