본문 바로가기
IT 이것저것

[네트워크] CDN(Contents Delivery Network)의 정의, 특징, 활용사례

by 관성맨 2023. 2. 10.
반응형

오늘은 CDN에 대해 알아보도록 하겠습니다.

 

 

CDN의 정의

CDN이란 무엇인가?

 

CDN(Contents Delivery Network)이란 지리적 제약 없이 전 세계 사용자에게 빠르고 안전하게 컨텐츠(Contents)를 전송할 수 있는 컨텐츠 전달 기술을 의미합니다.

 

원천 서버와 사용자(End User) 간실제 물리적 거리를 줄여 컨텐츠를 불러오거나 사용하는데 소요되는 시간을 줄이는 기법입니다. CDN기술을 사용하면 각 지역에 캐시서버(Cache Server)를 분산하여 배치한 후, 특정 사용자와 가장 가까운 캐시서버에서 반응하여 컨텐츠를 전달해주게 됩니다.

 

예를들어 미국에 본사를 두고 있는 넷플릭스의 경우 원천 서버는 미국에 있을 것이고 사용자는 한국에 있다고 가정해 보겠습니다. 그럼 사용자가 넷플릭스를 사용할 때 사용자와 서버간의 실제 물리적 거리는 미국에서 한국까지의 먼 거리일 것입니다. 하지만, CDN을 사용하여 캐시서버를 여러 곳에 분산하여 둔다면 사용자와 캐시서버간의 물리적 거리는 사용자와 원천 서버간의 거리보다 훨씬 가까워지게 되고 더 빠르고 안전하게 사용할 수 있게 되는 것입니다.

 

CDN 사용하지 않을 때 CDN 사용할 때

 

 

 

CDN의 특징 및 동작방식

우선 CDN은 캐싱(Cache) 기술을 사용합니다. 

캐싱은 데이터의 I/F에 소요되는 시간을 줄이고 데이터의 빠른 접근을 하기 위해 네트워크의 여러 서버에 동일 데이터의 여러 복사본을 저장해두는 기술입니다. 

 

 

 

 

 

 

 

CDN의 장점

1. 로드 시간 단축

가까운 CDN 서버에서 컨텐츠를 전송해주기 때문에 컨텐츠 로드 시간 단축 가능

 

2. 비용 절감

CDN은 캐싱 서버를 통해 원천 서버에서 제공해야하는 데이터 양 및 리소스를 줄일 수 있어 비용 절감 가능

 

3. 트래픽 관리

캐싱 서버를 사용하여 데이터를 분산해놓기 때문에 대용량 트래픽에 대해서도 효율적으로 관리할 수 있습니다.

 

 

 

 

 

 

 

동작순서

(1) 물리적으로 멀리 떨어진 사용자가 컨텐츠를 요청한다.

(2) 컨텐츠 요청이 서버로 전달된다. 만약 컨텐츠요청이 처음이라면 먼저 원본 서버로 요청이 가게 될 것이고, 요청을 받은 원본 서버는 사용자와 물리적으로 가장 가까운 캐싱서버에 해당 컨텐츠를 전달합니다.

(3) 사용자와 물리적으로 가장 가까운 캐싱서버에 컨텐츠가 저장되고, 다음 요청에는 해당 캐싱서버로 사용자의 요청이 가고, 해당 캐싱서버에서 컨텐츠를 전송합니다.

 

 

캐싱서버 또한 공간이 유한하므로, 자주 사용하는 컨텐츠에 한해서 캐싱서버에 저장되며, 컨텐츠 요청이 일정 기간 이상 없을 경우 주기적으로 삭제가 됩니다.

 

 

 

 

 

 

 

CDN의 활용사례

1. 넷플릭스의 컨텐츠 전송

본사 서버를 미국에 두고 있는 넷플릭스의 경우, 지구 반대편 사용자가 컨텐츠 요청했을 경우 응답속도가 느릴 수 있습니다. 이 경우를 대비하기 위해 캐싱서버를 여러 곳에 분산하여 응답속도를 빠르게 합니다.

 

 

2. 온라인 게임

전 세계 사용자들이 즐기는 온라인 게임의 경우를 예로 들어보겠습니다. 리니지의 경우 원천 서버는 우리나라에 있다고 할 때, 북미 유저가 리니지 게임을 빠르고 안정적으로 즐기기 위해서는 캐싱서버를 분산하여 놓는 경우도 있습니다.

 

 

 

 

 

 

 

 

 

참고 : https://www.imperva.com/learn/performance/what-is-cdn-how-it-works/

 

반응형

댓글