CDN이란 무엇입니까? 콘텐츠 전송 네트워크 설명

CDN(Content Delivery Network)은 지연을 최소화하면서 사용자에게 콘텐츠를 배포하는 데 도움이 되는 서버 및 해당 데이터 센터의 지리적으로 분산된 네트워크입니다.

이를 위해 PoP(Points of Presence)라고 하는 전략적으로 위치한 데이터 센터를 통해 콘텐츠를 사용자의 지리적 위치에 더 가깝게 가져옵니다. CDN에는 웹 페이지 로딩 시간을 단축하고 대역폭 소비를 줄이기 위해 캐시된 파일을 저장하고 전달하는 캐싱 서버도 포함됩니다. 아래에서 CDN이 정확히 어떻게 작동하는지 자세히 살펴보겠습니다.

CDN 서비스는 사용자에게 콘텐츠를 전달하는 데 의존하는 비즈니스에 필수적입니다.

다음을 고려하세요:

  • 많은 국가의 독자를 보유한 대형 뉴스 간행물
  • 사용자 피드에 멀티미디어 콘텐츠를 제공해야 하는 소셜 미디어 사이트
  • 고화질 웹 콘텐츠를 실시간으로 제공하는 Netflix와 같은 엔터테인먼트 웹사이트
  • 수백만 명의 고객을 보유한 전자 상거래 플랫폼
  • 그래픽이 많은 콘텐츠를 지리적으로 분산된 사용자가 액세스하는 게임 회사

이러한 모든 기업은 콘텐츠 전달 가속화, 서비스 가용성, 리소스 확장성 및 웹 애플리케이션 보안을 보장해야 합니다. 바로 여기에서 CDN 서비스의 독보적인 장점이 빛을 발합니다.

CDN의 간략한 역사

CDN은 거의 20년 전에 인터넷에서 최종 사용자에게 대량의 데이터를 신속하게 전달하는 문제를 해결하기 위해 만들어졌습니다. 오늘날 그들은 웹사이트 콘텐츠 전달의 원동력이 되었으며 학계 및 상업 개발자들에 의해 계속 연구되고 개선되고 있습니다.

최초의 콘텐츠 전송 네트워크는 90년대 후반에 구축되었으며 여전히 전 세계 인터넷 트래픽의 15-30%를 담당하고 있습니다. 그 후 광대역 콘텐츠의 성장과 인터넷을 통한 오디오, 비디오 및 관련 데이터 스트리밍으로 인해 더 많은 CDN이 개발되고 있습니다. 대체로 CDN의 진화는 4세대로 분류할 수 있습니다.

사전 형성 기간: CDN이 실제로 생성되기 전에 필요한 기술과 인프라가 개발되었습니다. 이 기간은 서버 팜의 증가, 계층적 캐싱, 웹 서버의 개선 및 캐싱 프록시 배포로 특징지어집니다. 미러링, 캐싱, 멀티호밍도 CDN의 생성과 성장을 위한 길을 닦은 기술이었습니다.

1세대: CDN의 첫 번째 반복은 웹에서 유일한 두 가지 콘텐츠 유형인 동적 및 정적 콘텐츠 전달에 주로 중점을 두었습니다. 기본 메커니즘은 복제본, 지능형 라우팅 및 에지 컴퓨팅 방법의 생성 및 구현이었습니다. 앱과 정보는 여러 서버로 분할되었습니다.

2세대: 다음은 스트리밍 비디오 및 오디오 콘텐츠 또는 사용자 및 뉴스 서비스를 위한 Netflix와 같은 주문형 비디오 서비스에 중점을 둔 CDN이 등장했습니다. 이 세대는 또한 모바일 사용자에게 웹 사이트 콘텐츠를 제공하는 경로를 열었고 P2P 및 클라우드 컴퓨팅 기술의 사용을 보았습니다.

