넷플릭스의 CDN

김동헌·2025년 4월 13일

대규모 설계

목록 보기
3/6
post-thumbnail

이전 포스팅에서는 CDN에 대한 개념을 공부했다!

넷플릭스에서 적용되는 CDN에 대해서 알아보면서 더 진화해보자 !


들어가기

넷플릭스에서 영상을 클릭하면, 로딩 없이 부드럽게 재생이 된다.
어떻게? -> 넷플릭스는 전 세계에 구축한 콘텐츠 전송 네트워크(CDN) 시스템인 Open Connect가 있다!

이번 포스팅에서는 넷플릭스에서 자체 개발한 Open Connect(CDN)와 함께, 콘텐츠를 저장하고 전송하는 OCA(Open Connect Appliance), 최적의 서버를 안내하는 CODA, 그리고 이를 뒷받침하는 Cache Control Service까지 알아보려고 한다!


넷플릭스 CDN

넷플릭스는 CDN을 자체 개발해 운영하고 있다 -> Open Connect

왜?

트래픽 절감

기존 CDN(Akamai, Limelight 등)을 사용할 경우 트래픽 1TB당 요금을 CDN 업체에게 지불해야 한다. 넷플릭스는 트래픽이 너무나도 방대하기 때문에 이 비용 감당을 줄이는 것이 목표일 것이다.
그래서 자체적으로 Open Connect라는 CDN을 구축해 직접 ISP에 OCA를 설치하면서 트랜짓 비용과 CDN 중개 비용을 대폭 절감했다!

트랜짓 비용(Transit Cost)이란 ?
인터넷 트래픽이 다른 네트워크(ex_Tier-1 백본 네트워크)를 통과할 때 발생하는 비용

넷플릭스가 미국에서 콘텐츠를 한국, 일본 등의 사용자에게 전송하려면, 중간에 여러 인터넷 백본 사업자(ISP 간 연결망)를 지나게 되는데 이때 발생하는 비용이다.

또한 OCA에 콘텐츠를 배포할 때도 전략적으로 비혼잡 시간대(새벽 등)를 선택하여 배포한다.
이를 통해 글로벌 ISP나 백본망에 부담을 주지 않고, 트랜짓 비용을 줄이는 동시에 사용자에게는사전에 캐싱된 콘텐츠를 통해 빠른 스트리밍 경험을 제공한다.

성능 향상

기존 CDN은 넷플릭스가 콘텐츠 배포 전략이나 라우팅 경로를 직접 제어하기 어려웠다.

반면, Open Connect는 넷플릭스가 어떤 콘텐츠를 어느 지역 OCA에 배포할지, 사용자에게 어떤 서버를 연결할지 전부 직접 통제할 수 있다.

이를 바탕으로, 사용자의 시청 기기와 지역 특성을 고려한 고품질 콘텐츠사전에 가장 적절한 OCA에 미리 배치하고 CODA는 그 중 가장 빠른 경로를 실시간으로 안내한다.

이를 통해 대용량 고화질 영상도 버퍼링 없이 빠르게 스트리밍할 수 있다

사용자 경험 개선

Open Connect는 사용자와 가장 가까운 OCA에서 스트리밍을 제공하기 때문에 지연 시간(latency) 감소, 로딩 시간 단축, 버퍼링 없는 안정적인 재생이 가능하다.

또한 CODA는 네트워크 상태까지 고려해 실시간으로 최적의 서버를 선택하므로, 사용자 입장에서는 최적화된 시청이 가능하다.


핵심 컴포넌트

구성 요소설명
OCA(Open Connect Appliance)넷플릭스 콘텐츠를 저장하고, 사용자에게 전송하는 캐시서버
전세계 ISP/IX에 직접 배포
CODA(Steering Service)사용자 위치와 네트워크 품질 정보를 기반으로 가장 적합한 OCA 목록을 추천하는 서비스
CCS(Cache Control Service)OCA 상태, 콘텐츠 목록, 부하 등의 실시간 정보를 수집해 CODA에 전달
Playback Apps넷플릭스 앱. CODA와 통신하고 스트리밍 요청을 처리

전체 동작 흐름

1. 사용자 재생 요청
    사용자가 넷플릭스 앱에서 영상 재생 버튼을 누른다.

2. Playback App -> CODA 요청
    앱은 내부적으로 CODA에 연결해 해당 콘텐츠를 제공할 수 있는 OCA 목록을 요청한다.

3. CODA <- CCS 정보 수신
    CODA는 CCS로부터 각 OCA의 상태 (콘텐츠 보유 여부, 네트워크 지연 시간 등)를 실시간으로 전달받습니다.

4. CODA -> OCA 목록 응답
    CODA는 사용자 IP, ISP, 지리적 위치, 네트워크 상황을 고려해 복수의 최적 OCA 목록을 앱에 전달한다.

5. 클라이언트 -> 각 OCA에 테스트 요청
    클라이언트는 CODA가 제시한 OCA들에 대해 연결 테스트(ping || latency 측정)를 수행하고, 가장 빠르고 안정적인 OCA를 최종 선택한다.

6. 선택된 OCA에서 스트리밍 시작
    최종적으로 선택된 OCA에서 콘텐츠 스트리밍이 시작된다.
      만약 해당 콘텐츠가 없다면, 상위 티어 OCA 또는 글로벌 데이터센터에서 콘텐츠가 동기화되어 제공된다.

Open Connect의 계층 구조

티어위치설명
Global Tier넷플릭스 자체 데이터센터모든 콘텐츠 보유, 하위 OCA에 콘텐츠를 전파
Regional/Flash Tier대륙 또는 국가 수준고속 SSD로 인기 콘텐츠 저장. 상시 고속 응답 제공
Standard Tier (Edge)ISP 또는 IX에 위치사용자와 가장 가까운 위치. 최종 사용자에게 직접 스트리밍 제공

아키텍처 전체 구조

CODA & CCS

  • CODA : 사용자 위치, 네트워크 상태를 바탕으로 가장 적합한 OCA를 안내하는 실시간 라우팅 시스템

  • CCS(Cache Control Service) : OCA의 실시간 정보를 수집해 CODA의 라우팅 결정에 반영하도록 지원

CODA는 단순한 DNS 기반의 정적 라우팅이 아닌, OCA의 부하 상태, 콘텐츠 보유 현황, 지연 시간, 지역 트래픽 상황을 종합 고려해, 사용자에게 가장 빠르고 안정적인 경로를 실시간으로 제공

끝!

profile
백엔드 기록 공간😁

0개의 댓글