CDN 예시

Stormi·2022년 7월 27일
1

네트워크

목록 보기
30/37
post-thumbnail

유튜브

구글은 CDN 구축을 검색은 enter-deep으로하고 비디오는 bring-home 방식으로한다.
유튜브 비디오를 질의를 하면, 비디오 자체는 bring-home 클러스터 캐시에서 서비스되며, 관련된 웹페이지 부분은 가까운 enter-deep 클러스터 캐시로부터, 비디오 관련 광고는 메가 데이터 센터로부터 서비스된다.

구글은 자체 비공개 CDN을 사용해서 유튜브 동영상을 배포하고 수백가지의 다른 IXP및 ISP 위치에 서버 클러스터를 설치했다. 이러한 위치에서 거대한 데이터 센터에서 직접 동영상을 배포한다. 사용자를 특정 서버 클러스터와 연결하는데 DNS를 사용하는데 이때 구글 클러스터 선택 정책은 클라이언트와 클러스터 간의 RTT 즉, round trip time, 작은 패킷이 클라이언트로부터 서버까지가고, 서버에서 클라이언트로 되돌아오는데 걸리는 시간이 가장 적은 곳으로 연결한다. 떄로는 클러스터들 간의 균형이 있는 작업부하를 위해 클라이언트가 DNS를 통해 보다 멀리있는 클러스터에 연결되기도 한다.

유튜브는 HTTP 스트리밍을 사용해서 DASH 방식을 쓴 적이있지만, 2011년부터 사용자가 스스로 버전을 선택하게 하였다. 재생 위치 조정과 조기 종료로 인한 대역폭과 서버 자원의 낭비를 줄이기 위해 유튜브는 HTTP byte-range 헤더를 이용해 목표한 분량의 선인출 데이터 이후에 추가로 전송되는 데이터 흐름을 제한하고 있다.

유튜브는 서버로부터 클라이언트로의 비디오 전송 뿐만아니라 사용자로부터 서버로의 비디오 업로드에도 HTTP스트리밍을 사용한다.

KanKan

  • 넷플릭스와 유튜브는 서버 하드웨어 뿐만아니라 서버가 비디오를 배포하는 데 사용하는 대역폭도 지불해야한다. 이러한 서비스를 소비하는 대역폭의 양을 감안 할 때 이러한 CDN은 비용이 많이 든다.

따라서 CDN을 통한 클라이언트-서버 방식 대신에 P2P 전송을 사용하는 방식으로 kankan은 p2p 비디오 전송을 대대적으로 도입했다.

kankan은 한 피어가 비디오 시청을 원하면 집중형 또는 분산형 트랙커와 접촉하여 시스템 내에서 비디오 복사본을 가진 피어들을 발견한다. 한 피어가 비디오 조각 단위에 데이터를 요청하게 되는데, 비디오 복사본을 가진 피어들에게 요청한다.

그러나 이때 요청은 연속적은 비디오 재생을 위해 가까운 시간안에 재생될 비디오 조각 단위데이터에 대해 우선적으로 발송된다.

최근 kankan은 하이브리드 CDN-P2P 스트리밍 시스템으로 이전했다. 중국내에서 수백대의 서버를 배치하고 비디오 콘텐츠를 이들 서버에 푸쉬한다. 이 KanKan CDN은 비디오 스트리밍의 시작 단계에서 중요한 역할을 한다. 대부분의 경우 클라이언트는 CDN서버의 콘텐츠 시작을 요청하고 피어는 콘텐츠를 병렬로 요청한다. 총 P2P트래픽이 비디오 재생에 충분하면 클라이언트는 CDN에서 스트리밍을 중단하고 피어를 통해서만 스트리밍한다. 그러나 P2P 스트리밍 트래픽이 불충분해지면 클라이언트는 CDN 연결을 다시 시작하고 하이브리드 CDN-P2P 스트리밍 모드로 돌아간다. 이러한 방식으로 비용이 많이 드는 인프라 서버 및 대역폭에 최소한으로 의존하면서 초기 시작 지연을 보장할 수 있다.

0개의 댓글