3세대: 3세대 CDN은 현재 우리가 있는 곳이며 새로운 연구 및 개발로 여전히 진화하고 있습니다. 우리는 앞으로 CDN이 점점 더 커뮤니티를 위한 모델이 될 것으로 기대할 수 있습니다. 이는 시스템이 일반 사용자와 일반 개인에 의해 구동됨을 의미합니다. 자체 구성은 자체 관리 및 자율 콘텐츠 전달과 함께 새로운 기술 메커니즘이 될 것으로 예상됩니다. 최종 사용자의 체감 품질이 앞으로의 주요 동인이 될 것으로 예상됩니다.

CDN은 처음에 CDN 서비스 제공업체의 수와 함께 비디오 스트리밍 수요가 증가함에 따라 극심한 대역폭 압박을 처리하기 위해 발전했습니다. 연결성 향상과 각 세대의 새로운 소비 트렌드로 인해 CDN 서비스의 가격이 낮아져 대중 시장 기술이 되었습니다. 그리고 클라우드 컴퓨팅이 널리 채택되면서 CDN은 비즈니스 운영의 모든 계층에서 중요한 역할을 했습니다. SaaS(Software as a service), IaaS(Infrastructure as a service), PaaS(Platform as a service) 및 BPaaS(Business Process as a service)와 같은 모델의 핵심입니다.

CDN은 어떻게 작동합니까?

CDN은 사용자와 원본(웹 또는 애플리케이션 서버) 사이의 물리적 거리를 줄이는 방식으로 작동합니다 . 여기에는 원본보다 서버에 훨씬 더 가까운 콘텐츠를 저장하는 전 세계적으로 분산된 서버 네트워크가 포함됩니다. 이를 더 잘 이해하려면 사용자가 CDN이 있거나 없는 웹 사이트에서 웹 콘텐츠에 액세스하는 방법을 조사하는 것이 좋습니다.

CDN 없이

사용자가 브라우저에 웹 사이트를 입력하면 다음 그림과 유사한 연결이 설정됩니다. 웹사이트 이름은 로컬 DNS 또는 LDNS(예: DNS 서버 ISP 또는 공용 DNS 확인 서버에서 제공). DNS 또는 LDNS가 IP 주소를 확인할 수 없는 경우 재귀적으로 업스트림 DNS 서버에 확인을 요청합니다. 궁극적으로 요청은 영역이 호스팅되는 신뢰할 수 있는 DNS 서버로 전달될 수 있습니다. 이 DNS 서버는 주소를 확인하여 사용자에게 반환합니다.

로컬 DNS에서 신뢰할 수 있는 DNS로

그러면 사용자의 브라우저가 원본에 직접 연결하여 웹사이트 콘텐츠를 다운로드합니다. 각 후속 요청은 오리진에서 직접 제공되며 정적 자산은 사용자 시스템에 로컬로 캐시됩니다. 유사하거나 다른 위치의 다른 사용자가 동일한 사이트에 액세스하려고 하면 동일한 순서를 따릅니다. 매번 사용자 요청이 오리진에 도달하고 오리진이 콘텐츠로 응답합니다. 그 과정에서 각 단계는 지연 또는 "대기 시간"을 추가합니다. 오리진이 사용자와 멀리 떨어져 있으면 응답 시간이 길어져 사용자 경험이 좋지 않습니다.

지연 시간-거리-문제

CDN 사용

그러나 CDN이 있는 경우 프로세스가 약간 다릅니다. 사용자가 시작한 DNS 요청이 LDNS에서 수신되면 요청을 CDN의 DNS 서버 중 하나로 전달합니다. 이 서버는 글로벌 서버의 일부입니다. 로드 밸런서 인프라(또는 "GSLB"). GSLB는 문자 그대로 전체 인터넷을 측정하는 로드 밸런싱 기능을 지원하고 사용 가능한 모든 리소스 및 해당 성능에 대한 정보를 추적합니다. 이러한 정보를 바탕으로 GSLB는 최고 성능의 에지 주소(일반적으로 사용자와 근접한 위치)를 사용하여 DNS 요청을 해결합니다. "에지"는 웹 콘텐츠를 캐시하고 전달하는 서버 집합입니다.

