구독해서 새 게시물에 대한 알림을 받으세요.

Cloudflare가 세계 최고의 성능 데이터 컬렉션을 활용하여 세계에서 가장 빠른 글로벌 네트워크를 더욱 빠르게 만드는 방법

2025-09-26

7분 읽기
이 게시물은 English, Français, Deutsch, 日本語, Español, Nederlands繁體中文로도 이용할 수 있습니다.

Cloudflare는 세계에서 가장 빠른 네트워크를 운영합니다. 오늘 우리는 제품군의 모든 서버를 가속화하여 전 세계적으로 속도를 개선하는 소프트웨어 기술의 전면 개편 상황에 대해 업데이트를 공유했습니다.

하지만 그 일은 여기에서 멈추지 않습니다. 속도를 한층 더 끌어올리기 위해서는 Cloudflare 네트워크가 트래픽을 현재 더 빠른 속도를 내는 서버로 라우팅함으로써 매일 발생하는 인터넷 규모의 혼잡을 신속하게 처리할 수 있도록 해야 합니다.

우리는 수년간 혼잡 제어에 투자해 왔습니다. 오늘, 우리는 Cloudflare 네트워크가 가진 초능력이라고 할 수 있는 대규모 Free 요금제 사용자 기반을 활용하여 어떻게 성능을 최적화하고, 전 세계 모든 고객을 위해 Cloudflare 네트워크에서 트래픽을 라우팅하는 최적의 방법을 찾아내는지 공유해 드릴 수 있게 되어 기쁩니다.

초기 결과는 이전 기준치보다 평균 10% 더 빠른 성능 향상을 보여주었습니다. 우리는 매일 인터넷에서 관찰한 데이터를 기반으로 다양한 알고리즘 방법을 적용하여 성능을 개선함으로써 이를 달성했습니다. 모든 고객에게 이렇게 개선된 기능을 제공할 수 있게 되어 매우 기쁩니다.

트래픽은 어떻게 우리 네트워크에 도착할까요?

인터넷은 상호 연결된 네트워크의 방대한 모음이며, 각각의 네트워크는 수많은 머신(“노드”)으로 구성되어 있습니다. 데이터는 작은 패킷으로 분할되어 한 머신에서 다른 머신으로("링크"를 통해) 전달됩니다. 이들 머신 각각은 다른 많은 머신과 연결되어 있으며, 각 연결의 용량은 제한되어 있습니다.

인터넷을 통해 패킷을 보내면 패킷은 A에서 B로 이어지는 링크에서 일련의 '홉'을 통해 이동합니다. 이때, 해당 경로에서 가용 용량이 가장 적은 링크가 하나('홉' 하나)가 존재하게 됩니다. 연결의 어느 위치에 이 홉이 있든지 간에, 그것은 병목 현상의 원인이 됩니다.

하지만 문제가 있습니다. 인터넷을 통해 데이터를 전송할 때에는 어떤 경로를 거칠지 알 수가 없습니다. 사실, 각 노드는 트래픽을 보낼 경로를 스스로 결정하며, A에서 B로 가는 패킷은 매번 완전히 다른 경로를 선택할 수 있습니다. 시스템의 역동적이고 분산된 특성 덕분에 인터넷은 매우 효과적이지만, 이는 또한 전송할 수 있는 데이터의 양을 파악하기가 매우 어렵게 되는 원인이기도 합니다.  그렇다면 발신자는 병목 지점이 어디에 있는지, 데이터를 얼마나 빠르게 전송할 수 있을지 어떻게 알 수 있을까요?

Argo Smart Routing 제품은 Cloudflare 노드 사이에서 전역 네트워크에 대한 가시성을 활용하여 통신 속도를 높입니다. 마찬가지로, 고객의 원본 서버에 연결을 시작할 때에도 Argo 및 기타 인사이트를 활용하여 연결을 최적화할 수 있습니다. 하지만 귀하의 전화 또는 노트북(아래에서 얘기하는 클라이언트)에서 가장 가까운 Cloudflare 데이터 센터까지의 연결 속도는 귀하의 위치에서 Cloudflare까지의 체인에 존재하는 병목 홉의 용량에 따라 달라지며, 이는 Cloudflare 네트워크의 제어 범위를 벗어나는 일입니다.

너무 많은 데이터가 한 번에 도착하면 어떻게 될까요?

요청을 처리하는 경로에 있는 네트워크의 한 노드에 너무 많은 데이터가 도착하면 요청자는 혼잡으로 인해 지연을 겪게 됩니다. 데이터는 잠시 동안 대기열에서 대기하거나(버퍼블로트의 위험 존재) 일부는 그냥 삭제제됩니다. TCP 및 QUIC 같은 프로토콜은 패킷 손실 시 데이터를 재전송하여 대응하지만 이는 결국 지연을 초래하고 제한된 용량을 더욱 과부하시켜 문제를 악화시킬 수 있습니다.

