Tail-Drop 패킷 폐기 방식과 혼잡 제어 한계

Tail-Drop의 큐 기반 패킷 폐기 원리와 TCP 글로벌 동기화, 버퍼 블로트 문제를 정리하고 RED·WRED·ECN·CoDel 대안을 비교한다.

2026-08-14 · 최초 발행 2025-08-10

큐가 찬 순간부터 시작되는 폐기

Tail-Drop은 라우터나 스위치의 큐가 가득 찼을 때, 뒤이어 도착한 패킷을 그대로 폐기하는 혼잡 제어 방식이다. 큐의 끝부분에 새로 들어오려는 패킷이 버려진다는 특성에서 이름이 나왔다.

최대 큐 크기를 초과한 패킷은 100% 확률로 폐기된다. 별도의 복잡한 계산이 거의 필요하지 않아 여러 네트워크 장비에서 기본 혼잡 제어 방식으로 쓰여 왔다. 다만 큐가 포화된 뒤에야 반응한다는 단순함은 운영상 제약으로 이어진다.

아니오들어오는 패킷큐가 가득 찼는가?큐에 패킷 추가패킷 폐기 - Tail Drop패킷 처리

큐에 여유가 있으면 새 패킷은 빈 자리를 차지한다. 반대로 큐가 모두 채워진 상태에서는 새 패킷이 큐에 들어가지 못하고 폐기된다.

가득Tail-Drop패킷 1패킷 2패킷 3패킷 4패킷 5 패킷폐기 공간 있음패킷 1패킷 2패킷 3 공간 공간 패킷

큐 상태에 따라 달라지는 처리 결과

큐 최대 크기가 100개 패킷이고 현재 80개 패킷이 들어 있다면, 새 패킷은 추가로 수용되어 큐에 들어간다. 같은 크기의 큐가 이미 100개 패킷으로 가득 찬 경우에는 버퍼 공간이 없으므로 새 패킷이 폐기된다.

버스트 트래픽도 같은 규칙을 따른다. 최대 100개 패킷인 큐에 95개 패킷이 쌓인 상태에서 10개 패킷이 갑자기 도착하면 5개만 수용되고 나머지 5개는 폐기된다.

단순한 규칙이 만드는 운영상 제약

Tail-Drop은 패킷의 중요도나 우선순위를 판단하지 않는다. 큐가 찬 뒤 들어온다는 이유만으로 폐기 여부가 결정되므로, 실시간 음성·영상 통화 데이터처럼 긴급한 패킷도 예외가 없다. 이 방식만으로는 QoS를 보장하기 어렵다.

TCP 연결이 많은 구간에서는 글로벌 동기화도 문제가 된다. 여러 연결이 같은 시점에 패킷 손실을 경험하면 모두 전송 속도를 낮추고, 이후에도 함께 속도를 높이며 같은 주기를 반복할 수 있다. 처리량이 급격히 변하는 saw-tooth pattern이 나타나는 배경이다.

TCP 글로벌 동기화다수의 TCP 연결트래픽 증가 가득Tail-Drop 발생다수의 TCP 연결이 동시에윈도우 크기 감소전체 네트워크 처리량 급감다수의 TCP 연결이 동시에 복구시작

큐가 거의 찬 상태로 오래 유지되면 지연 시간도 늘어난다. 실시간 애플리케이션 성능이 떨어지고, 패킷 전달 시간을 예측하기 어려워진다. 버스트 트래픽을 보내는 연결은 더 많은 패킷을 잃을 수 있으며, 도착 타이밍에 따라 특정 데이터 흐름이 불균형하게 영향을 받는다.

혼잡을 더 이르게 다루는 방식

RED는 큐가 특정 임계값에 닿기 전에 확률적으로 패킷 폐기를 시작한다. 혼잡이 완전히 발생하기 전에 대응해 TCP 글로벌 동기화 문제를 완화하려는 방식이다.

낮음중간폐기하지 않음폐기높음들어오는 패킷 사용률?패킷 수용확률적 폐기패킷 폐기

WRED는 RED를 확장해 패킷 우선순위별로 다른 폐기 확률을 적용한다. 중요한 패킷은 덜 중요한 패킷보다 폐기될 확률이 낮으며, QoS 정책과 연결해 차별화된 서비스를 구성할 수 있다.

ECN은 패킷을 버리는 대신 혼잡 신호를 패킷 헤더에 표시한다. 수신자는 이 정보를 발신자에게 전달하고, 발신자는 패킷 손실 없이 전송 속도를 조절할 수 있다.

CoDel과 FQ-CoDel은 큐의 지연 시간을 관찰해 버퍼 블로트를 다룬다. CoDel은 지연 시간이 특정 임계값을 넘을 때 패킷을 폐기하며, FQ-CoDel은 공정 큐잉을 더해 연결 간 공정성도 개선한다.

트래픽 성격에 맞춘 정책 선택

금융 기관 네트워크에서는 거래 관련 중요 데이터 패킷에 WRED를 적용하고, 일반 웹 브라우징 트래픽에는 기본 RED를 적용하는 방식을 고려할 수 있다. 음성·영상 통화에는 우선 대역폭을 할당하고 낮은 폐기 확률을 설정하는 접근도 가능하다.

대규모 ISP는 코어 라우터에 WRED와 ECN 같은 고급 큐잉 메커니즘을 적용하고, 에지 장비에서는 사용자별 트래픽 쉐이핑과 폴리싱을 적용할 수 있다. 서비스 레벨 계약(SLA)에 따라 패킷 처리 정책을 구분하는 구성도 여기에 포함된다.

데이터센터에서는 스토리지 트래픽과 컴퓨팅 트래픽을 분리해 관리하고, 관리 트래픽에 가장 높은 우선순위를 부여할 수 있다. 테넌트 간 공정성이 필요한 경우에는 계층적 큐잉 구조가 선택지가 된다.

Tail-Drop은 구현이 단순하고 추가 오버헤드가 적지만, 우선순위 처리와 지연, 공정성이 중요한 환경에서는 한계가 분명하다. 네트워크의 트래픽 특성과 QoS 요구사항을 기준으로 RED, WRED, ECN, CoDel 같은 혼잡 제어 정책을 선택할 필요가 있다.

Tail-Drop혼잡 제어큐 관리QoS네트워크