Content Delivery Network (CDN)

이미지 출처: https://www.treinaweb.com.br/blog/o-que-e-cdn-content-delivery-network

 

 

1. CDN이란?

 

Content Delivery Network, 줄여서 CDN은 유튜브, 게임, SNS 서비스가 사용자에게 콘텐츠를 효율적으로 전달하기 위해 고안된 분산 네트워크 시스템입니다. 지리적으로 여러 서버 노드를 분산시킴으로써 서비스 이용자와 서버 사이의 물리적인 거리가 줄일 수 있는데요. 이를 통해 서비스 대기 시간을 줄여 전 세계 어느 사용자든지 빠르고 신뢰할 수 있는 콘텐츠를 제공받게 됩니다.

이미지 출처: https://www.ntt.com/en/services/network/cdn.html

 

 

2. CDN의 활용 예

 

서버 하나가 모든 사용자의 요청을 대응하게 되었을때의 트래픽 양은 상상 이상일겁니다. 트래픽이 과다해지면 서버 부하가 심해지고 이로 인한 서비스 장애로 일부 사용자는 원활한 콘텐츠 이용이 어려워질 것입니다. 주로 신규 온라인 게임의 오픈베타나 스포츠 경기 스트리밍 중계 과정에서 이러한 콘텐츠 병목 현상은 충분히 예상가능한 현상이기에, CDN의 도입은 거의 필수적이라고 말할 수 있습니다.

 

또한 서비스의 주체가 국내가 아닌 해외에 위치할 경우에도 CDN 기술은 유용한데요. 넷플릭스나 유튜브와 같은 회사들은 전 세계에 걸쳐 고객들을 보유하고 있기에, 이들 모두에게 균등한 서비스 품질과 속도를 보장해야합니다. 한국에 거주하는 사용자라면 직접 데이터센터가 있는 미국과 네트워킹할 필요 없이, CDN을 통해 분산 배치된 서버 중 가까운 곳과 직접 연결하여 콘텐츠를 전송받을 수 있습니다. 특정 국가나 지역만을 한정하여 서비스가 돌아간다면 굳이 CDN을 활용할 이유는 없습니다만, 후술할 CDN의 여러 이점을 고려하여 오늘날의 주요 웹 서비스들이 CDN을 이용하고 있습니다.

이미지 출처: https://nexnetsolutions.com/solutions/telecom-service-provider/content-delivery-network-cdn/

 

 

3. CDN의 작동원리

 

  1. 사용자는 연결하고자 하는 도메인 주소를 Local DNS 서버에 요청합니다.
  2. Local DNS 서버는 CDN DNS 서버에게 적합한 Edge 서버의 주소를 요청합니다. 보통 지리적으로 가까운 Edge 서버일수록 사용자와 연결될 가능성이 높습니다.
  3. 해당하는 Edge 서버의 주소가 사용자에게 반환됩니다.
  4. 사용자는 Edge 서버에게 콘텐츠 요청 메시지를 전달합니다. 연결이 최초로 이루어지거나 또는 Edge 서버에 캐싱되었던 콘텐츠가 만료되었을 경우, Edge 서버는 원본 서버(Content provider)에게 필요한 콘텐츠를 요청합니다.
  5. 원본 서버는 필요한 콘텐츠를 Edge 서버로 전달하고, Edge 서버는 해당 콘텐츠를 캐시에 저장합니다. 콘텐츠가 캐시 서버에 저장되는 기간은 HTTP 헤더의 TTL(Time-To-Live)라는 필드에 명시되어 있습니다. 일반적으로 일주일에 해당하는 기간으로 알려져 있습니다.
  6. Edge 서버는 캐시에 저장된 콘텐츠를 최종적으로 사용자에게 전달합니다. 이때부터 Edge 서버는 사용자의 요청에 대해 원본 서버를 거치지 않고 곧바로 콘텐츠를 전송합니다.

 

 

 

4. CDN의 장점

 

콘텐츠 로딩 속도 향상

사용자와 가까이 배치된 서버로부터 콘텐츠를 제공하여 전반적인 콘텐츠 로딩 속도가 빨라집니다. 콘텐츠가 원활한 속도로 제공되지 않으면 사용자의 이탈 가능성이 그만큼 높아지기에 CDN은 이러한 악영향을 잠재울 수 있습니다.

 

대역폭 비용 절감

웹사이트 운영에 있어 호스팅 대역폭 소비 비용은 적지 않은 비중을 차지합니다. CDN은 분산 배치와 캐싱 구조를 토대로 원본 서버가 발생시키는 트래픽 양을 줄이고, 이는 곧 웹사이트의 호스팅 비용을 절감하는 효과로 이어집니다.

 

콘텐츠 가용성

앞서 이야기한 콘텐츠 병목현상으로 인한 서버 부하를 줄여 더 많은 양의 요청을 처리하고 하드웨어 장애를 견딜 수 있습니다.

 

웹사이트 보안 개선

CDN은 여러 노드의 서버를 나눠 운영함으로써, 특정 Edge 서버가 DDoS 공격을 받더라도 좀더 유연하게 대처할 수 있습니다.

반응형