smoltcp

1 개의 포스트

더 빠른 SASE 클라이언트 (새 탭에서 열림)

Cloudflare는 Zero Trust 보안 환경에서 발생하는 프록시 성능 저하 문제를 해결하기 위해 SASE 클라이언트의 프록시 모드 아키텍처를 완전히 재설계했습니다. 기존의 WireGuard 기반 Layer 3 터널링 대신 QUIC 프로토콜을 활용한 직접 Layer 4 프록싱 방식을 도입하여, 보안 수준을 유지하면서도 데이터 전송 속도를 2배로 높이고 지연 시간을 대폭 단축했습니다. 이번 업데이트를 통해 사용자들은 고해상도 영상 스트리밍이나 대용량 파일 전송 시에도 프록시 사용 전과 다름없는 쾌적한 인터넷 환경을 경험할 수 있게 되었습니다. ### 기존 아키텍처의 한계와 smoltcp의 병목 현상 * **Layer 4와 Layer 3의 충돌**: 초기 Cloudflare One 클라이언트는 호환성을 위해 SOCKS5/HTTP 프록시를 사용했으나, 기반 터널은 Layer 3(L3) 프로토콜인 WireGuard로 구축되어 L4 TCP 트래픽을 L3 패킷으로 변환해야 하는 기술적 난제가 있었습니다. * **사용자 공간 TCP 스택의 제약**: 커널 수준의 변환이 어려운 멀티 플랫폼 환경을 지원하기 위해 Rust 기반의 사용자 공간 TCP 구현체인 `smoltcp`를 사용했으나, 이는 임베디드 시스템에 최적화되어 있어 최신 TCP 기능을 지원하지 못했습니다. * **이중 변환 오버헤드**: 클라이언트에서 L4를 L3 패킷으로 쪼개고, Cloudflare 에지(Edge)에서 이를 다시 L4 스트림으로 복구하는 과정이 반복되면서 고속 광랜 환경에서도 성능 상한선이 발생하는 병목 현상이 나타났습니다. ### QUIC 및 MASQUE를 활용한 직접 L4 프록싱 * **아키텍처의 근본적 변화**: 프록시 모드에서 WireGuard 사용을 중단하고, QUIC의 확장 프로토콜인 MASQUE를 도입하여 트래픽을 Layer 4 수준에서 직접 처리하도록 변경했습니다. * **HTTP/3 CONNECT 메서드 활용**: RFC 9114 표준을 따르는 HTTP/3의 CONNECT 메서드를 사용하여 브라우저의 요청을 L3 패킷으로 분해하지 않고 QUIC 스트림에 직접 캡슐화합니다. * **기술적 이점**: `smoltcp` 레이어를 완전히 제거하여 패킷 처리 오버헤드를 없앴으며, QUIC 고유의 현대적인 혼잡 제어(Congestion Control) 및 흐름 제어 기능을 활용할 수 있게 되었습니다. * **최적화 가능성**: 클라이언트와 Cloudflare 에지 사이의 QUIC 파라미터를 세밀하게 조정하여 네트워크 환경에 최적화된 성능 구현이 가능해졌습니다. ### 새로운 프록시 모드의 주요 수혜 사례 * **타사 VPN과의 공존**: 특정 사내 자원 접속을 위해 레거시 VPN을 병행 사용해야 하는 환경에서, 성능 저하 없이 웹 트래픽에만 Zero Trust 보안을 계층적으로 적용할 수 있습니다. * **고대역폭 애플리케이션 분할**: 브라우저 트래픽만 Cloudflare Gateway로 라우팅하는 환경에서 고화질 콘텐츠 스트리밍이나 대규모 데이터셋 처리가 원활해집니다. * **개발자 및 파워 유저**: CLI 도구나 스크립트에서 SOCKS5 보조 리스너를 사용하는 개발자들이 원격 API 호출 및 데이터 전송 시 Cloudflare 글로벌 네트워크의 저지연 이점을 그대로 누릴 수 있습니다. ### 적용 방법 및 확인 사항 새로운 성능 개선 사항을 적용하려면 Cloudflare One 클라이언트 버전이 **2025.8.779.0 이상**(Windows, macOS, Linux)이어야 합니다. 관리자 대시보드의 장치 프로필 설정에서 서비스 모드를 'Local proxy mode'로, 터널 프로토콜을 'MASQUE'로 설정해야 합니다. 사용 중인 프로토콜은 터미널에서 `warp-cli settings | grep protocol` 명령어를 통해 직접 확인할 수 있습니다.