글로벌 서비스 로드 밸런서 다이어그램

DNS 확인이 완료되면 사용자는 Edge에 HTTPS 요청을 합니다. 에지가 요청을 수신하면 GSLB 서버는 에지 서버가 최적의 경로를 따라 원본으로 요청을 전달하도록 돕습니다. 그런 다음 에지 서버는 요청된 데이터를 가져와 요청한 최종 사용자에게 전달하고 해당 데이터를 로컬에 저장합니다. 모든 후속 사용자 요청은 쿼리할 필요 없이 로컬 데이터 세트에서 제공됩니다. 원본 서버 다시. 어떤 이유로든 원본을 사용할 수 없게 되더라도 Edge에 저장된 콘텐츠를 전달할 수 있습니다.

사용자-액세스-에지-Diagram.png

CDN을 사용하는 이유

CDN은 기업이 대기 시간을 최소화하고 웹 사이트 성능을 개선하며 대역폭 비용을 줄여 최종 사용자에게 효과적으로 콘텐츠를 제공할 수 있도록 지원합니다.

CDN의 또 다른 고유한 기능은 에지 서버가 콘텐츠를 미리 가져올 수 있다는 것입니다. 이렇게 하면 전달하려는 데이터가 모든 CDN 데이터 센터에 저장됩니다. CDN 용어로 이러한 데이터 센터를 Points of Presence(또는 "POP")라고 합니다. PoP는 웹사이트 방문자에게 웹 콘텐츠를 더 가깝게 가져옴으로써 왕복 시간을 최소화하는 데 도움이 됩니다.

예를 들어 광고 캠페인을 실행하고 수백만 명의 잠재 고객에게 서비스나 제품을 광고한다고 가정합니다. 게시물을 읽은 후 많은 고객이 귀하의 사이트를 방문할 것으로 예상할 수 있습니다. 청중 참여율이 좋은 인플루언서를 상대하면 트래픽 양이 훨씬 더 급증할 수 있습니다. 원본 서버가 이러한 볼륨 급증을 한 번에 처리할 수 있다고 확신할 수 있습니까?

이러한 시나리오에서 CDN은 에지 서버 간에 로드를 분산하는 데 도움이 될 수 있으며 모든 사람이 응답을 받게 됩니다. 요청의 일부만 오리진에 도달하기 때문에 서버에서 대규모 트래픽 급증, 502 오류 및 과부하된 업스트림 네트워크 채널이 발생하지 않습니다.

CDN의 이점

비즈니스의 규모와 요구 사항에 따라 CDN의 이점은 4가지 구성 요소로 나눌 수 있습니다.

웹사이트 페이지 로드 시간 개선
다른 최적화 중에서 가까운 CDN 서버를 사용하여 웹 사이트 방문자에게 더 가까운 웹 콘텐츠 배포를 가능하게 함으로써 방문자는 더 빠른 웹 페이지 로딩 시간을 경험할 수 있습니다. 방문자는 일반적으로 페이지 로드 시간이 긴 웹사이트를 클릭하거나 이탈하는 경향이 있습니다. 이것은 또한 검색 엔진에서 웹 페이지의 순위에 부정적인 영향을 미칠 수 있습니다. 따라서 CDN을 사용하면 이탈률을 줄이고 사람들이 사이트에서 보내는 시간을 늘릴 수 있습니다. 즉, 빠르게 로드되는 웹사이트는 더 많은 방문자를 더 오래 머물게 합니다.

대역폭 비용 절감
원본 서버가 요청에 응답할 때마다 대역폭이 소모됩니다. 대역폭 소비 비용은 기업의 주요 비용입니다. 캐싱 및 기타 최적화를 통해 CDN은 원본 서버가 제공해야 하는 데이터의 양을 줄여 웹 사이트 소유자의 호스팅 비용을 줄일 수 있습니다.

