[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABrhC0mhuY75Y0Q_dkkPMH4si1OinM3bvpK_cHhOwQRpAAFu2A@mail.gmail.com>
Date: Sat, 24 Dec 2011 10:03:08 -0500
From: John Heffner <johnwheffner@...il.com>
To: Anatoly Sivov <mm05@...l.ru>
Cc: netdev@...r.kernel.org
Subject: Re: tcp_mtu_probe implementation details
TCP doesn't operate as well with a small window, and below some point
there isn't really a justification for increasing the MTU size. 11 is
something of a magic number, but here's the reasoning:
A cwnd of 11 pre-probe will result in a cwnd of 6 after a successful
probe. (By the time the probe succeeds, cwnd will have been increased
to 12, then doubling MSS will halve cwnd to 6.) A window size smaller
than this makes TCP more vulnerable to double loss events and
increases the likeliness of timeouts.
-John
2011/12/21 Anatoly Sivov <mm05@...l.ru>:
> Hello Vijay,
>
> Thank you for your response.
>
>
>>> The other question is about size_needed variable.
>>> It is assigned to value probe_size + (tp->reordering + 1) * tp->mss_cache
>>> And that is not clear for me.
>>> What is this "(tp->reordering + 1) * tp->mss_cache" addition?
>>>
>>
>> I think the idea is that you want enough bytes in the write_queue so
>> that even if the probe is lost, the sender will get an ack even if
>> there is reordering in the network. Without sufficient bytes, the
>> probe will not be sent. This is what I make of the code but I could be
>> wrong.
>
>
> I believe, I found the explanation of this addition in RFC 4821:
> "TCP Fast Retransmit is not robust unless there are
> sufficient segments following a probe; that is, the sender SHOULD
> have enough data queued and sufficient receiver window to send the
> probe plus at least Tcprexmtthresh [RFC2760] additional segments."
>
> However, I'm still confused with magic number 11 in "tp->snd_cwnd < 11"
> check.
>
> Thanks.
>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists