what is tcp_retrans_collapse – BOOLEAN ?

ABOUT tcp_retrans_collapse

This variable implements a bug in the TCP protocol so it will be able to talk to certain other buggy TCP stacks. Without implementing this bug in the TCP stack, we would be unable to talk to certain printers that has this bug built in. This bug makes the TCP stack try to send bigger packets on retransmission of packets to work around bugs in those printers and other hardware implementations.

This variable takes a boolean value and is normally set to 1, or on. Implementing this bug workaround will not break compatibility from our host to others, but it will make it possible to speak to those printers. In general, it should not be a dangerous workaround, but you may turn it off if you receive weird error messages.

TYPICAL SHELL SESSIONS RELATED
[bash]
$cat /proc/sys/net/ipv4/tcp_retrans_collapse
1
$
[/bash]

[bash]
$pwd
/home/jeffrin/linux-4.15.4
$grep -r "tcp_retrans_collapse" *
Documentation/networking/ip-sysctl.txt:tcp_retrans_collapse – BOOLEAN
include/net/netns/ipv4.h: int sysctl_tcp_retrans_collapse;
kernel/sysctl_binary.c: { CTL_INT, NET_IPV4_TCP_RETRANS_COLLAPSE, "tcp_retrans_collapse" },
net/ipv4/tcp_ipv4.c: net->ipv4.sysctl_tcp_retrans_collapse = 1;
net/ipv4/sysctl_net_ipv4.c: .procname = "tcp_retrans_collapse",
net/ipv4/sysctl_net_ipv4.c: .data = &init_net.ipv4.sysctl_tcp_retrans_collapse,
net/ipv4/tcp_output.c: if (!sock_net(sk)->ipv4.sysctl_tcp_retrans_collapse)
$

[/bash]

tcp_retrans_collapse - BOOLEAN
Bug-to-bug compatibility with some broken printers. On retransmit try to send bigger packets to work
around bugs in certain TCP stacks.

TCP smart Framing, or TCP-SF for short, enables  the Fast Retransmit/Recovery  algorithms even when  the
congestion window  is small.  Without modifying  the  TCP congestion
control based on the additive-increase/multiplicative-decrease paradigm, TCP-SF  adopts  a  novel
segmentation  algorithm:  while Classic TCP  always tries to send  full-sized segments, a TCP-SF  source
adopts  a  more flexible  s  segmentation algorithm to try and always  have a number of in flight s
segments larger than 3 so  as to enable Fast Recovery. We motivate  this  choice by  real  traffic c 
measurements, which indicate  that today's  traffic is is  populated by short-li flows, whose only means
to recover from a packet loss is  by triggering a Retransmission  Timeout. The key idea of  TCP-SF can
be implemented  on top of  any TCP flavor, , from Tahoe to SACK, and  requires modifications s to the
server  TCP stack only, and can be easily  coupled   with  recent  TCP   enhancements.   The
performance of the proposed TCP modification were studied by means  of simulations,  live measurements 
and  an analytical model. In addition,  the analytical model we have devised has a  general scope, making
it a  valid tool for TCP  performance evaluation in  the small  window region. Improvements  are  remark-
able  under  several  buffer management   schemes,  and  maximized   by  byte-oriented schemes.

SOURCE:
TCP Smart Framing: A Segmentation Algorithm
to Reduce TCP Latency
Marco Mellia, Member, IEEE, Michela Meo, Member, IEEE, and Claudio Casetti

LINKS
https://www.frozentux.net/ipsysctl-tutorial/chunkyhtml/tcpvariables.html
https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s