컨텐츠 가용성 및 중복성 증가
많은 양의 웹 트래픽 또는 하드웨어 오류는 정상적인 웹사이트 기능을 방해하고 다운타임으로 이어질 수 있습니다. 분산된 특성 덕분에 CDN은 많은 원본 서버보다 더 많은 웹 트래픽을 처리하고 하드웨어 오류를 더 잘 견딜 수 있습니다. 또한 어떤 이유로 하나 이상의 CDN 서버가 오프라인 상태가 되면 다른 운영 서버가 웹 트래픽을 선택하여 서비스를 중단 없이 유지할 수 있습니다.

웹사이트 보안 개선
CDN이 트래픽 급증을 처리하는 동일한 프로세스는 DDoS 공격을 완화하는 데 이상적입니다. 악의적인 행위자가 엄청난 양의 요청을 전송하여 애플리케이션 또는 원본 서버를 압도하는 공격입니다. 볼륨으로 인해 서버가 다운되면 가동 중지 시간이 고객의 웹 사이트 가용성에 영향을 미칠 수 있습니다. CDN은 기본적으로 GSLB 및 에지 서버가 네트워크의 전체 용량에 걸쳐 균등하게 로드를 분산하는 DDoS 보호 및 완화 플랫폼 역할을 합니다. CDN은 또한 인증서 관리와 자동 인증서 생성 및 갱신을 제공할 수 있습니다.

CDN이 또 어떻게 도움이 될 수 있습니까?

CDN은 위에서 설명한 이점에 국한되지 않습니다. 최신 CDN 플랫폼은 비즈니스 및 엔지니어링 팀에 더 많은 이점을 제공합니다.

지구상의 다른 지역에서 액세스를 관리하는 데 사용할 수 있습니다. 일부 지역에 대한 액세스를 허용하는 동안 다른 지역에 대한 액세스를 거부할 수 있습니다.

애플리케이션 로직을 에지 및 고객 가까이로 쉽게 오프로드할 수 있습니다. 요청/응답 헤더 및 본문을 처리 및 변환하거나, 요청 속성을 기반으로 서로 다른 출처 간에 요청을 라우팅하거나, 인증 작업을 에지에 위임할 수 있습니다.

많은 양의 트래픽에는 추가 분석을 위해 로그 수집 및 처리를 위한 인프라가 필요합니다. CDN은 로그를 수집하고 방문자가 생성한 데이터를 편리하게 분석할 수 있는 인터페이스를 제공합니다.

익숙해지면 사용하기 쉬워지는 것은 당연합니다. 이러한 이유로 CDN Pro Edge는 NGINX 기반입니다. 즉, 표준 NGINX 지시문을 사용하여 작업을 수행할 수 있습니다.

우리 엔지니어링 팀은 NGINX를 확장하는 데 수천 시간을 보냈습니다.

데이터 보안 및 CDN

정보 보안은 CDN의 필수적인 부분입니다. CDN은 다음과 같은 방식으로 웹 사이트의 데이터를 보호하는 데 도움이 됩니다.

TLS/SSL 인증서 제공

CDN은 높은 수준의 인증, 암호화 및 무결성을 보장하는 TLS(Transport Layer Security)/SSL(Secure Sockets Layer) 인증서를 제공하여 사이트를 보호할 수 있습니다. 이는 사용자와 웹 사이트 간의 데이터 전송 시 특정 프로토콜을 준수하는지 확인하는 인증서입니다.

데이터가 인터넷을 통해 전송되면 악의적인 행위자의 가로채기에 취약해집니다. 이는 의도된 수신자만 정보를 해독하고 읽을 수 있도록 프로토콜을 사용하여 데이터를 암호화하여 해결됩니다. TSL 및 SSL은 인터넷을 통해 전송되는 데이터를 암호화하는 프로토콜입니다. SSL(Secure Sockets Layer)의 고급 버전입니다. 웹사이트가 http:// 대신 https:// 로 시작하면 웹사이트가 TLS/SSL 인증을 사용하는지 알 수 있으며 이는 브라우저와 서버 간의 통신에 충분히 안전함을 나타냅니다.