Cloudflare와 같은 클라우드 인프라 제공업체가 혼잡을 신중하게 관리하지 않으면 시스템이 과부하되어 데이터 전송 속도가 느려질 위험이 있습니다. 실제 인터넷 초창기에는 이런 일이 발생했습니다. 이를 방지하기 위해 인터넷 인프라 커뮤니티는 네트워크에 과부하를 주지 않고 모든 사람이 차례로 데이터를 전송할 수 있도록 혼잡 제어 시스템을 개발했습니다. 네트워크가 점점 더 복잡해짐에 따라 혼잡 제어를 구현하는 최선의 방법을 끊임없이 추구하는 것이 진화하는 과제입니다. 다양한 정보와 신호 소스를 사용하여 특정 방법으로 최적화하고, 다양한 방식으로 혼잡에 대응하는 여러 알고리즘이 개발되었습니다.

혼잡 제어 알고리즘은 네트워크가 어떻게 구성되어 있는지 알지 못하더라도 여러 신호를 사용하여 트래픽을 전송할 적절한 속도를 추정합니다. 한 가지 중요한 신호는 손실입니다. 패킷이 수신되면 수신자는 발신자에게 패킷이 성공적으로 전달되었음을 알리는 'ACK'를 보냅니다. 전송 중 어딘가에서 패킷이 삭제되면, 발신자는 이 영수증을 받지 못하고, 제한 시간 초과 후에는 패킷이 손실된 것으로 간주합니다.

더 최근의 알고리즘은 추가 데이터도 사용했습니다. 예를 들어, 우리가 많은 트래픽에 사용해 온 BBR(병목 대역폭 및 왕복 전파 시간)이라는 인기 있는 알고리즘은 손실 정보와 왕복 시간 추정치를 사용하여 각 연결 중에 전송될 수 있는 최대 데이터 양의 모델을 구성하려고 시도합니다.

가장 적합한 알고리즘은 워크로드에 따라 달라지는 경우가 많습니다. 예를 들어, 화상 통화와 같은 대화형 트래픽의 경우, 과도한 트래픽 전송을 유도하는 알고리즘은 대기열을 증가시켜 대기 시간을 늘리고 비디오 품질을 저하시킬 수 있습니다. 만약 해당 사용 사례에만 최적화하고 트래픽을 줄여 이를 피하려 한다면, 네트워크는 대량 다운로드를 수행하는 클라이언트에게 최적의 연결을 제공하지 못할 것입니다. 성능 최적화 결과는 여러 가지 요인에 따라 달라질 수 있습니다.  하지만 우리는 대부분의 요인에 대한 가시성을 확보하고 있습니다!

BBR은 반응형 손실 기반 접근 방식에서 사전 예방적 모델 기반 최적화로 전환하여 혼잡 제어 접근 방식을 흥미롭게 발전시킨 것으로 최신 네트워크의 성능을 크게 향상시켰습니다. 우리가 확보한 데이터는 다양한 알고리즘 방법을 적용하여 성능을 개선함으로써 한층 더 진화할 수 있는 기회를 제공합니다. 

어떻게 하면 더 잘할 수 있을까요?

모든 기존 알고리즘은 현재 연결의 수명 동안 수집된 정보만 사용하도록 제한됩니다. 다행히, 우리는 어느 순간이든 인터넷에 대해 이보다 훨씬 더 많은 것을 알고 있습니다!  Cloudflare의 트래픽 관점에서 우리는 어느 고객이나 인터넷 서비스 공급자보다 특정 시점에 훨씬 더 많은 것을 볼 수 있습니다.

우리는 매일 지구상의 거의 모든 주요 네트워크에서 발생하는 트래픽을 보고 있습니다. 우리 시스템에 요청이 들어오면, 어떤 클라이언트 기기와 통신 중인지, 어떤 유형의 네트워크가 연결을 가능하게 하는지, 그리고 우리가 소비자 ISP와 연결 중인지 아니면 클라우드 인프라 제공업체와 연결 중인지까지 알 수 있습니다.

우리는 전 세계 인터넷의 로드 패턴이 어떤지, 우리 네트워크 내부에서든 외부에서든 시스템 과부하가 발생한 위치가 어디인지 알고 있습니다. 우리는 안정적인 특성을 가진 네트워크, 셀룰러 데이터 연결로 인해 패킷 손실률이 높은 네트워크, 그리고 저궤도 위성 링크를 거쳐 15초마다 경로가 급격히 바뀌는 네트워크에 대해서도 알고 있습니다. 

어떻게 작동할까요?

우리는 현재 네트워크 기술 스택을 새로운 플랫폼으로 이전하는 과정에 있으며, 이 플랫폼은 Rust로 구현되어 혼잡 제어에 사용되는 알고리즘의 매개변수를 다양하게 실험할 수 있는 더 큰 유연성을 제공합니다. 그래서 우리는 데이터가 필요했습니다.

