개요
콘텐츠 분배 네트워크 (Contents Distrubution Network)는 엄청난 양의 비디오 데이터를 분배하는 문제점을 해결하기 위해서 등장하였다. CDN은 다수의 지점에 분산된 서버들을 운영하며, 비디오 및 다른 형태의 웹 콘텐츠 데이터의 복사본을 이들 분산 서버에 저장한다. 사용자는 최선의 서비스와 사용자경험을 제공하는 지점이 CDN서버로 연결된다. CDN는 콘텐츠 제공자가 소유한 사설일 수도 있으며 제 3자가 운영하는 CDN일 수 도 있다. 사실 대용량 파일뿐만 아니라 네트워크 트래픽 자체를 줄이기 위한 기술로 caching과 비슷하다. 자주 쓰이는 contents들을 중간중간에 replica로 만들어 놓아서 클라이언트가 replica에 접근할 수 있도록 하여 트래픽을 줄인다
원칙
- Enter Deep: 서버를 최대한 사용자 가까이에 위치시켜 사용자와 CDN 서버 사이의 링크 및 라우터 수를 줄이는 것이다. 문제는 고도로 분산된 설계로 인해 서버 클러스트를 유지 관리하는 비용이 커지는 것이다.
- Bring Home: 적은 수의 핵심 지점에 큰 규모의 서버 클러스트를 구축하여 ISP를 Home으로 가져오는 개념이다. 보통 IXP에 설치된다.
ISP 네트워크 말단에 캐시 서버를 여러 대 설치하고, 사용 요청이 오면 요청지에서 제일 가까운 복수의 캐시 서버에서 데이터를 가져와 전송한다. 다수로 분산되어 제공되는 P2P라고 오해할 수도 있지만, CDN은 캐시 서버가 설치된 지역 또는 국가의 데이터를 우선적으로 전송한다.
동작
- 사용자 호스트의 웹 브라우저가 URL을 지정함으로써 특정 비디오의 재생을 요청한다.
- DNS 서버는 책임 DNS 서버로 URL요청을 보낸다.
- CDN의 DNS 서버는 가장 적당해 보이는 주소를 반환한다.
- 서버클러스터로 클라이언트를 연결시킨다.