lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