ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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 사용 이점 ]

    1. 웹사이트 로드 시간 개선
      1. 가장 가까운 CDN 서버를 사용하여 웹사이트 방문자에 가까운 콘텐츠를 제공하므로 페이지 로드 시간이 빨라짐
      2. 사이트 로드가 느리면 방문자는 이탈하기 때문에 CDN은 이탈률을 줄임
      3. 웹사이트가 빨라지면 더 많은 방문자가 더 오래 머물게 됨
    2. 대역폭 비용 절감
      1. 웹사이트 호스팅용 대역폭 소비 비용은 웹사이트의 대표적 비용
      2. CDN은 캐싱과 기타 최적화를 사용하여 원본 서버가 제공해야 하는 데이터 양을 줄이고 웹사이트 소유자의 호스팅 비용을 줄일 수 있음
    3. 콘텐츠 가용성 및 이중화
      1. 대규모 트래픽이나 하드웨어 장애로 정상적인 웹사이트 기능이 멈출 수 있음
      2. CDN은 분산되어 있기 때문에 다수의 원본 서버보다 더 많은 트래픽을 처리하고 하드웨어 장애를 견딜 수 있음
    4. 웹사이트 보안 개선
      1. CDN은 DDoS 완화, 보안 인증 개선, 기타 최적화를 제공하여 보안을 강화할 수 있음

     

    * 대역폭(bandwidth): 일정한 시간 내에 데이터 연결을 통과 할 수 있는 정보량의 척도

    * 트래픽(traffic): 서버와 스위치 등 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양

    * 분산 서비스 거부(DDoS): 인터넷 트래픽의 폭주로 공격 대상이나 그 주변 인프라를 압도하여 공격 대상 서버나 서비스, 네트워크의 정상적인 트래픽을 방해하는 악의적인 시도

     

    [ CDN 작동원리 ]

    1. 웹 브라우저가 실행되는 디바이스인 PC나 모바일 기기의 사용자 에이전트가 특정 주소에 접근하여 HTML, 이미지, CSS, JavaScript 파일 등 렌더링하는 데 필요한 콘텐츠를 서버로부터 요청
    2. DNS는 콘텐츠에 대한 각 요청이 발생하면 End User와 가장 가까운 위치에 최적으로 배치된 CDN 서버에 End User가 매핑되고, 해당 서버는 요청된 파일의 캐싱된 버전으로 응답
    3. 서버가 파일을 찾는 데 실패하는 경우 CDN 플랫폼의 다른 서버에서 콘텐츠를 찾은 다음 End User에게 응답을 전송
    4. 콘텐츠를 사용할 수 없거나 콘텐츠가 오래된 경우, 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
Designed by Tistory.