CDNs
Streaming stored video: Client Buffer
서버가 비디오를 보내면, 유저는 다음과 같이 보면 됨
근데, 클라이언트-서버 간 대역폭은 네트워크 혼잡이 발생가능
즉, 클라이언트 측의 버퍼가 필요함
클라이언트 측 버퍼링 및 재생 지연을 위해
네트워크 추가적인 지연과 지연 변이를 보상
DASH 프로토콜
비디오 품질이 좋을수록 더 높은 대역폭이 필요해서 만든 프로토콜
클라이언트
- 클라이언트-서버 간의 대역폭을 주기적으로 측정
- 매니페스트 파일을 참조하여,
비디오 조각을 요청함 - 대역폭 상황에 따라 최대 품질 버전의 청크를 선택함
서버
- 비디오 파일을 여러 조각으로 분할
- 각 조각은 여러 품질 버전으로 인코딩
HD, FHD, 4K .. - 여러 품질 버전의 비디오 조각은 여러 서버에 저장됨
- 매니페스트 파일: 여러 품질 버전의 조각이 어디 있는지 URL 목록
스트리밍 비디오 구성
= 인코딩 + DASH + 클라이언트 버퍼
Q. 수십만 명의 동시 사용자에게 콘텐츠를 스트리밍 하는 방법?
하나의 큰 서버가 부담 → X (대역폭 낭비, ISP 비용 증가)
지리적으로 분산된 여러 클러스터에서 비디오 사본을 저장/제공 (CDN)
→ O, 사용자가 가깝게 클러스터를 설치해서 링크와 라우터 수 줄이고, 지연시간 개선
유저가 영화가 보고 싶다면,
서버는 매니페스트 파일을 유저에게 주고,
유저는 RTT가 가장 적은 서버를 선택
CDN content access: a closer look
콘텐츠 제공자가 CDN 업체를 통해 비디오를 분배함
클라이언트가 서버로부터 매니페스트 파일을 받고,
클라이언트는 CDN 서버를 선택함
각 CDN마다 저장된 비디오 내용은 다름
'🖥️ Computer Science > Network' 카테고리의 다른 글
[CN] 3장: UDP (User Datagram Protocol) (1) | 2024.07.06 |
---|---|
[CN] 3장: 다중화 & 역다중화 (0) | 2024.07.02 |
[CN] 2장: Peer-To-Peer Applications (0) | 2024.05.15 |
[CN] 2장: The Domain Name System, DNS (0) | 2024.05.13 |
[CN] 2장: E-mail, SMTP, IMAP (0) | 2024.05.11 |