SmartWAN AI 가속: Zeta TCP 백서
목차
- 개요
- TCP 최적화
- ZetaTCP 소개
- 작동 원리
- 결론
1. 개요
TCP(Transmission Control Protocol, 전송 제어 프로토콜)는 약 40년 동안 사용되어 왔습니다. 원래는 DARPA와 대학 연구 기관을 주요 대상으로 개발된 프로토콜이었으나, 오늘날에는 인터넷 트래픽의 90% 이상을 처리하는 핵심 기술이 되었습니다.
하지만 인터넷의 발전과 함께 TCP는 웹 성능을 최적화하는 데 있어 하나의 병목 현상으로 작용하게 되었습니다.
TCP의 가장 중요한 목표는 모든 패킷을 정확한 순서로 전송하고, 누락 없이 도착하게 하는 것입니다. 이를 위해 TCP는 한 번에 보낼 수 있는 패킷 수를 제한하고, 각 패킷에 대한 수신 확인(ACK)을 받은 후에야 추가 전송을 허용합니다. 이 방식은 신뢰성을 높이는 데에는 효과적이지만, 네트워크 혼잡 상황을 정확히 반영하지 못할 때가 많아 대역폭을 비효율적으로 사용하게 하고, 결과적으로 최종 사용자 경험을 저하시킬 수 있습니다.
특히 표준 TCP는 패킷 손실을 네트워크 혼잡의 신호로 인식하고, 전송 속도를 조절하는데, 이러한 접근법은 실제 네트워크 상태를 충분히 반영하지 못하여 느리고 비효율적인 데이터 전송을 초래할 수 있습니다.
2. TCP 최적화
현재까지 TCP 최적화 방식은 세 가지 세대로 구분할 수 있습니다.
- 손실 기반(loss-based): 패킷 손실을 통해 속도를 조절
- 지연 기반(delay-based): 손실 대신 대기 지연을 기준으로 속도를 조절
- 학습 기반(learning-based): 세션 데이터를 분석하고 학습하여 실시간으로 속도를 조절
손실 기반 방식은 오늘날 네트워크 용량이 과거보다 훨씬 커졌음에도, 기본적으로 여전히 손실 발생을 통해 속도를 제어합니다. 초기 혼잡 윈도우(CWND) 크기를 늘리고 손실 복구를 개선하는 등의 시도가 이루어졌지만, 결국 여전히 손실을 기준으로 전송 속도를 제한하기 때문에 불안정하고 비효율적인 결과를 낳습니다. 또한 이 방식은 기본적으로 고정적(static)입니다. 네트워크 상황에 따라 유연하게 조정되지 않습니다.
TCP Reno나 Cubic이 대표적인 손실 기반 최적화 예시입니다.
지연 기반 방식은 손실이 아니라 RTT(Round Trip Time, 왕복 시간)의 변화를 모니터링하여 전송 속도를 조절합니다. 이 방법은 불필요한 속도 저하를 방지하고 패킷 손실 자체를 줄이는 데 기여하여, 특히 비디오 스트리밍이나 웹 페이지 로딩처럼 고속 안정 흐름이 필요한 상황에 유리합니다. 그러나 모바일 네트워크처럼 지연이 자주 변하는 환경에서는 성능이 저하될 수 있으며, 이 역시 기본적으로 고정적인 성격을 가지고 있습니다.
FastTCP가 대표적인 지연 기반 최적화 사례입니다.
학습 기반 방식은 TCP 플로우의 특성을 실시간으로 관찰하고 분석하여, 세션별로 최적의 전송 결정을 내리는 접근법입니다. 기존의 고정형 방식의 한계를 극복하며, 보다 정확하게 혼잡을 감지하고 대응할 수 있습니다.
ZetaTCP는 바로 이 학습 기반 방식을 기반으로 개발되었습니다.
3. ZetaTCP 소개
Appex Networks는 학습 기반 TCP 가속화 기술인 ZetaTCP를 개발하였습니다.
ZetaTCP는 다음과 같은 설계 목표를 바탕으로 만들어졌습니다.
▪ 투명성
ZetaTCP는 기존 TCP 스택을 대체하거나 변경하지 않고, 완전히 호환되면서 성능을 향상시키도록 설계되었습니다. TCP 플로우를 받아 최적화한 뒤 다시 내보내는 방식이기 때문에, 수신 측에서는 ZetaTCP의 존재를 인식할 필요가 없습니다.
ZetaTCP는 스마트폰, 태블릿, 노트북과 같은 클라이언트 기기에 내장하거나, 서버, 로드 밸런서, 캐시 장비 등에 설치할 수 있습니다.
구성은 다음과 같습니다: 표준 TCP 스택과 네트워크 인터페이스 드라이버 사이에 ZetaTCP가 위치하여, 모든 애플리케이션은 기존 TCP 스택과 그대로 통신합니다.
배포 방식이 어떠하든, 애플리케이션이나 네트워크 장비 입장에서는 ZetaTCP가 완전히 투명하게 동작합니다.
▪ 학습 기반
ZetaTCP는 자체 특허를 보유한 알고리즘을 통해 TCP 플로우의 특성을 실시간으로 학습하고 분석합니다. 이를 통해 정확하고 빠른 의사결정을 내리고, 기존 TCP로는 도달할 수 없던 성능 수준을 실현합니다.
▪ 확장성
ZetaTCP는 높은 확장성을 갖추었습니다.
산업용 네트워크 장비(라우터, 게이트웨이, 애플리케이션 전송 컨트롤러 등)에 탑재하면 수백만 개의 TCP 플로우와 수십 기가비트급 트래픽을 처리할 수 있습니다.
반면, 스마트폰이나 가정용 무선 공유기 같은 소비자용 기기에도 소수의 메모리만으로 쉽게 적용할 수 있습니다.
이러한 설계 목표 덕분에 ZetaTCP는 다양한 환경에서 뛰어난 네트워크 성능 향상을 제공할 수 있습니다.
4. 작동 원리
ZetaTCP 엔진은 대부분의 최적화 로직과 제어 기능을 담당합니다.
TCP 입출력 모듈에서 패킷을 큐잉(임시 저장)하고, WAN(광역 네트워크) 측 중심으로 처리가 이루어집니다.
ZetaTCP는 다음과 같은 주요 컴포넌트로 구성되어 있습니다.
▪ 학습 상태 머신 (Learning State-Machine)
ZetaTCP의 핵심 지능 허브입니다. 네트워크 경로에 대한 정보를 축적하며, 세션별 실시간 의사결정을 내립니다. (예: 데이터 전송 속도 조정, 재전송 타이밍 결정)
▪ 플로우 프로파일러 (Flow Profiler)
각 TCP 플로우의 특성을 추출하여 학습 상태 머신에 기록하고 유지합니다.
▪ 손실 감지기 (Loss Detector)
패킷 손실을 감시하고, 손실이 무작위적 요인인지 네트워크 혼잡 때문인지 구분합니다.
▪ 혼잡 제어기 (Congestion Controller)
학습된 정보를 바탕으로 핵심 혼잡 제어 로직을 실행합니다.
▪ 예외 처리기 (Exception Handler)
TCP 플로우를 직접 가속화하는 대신, 경로상의 오류를 감지하여 최적 가속을 지원합니다. (일부 장비나 스택은 TCP 구현이 잘못되어 있는 경우가 있어, 이를 지능적으로 탐지합니다.)
▪ 윈도우 컨트롤러 (Window Controller)
LAN 및 WAN 양쪽에서 수신 패킷 수를 제어하기 위해, 광고 윈도우 크기를 계산합니다. 가속 성능과 시스템 자원 사이의 균형을 유지합니다.
▪ 리소스 관리자 (Resource Manager)
메모리와 CPU 사용량을 추적하고 제어합니다.
모든 TCP 플로우 간에 자원을 공평하게 분배하며, 대규모 세션 수를 효율적으로 처리할 수 있도록 지원합니다.
▪ 혼잡 감지 및 처리 개선
표준 TCP의 혼잡 회피(congestion avoidance) 알고리즘은 수십 년 전 설계되었습니다. 이 알고리즘은 모든 패킷 손실을 혼잡의 신호로 간주하는 단순한 전제를 따릅니다.
하지만 오늘날 대부분의 네트워크에서는 손실이 반드시 혼잡 때문에 발생하는 것이 아닙니다. 특히 무선·모바일 네트워크에서는 신호 약화로 인한 자연스러운 손실이 자주 발생합니다. 이런 환경에서는 표준 TCP가 제대로 성능을 발휘하지 못합니다.
지연 기반 접근법은 지연 시간 증가를 혼잡의 신호로 인식해 손실보다 나은 성능을 보여주긴 합니다. 그러나 이 방식 역시 고정적이며, 상황 변화에 민감하게 대응하지 못합니다.
예를 들어, 네트워크 경로에 얕은 큐(버퍼)가 존재할 경우, 지연이 충분히 쌓이지 않아 혼잡을 감지하지 못하고 전송 속도를 줄이지 못하는 문제가 생깁니다. 이로 인해 대량의 패킷 손실이 발생하고, 복구에도 오랜 시간이 걸립니다. 또 다른 예로는, 경로 상의 네트워크 장비가 간헐적으로 처리 지연을 일으킬 때인데, 이 경우 지연 기반 TCP는 이를 잘못된 혼잡 신호로 오해하여 필요 이상으로 속도를 줄이게 됩니다.
ZetaTCP는 이러한 한계를 극복하기 위해 지능적인 알고리즘을 학습 상태 머신에 내장하였습니다.
TCP 연결마다 실시간 트래픽 통계를 기반으로 다음과 같은 요소를 고려하여 혼잡을 정확히 감지합니다.
- RTT(왕복 시간)
- ACK(응답 간격)
- SACK(선택적 응답) 및 패킷 순서 엉킴 정도
이러한 학습을 통해 ZetaTCP는 각 연결 경로의 특성을 파악하고, 혼잡을 더 빠르고 정확하게 감지하며, 효과적으로 대응합니다. 그 결과, 대규모 손실을 예방하고, 혼잡 이후에도 부드럽게 복구하여 가용 대역폭을 효율적으로 활용할 수 있습니다.
▪ TCP 최적화 방식 비교
아래 도표(문서 Figure 3 참조)는 네 가지 대표적 네트워크 상황에서 손실 기반, 지연 기반, 학습 기반 접근법의 혼잡 대응 성능을 비교한 것입니다.
- 비혼잡성 손실 상황
- 대용량 버퍼 혼잡
- 소형 버퍼 혼잡
- 네트워크 장비의 처리 지연 발생
결과를 보면, 지연 기반 접근법이 손실 기반보다 두드러지게 나은 성능을 보였지만, 얕은 큐 혼잡 상황에서는 혼잡을 인지하지 못하여 성능이 급격히 떨어졌습니다. 또, 장비의 처리 지연을 혼잡으로 오인하여 불필요한 속도 저하도 발생했습니다.
반면 ZetaTCP는 모든 상황에서 정확히 혼잡을 감지하고 빠르게 복구하여, 평균 처리량(throughput)에서 압도적인 우위를 보였습니다.
▪ 정확하고 예측 가능한 손실 감지 및 빠른 복구
패킷 손실은 일반적으로 전송 기간 동안 고르게 분포하지 않고, 특정 구간에 몰려서 발생하는 경향이 있습니다.
표준 TCP(특히 RFC 2582나 SACK 지원 알고리즘인 RFC 3517 기반)는 이와 같은 클러스터 손실 상황을 제대로 처리하지 못하고, 누락된 패킷을 신속히 재전송하는 데 실패하는 경우가 많습니다. 이로 인해 복구에 더 많은 왕복 시간이 소요되고, 전송 지연이 커집니다.
또한, 재전송 타임아웃(RTO)이 발생할 경우 표준 TCP는 마지막으로 성공한 ACK 시점까지 완전히 되돌아가 재전송을 시도합니다. 이 방식은 효율이 극히 낮으며, 상황을 오히려 악화시키기도 합니다.
ZetaTCP는 학습 기반 지능을 통해 손실 감지 및 복구 성능을 크게 개선했습니다.
TCP 연결마다 트래픽 통계를 수집하고 손실 유형을 분류하여, 향후 손실을 더 빠르고 정확하게 감지할 수 있습니다.
또한, RTO 발생을 최소화하려 노력하며, 불가피하게 RTO가 발생해도, 마지막 ACK 지점까지 무조건 되돌리는 대신, 실질적으로 손실된 것으로 판단되는 구간만 골라 재전송합니다.
이 덕분에 복구 속도는 훨씬 빨라지고, 불필요한 재전송 트래픽이 대폭 감소하여 대역폭 효율이 극대화됩니다.
▪ 실제 데이터 기반 테스트 결과
문서상의 Figure 4 실험은 다음 조건에서 진행되었습니다:
- RTT: 100ms
- 평균 손실률: 1%
- 최대 수신 윈도우: 65,535 바이트 (이론적 최대 대역폭 약 5.24Mbps)
테스트 결과,
- 표준 TCP는 손실 복구가 느려 기대치보다 훨씬 낮은 속도를 기록했습니다.
- ZetaTCP는 손실을 신속히 감지하고 복구하여, 높은 RTT와 손실률에도 불구하고 최대 대역폭에 거의 근접하는 성능을 달성했습니다.
특히 모바일 네트워크 환경(라스트마일 무선 채널 손실이 빈번한 경우)에서는 ZetaTCP의 성능 차이가 더욱 뚜렷하게 나타났습니다.
▪ 제3자 성능 비교 테스트
문서의 Figure 5는 제3자 기관이 수행한 비교 테스트 결과입니다.
최대 대역폭 16Mbps 환경에서 여러 네트워크 시나리오를 시뮬레이션하여,
- 손실 기반(New Cubic TCP)
- 지연 기반(Fast TCP 계열)
- 학습 기반(ZetaTCP)
세 가지 접근법의 평균 처리량을 비교했습니다.
결과는 명확합니다.
- 손실 기반은 모든 시나리오에서 최악의 성능을 보였고,
- 지연 기반은 그보다 개선되었지만 한계가 있었으며,
- ZetaTCP는 모든 상황에서 가장 높은 처리량을 기록했습니다.
5. 결론
오늘날 인터넷 트래픽의 90% 이상이 TCP 위에서 전달되고 있지만, TCP는 현대 웹 서비스의 고속성과 민감한 지연 요구를 만족시키기에는 명백한 한계에 부딪히고 있습니다.
기존 손실 기반 최적화는 일부 개선을 제공하지만, 여전히 손실에 의해 속도가 지배되기 때문에 높은 전송 속도와 안정적 처리량은 기대하기 어렵습니다.
지연 기반 접근법은 좀 더 현대적인 해법이지만, 본질적으로 고정적이고 일괄적인 특성에서 벗어나지 못합니다.
이에 따라, 세션별로 실시간 최적화를 적용할 수 있는 '학습 기반' 접근법이 필수적입니다.
ZetaTCP는 전 세계 수백 개 기업과 수백만 명의 사용자가 이미 신뢰하는,
세계 최고 수준의 학습 기반 TCP 가속화 엔진입니다.
완전한 투명성으로 기존 TCP 스택과 호환되며,
딜레이 민감한 애플리케이션의 성능을 대폭 향상시킵니다.





No Comments