컨텐츠분배네트워크(CDN)

Stormi·2022년 7월 27일
0

네트워크

목록 보기
29/37

컨텐츠 분배 네트워크

  • 인터넷 비디오 회사에서 스트리밍 서비스를 단일한 거대 데이터 센터로 구축했을 때의 문제점
  1. 클라이언트가 데이터 센터로부터 지역적으로 먼 지점에 있는 경우, 서버로 부터 클라이언트의 패킷 경로는 많은 다양한 통신링크와 ISP를 거쳐가게 되는데 , 이들 ISP는 서로 다른 대륙에 위치 할 수도 있으니, 이들 링크 중 하나라도 비디오 소비율보다 낮은 전송률을 갖는다면 큐잉지연이 생겨서 정지된 화면을 사용가 볼 수 있음
  2. 인기있는 비디오가 같은 통신링크를 여러번 반복적으로 전송되므로 계속 비용을 내야함
  3. 단일 데이터 센터가 장애나면 서비스가 중단될 수 있다.

해결방법

  • 콘텐츠 분배 네트워크를 이용하자!

CDN

  • CDN은 다수의 지점에 분산된 서버들을 운영하며, 비디오 및 다른 형태의 웹 콘텐츠 데이터의 복사본을 이들 분산 서버에 저장한다. CDN은 콘텐츠 제공자가 소유한 사설 CDN일 수 도 있고 제 3자가 운영하는 CDN일 수 있음

구축방식

  • Enter Deep : Akamai에 의해 주창된 것으로서 서버 클러스터를 세계 곳곳의 접속 네트워크에 구축함으로써 ISP의 접속 네트워크로 깊숙이 들어가는 것이다. 이방식의 목적은 서버를 최대한 사용자 가까이에 위치시켜 사용자와 CDN서버 사이의 링크 및 라우터 수를 줄이고, 사용자가 경험하는 지연시간 및 처리율을 향상시키는 것이다. 문제는 고도로 분산된 설계로 인해 서버 클러스터를 유지 관리하는 비용이 커진다는 점이다.

  • Bring home: limelight와 다른 회사들에 의해 주창된 것으로 보다 적은 수의 핵심지점에 큰규모의 서버 클러스터를 구축하여 ISP를 HOME으로 가져오는 개념이다 . 접속 ISP에 연결하는 대신, IXP에 두어 유지 및 비용을 줄어들게 한다. Enter-deep 방식에 비해 사용자가 느끼는 지연시간과 처리율은 상대적으로 나빠진다.

CDN의 동작

  1. 사용자가 Netcinema의 웹 페이지를 방문한다.
  2. 사용자가 http://video.netcinema.com/6ysklfj링크를 클릭하면 사용자의 호스트는 video.netcinema.com에 대한 DNS 쿼리를 보낸다.
  3. 사용자의 로컬 DNS는 호스트이름의 "video"를 감지하고 해당 쿼리를 netcinema의 책임 DNS 서버로 전달한다. netcinema의 책임 DNS 서버는 해당 쿼리를 kingCDN으로 연결하기위해 IP주소대신 kingCDN의 호스트이름을 로컬 DNS에게 알려준다.
  4. 이시점부터 DNS query는 kingCDN의 사설 DNS구조로 들어가게 된다.
    사용자의 로컬 DNS는 a1105.kingcdn,com에 대한 두번쨰 쿼리를 보내고 kingCDN의 DNS에 의해 kingCDN컨텐츠 서버의 IP주소로 변환되어 로컬 DNS에게 응답된다. 이떄 클라이언트가 콘텐츠를 전송받게될 서버가 결정된다.
  5. 로컬 DNS는 콘텐츠를 제공할 CDN 서버의 IP주소를 사용자 호스트에게 알려준다.
  6. 클라이언트는 kingCDN서버의 IP주소를 얻고나면, 해당 IP주소로 직접 TCP 연결을 하고 비디오에대한 HTTP GET 요청을 전송한다. 만약 대쉬가 사용된다면 서버가 매니페스트파일을 클라이언트에게 전송하고 클라이언트는 동적으로 서로 다른 버전의 비디오 조각 단위 데이터를 선택할 수 있다.

클러스터 정책

  • 클라이언트를 동적으로 어떤 서버 클러스터 또는 CDN데이터 센터로 연결하는 방식
  • CDN은 클라이언트가 DNS 서비스를 수행하는 과정에서 클라이언트의 LDNS서버의 IP 주소를 알게된다. 이제 이것에 기초해
  1. 지리적으로 가장가까운 클러스터를 할당
  2. 주기적으로 클러스터와 클라이언트간의 지연 및 손실 성능에 대한 실시간 측정
    을해서 클러스터를 할당한다.

0개의 댓글

관련 채용 정보