Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

<!> 미완성

CDN

CDN은 인터넷상에서 여러 데이터센터를 이용해서 대량의 컨텐츠를 배포하는 시스템이다. CDN의 목적은 인터넷 상에서 end-user에게 고가용성(high availability), 고성능(high performance)의 컨텐츠를 서비스하는데 있다. 오늘날 CDN은 웹 객체(텍스트, 이미지, 스크립트)와 다운로드 객체(미디어 파일, 소프트웨어, 문서), 애플리케이션, 스트리밍 데이터, 소셜 네트워크 데이터를 안정적으로 서비스하기 위해서 널리 사용하고 있다.

CDN 서비스의 판매를 목적으로 하는 여러 기업들이 있으며, (돈 많은)MS, Amazon, google 같은 몇몇 대형 소프트웨어 회사들은 자신의 소프트웨어를 배포하기 위해서 직접 CDN을 구축하기도 한다.

CDN에서 컨텐츠는 (지역적으로 떨어져 있는)여러 호스트에 복사된다. 유저가 컨텐츠를 다운로드 하기 위해서 CDN 호스트에 요청을 하면, DNS 서버는 여러 CDN 호스트들 중 유저에게 가장 적합하다고(지역, 비용, 네트워크 지연 등의 요소들로 평가한다) 생각되는 호스트의 IP 주소를 알려준다.

모든 CDN 제공자는 PoP(points of presence)을 통해서 서비스를 제공한다. 이들 PoP는 트래픽을 효과적으로 처리할 수 있는 지역에 배치하는데, 예컨데 Asia-Tokyo, Asia-Seoul, US North.virginia 등에 배치해서 주변의 트래픽을 처리하게 한다. 이들 PoP는 CDN과 end user가 직접 만나는 접선지가 되기 때문에 "edges" 혹은 "edge networks"라고 부르기도 한다.

CDN 기술

아래 그림은 일반적인 end-to-end 네트워크와 CDN 네트워크를 비교하고 있다. 그림의 왼쪽이 일반적인 end-to-end 네트워크, 오른쪽이 CDN 네트워크다.

인터넷은 end-to-end 원칙(principle)에 따라 디자인됐다. 이 원칙은 비교적 호스트와 클라이언트를 양끝단(end-point)로 하는 간단한 네트워크를 구성한다. 이 결과 코어 네트워크는 전문화, 단순화 됐으며 순방향 데이터 전송에 최적화될 수 있었다.

CDN도 end-to-end 원칙을 벗어나지는 않는다. 다만 콘텐츠 전달을 최적화 할 수 있도록 네트워크 설계를 개선하고, 개선된 네트워크에서 작동하는 애플리케이션을 배포해서, end-to-end 네트워크 전송 기능을 보강했다. 그 결과 웹 캐싱, 서버 로드 밸런싱, 라우팅 기술과 컨텐츠 서비스가 긴밀하게 결합된 기술을 만들었다.

웹 캐시는 서비스 컨텐츠 들 중에서 (인기가 있어서) 대량으로 요청되는 컨텐츠를 여러 지역에 복사하는 기술이다. 예컨데, 싸이의 강남 스타일 뮤비의 경우 전 세계적으로 인기를 끌었는데, 이런 컨텐츠는 미국, 도쿄, 싱가포르, 시드니, 런던등에 복사본을 만들어서 서비스한다. 결과적으로 네트워크 대역폭을 분산, 서버로드의 감소, 클라이언트 응답시간 개선의 효과를 얻을 수 있다.

서버 로드 밸런싱(server-load balancing)는 global load balancing, L4-L7 스위치 기반의 하드웨어 로드 밸런싱등, 하나 이상의 기술을 이용한다.

CDN trends

Emergence of telco CDNS

Federated CDNs

edns-client-subnet EDNS0 option

참고