Profile picture

[Linux] Ubuntu 네트워크 속도 향상 시키기 - TCP BBR

JaehyoJJAng2023년 07월 21일

▶︎ TCP BBR

구글에서 TCP 통신의 속도 개선 및 안정성 향상을 위해 개발한 혼잡제어 알고리즘이다.

현재에는 유튜브와 구글 클라우드에 적용되어 있다고 한다.

자세한 내용은 아래 링크를 참고해보도록 하자.
https://cloud.google.com/blog/products/networking/tcp-bbr-congestion-control-comes-to-gcp-your-internet-just-got-faster?hl=en


▶︎ 서버 준비

  • OS: Ubuntu 22.04

▶︎ 제한 사항

적용할 서버에 접속하여 커널 버전 확인

$ uname -r
6.2.0-1018-aws

💥 커널 버전이 4.9 이상인 환경에서만 적용 가능


▶︎ BBR 적용

  • /etc/sysctl.conf 파일을 편집

현재 리눅스 커널 설정 확인

$ cat /boot/config-$(uname -r) | egrep 'CONFIG_TCP_CONG_BBR|CONFIG_NET_SCH_FQ'
CONFIG_TCP_CONG_BBR=m
CONFIG_NET_SCH_FQ_CODEL=m
CONFIG_NET_SCH_FQ=m
CONFIG_NET_SCH_FQ_PIE=m

현재 시스템에 적용된 TCP 혼잡 제어 알고리즘 확인
(cubic)

$ sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = cubic

cubic이 적용되어 있음.


BBR을 적용하기 위해 /etc/sysctl.conf 파일에 아래 내용을 추가
{% include codeHeader.html name="/etc/sysctl.conf" %}

#### 아래 내용 추가
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

변경 내용 적용하기

$ sudo sysctl -p

정상적으로 적용되었는지 확인

$ sudo sysctl -a | egrep 'bbr|fq'

아래와 같이 나오면 성공.

net.core.default_qdisc = fq
net.ipv4.tcp_allowed_congestion_control = reno cubic bbr
net.ipv4.tcp_available_congestion_control = reno cubic bbr
net.ipv4.tcp_congestion_control = bbr

Loading script...