User`s guide
Latency Tuning
166
Command options for optimizing network and transport layers
A major contributor to latency for the network and transport layers is unnecessary retransmissions
of data. The command-line interface has several command options to help you reduce these
unnecessary retransmissions. Note that these options are available through the command-line
interface only, and not the Web user interface. For complete descriptions of these commands and
options, see the Digi Connect Family Command Reference.
Command Option Description
set network garp=30-3600 (seconds) The frequency of Gratuitous ARP (GARP) announcements. A Gratuitous ARP is a
broadcast announcement to the network of a device’s MAC address and the IP address
being used for it. This allows the network to update its ARP cache tables without
performing an ARP request on the network.
Gratuitous ARP announcements can affect latency in a limited way, because some
systems stall or dispose of data that is transmitted during an ARP cache refresh. If this
happens, setting the Gratuitous ARP frequency to be more often than the problem
system’s time-to-live variable can cause it to refresh the cache without needing to
perform a request.
set network rto_min=30-1000 The TCP maximum retransmission time out (RTO) in seconds.
TCP uses progressively larger retransmit values, starting at a minimum value that is
calculated from a sliding window of ACK response round-trip times that is bounded at
the bottom by “rto_min.” So, essentially, “rto_min” is not necessarily the timeout that
will be used as the starting retransmit timeout, but it is the smallest such value that
could be used.
This affects latency, because lowering “rto_min” ensures that retransmits take place in
less time if they occur. By occurring sooner, the network is able to recover the lost data
in less time at the expense of possibly retransmitting data that is still in-flight or
successfully received by the other side, but unacknowledged due to a “delayed ACK”
mechanism or something similar.
set service range=range The index number associated with the service
set service nodelay={on|off} This option is used to allow unacknowledged or smaller-than-maximum-segment-
sized data to be sent for the specified range of network services.
The “nodelay” option disables Nagle’s algorithm, which is on by default, for some TCP
services. The purpose of Nagle's algorithm is to reduce the number of small packets
sent. The algorithm establishes not sending outgoing data when there is either
unacknowledged sent data, or there is less-than-maximum segment size (typically
around 1500 bytes for Ethernet) worth of data to be sent. While this algorithm allows
for efficient data transmission, there are times where it is desirable to disable it.
set service delayed_ack=0-1000 The time, in milliseconds, to delay sending ACK packets in response to received data
for the specified range of network services. The default is 200 milliseconds.
Setting this option to 0 (zero) sends an ACK packet back acknowledge the received
data immediately. Setting this option to any other value than 0 means that the ACK
packet will be sent after the specified time. If the network services generate new data
during that time, the ACK packet will be sent along with the data packet.
You can use this setting to avoid congestion and reduce network traffic, However, do
not change this option from its default setting unless you have a solid understanding of
network services and data transmission, or have been instructed to make the change.