개요

콘텐츠 분배 네트워크 (Contents Distrubution Network)는 엄청난 양의 비디오 데이터를 분배하는 문제점을 해결하기 위해서 등장하였다. CDN은 다수의 지점에 분산된 서버들을 운영하며, 비디오 및 다른 형태의 웹 콘텐츠 데이터의 복사본을 이들 분산 서버에 저장한다. 사용자는 최선의 서비스와 사용자경험을 제공하는 지점이 CDN서버로 연결된다. CDN는 콘텐츠 제공자가 소유한 사설일 수도 있으며 제 3자가 운영하는 CDN일 수 도 있다. 사실 대용량 파일뿐만 아니라 네트워크 트래픽 자체를 줄이기 위한 기술로 caching과 비슷하다. 자주 쓰이는 contents들을 중간중간에 replica로 만들어 놓아서 클라이언트가 replica에 접근할 수 있도록 하여 트래픽을 줄인다

원칙

  1. Enter Deep: 서버를 최대한 사용자 가까이에 위치시켜 사용자와 CDN 서버 사이의 링크 및 라우터 수를 줄이는 것이다. 문제는 고도로 분산된 설계로 인해 서버 클러스트를 유지 관리하는 비용이 커지는 것이다.
  2. Bring Home: 적은 수의 핵심 지점에 큰 규모의 서버 클러스트를 구축하여 ISP를 Home으로 가져오는 개념이다. 보통 IXP에 설치된다.


ISP 네트워크 말단에 캐시 서버를 여러 대 설치하고, 사용 요청이 오면 요청지에서 제일 가까운 복수의 캐시 서버에서 데이터를 가져와 전송한다. 다수로 분산되어 제공되는 P2P라고 오해할 수도 있지만, CDN은 캐시 서버가 설치된 지역 또는 국가의 데이터를 우선적으로 전송한다.

동작

  1. 사용자 호스트의 웹 브라우저가 URL을 지정함으로써 특정 비디오의 재생을 요청한다.
  2. DNS 서버는 책임 DNS 서버로 URL요청을 보낸다.
  3. CDN의 DNS 서버는 가장 적당해 보이는 주소를 반환한다.
  4. 서버클러스터로 클라이언트를 연결시킨다.