DDoS 공격 완화

CDN은 네트워크의 가장자리에 배포되기 때문에 웹 사이트 및 웹 애플리케이션에 대한 공격에 대한 가상의 높은 보안 울타리 역할을 합니다. 분산된 인프라와 온에지 위치는 또한 CDN이 DDoS 플러드를 차단하는 데 이상적입니다. 이러한 홍수는 핵심 네트워크 인프라 외부에서 완화되어야 하므로 CDN은 출처에 따라 다른 PoP에서 이를 처리하여 서버 포화를 방지합니다.

봇 및 크롤러 차단

CDN은 또한 위협을 차단하고 악의적인 봇과 크롤러가 대역폭과 서버 리소스를 사용하지 못하도록 제한할 수 있습니다. 이것은 다른 스팸 및 해킹 공격을 제한하고 대역폭 비용을 낮추는 데 도움이 됩니다.

정적 및 동적 가속

정적 콘텐츠는 최종 사용자에게 전달되기 전에 생성, 처리 또는 수정할 필요가 없는 자산을 말합니다. 이들은 이미지 또는 기타 미디어 파일, 모든 종류의 바이너리 또는 HTML, CSS, JavaScript 라이브러리 또는 JSON, HTML 또는 자주 변경되지 않는 모든 종류의 동적 응답과 같은 애플리케이션의 정적 부분일 수 있습니다. 앞서 언급한 것처럼 이러한 콘텐츠를 미리 가져올 수 있습니다. 그런 다음 해당 콘텐츠를 무효화하고 에지 서버에서 제거해야 할 때 원하는 경로를 제거할 수 있습니다.

동적 가속은 동적 특성으로 인해 에지에 캐시할 수 없는 항목에 적용됩니다. 자격 증명, 지리적 위치 또는 기타 매개변수에 따라 응답이 다른 서버 또는 API 끝점에서 이벤트를 수신하는 WebSocket 애플리케이션을 상상해 보십시오. 정적 콘텐츠 캐싱과 유사한 방식으로 에지에서 캐시 기계를 활용하는 것은 어렵습니다. 경우에 따라 앱과 CDN 간의 긴밀한 통합이 도움이 될 수 있습니다. 그러나 어떤 경우에는 캐싱 이외의 것을 사용해야 합니다. 동적 가속을 위해 CDN의 최적화된 네트워크 인프라와 고급 요청/응답 라우팅 알고리즘이 사용됩니다.

청구 모델 또는 "무엇을 지불해야 합니까?"

일반적으로 CDN에서는 최종 사용자가 소비한 트래픽과 요청량에 대해 비용을 지불합니다. 또한 HTTPS 요청에는 HTTP 요청보다 더 많은 컴퓨팅 리소스가 필요하므로 CDN 공급자 장비에 더 많은 부하가 발생합니다. 이러한 이유로 HTTPS 요청에 대해 추가 비용을 지불할 수 있지만 HTTP 요청에는 추가 비용이 청구되지 않습니다.

컴퓨팅이 엣지로 이동함에 따라 CPU는 과금의 대상이 됩니다. 요청에는 다양한 처리 파이프라인이 있을 수 있으며 결과적으로 서로 다른 양의 CPU 시간이 필요합니다. 요청 수로 청구하는 것은 비실용적입니다. 트래픽 양 + 사용한 CPU 시간으로 청구하는 것이 더 실용적입니다.

CDN 구성 요소 설명

다양한 요소가 CDN을 구성하여 그대로 수행할 수 있습니다.

다음은 세 가지 주요 구성 요소의 역할에 대한 간략한 설명입니다.

접속 지점(PoP) – PoP는 사용자 간의 빠른 통신을 위해 전략적으로 배치된 데이터 센터입니다. 웹 사이트의 콘텐츠와 방문자 사이의 격차를 해소하면 훨씬 빠르고 덜 지장을 주는 사용자 경험을 얻을 수 있습니다.

