네트워크 / 웹서비스

인터넷이 느려지는 숨은 이유 ‘버퍼블로트’와 해결 방법

Phil Hippensteel | Network World 2016.08.25


그렇다면 버퍼블로트는 어떻게 간섭을 일으키는가?
고속 링크와 저속 링크 사이의 연결을 생각해 보자. 버퍼가 중요하다고 여겨지는 상황이다. 예를 들어, 케이블이나 DSL 모뎀 등 가정용 게이트웨이에 1Gbps가 있다고 가정해 보자. 또한 모뎀이 10Mbps 다운로드 및 2Mbps 업로드를 제공하는 ISP 연결에 연결되어 있다고 가정하자.

FTP 서버는 빠른 연결로 진입하는 버퍼를 느린 링크로의 출구 속도보다 더욱 빠르게 채운다. ack가 전송자가 전송할 수 있는 속도를 궁극적으로 결정하는 속도이다. 하지만 버퍼가 크면 두 가지 상황이 발생할 수 있다. 첫째, 버퍼가 채워지면 마지막으로 도착하는 패킷이 드롭된다. 이것을 테일 드롭(Tail Drop)이라 부른다. 전송자에게 이 패킷 드롭을 알리는 ack는 (버려진 패킷를 뒤를 잇는) 다음 패킷이 도착하고 장애가 발생했음을 선언할 때까지 전송되지 않는다.

큰 버퍼를 통과하는데 상당한 시간이 소요될 수 있다. 가변 비트율 동영상으로 실시한 일부 실험에서 전송 스테이션이 드롭된 세그먼트를 재전송할 때까지 약 200개의 세그먼트를 전달할 수 있었다.

또한 여러 개의 흐름이 유입되는 경우 큐(Queue)가 대기 큐로 진화할 수 있다. 즉, 큐에 고정되거나 거의 고정된 수의 패킷이 있는 대기 상태에 도달할 수 있다. 그 양이 버퍼를 넘치게 하기에 충분하지 않은 경우 패킷이 드롭되지 않고 TCP 정체 제어가 무산된다. 하지만 모든 버퍼 사용의 지연 속도는 증가했다.

버퍼 관리
한 동안 네트워크 큐를 관리해야 한다는 인식이 있었다. 특정 트래픽에 우선순위를 추가하기 위해 IP 계층 diffserv 비트는 네트워크 제어나 VoIP 등의 특정 트래픽 유형을 선호하는 정책을 이행하도록 설정할 수 있다. 우선순위 트래픽 유형을 여러 큐로 분류하여 이를 달성한다.

하지만 버퍼블로트가 없어지지는 않는다. 우선순위가 부여되지 않은 트래픽이 포함된 일부 큐는 계속해서 비대해지는 문제를 안게 된다. 때로는 많은 대용량 TCP 세그먼트가 포함될 때가 있다. 그래서 여전히 TCP 정체 메커니즘에 대한 부정적인 영향의 문제를 계속 겪게 된다.

RED(Random Early Discard)와 WRED(Weighted RED) 등 여러 AQM(Active Queue Management) 기법이 소개되었다. 이런 것들은 버퍼가 임계 수준에 도달할 때 패킷을 버리도록 고안되었지만 반드시 꽉 차야 하는 것은 아니었다. 하지만 이런 기법은 결함이 있었으며 RED 구성은 어려웠다. 그래서 RED와 WRED는 널리 사용되지 않고 있다. 자동이며 조정이 필요 없는 방법이 필요했다.

2012년 케이시 니콜스와 반 제이콥슨는 CoDel(Controlling Queue Delay)이라는 기법을 홍보하기 시작했다. 이 방법은 패킷이 큐에 머무르는 시간을 추적함으로써 큐를 관리하며, 그 이유는 큐에 머무르는 시간이 정말로 중요한 문제이기 때문이다.

두 가지 중요한 파라미터, 인터벌(Interval)과 한계값이 존재한다. 인터벌만큼의 패킷이 대상보다 지연이 길면 패킷이 무작위로 드롭된다. 이 기법은 큐의 크기와 상관 없다. 그리고 테일 드롭도 아니다.

이 절차를 시험하면서 RED보다 지연 속도가 전반적으로 더 나았고 결과도 훨씬 나았다. 특히, 무선 액세스 링크의 경우에는 더욱 그랬다. 또한 이 기법은 하드웨어에 적용하기가 쉬웠다.

버퍼블로트 완화에 대한 또 다른 권고사항은 데이브 태트, 에릭 듀마즈, 짐 게티스 등이 제시했다. fq-codel이라 불리는 것으로, 큐를 통과하는 다양한 흐름에 더욱 일관된 영향을 제공하기 위한 것이다. 케이시 니콜스와 반 제이콥슨도 fq-codel 사용을 지지하고 있다.

이 방법은 기본적으로 큐를 1024개의 하위 큐로 분류한다. 그리고 각각의 새로운 흐름을 개별적인 큐로 무작위 할당한다. 각 하위 큐 안에서 Codel이 적용되어 TCP 정체 제어를 돕는다. de-queue 정책은 DRR(Deficit Round Robin)에 기초하고 있다.

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.