CDN이란?
CDN(Content Delivery Network)은 웹 콘텐츠를 전 세계 서버에 분산하여 저장하는 네트워크로,
클라이언트의 요청이 들어올 때 가까운 서버로부터 데이터를 빠르게 전송할 수 있는 기술을 의미한다.

CDN에서 제공하는 웹 콘텐츠의 종류
- 정적 콘텐츠
- 서버에 저장되어 있으며, 사이트를 방문하는 모든 사용자에게 동일하게 전달되는 콘텐츠
- html, css, javascript, 이미지 등
- 동적 콘텐츠
- 사용자의 방문 시간, 위치, 행동 등에 따라 변경되는 콘텐츠
- 사용자의 장바구니, 로그인 결과 등
CDN의 목적
CDN이 필요한 주 목적은 콘텐츠 전송 지연을 최소화하고, 네트워크 비용을 절감하기 위해서이다.
클라이언트와 서버의 거리가 물리적으로 멀리 떨어져 있다고 가정해보자 !
서버가 클라이언트로 보내는 응답 데이터의 양이 많다면, 네트워크를 거쳐 전송하는 데 많은 시간이 소요될 것이다.
따라서 여러 서버에 동일한 리소스를 배치해 두면, 사용자로부터 물리적으로 가까운 서버에서
콘텐츠를 빠르게 제공할 수 있어 지연을 줄일 수 있다.
또한 기존 서버에서 보내는 데이터의 양이 줄어들기 때문에 대역폭 비용을 줄일 수 있다.
※ 대역폭 비용: 서버에서 데이터를 전송한 만큼 지불하는 비용
이외에도, 트래픽 급증 처리와 failover(서버 장애 시 다른 서버로 라우팅)에 대한 이점이 존재한다!
CDN의 구성 요소
CDN의 구성요소는 크게 오리진 서버, 엣지 서버, DNS 서버 3가지로 구성되어 있다.
오리진 서버
오리진 서버는 콘텐츠의 원본이 존재하는 서버로, 콘텐츠의 관리(업데이트)를 담당한다.
엣지 서버
엣지 서버는 전 세계 곳곳에 존재하는 분산 서버로, 오리진 서버의 콘텐츠를 캐싱하고
인근 사용자에게 해당 콘텐츠를 전송하는 역할을 담당한다.
DNS 서버
DNS 서버는 클라이언트의 도메인 요청을 받을 때, 오리진 서버가 아닌 엣지 서버로 갈 수 있도록 IP 주소를 응답한다.
CDN의 작동 원리
CDN의 작동 원리는 다음과 같다!
- 클라이언트가 서버로 요청을 보낸다.
- DNS 서버는 클라이언트와 가장 가까운 엣지 서버의 IP 주소를 반환한다.
- 클라이언트는 반환한 엣지 서버의 IP 주소로 HTTP 요청을 보낸다.
- 엣지 서버는 요청된 콘텐츠가 캐시에 있는지 확인한다.
- 요청된 콘텐츠가 캐시에 있다면(Cache Hit), 캐시된 데이터를 클라이언트에게 반환한다.
캐시에 없다면(Cache Miss), 엣지 서버가 오리진 서버로부터 콘텐츠를 받아 캐싱한 후 데이터를 클라이언트에게 반환한다.
캐싱 방식
- 동적 캐싱
- 요청마다 내용이 달라질 수 있는 콘텐츠를, 조건에 따라 짧은 시간 동안 엣지 서버에 캐싱하는 방식
- 정적 캐싱
- 동일한 요청에 대해 오리진 서버를 거치지 않고 엣지 서버에서 반복적으로 제공하는 방식
- 정적 캐싱은 변경되지 않는 정적 콘텐츠를 엣지 서버에 미리 저장해둠
CDN 활용 예시
- 실시간 스트리밍(Netflix, Hulu 등)
- 온라인 게임(디바이스에 관계없이 플레이 가능)
- 오리진 서버 - 사용자 데이터(게임 기록 등), CDN 서버 - 스테이지 파일, 애니메이션 리소스, BGM 등
👏
참고 링크
https://www.cloudflare.com/ko-kr/learning/cdn/caching-static-and-dynamic-content/
'Computer Science > 네트워크' 카테고리의 다른 글
| [Network] SSH(Secure SHell, 시큐어 셸) (0) | 2025.12.07 |
|---|---|
| [Network] CORS(Cross-Origin Resource Sharing, 교차 출처 리소스 공유) (0) | 2025.08.10 |
| [Network] REST / REST API / RESTful 이란? (1) | 2025.07.18 |
| [Network] HTTPS(HyperText Transfer Protocol Secure) (0) | 2025.06.15 |
| [Network] OSI 7계층, TCP/IP 4계층 (1) | 2025.06.09 |