일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- JVM
- AVL트리
- 힙트리
- 백준장학금
- 스케줄링
- 완전이진트리
- 프로세스
- 엔티티 그래프
- python
- 자료구조
- 최소힙
- MSA
- 강화학습
- 이분탐색이란
- 운영체제
- heapq
- JPA
- 연결리스트 종류
- 연결리스트
- jpa n+1 문제
- HTTP
- spring
- 점근적 표기법
- 최대 힙
- 백준 장학금
- Kruskal
- 알고리즘
- SpringSecurity
- 멀티프로세서
- posix
- Today
- Total
KKanging
[Network] 비디오 스트리밍과 컨텐츠 분배 네트워크 본문
6.1 인터넷 비디오
오늘날 인터넷 대역폭은 스트리밍 비디오가 차지함
하지만 스트리밍 비디오는 그만큼 네트워크의 대역폭에 신경이 많이 씀
비트 전송률 과 비디오 품질을 반비례한다.
6.2 HTTP 스트리밍 및 대쉬 (DASH)
HTTP 스트리밍에서 비디오는 HTTP 서버 내의 특정 URL을 갖는 일반적인 파일로
저장된다.
사용자가 비디오 시청을 원하면 클라이언트는 서버에게 TCP 연결을 설립하고,
해당 URL에 대한 HTTP GET 요청을 발생시킨다.
하지만 HTTP 스트리밍은 유튜브 등 많은 시스템에서 실제 적용되고 있으나,
중요한 문제점을 가지고 있다.
모든 클라이언트들이 그들 사이의 가용 대역폭의 차이에도 불구하고 똑같이
인코딩된 비디오를 전송받는다는 것이다.
이러한 문제점으로 인해 새로운 형태의 HTTP 기반 스틀리밍인 DASH가 개발되었다.
Dynamic Adaptive Streaming over HTTP
서버는 여러 품질 버전의 비디오 파일들은 여러 서버에서 저장한다.
매니페스트(manifest) 파일을 기반으로 클라이언트는 버퍼 속도에 기반해서
다른 화질을 선택하게 되는 것이다.
6.3 콘텐츠 분배 네트워크 (CDN)
수십만 명의 동시 사용자에게 콘텐츠를 스트리밍하는 방법은?
1. 하나의 거대한 메가 서버를 구축
-> 먼지점이면 망함
-> 대역폭 혼잡이면 망함
CDN
여러개의 서버를 구축하여 콘텐츠를 분배함
CDN 서버 위치에 대한 2가지 철칙
1. enter deep : CDN 서버를 다수의 접속 네트워크에 설치
- 클러스터를 설치하여 링크와 라우터의 수를 줄이고 지연시간 및 처리율을 개선
(유지 운영 비용 증가)
2. bring home : CDN 서버를 소수의 IXP에 설치
- 클러스터 유지 및 관리 비용 감소
CDN 클러스터 서버는 한개의 컨텐츠를 다 저장하지 않아도 된다.
처음 서버에 오징어게임을 보고 싶다 요청 -> manifest 파일을 줌
클라이언트에서 대역폭 측정 후 가장 높은 화질을 요청
지리적으로 가까운 클러스터에 요청 (없으면 다른 클러스터에 컨텐츠 가져올 수 있음)
중간에 CDN 이 로드밸런싱을 통해 부하가 많을 시 멀어도
부하가 적은 다른 서버로 로드밸런싱을 할 수도 있다.
'cs > 컴퓨터네트워크' 카테고리의 다른 글
[Network] DNS - 인터넷 디렉터리 서비스 (0) | 2024.05.29 |
---|---|
[Network] E-mail , SMTP , IMAP (0) | 2024.05.29 |
[Network] 네트워크 애플리케이션의 원리 (0) | 2024.05.29 |
[Network] 패킷 교환 방식과 지연 시간 (1) | 2024.05.28 |
[Network] 네트워크 구성요소 (0) | 2024.05.27 |