핵심 인사이트 (3줄 요약)

  1. 본질: BBR(Bottleneck Bandwidth and Round-trip propagation time)은 구글(Google)이 개발하여 유튜브를 끊김 없이 보게 해준 혁명적인 최신 알고리즘으로, 지난 40년간 "패킷이 죽어야(Drop) 길이 막힌 줄 알고 브레이크를 밟던" 손실 기반(Loss-based) 제어의 무식함을 버리고, "응답 시간(RTT)이 느려지면 막히는 거다"라고 판단하는 지연(Delay-based) 기반의 21세기형 혼잡 제어다.
  2. 패킷 유실을 무시하는 패기: 와이파이나 무선망(LTE)은 길이 안 막혀도 허공에서 전파 간섭으로 패킷이 툭툭 떨어져 죽는다. CUBIC은 이걸 보고 "헐 길 막혔네!" 하며 멍청하게 유튜브 속도를 확 깎아버린다. 하지만 BBR은 "어? 패킷 1개 죽었는데 핑 타임(RTT)은 여전히 엄청 빠르네? 이거 그냥 무선 간섭 찌꺼기네! 무시하고 풀악셀 계속 밟아!!" 라며 진정한 트래픽 본질을 꿰뚫어 본다.
  3. 병목(Bottleneck) 대역폭의 측정: BBR은 내 컴퓨터와 목적지 사이의 모든 길 중에서 **가장 좁은 길(Bottleneck)**의 실제 속도를 끊임없이 측정(BtlBw)하고, 내 파이프 길이를 계산(RTprop)하여, 딱 그 파이프가 터지지 않을 만큼 100% 꽉 채워서 물을 밀어 넣는 궁극의 "맞춤형 펌프질"을 시전한다.

Ⅰ. 개요 및 필요성 (Context & Necessity)

  • 개념: 구글이 2016년에 발표한 TCP 혼잡 제어 알고리즘으로, 패킷 유실(Packet Loss)이 아닌 네트워크의 실제 대역폭과 지연 시간(BDP, Bandwidth-Delay Product)을 실시간으로 모델링하여 최적의 전송 속도를 결정하는 기법.

  • 필요성: 현대 사람들은 핸드폰 와이파이나 5G로 유튜브를 본다. 무선망은 장애물이 많아 패킷 손실률이 기본 1~2%다. 기존의 CUBIC(레노 포함)은 패킷이 죽으면 무조건 "라우터가 꽉 찼네!" 하고 속도를 절반으로 깎아버리는 낡은 사상을 가졌다. (길이 텅텅 비어있는데 단순 무선 노이즈로 죽은 건데도!). "야! 1980년대 낡은 사상(Drop 기반) 다 갖다 버려! 진짜 길이 막히면 패킷이 버려지기 전에 '핑 타임(RTT)이 늘어나는 징후'가 먼저 나타난다! 핑 속도를 재고 대역폭을 재서, 톨게이트 큐(버퍼)가 부풀어 오르기 직전까지만 딱 예쁘게 쏴!!" 이 천재적 발상이 세상을 바꿨다.

  • 💡 비유: BBR은 막히는 고속도로를 달리는 **"테슬라 오토파일럿"**과 같습니다.

    • 기존 (CUBIC): 앞차와 꽝 부딪혀서 범퍼가 부서져야만(Packet Drop) "아, 차가 막히는구나!" 하고 브레이크를 밟습니다. (앞 유리에 새똥이 맞아서 시야가 가려져도 범퍼가 부서진 줄 알고 급브레이크를 밟는 바보입니다).
    • BBR: 앞차와의 거리가 좁아지는 속도(RTT 증가)와 내 차가 달리는 속도(Bandwidth)를 카메라와 센서로 실시간 계산해서, 부딪히기 한참 전부터 **"스무스하게 앞차와 똑같은 속도로 정속 주행"**을 맞춰 사고(Drop) 자체를 내지 않습니다.

📢 섹션 요약 비유: CUBIC은 물통에 물이 꽉 차서 바닥으로 물이 철철 넘쳐흘러야(Drop) 비로소 수도꼭지를 잠그는 미련한 짓이라면, BBR은 물통 안에 **초음파 센서(RTT 측정)**를 달아 수위가 차오르는 속도를 계산하여, 넘치기 1cm 직전에 수도꼭지 밸브를 유동적으로 싹 조절해 물을 한 방울도 안 버리는 최첨단 밸브 시스템입니다.


Ⅱ. BBR의 BDP(대역폭-지연 곱) 공식과 무적의 속도 (Deep Dive)

