TCP BBR – nowy algorytm kontroli przeciążenia od Google
Napisał: Patryk Krawaczyński
23/07/2017 w Administracja Brak komentarzy. (artykuł nr 627, ilość słów: 269)
B
ottleneck Bandwidth and RTT, czyli BBR jest nowym algorytmem kontroli przeciążenia TCP od firmy Google. Został on przetestowany w jego centrach danych, jak i frontowych serwerach takich stron jak: Google.com oraz YouTube.com. Dąży on do optymalizacji zarówno przepustowości, jak i opóźnienia – RTT. Jak wspomina samo Google po wprowadzeniu tego mechanizmu do swojej usługi publicznej chmury obliczeniowej, uzyskał średnio od 4% – 14% większą przepustowość sieciową. Pierwsze publiczne wydanie BBR nastąpiło we wrześniu 2016 roku. Do jego użycia wymagane jest posiadanie jądra w wersji 4.9 lub wyższej, w przeciwnym wypadku wymagane jest nałożenie łatki i rekompilacja jądra.
Vivek Gite wykonał testy, w których podniósł przepustowość z 250 Mbit/s do 800 Mbit/s dla transferu pliku pomiędzy dwoma serwerami połączonymi portami gigabitowymi oraz z 40 Mbit/s do 100 Mbit/s dla ruchu OpenVPN. W ramach swoich testów stworzyłem dwie wirtualne maszyny oparte o VirtualBox (1 CPU / 1 GB RAM), na których został zainstalowany system Linux Ubuntu 16.04 LTS. Standardowym jądrem dla tej dystrybucji jest wersja 4.4.0-83-generic oraz algorytm CUBIC. Po stworzeniu wewnętrznej sieci, która skomunikowała w/w maszyny ze sobą przy pomocy interfejsu vboxnet0; z jednego serwera na drugi został pobrany plik .iso o wielkości 829 MB. W standardowej konfiguracji udało się osiągnąć przepustowość na poziomie 144 MB/s. Po podniesieniu jądra do wersji 4.10.0-27-generic oraz zmianie algorytmu TCP (/etc/sysctl.d/10-custom-kernel-bbr.conf
) na BBR:
net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr
przepustowość wzrosła do 166 MB/s.
Więcej informacji: BBR: Congestion-Based Congestion Control