이러한 실험을 뒷받침하는 데이터는 우리가 최적화하려는 측정값, 즉 사용자 경험을 반영해야 합니다. 지구상의 거의 모든 네트워크로 데이터를 전송하는 것만으로는 충분하지 않습니다. 고객이 어떤 경험을 하고 있는지 확인할 수 있어야 합니다. 그렇다면 Cloudflare 수준의 규모에서 어떻게 그렇게 할 수 있을까요?

첫째, 우리는 네트워크에서 데이터를 전송할 수 있는 속도와 수신자가 수신을 확인하는 데 걸리는 시간에 대한 자세한 '패시브' 로그를 가지고 있습니다. 이는 모든 트래픽을 포함하며, 클라이언트가 데이터를 얼마나 빨리 수신했는지에 대한 아이디어를 제공하지만, 사용자 경험에 대해 보장하지는 않습니다.

다음으로, 우리는 실제 사용자 측정(RUM) 데이터를 수집하는 시스템을 갖추고 있으며, 이는 지원되는 웹 브라우저에서 페이지 로드 시간(PLT) 등의 지표에 대한 정보를 기록합니다. 모든 Cloudflare 고객은 이 기능을 활성화할 수 있으며, 대시보드에서 상세한 인사이트를 받을 수 있습니다. 또한 모든 고객과 네트워크 전반에서 이 메타데이터를 집계하여 고객의 실제 사용자 경험을 파악할 수 있습니다. 

그러나 RUM 데이터는 우리 네트워크의 일부 연결에 대해서만 존재합니다. 그래서 우리는 패시브 로그에서만 볼 수 있는 데이터를 기반으로 RUM 값을 예측하는 방법을 찾기 위해 노력해 왔습니다. 두 가지 알고리즘을 큐빅 기준치와 비교하여 수행한 실험 결과가 한 가지 예입니다.

자, 다음이 바로 패시브 로그를 기반으로 한 예측을 통해 관찰한 것과 같은 시간 척도입니다. 곡선은 매우 유사합니다. 하지만 더 중요한 것은 곡선 간의 비율이 매우 유사하다는 점입니다. 정말 엄청난 결과죠! 상대적으로 적은 양의 RUM 데이터를 사용하여 결과를 검증할 수도 있지만, 패시브 로그의 전체 스트림을 사용하면 훨씬 더 세밀한 방식으로 네트워크를 최적화할 수 있습니다.

너무 멀리 추론하면 신뢰할 수 없게 되므로, 우리는 일부 대형 고객과 협력하여 그들의 클라이언트 관점에서 네트워크 동작의 가시성을 개선하고 있으며, 이를 통해 이 예측 모델을 더욱 확장할 수 있습니다. 그 대가로, 우리는 다른 플랫폼에서는 제공할 수 없는 방식으로 고객에게 그들의 클라이언트의 진정한 경험에 대한 인사이트를 제공할 수 있습니다.

그 다음은 무엇일까요?

현재 우리는 모든 무료 등급 QUIC 트래픽에 대해 혼잡 제어를 위한 개선된 알고리즘을 실험하고 있습니다. 더 많은 것을 배우고, 더 복잡한 고객 사례에서 검증하며, TCP 트래픽으로 확장해 나감에 따라, 2026년 이후에는 모든 고객에게, 그리고 모든 트래픽에 대해 점진적으로 이를 적용할 예정입니다. 이러한 노력의 결과, 기준치에 비해 최대 10% 개선되었습니다!

현재 선정된 기업과 협력하여 초기 액세스 프로그램에서 이를 테스트하고 있습니다. 더 자세히 알아보고 싶으신 경우, Cloudflare에 문의 바랍니다! 

Cloudflare에서는 전체 기업 네트워크를 보호하고, 고객이 인터넷 규모의 애플리케이션을 효과적으로 구축하도록 지원하며, 웹 사이트와 인터넷 애플리케이션을 가속화하고, DDoS 공격을 막으며, 해커를 막고, Zero Trust로 향하는 고객의 여정을 지원합니다.

어떤 장치로든 1.1.1.1에 방문해 인터넷을 더 빠르고 안전하게 만들어 주는 Cloudflare의 무료 애플리케이션을 사용해 보세요.

더 나은 인터넷을 만들기 위한 Cloudflare의 사명을 자세히 알아보려면 여기에서 시작하세요. 새로운 커리어 경로를 찾고 있다면 채용 공고를 확인해 보세요.
속도창립기념일 주간AI속도 및 신뢰성

X에서 팔로우하기

Cloudflare|@cloudflare

관련 게시물

2025년 9월 29일 오후 2:00

더 나은 인터넷 구축을 지원하기 위한 15년의 여정: 2025년 창립기념일 주간 돌아보기

Rust 기반 코어 시스템, 포스트 퀀텀 업그레이드, 학생들을 위한 개발자 액세스 권한, PlanetScale 통합, 오픈 소스 파트너십, 그리고 2026년에만 1,111명의 인턴을 채용하는 역대 최대 규모의 인턴십 프로그램까지....