1. 파이프의 크기: BDP (Bandwidth-Delay Product) 측정

BBR 라우터의 뇌구조는 오직 이 공식 하나로 돌아간다. 최적의 전송량(물) = 가장 좁은 파이프 굵기(BtlBw) × 파이프 길이(RTprop)

  • BtlBw (Bottleneck Bandwidth): 내가 10번 패킷을 쏘면서 영수증이 도착하는 속도를 재보니, 최대로 뽑아본 속도가 100Mbps였다. "아, 중간에 가장 좁은 병목 구간이 100Mbps짜리구나!"
  • RTprop (Round-Trip Propagation Time): 영수증이 도착하는 데 걸린 시간 중, 차가 1대도 안 막히고 빛의 속도로 쓩 갔다 온 순수 물리적 왕복 시간. "최소 핑 타임이 10ms구나!"
  • BBR의 결정: "오케이. 병목 100Mbps × 핑 10ms = 파이프 안에 딱 1MB의 물을 채워 넣으면 넘치지도, 모자라지도 않는 100% 갓벽한 속도다! 무조건 1MB씩만 들이부어라!"

2. 큐잉(버퍼블로트)의 타파

CUBIC은 라우터 버퍼가 꽉 찰 때까지 밀어 넣는다. 라우터 버퍼에 데이터가 산더미처럼 쌓여 있으니, 뒤늦게 들어간 내 롤(LOL) 게임 패킷이 버퍼를 통과하느라 핑이 1000ms로 치솟는 끔찍한 현상(Bufferbloat, 버퍼블로트)이 발생한다.

  • BBR의 우아함: BBR은 버퍼(큐)에 물이 차오르기 시작하면(RTT가 10ms에서 12ms로 늘어나면) "앗, 버퍼에 대기 줄이 생기려 하네?" 하고 즉시 물 붓는 속도를 늦춘다.
  • 결과적으로 라우터의 대기 줄(버퍼)은 항상 텅텅 빈 쾌적한 상태로 유지되며, 유튜브를 다운받으면서 동시에 롤 게임을 해도 핑이 튀지 않는 쾌적함을 선사한다.
 ┌─────────────────────────────────────────────────────────────┐
 │                패킷 유실(Loss) 상황에서의 BBR vs CUBIC 속도 차이   │
 ├─────────────────────────────────────────────────────────────┤
 │                                                             │
 │   [ 상황: 무선 와이파이에서 패킷 1%가 공중 분해됨 (Loss 1%) ]        │
 │                                                             │
 │   * 구형 CUBIC의 뇌구조:                                        │
 │     "헐! 1%나 유실됐네? 톨게이트 꽉 차서 터졌구나!                  │
 │      속도 당장 반 토막 내서 10Mbps로 확 줄여!!" (바보짓)            │
 │                                                             │
 │   * 최신 BBR의 뇌구조:                                        │
 │     "패킷이 1% 날아갔지만, 핑 타임 재보니까 아까랑 똑같이 10ms 네?     │
 │      이건 톨게이트 막힌 게 아니라 그냥 와이파이 혼선 찌꺼기네 ㅋㅋ      │
 │      야 무시하고 원래 쏘던 대로 1Gbps 풀악셀 계속 밟아라!!"         │
 │                                                             │
 │   ▶ 결과: BBR을 켜면 무선 환경이나 장거리 해외 서버 연결 시 다운로드 │
 │           속도가 수십 배에서 수백 배까지 경이롭게 폭등한다!          │
 └─────────────────────────────────────────────────────────────┘

3. 실무에서의 BBR

구글은 BBR을 만들고 유튜브 서버와 구글 클라우드(GCP) 망 전체에 이걸 덮어씌웠다. 덕분에 인류는 끊김 없는 유튜브를 보고 있다. 현재 최신 리눅스 커널과 윈도우 11에는 BBR이 내장되어 있어, 서버 관리자가 명령어 한 줄(sysctl -w net.ipv4.tcp_congestion_control=bbr)만 치면 곧바로 내 서버가 우주 최강의 스피드 부스터를 달게 된다.

📢 섹션 요약 비유: BBR은 혈관(네트워크) 속의 **"스마트 피 채취 센서"**입니다. 옛날 의사(CUBIC)는 피가 터져 나와야(Drop) 고혈압인 줄 알았지만, BBR 센서는 혈압(대역폭)과 맥박(지연 시간)을 초정밀 측정하여, 혈관이 터지기 직전 최적의 펌프질 속도로 혈액을 순환시키는 무결점 인공심장입니다.