본문 바로가기
Computer Science/Computer Networking

[Computer Networking] Application Layer : CDN (Content Distribution Network)

by __K.Jun__ 2024. 7. 20.

Content Distribution Network

인터넷상의 비디오를 수억 명의 시청자들에게 동시에 스트리밍 서비스를 통해 안정적으로 제공하는 방법이 무엇이 있을까?

 

Option 1. 거대한 단일 데이터 센터를 구축하고 모든 비디오 자료를 데이터 센터에 저장한 뒤 전 세계의 사용자에게 비디오 스트림을 데이터 센터로부터 직접 전송하기.

 

-> 하지만 이 방법은 여러 문제점이 있다.

 

문제점 1. 클라이언트가 데이터 센터로부터 지역적으로 먼 지점에 있는 경우, 서버로부터 클라이언트로의 패킷 경로는 많은 다양한 통신 링크와 ISP를 거쳐 가게 되는데, 이러한 ISP는 각기 다른 대륙에 위치할 수도 있다. 이 링크들 중 하나라도 비디오 소비율보다 낮은 전송용량을 갖는다면 종단 간 처리율이 낮아지고 사용자는 버퍼링을 겪게 된다.

 

문제점 2. 인기 있는 비디오는 같은 통신 링크를 통해 여러 번 반복적으로 전송될 것이다. 이는 네트워크 대역폭의 낭비는 물론이고 인터넷 비디오 회사는 회선을 제공하는 ISP들에게 동일한 바이트를 전송하는 것에 대해 중복 비용을 지불하는 결과를 초래한다.

 

문제점 3. 단일한 데이터 센터를 구축하면 한번의 장애로 인해 전체 서비스가 중단될 수 있는 위험이 있다. 데이터 센터의 서버나 인터넷과의 연결 링크가 장애를 일으키면 어떠한 비디오 스트리밍 서비스도 불가능해진다.

 

 

 

 

Option 2. Content Distribution Network.

 

- 다수의 지점에 분산된 서버들을 운영하며, 비디오 및 다른 형태의 웹 콘텐츠 데이터의 복사본을 이러한 분산 서버에 저장한다.

- 사용자는 최선의 서비스와 사용자 경험을 제공할 수 있는 지점의 CDN 서버로 연결 된다.

- CDN은 일반적으로 서버의 위치에 대해 다음 두 가지 철학 중 하나를 채용하고 있다.

Enter Deep Bring Home
- 서버 클러스터를 세계 곳곳의 접속 네트워크에 구축함으로써 ISP의 접속 네트워크로 깊숙이 들어가는 것.

- 서버를 최대한 사용자 가까이에 위치시켜 사용자와 CDN 서버 사이의 링크 및 라우터 수를 줄이고, 사용자 경험을 개선하는 것.

- 고도로 분산된 설계로 인해 서버 클러스터를 유지 관리하는 비용이 크다.
- 좀 더 적은 수의 핵심 지점에 큰 규모의 서버 클러스터를 구축하여 ISP를 Home으로 가져오는 개념.

- 접속 ISP에 연결하는 대신, 이러한 CDN들은 일반적으로 그들의 클러스터가 IXP(Internet Exchange Point)에 배치된다.

- Enter Deep에 비해 클러스터 유지 및 관리 비용이 줄어드는 대신 사용자 경험이 나쁘다

- 서버 클러스터의 위치가 정해지면 CDN은 콘텐츠의 복사본을 이들 클러스터에 저장한다.

 

 

How does Netflix work?

1. 영화가 있는 서버 중 소프트웨어는 클라이언트 요청에 최적의 서버를 결정한다.

2. 클라이언트가 해당 ISP에 설치된 CDN 서버 랙에 있는 로컬 ISP를 사용하고 있고, 이 랙에 요청된 사본이 있는 경우 일반적으로 이 랙 서버가 선택된다. 그렇지 않는 경우 근처에 있는 IXP 서버가 선택된다.

3. 넷플릭스가 콘텐츠를 전달할 CDN 서버를 결정하면 클라이언트에게 특정 서버의 IP 주소와 함께 요청한 동영상의 다른 버전에 대한 URL이 포함된 매니페스트 파일을 보낸다.

4. 클라이언트와 해당 CDN 서버는 독점 버전의 DASH를 이용하여 직접 상호작용한다.

728x90