CDN에 대하여...
CDN(Contents Delivery Network) 의미
CDN이란 Contents 전송 네트워크로 지리적으로 분산된 여러 개의 서버를 의미한다.
CDN(Contents Delivery Network) 등장 배경
CDN은 Contents를 어떻게 전달해줄 것인가에서 시작하는 개념이다. CDN은 인터넷 초기 전국에 깔려 있는 인터넷 회선을 적게 사용하고 최단 경로로 사용자에게 data를 전달하려는 목적에서 개발됐다. 이후 Contents 이용과 용량의 증가로 자주 사용하는 Contents를 미리 사용자 인근에 저장해 뒀다가 필요할 때 빠르게 보내주는 기술로 발전했다.
즉, 인터넷으로 이미지나 비디오 등 용량이 큰 Contents를 전송하면 트래픽이 폭주할 때처럼 네트워크 혼잡 문제가 발생할 수 있다. CDN은 이러한 문제를 해결하기 위해 개발된 것이다. 중앙 서버에서 개별 사용자에게 Contents를 전송하려면 시간이 너무 오래 걸렸기 때문에, 여러 개의 분산된 Cache 서버가 이를 처리하게 만든 것이다.
CDN(Contents Delivery Network) 다시 짚어보기
CDN이란 지리적으로 분산된 여러 개의 서버를 의미한다. 즉, 사용자가 Origin Server로부터 Contents를 접근할 때, Origin Server에 접근하는 것보다 사용자와 가까운 곳에 위치한 Cache Server에 해당 Contents를 저장(캐싱)하고 Contents 요청시에 Cache Server가 응답을 주는 것이다. 지리적으로 분산된 여러 개의 서버가 이 Cache Server들을 의미한다. CDN은 사용자가 현금을 인출하는 과정에서 ATM기라고 생각할 수 있다. 사용자는 현금을 인출하기 위해서 은행이나 ATM기를 사용해야한다. 은행에서 현금을 인출하기 위해서는 긴 줄을 서서 기다려야하지만, 여러 곳에 설치된 ATM을 사용하면 사용자는 빠르고 효율적으로 현금을 찾을 수 있다.
CDN 구성 요소
- Caching 기술
자주 찾는 페이지를 컴퓨터에 복사해 저장한 후 사용자가 찾으면 저장된 정보를 전송하는 기술
- Load Balancing
고장난 서버들을 제외 한 후 나머지 서버들로 트래픽을 할당해 사용자에 대한 서비스를 향상시키는 기술
- Global Server Load Balancing
CDN을 사용하기 위해 Network에 분산 배치되어 있는 많은 Cache 서버 중에 사용자에게 최상의 서비스를 제공할 수 있는 Cache 서버를 선정해 연결하는 기술
- 컨텐츠 배포 기술
CDN 서버들이 각 지역에 여러 대가 분산되어 있어 동일 Contents를 정확히 배포해 정상적인 서비스를 제공하는 기술
- 동기화 기술
컨텐츠 변경시에도 즉각 반영하여 사용자들이 동일한 Contents를 전송 받을 수 있도록 하는 기술
- 분산 기술
분산 데이터 관리 및 분산 병렬 처리 기술 (ex. Grid Computing, Virtualization 기술등)