버퍼블로트: 빠른 인터넷의 렉 문제
대역폭은 충분한데 누군가 다운로드하자 영상 통화가 망가집니다. 속도 문제가 아니라 대기열 문제입니다.
실제로 일어나는 일
공유기와 모뎀에는 회선이 잠시 가득 찰 때 패킷이 기다리는 버퍼가 있습니다. 작은 버퍼는 유용하지만 많은 가정용 장비는 필요한 것보다 수백 배 큰 버퍼를 갖고 출고됩니다.
대용량 전송이 회선과 버퍼를 채우면 통화, 게임, 클릭에 필요한 작고 긴급한 패킷도 대량 데이터 뒤에서 기다립니다. 지연 시간이 20 ms에서 300, 600, 때로 1000 ms 이상으로 늘어나는 현상이 버퍼블로트입니다.
전형적인 증상
평소에는 괜찮다가 사진 업로드, 게임 업데이트, 클라우드 백업이 시작되면 통화가 끊기고 스트리밍이 버퍼링되며 웹과 게임이 느려집니다. 전송을 멈추면 즉시 회복됩니다.
자신의 트래픽이 원인이므로 유휴 상태 속도 테스트에서는 다운로드, 업로드, 핑이 모두 완벽하게 보일 수 있습니다.
측정 방법
회선을 가득 사용하면서 지연 시간을 측정해야 합니다. 저희 테스트는 다운로드와 업로드 중에도 탐사를 보내 각 단계의 부하 시 지연 시간과 A–F 버퍼블로트 등급을 보여 줍니다. C 이하라면 회선이 바쁠 때 실시간 앱이 영향을 받습니다.
효과 순서대로 보는 해결책
근본 해결책은 공유기의 Smart Queue Management(SQM)입니다. fq_codel이나 CAKE는 대기열을 짧게 유지합니다. SQM, Smart Queue 또는 fq_codel/CAKE가 포함된 QoS 설정을 찾아 제한 속도를 실측보다 조금 낮게 두세요. D에서 A로 좋아지는 경우도 흔합니다.
SQM이 없다면 내장 안티 버퍼블로트나 게임 QoS를 켜거나, OpenWrt 기기를 포함해 SQM 지원 공유기로 바꾸거나, 제공업체 장비를 브리지 모드로 두고 해당 공유기를 연결할 수 있습니다.
효과가 없는 것은 같은 버퍼를 둔 채 Mbps만 늘리는 것입니다. 큰 관은 더 빨리 가득 찰 뿐입니다.