동영상 CDN이란?

비디오 콘텐츠 전송 네트워크(CDN)는 스트리밍 비디오를 전 세계 시청자에게 빠르고 효율적으로 전송하는 데 도움이 됩니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • '동영상 CDN'의 정의
  • CDN 동영상 스트리밍 작동 방식 설명
  • 동영상 스트리밍에 CDN을 사용할 때의 장점 설명

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

동영상 CDN이란?

동영상 CDN은 동영상 스트림 전송을 지원하도록 설계된 CDN입니다.스트리밍 비디오에 CDN을 사용하면 스트림이 전 세계 시청자에게 도달하고 대기 시간버퍼링 시간이 최소화되며 스트림의 소스 또는 원본 서버가 요청 때문에 과부하가 걸리지 않도록 할 수 있습니다.

대부분의 CDN은 HTML, 이미지, JavaScript, CSS 스타일시트, 기타 웹 콘텐츠와 함께 동영상 콘텐츠를 캐싱하고 전송할 수 있지만, 동영상 CDN은 동영상 스트리밍 전용으로 구축할 수 있습니다. 예를 들어, Netflix에서는 비디오 콘텐츠를 보다 효율적으로 전송하기 위해 Open Connect라는 자체 분산 네트워크를 구축했습니다.

CDN 소개

콘텐츠 전송 네트워크(CDN)는 인터넷을 통해 콘텐츠를 캐시하고 전송하는 연결된 서버 그룹입니다.CDN은 전 세계에 분산되어 있으므로 원본 서버나 단일 데이터 센터보다 더 많은 사용자에게 콘텐츠를 더 효율적으로 전송할 수 있습니다.CDN은 사용자가 해당 CDN을 사용하는 웹 사이트에서 콘텐츠를 요청할 때마다 콘텐츠를 캐시합니다. "캐시"는 파일을 임시로 저장한다는 의미입니다.

Bob이 bobisgreat.example.com이라는 웹 사이트를 뉴욕주 뉴욕시에 있는 서버에 호스팅한다고 가정해 보겠습니다. 약 250km 떨어진 뉴욕주 올버니에 있는 Alice가 웹 사이트를 방문하면 웹 사이트 콘텐츠가 250km만 이동하면 되므로 빠르게 로드됩니다. 하지만 Carlos가 캘리포니아주 로스앤젤레스(약 4,800킬로미터 떨어짐)에 있는 집에서 bobisgreat.example.com을 로드하려고 하면 웹 사이트가 로드될 때까지 훨씬 더 오래 기다려야 합니다.

Bob이 CDN 서비스를 사용하는 경우, CDN은 Alice와 Carlos 모두와 가까운 위치에 웹 사이트 콘텐츠를 캐시할 수 있습니다. Bob의 CDN이 뉴욕시 외에 올버니와 로스앤젤레스에 있는 데이터 센터에 웹 사이트를 캐시한다고 가정해 보겠습니다. 이제 Alice와 Carlos 모두 브라우저에서 bobisgreat.example.com이 로드될 때까지 기다릴 필요가 거의 없습니다.

동영상 스트리밍에 CDN을 사용하는 이유는?

시청자와의 거리를 최소화하여 대기 시간을 줄이기

앞서 설명한 것과 동일한 원칙이 동영상 스트리밍에도 적용됩니다. 동영상 콘텐츠가 시청자와 가까울수록 로드 및 재생 속도가 빨라집니다. CDN은 스트림의 원본 위치보다 특정 시청자와 더 가까운 서버를 보유하고 있을 가능성이 높습니다.

원본 서버에 과부하가 걸리지 않음

CDN의 여러 서버를 사용하면 스트림이 시작되는 서버가 스트리밍 요청으로 인해 과부하가 걸리지 않습니다. 200대의 서버로 구성된 그룹은 단일 서버가 처리할 수 있는 것보다 수천 명의 시청자에게 비디오를 스트리밍하는 데 훨씬 더 효과적입니다.

스트리밍 콘텐츠가 네트워크 대역폭을 초과하지 않음

네트워크는 한 번에 일정량의 데이터만 통과시킬 수 있습니다. 이 최대량을 "대역폭"이라고 합니다. 네트워크를 통과하는 데이터의 양이 대역폭을 초과하면 고속도로에서 자동차를 한 차로로 제한하면 교통 속도가 느려지는 것처럼 데이터 전송 속도가 크게 느려집니다. CDN의 여러 분산 서버에서 스트림이 전송되면 한 네트워크에 트래픽이 몰리는 현상이 발생할 가능성이 줄어듭니다.

스트림은 어떻게 캐시할 수 있을까요?

스트리밍은 동영상 파일을 서버에서 클라이언트로 지속해서 전송합니다. 그러나 스트리밍 동영상은 하나의 연속 파일로 사용자의 장치에 전송되지 않습니다. 오히려 스트리밍 동영상은 더 작은 세그먼트로 나뉩니다. 각 세그먼트는 사용자의 동영상 플레이어에 의해 로드되고 올바른 순서로 배치됩니다.

이미지, HTML 페이지, JavaScript 코드 스니펫을 CDN에서 캐싱하는 것처럼 각 개별 비디오 세그먼트도 CDN에서 캐싱할 수 있습니다. 사용자가 스트림을 요청하면 CDN은 스트림의 원본에서 동영상 세그먼트가 도착하는 즉시 캐싱을 시작합니다. 다음 사용자가 동일한 스트림을 요청하면 CDN이 캐시에서 해당 세그먼트를 대신 전송할 수 있으므로 훨씬 빠릅니다.

CDN은 라이브 스트림을 어떻게 캐싱할까요?

스토리지에서 동영상을 전송하는 주문형 동영상 스트리밍의 경우, CDN이 원본 서버에 저장된 동영상을 요청하고 원본 서버에서 이를 전송한 다음 CDN이 동영상을 캐싱하는 방식으로 아주 간단하게 동영상을 캐싱할 수 있습니다.

라이브 스트리밍에서는 바로 사용할 수 있는 저장된 버전의 동영상이 없습니다. 그러나 프로세스는 비슷합니다. 유일한 차이점은 CDN이 이전에 생성된 동영상을 캐싱하는 대신 실시간으로 생성되는 동영상 세그먼트를 캐싱한다는 점입니다. 그런 다음 스트림이 스트림의 원본에서 직접 제공되지 않고 캐시를 통해 시청자에게 제공됩니다.

대부분의 시청자는 각 세그먼트가 캐시될 때까지 몇 초를 더 기다려야 하지만, 효율적으로 수행되면 원본 서버에서 직접 스트림을 가져오는 것보다 "라이브" 에 더 가깝게 스트림을 전송할 수 있습니다. CDN은 원본 서버보다 시청자와 더 가까우므로 캐시에서 스트림을 전송하면 원본 서버를 오가는 왕복 시간(RTT)을 줄일 수 있습니다. 또한 CDN을 사용하면 대역폭 문제로 인해 시청자의 실시간 스트리밍 속도가 느려질 가능성이 줄어듭니다.

Cloudflare CDN은 동영상과 함께 작동할까요?

Cloudflare Stream은 Cloudflare CDN을 통해 동영상을 전송하는 스트리밍 서비스입니다.선진국의 99%에서 100밀리초 이내에 작동하는 Cloudflare의 전역 네트워크는 모든 위치의 시청자에게 빠른 전송과 원활한 동영상 재생을 보장합니다.