Resilio Agents can communicate over our new Zero Gravity Transport (ZGT) protocol, designed for bulk data transfer. This protocol is built over UDP and can detect available bandwidth or network congestions and smartly adjust its behavior accordingly - increase data transit if possible, or avoid data loss and unwanted packet retransmission on a busy pipe. ZGT probes the channel reaction (packet loss, RTT and throughput over time) for different amounts of data pushed in several concurrent threads and sequentially picks the optimal speed.
Important Note:This new feature is a paid add-on for Connect. Please contact Sales or your account executive to activate this feature.
Enable/ Disable WAN Optimization
WAN optimization can be enabled by including a WAN feature in license package applied to the Agent in new license packages.
Prerequisites and peculiarities of using WAN Optimization
In a job, 2 Agents must have WAN optimization enabled for ZGT protocol to be used between them. If either agent has it disabled, others won't able to communicate with it over WAN optimized protocol.
ZGT protocol is not friendly towards other applications when sharing bandwidth. Being UDP-based, ZGT consumes all available bandwidth causing other applications to underperform on their network tasks.
Some ISPs might be shaping UDP traffic in a way.
ZGT and other udp-based protocols in Resilio Connect are known to work slower than expected on virtual switch from Hyper-V.
ZGT protocol speed might be capped by system socket buffers size. To increase the buffers on a Linux host run the following commands:
Temporary increase buffer size
sudo sysctl net.core.rmem_max=20971520
sudo sysctl net.core.wmem_max=2097152
sudo sysctl net.core.netdev_max_backlog=10000
sudo sysctl net.ipv4.udp_rmem_min=2097152
echo "net.core.rmem_max=20971520" | sudo tee -a /etc/sysctl.conf
echo "net.core.wmem_max=2097152" | sudo tee -a /etc/sysctl.conf
echo "net.core.netdev_max_backlog=10000" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.udp_rmem_min=2097152" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
If your license does not support this feature, a corresponding error will show up. Contact a sales representative to have it added to your license.