Questo tutorial mostra come abilitare TCP BBR su Ubuntu. TCP BBR è un algoritmo di controllo della congestione TCP sviluppato da Google. Affronta le carenze dei tradizionali algoritmi di controllo della congestione TCP (Reno o CUBIC). Secondo Google, può ottenere una larghezza di banda superiore di ordini di grandezza e una latenza inferiore. TCP BBR è già utilizzato su Google.com, YouTube e Google Cloud Platform e l'Internet Engineering Task Force (IETF) ha standardizzato questo algoritmo da luglio 2017. BBR sta per Bottleneck Bandwidth e RTT.
BBR richiede solo modifiche sul lato mittente. Puoi abilitare TCP BBR sul tuo desktop Linux per migliorare l'esperienza di navigazione web complessiva. Se disponi di un server Web Linux, TCP BBR può ottenere download di pagine Web più veloci per i visitatori del tuo sito Web.
Passaggio 1:verifica degli algoritmi di controllo della congestione TCP su Linux
Per impostazione predefinita, Linux utilizza Reno
e CUBIC
algoritmo di controllo della congestione. Per verificare gli algoritmi di controllo della congestione disponibili, esegui il comando seguente.
sysctl net.ipv4.tcp_available_congestion_control
Uscita:
net.ipv4.tcp_available_congestion_control = cubic reno
Per controllare l'attuale algoritmo di controllo della congestione in uso, esegui
sysctl net.ipv4.tcp_congestion_control
Uscita:
net.ipv4.tcp_congestion_control = cubic
Passaggio 2:installa Linux Kernel 4.9 o versioni successive
TCP BBR è supportato da Linux dalla versione del kernel 4.9. Usa il comando seguente per controllare la versione del tuo kernel Linux.
uname -r
Ubuntu 18.04 ha il kernel 4.13.
4.13.0-16-generic
È molto facile installare il kernel Linux 4.10 su Ubuntu 16.04. Non è necessario scaricare manualmente il kernel dal sito Web di Ubuntu. Installa semplicemente lo Stack di abilitazione hardware (HWE), che fornisce kernel più recenti per le versioni LTS di Ubuntu.
sudo apt update sudo apt install --install-recommends linux-generic-hwe-16.04
Il tuo provider VPS può utilizzare un kernel Linux personalizzato invece del kernel fornito da Ubuntu. Se usi Linode VPS, devi andare su Linode VPS control penal, modificare il tuo profilo di configurazione.
In Impostazioni di avvio, imposta il kernel su GRUB2 .
Salva le modifiche. Quindi riavvia per utilizzare il nuovo kernel 4.10.
sudo shutdown -r now
Passaggio 3:abilita TCP BBR in Ubuntu
Una volta che hai il kernel 4.9 o successivo, modifica sysctl.conf
file.
sudo nano /etc/sysctl.conf
Aggiungi le seguenti due righe alla fine del file.
net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr
Salva e chiudi il file. Quindi ricarica le configurazioni di sysctl.
sudo sysctl -p
Se hai aggiunto correttamente le due righe precedenti nel file, verranno incluse nell'output come di seguito.
[email protected]:~$ sudo sysctl -p net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
Ora controlla l'algoritmo di controllo della congestione in uso.
sysctl net.ipv4.tcp_congestion_control
Uscita:
net.ipv4.tcp_congestion_control = bbr
Congratulazioni! Hai abilitato con successo TCP BBR su Ubuntu.
Miglioramenti alla velocità
Ho usato il proxy Shadowsocks su un VPS di fascia bassa per testare TCP BBR. Il miglioramento della velocità è enorme. Lo screenshot seguente mostra la velocità di connessione di YouTube prima di abilitare TCP BBR sul mio server proxy. Come puoi vedere, la velocità è solo di circa 400 Kb/s (50 KB/s).
Questa è la velocità di connessione di YouTube dopo aver abilitato TCP BBR sul mio server proxy. 9878 Kb/s corrisponde a circa 1234 KB/s. Il mio server proxy è appena diventato 24 volte più veloce!
Su un secondo server proxy Shadowsocks, la velocità è passata da circa 10 Mbit/s a circa 62 Mbit/s (64172 Kbit/s) dopo aver abilitato TCP BBR.
Non disabilitare il ridimensionamento della finestra TCP
Potrebbe essere necessario disabilitare il ridimensionamento della finestra TCP per risolvere un problema, ma ciò può ridurre notevolmente le prestazioni della rete. Aggiungi la seguente riga in /etc/sysctl.conf
per abilitare il ridimensionamento della finestra TCP.
net.ipv4.tcp_window_scaling = 1
Quindi applica le modifiche.
sudo sysctl -p
Questo è tutto! Spero che questo tutorial ti abbia aiutato ad abilitare TCP BBR su Ubuntu. Come sempre, se hai trovato utile questo post, iscriviti alla nostra newsletter gratuita per ricevere suggerimenti e trucchi più utili.