-
CDN(Content Delivery Network)란?프로그래밍 기초 공부 2022. 11. 3. 16:33
27번째로 포스팅하게 될 내용은 CDN에 관한 내용입니다.
[ CDN ]
- Content Delivery Network의 약자
- 지리적 제약 없이 전 세계 사용자에게 빠르고 안전하게 콘텐츠를 전송할 수 있는 콘텐츠 전송 기술을 의미
- 데이터 사용량이 많은 애플리케이션의 웹 페이지 로드 속도를 높이는 상호 연결된 서버 네트워크
- 서버와 사용자 사이의 물리적인 거리를 줄여 콘텐츠 로딩에 소요되는 시간을 최소화
- HTML 페이지, javascript 파일, 스타일시트, 이미지, 동영상을 비롯한 인터넷 콘텐츠를 로드하는 데 필요한 자산을 신속하게 전송할 수 있음
- CDN은 각 지역에 캐시 서버(PoP, Points of presence)를 분산 배치해, 근접한 사용자의 요청에 원본 서버가 아닌 캐시 서버가 콘텐츠를 전달
[ CDN 역사 ]
- 초기 기술 개발은 미국에서 집중적으로 이루어짐
- 미국은 땅이 넓어서 중간 네트워크에서 서버 문제가 발생하거나 네트워크에 문제가 생기면 속도가 상당히 느려짐
- 또한, 동부와 서부를 연결하는 중부지방에 네트워크가 집중되어 형성된 ISP끼리 연결된 구간에서 전송에러와 중간 손실 문제가 생김
- 1999년, 땅이 넓은 미국의 아카마이와 디지털 아일랜드, 미러 이미지등 회사가 CDN 서비스를 시작
- CDN은 이미지 파일의 안정적인 목적을 가지고 시작
- 2002년 이후 전송 기술이 매년 엄청난 속도로 발전
- 고용량 음원과 영상 매체의 전송 빈도가 늘어나면서 상당히 빠르게 전송할 수 있어 많이 사용
- 꾸준히 발전중
[ CDN 필요한 경우 ]
인터넷을 통해 비즈니스를 운영하거나 웹 사이트에서 그래픽 이미지, 동영상 파일 등의 콘텐츠를 제공
CDN은 동영상 스트리밍이나 온라인 게임, 대용량 파일 전송, 그리고 해상도가 높아 용량이 큰 이미지를 다루는
쇼핑몰, 포털 사이트 등에서 안정적인 서비스 제공을 위해 활용[ CDN 사용 이점 ]
- 웹사이트 로드 시간 개선
- 가장 가까운 CDN 서버를 사용하여 웹사이트 방문자에 가까운 콘텐츠를 제공하므로 페이지 로드 시간이 빨라짐
- 사이트 로드가 느리면 방문자는 이탈하기 때문에 CDN은 이탈률을 줄임
- 웹사이트가 빨라지면 더 많은 방문자가 더 오래 머물게 됨
- 대역폭 비용 절감
- 웹사이트 호스팅용 대역폭 소비 비용은 웹사이트의 대표적 비용
- CDN은 캐싱과 기타 최적화를 사용하여 원본 서버가 제공해야 하는 데이터 양을 줄이고 웹사이트 소유자의 호스팅 비용을 줄일 수 있음
- 콘텐츠 가용성 및 이중화
- 대규모 트래픽이나 하드웨어 장애로 정상적인 웹사이트 기능이 멈출 수 있음
- CDN은 분산되어 있기 때문에 다수의 원본 서버보다 더 많은 트래픽을 처리하고 하드웨어 장애를 견딜 수 있음
- 웹사이트 보안 개선
- CDN은 DDoS 완화, 보안 인증 개선, 기타 최적화를 제공하여 보안을 강화할 수 있음
* 대역폭(bandwidth): 일정한 시간 내에 데이터 연결을 통과 할 수 있는 정보량의 척도
* 트래픽(traffic): 서버와 스위치 등 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양
* 분산 서비스 거부(DDoS): 인터넷 트래픽의 폭주로 공격 대상이나 그 주변 인프라를 압도하여 공격 대상 서버나 서비스, 네트워크의 정상적인 트래픽을 방해하는 악의적인 시도
[ CDN 작동원리 ]
- 웹 브라우저가 실행되는 디바이스인 PC나 모바일 기기의 사용자 에이전트가 특정 주소에 접근하여 HTML, 이미지, CSS, JavaScript 파일 등 렌더링하는 데 필요한 콘텐츠를 서버로부터 요청
- DNS는 콘텐츠에 대한 각 요청이 발생하면 End User와 가장 가까운 위치에 최적으로 배치된 CDN 서버에 End User가 매핑되고, 해당 서버는 요청된 파일의 캐싱된 버전으로 응답
- 서버가 파일을 찾는 데 실패하는 경우 CDN 플랫폼의 다른 서버에서 콘텐츠를 찾은 다음 End User에게 응답을 전송
- 콘텐츠를 사용할 수 없거나 콘텐츠가 오래된 경우, CDN은 오리진 서버에 대한 요청 프록시로 작동하여 향후 요청에 대해 응답할 수 있도록 Patch된 새로운 콘텐츠를 저장
[ CDN 활용 사례 ]
유튜브, 넷플릭스, 에어비엔비, NC소프트, 카카오게임즈 등등
'프로그래밍 기초 공부' 카테고리의 다른 글
TCP, UDP란? (0) 2022.11.06 세션, 쿠키, 토큰이란? (0) 2022.11.04 CORS(Cross-Origin-Resource Sharing)란? (0) 2022.10.31 DNS란? (0) 2022.10.31 SSR과 CSR이란? (0) 2022.10.31