Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 May 2009 23:52:32 +0800
From:      Fang Wang <wangfangcs@gmail.com>
To:        freebsd-net@freebsd.org
Subject:   Problems in implementation TCP UTO described in RFC 5482
Message-ID:  <abd04180905250852o263e63e1x1877ae1c3ea6d467@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi!

    RFC 5482 specifies a new TCP option -- the TCP User Timeout Option
(UTO) -- that allows one end of a TCP connection to advertise its
current user timeout value. This information provides advice to the
other end of the connection to adapt its user timeout accordingly.
That means the user timeout which is fixed currently can be changed.
For more details about UTO, please read RFC 5482.
	
    The current user timeout is fact controled by retransmission times
and intervals in TCP stack, that's
1+2+4+8+16+32+64+64+64+64+64+64+64=511 seconds and 12 retransmissions
in total. After the last retransmission, it waits for another 64
seconds. Assume that a program set a 150 seconds user timeout, and of
course we use exponential backoff, so first six intervals is
1,2,4,8,16,32,64 seconds and the last interval is 23 seconds. Here is
the problem, after the last retransmission, we only waits for 23
seconds, that's not exponential backoff. And what if the last interval
is 1 second, that means the last retransmission is useless. One
alternative solution is reduce a retransmission and adjust the former
intervals, for example 1,2,4,8,16,32,65. Or just leave it alone. But I
think there may be some better ideas.

Regards,
Fang Wang



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?abd04180905250852o263e63e1x1877ae1c3ea6d467>