▶︎ 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