캐싱 서버 – 캐시 파일 저장 및 전달을 담당하는 구성 요소입니다. 주요 기능은 웹 사이트 로드 시간을 단축하는 동시에 대역폭 소비를 줄이는 것입니다.

스토리지(SSD/HDD + RAM) – 검색된 모든 데이터는 SSD(솔리드 스테이트 드라이브), HDD(하드 디스크 드라이브) 또는 RAM(Random-access memory)에 있습니다. 가장 일반적으로 사용되는 파일은 일반적으로 가장 빠른 매체인 RAM에 보관됩니다.

다양한 유형의 CDN

모든 CDN이 동일한 방식으로 작동하는 것은 아니며 일부 CDN은 다른 것보다 특정 유형의 콘텐츠를 제공하는 데 더 적합합니다. 다음은 선택할 수 있는 3가지 유형의 CDN입니다.

피어 투 피어 CDN

이전에 토렌트를 사용해 본 적이 있다면 P2P CDN이 어떻게 작동하는지 이미 알고 있을 것입니다.

이 CDN은 피어 투 피어 프로토콜을 사용하여 작동합니다. Peer to Peer CDN에서 콘텐츠는 에지 서버에 캐시되지 않습니다. 대신 콘텐츠에 액세스하는 네트워크의 모든 사용자도 콘텐츠를 공유합니다.

예를 들어 사용자가 토렌트에서 영화를 다운로드하면 영화의 일부를 백그라운드에서 다른 사용자와 공유하게 됩니다. 이것은 값비싼 하드웨어가 필요하지 않기 때문에 매우 비용 효율적입니다.

푸시 CDN

Push CDN을 사용하면 웹사이트 소유자 또는 개발자가 전적으로 책임을 집니다.

요청이 있을 때 PoP 서버가 웹 페이지 데이터를 가져오기를 기다리는 대신 요청이 이루어지기 전에 이미 원하는 콘텐츠를 PoP 서버에 푸시하고 있습니다. 이 정보와 관련 요소는 제거되거나 제거될 때까지 캐시에 저장됩니다.

푸시 CDN을 사용하면 완벽하게 제어할 수 있습니다. PoP 서버에서 푸시하는 것은 웹 방문자가 웹 요청을 할 때 웹 방문자의 장치에 표시되는 것입니다.

원본 풀 CDN

Origin Pull CDN은 이름에서 알 수 있듯이 PoP 서버가 원본 서버에서 웹 페이지 데이터 및 기타 요소를 가져옵니다.

CDN은 요청이 수신될 때 웹 사용자에게 제공할 정보를 결정합니다.

예를 들어 클라이언트가 CDN에서 정적 자산을 가져와야 하는 요청을 보낼 때 CDN에 없는 경우 원본 서버에서 새로 업데이트된 자산을 가져오고 이 새 자산으로 캐시를 채웁니다. 그런 다음 이 새 캐시 자산을 사용자에게 보냅니다.

Push CDN과 달리 CDN 노드의 캐시 업데이트는 클라이언트에서 원본 서버로의 요청을 기반으로 수행되기 때문에 유지 관리가 덜 필요합니다.

누가 CDN을 사용합니까?

CDN은 네트워크 존재, 가용성을 최적화하고 고객에게 우수한 사용자 경험을 제공하기 위해 다양한 규모의 기업에서 사용됩니다. CDN은 특히 다음 산업에서 인기가 있습니다.

왜 씨디네트웍스를 선택해야 할까요? 

CDNetworks는 완전히 통합된 클라우드 및 에지 컴퓨팅 솔루션을 갖춘 세계 최고의 콘텐츠 전송 네트워크(CDN)입니다.

2,800개 이상의 PoP와 테라비트 수준의 대역폭 용량을 갖춘 당사의 솔루션 CDN Pro는 모든 주요 네트워크에서 전 세계 ISP 제공업체와 피어링하여 낮은 대기 시간과 최적의 성능으로 콘텐츠를 제공합니다.