Skip to content

Commit 3664b6d

Browse files
committed
New article: /p/78
1 parent 9f6c76c commit 3664b6d

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed
Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@ title: "BanD Width! It's MyBOND!!"
33
tagline: "Can bonding bring double upload?"
44
tags: linux networking
55
redirect_from: /p/78
6+
header:
7+
overlay_image: /image/header/band-width-mygo.jpg
8+
overlay_filter: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.1))
69
---
710

811
My workstation in my univerity lab has consistently generated some 600 TiB of annual upload across two PT sites. After an upgrade to the room a few months back, it received the most wanted upgrade for years: A second 1 Gbps line to the campus network. I immediately made the two NICs into one bonded 2 Gbps interface, and it has shined for many times with multiple popular torrents.
912

10-
Inspired by my friend [TheRainstorm](https://blog.yfycloud.site/) who managed to double his upload by load-balancing WireGuard over two lines from the same ISP (China Mobile), I figured I'd leverage this chance and make a better understanding though some more detailed experiments.
13+
Inspired by my friend [@TheRainstorm](https://blog.yfycloud.site/about/) who managed to double his upload by load-balancing WireGuard over two lines from the same ISP (China Mobile), I figured I'd leverage this chance and make a better understanding though some more detailed experiments.
1114

1215
## Setup
1316

@@ -96,7 +99,14 @@ For 4 parallel streams, the result looks much better:
9699
| C | 4 | CUBIC | 1.74 Gbps | 1.82 Gbps | 20 | 17 | 2.91 MB | 2.89 MB |
97100

98101
The gap between RR and TLB no longer exists, and differences in retransmissions and Cwnd size can be attributed entirely to the CC algorithms themselves.
99-
In particular, due to Cwnd falling under 4 MiB, or maybe just random network fluctuation, retransmission to destination C is observed for the first time.
102+
In particular, due to Cwnd falling under 4 MiB, or possibly just random network fluctuation, retransmission to destination C is observed for the first time.
100103
It's also interesting to note that the difference in Cwnd size between BBR and CUBIC increased to 5x, compared to some 3 ~ 3.5x in single-stream case.
101104

102105
## Bottom line
106+
107+
I did a set of rudimentary experiments in this article, and TCP upload is only a very generic use case.
108+
For example, @TheRainstorm is running Sunshine streaming inside load-balanced WireGuard tunnel, and turning up forward error correction (FEC) level is one way to offset fluctuation and packet loss.
109+
I've been running qBittorrent uploads under `balance-tlb` mode for months, and it's been very stable because qBittorrent uploads torrent content over many connections.
110+
111+
If anyone wants a more reliable multi-NIC bonding setup, I'd definitely recommend getting a capable switch and doing bonding in `802.3ad` (LACP) mode.
112+
But for a small homelab, `balance-rr` + BBR would probably suffice for optimizing single-stream transmission speed, at the cost of some overhead on bandwidth.

0 commit comments

Comments
 (0)