CDN이란 ?
Content Delivery Network의 약자인 CDN은 지리적 제약 없이 전 세계 사용자에게 빠르고 안전하게 콘텐츠를 전송할 수 있는 콘텐츠 전송 기술을 의미한다.
넷플릭스, 왓챠, 유튜브, 틱톡 등 콘텐츠 홍수 속에서 전례 없는 호황기를 맞은 OTT 서비스 및 AI, IoT, 자율 주행 등 대용량의 데이터를 주고받는 신기술이 등장하고 있다.
이렇게 폭발적으로 증가한 데이터를 지연 없이 처리하기 위해서는 데이터를 분산해서 전달하는 기술이 필수적이다.
CDN은 서버와 사용자 사이의 물리적인 거리를 줄여 콘텐츠 로딩에 소요되는 시간을 최소화한다.
CDN은 각 지역에 캐시 서버(PoP, Points of presence)를 분산 배치해, 근접한 사용자의 요청에 원본 서버가 아닌 캐시 서버가 콘텐츠를 전달한다.
CDN의 필요성
CDN을 사용하지 않으면 오리진 서버가 정보를 복제 및 저장한 다음 사용자가 웹에 접속하는 곳까지 디지털 콘텐츠를 전달해야 하기 때문에 인터넷 속도가 느려질 수 있다.
동영상 스트리밍이나 온라인 게임, 대용량 파일 전송, 용량이 큰 이미지를 다루는 쇼핑몰, 포털 사이트 등에서 안정적인 서비스 제공을 위해 필요하다.
CDN의 동작 원리
서버를 분산시켜 캐싱해두고 사용자의 컨텐츠 요청이 들어오면 사용자와 가장 가까운 위치에 존재하는 서버로 매핑시켜 요청된 콘텐츠의 캐싱된 내용을 내어주는 방식으로 빠르게 데이터를 전송할 수 있게 된다.
만약 서버가 파일을 찾는데 실패하는 경우 CDN 플랫폼의 다른 서버에서 컨텐츠를 찾은 다음 응답을 전송한다.
- 최초 요청은 서버로 부터 컨텐츠를 가져와 고객에게 전송하며 동시에 CDN 캐싱장비에 저장한다.
- 최초 요청 이후 모든 요청은 CDN 업체에서 지정하는 해당 컨텐츠 만료 시점까지 CDN 캐싱장비에 저장된 컨텐츠를 전송한다.
- 자주 사용하는 페이지에 한해서 캐싱되며, 해당 컨텐츠 호출이 없을 경우 주기적으로 삭제된다.
- 서버가 파일을 찾는 데 실패하는 경우 CDN 플랫폼의 다른 서버에서 콘텐츠를 찾아 엔드유저에게 응답을 전송한다.
- 콘텐츠를 사용할 수 없거나 콘텐츠가 오래된 경우, CDN은 향후 요청에 대해 응답할 수 있도록 새로운 컨텐츠를 저장한다.
CDN 필요 기술
1. Load Balance
- 사용자에게 콘텐츠 전송 요청(Delivery Request)을 받았을 때, 최적의 네트워크 환경을 찾아 연결하는 기술, GSLB(Global Server Load Balancing)이라고도 한다.
- 물리적으로 가장 가깝거나 여유 트래픽이 남아 있는 곳으로 접속을 유도하는 기술이다.
GSLB(Global server Load Balancing)
DNS(도메인 이름을 IP주소로 변환하는 서비스) 서비스의 발전된 형태라고 할 수 있다.
DNS와 GSLB 차이점
- health check
- DNS : 서버의 상태를 알 수 없어서 서비스를 실패하는 유저도 생길 수 있다.
- GSLB : 서버의 상태를 모니터링(주기적으로 health check를 수행) 하고 실패한 서버의 IP는 응답에서 제외 하므로, DNS보다 훨씬 강력한 기능을 제공한다.
- 로드밸런싱
- DNS : Round Robin 방식을 사용, 정교한 로드 밸런싱이 힘들다.
- GSLB : 서버의 로드를 모니터링 하기 때문에 로드가 적은 서버의 IP를 반환하는 식으로 정교한 로드밸런싱을 할 수 있다.
- 레이턴시 기반 서비스
- DNS : Round Robin 방식을 사용하여 유저는 네트워크상에서 멀리 떨어진 위치의 서버로 연결 할 수도 있다.
- GSLB : 각 지역별로 서버에 대한 레이턴시(latency) 정보를 가지고 있기 때문에 유저가 접근을 하면, 유저의 지역으로 부터 가까운(더 작은 레이턴시를 가지는) 서버로 연결을 한다.
- 위치기반 서비스
- DNS : 유저는 Round Robin하게 서버로 연결된다.
- GSLB : 유저의 지역정보를 기반으로, 해당 지역을 서비스하는 서버로 연결 할 수 있다.
2. 컨텐츠를 배포하는 기술
- 컨텐츠의 삭제나 수정이 일어났을 때 이를 관리할 수 있는 기술이 필요하다.
3. CDN의 트래픽을 감지하는 기술
- 통계자료를 고객에게 제공하기 위해 필요하다.
- 트래픽을 분산하기 위해서 필요하다.
CDN 캐싱 방식
1. Static Caching
- Origin Server에 있는 Content를 운영자가 미리 Cache Server에 복사
미리 복사해 두기 때문에 사용자가 Cache Server에 Content를 요청했을 때 무조건 Cache Server에 있다. - 대부분의 국내 CDN에서 이 방식을 사용( ex. NCSOFT 게임파일 다운로드 등)
2. Dynamic Caching
- Origin Server에 있는 Content를 운영자가 미리 Cache Server에 복사하지 않음
- 사용자가 Content를 요청시 해당 Content가 없는 경우 Origin Server로 부터 다운로드 받아 전달한다.
(Content가 있는 경우는 캐싱된 Content 사용자에게 전달.) - 각각의 Content는 일정 시간이후 Cache Server에서 삭제될 수도 있다. (계속 가지고 있을 수도 있음)
CDN 장점
- 웹사이트 로딩 속도 개선
- 인터넷 회선 비용 절감
- 컨텐츠 제공의 안정성
- 웹사이트 보안 개선
'CS > 네트워킹' 카테고리의 다른 글
DNS 레코드 (0) | 2023.09.16 |
---|---|
[네트워킹] 웹소켓(WebSocket) (0) | 2023.01.18 |
VLAN이란 ? (0) | 2022.10.04 |
서브넷과 게이트웨이 (0) | 2022.10.03 |
GARP(Gratuitous ARP) (0) | 2022.10.03 |
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!