일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- m:n
- JDBC
- BindingResult
- 알고리즘
- DTO
- allocationSize
- 백준
- 커밋 되돌리기
- API
- 쉘 스크립트
- 편향된 지수
- 오블완
- @SubscribeMapping
- intelij spring config
- 쿠키
- JPA
- 컴파일 타임 상수
- 메모리 구조
- Git
- 티스토리챌린지
- 파이썬
- 리눅스
- @Autowired
- 기본키 전략
- spring
- mysql
- 런타임 상수
- application layer
- 프로그래머스
- compgen
- Today
- Total
둘셋 개발!
[네트워크] Application Layer 2 (multimedia traffic, Streaming, CDN, RTP, SIP, QOS, Best-Effort Network) 본문
[네트워크] Application Layer 2 (multimedia traffic, Streaming, CDN, RTP, SIP, QOS, Best-Effort Network)
23 2022. 6. 13. 00:05지난번 포스트에 이어서 이번에는 multimedia와 관련된 application layer에 대해 알아볼 것이다.
Multimedia Service
streaming, conversation 같이
실시간성이 있고 정보 전달에 있어서
요구조건이 있는 서비스
Multimedia Traffic
1. Video
영상과 음성 정보가 있는 것으로 높은 용량이 필요함
- Redendancy를 줄이는 방향으로 압축을 함
1) spatial redundancy: 공간적으로 유사한 픽셀은 비슷한 정보를 가짐
만약 배경은 같고 사물만 움직이는 비디오 라면, 비디오에서 배경은 비슷한 정보를 가짐
2) temporal redundancy: 시간적으로 동일 픽셀은 느리게 변함
만약 발차기를 하는 비디오라면, 중간에 예상되는 frame은 제거
압축 품직에 따라 같은 영상을 multiple version으로 만들기도 함
ex) 저화질, 고화질,,,,
2. Audio
video에 비해 낮은 용량을 가짐
- 음성 신호를 sampling 한 후 quantization(양자화)해서 bit로 표현
(출처:https://suyeon96.tistory.com/13)
- bit rate = sampling rate * bits per sample
bit rate가 높을 수록 음성 품질이 좋음
3. Service
🖊streaming
- on-demand로 수신함 (요청하면 보내주는 형식)
- buffering
: 일정 양의 정보를 받고 재생한다. 그래서 network delay가 발생해도 대처가 가능하다
🖊conversational voice and video
- 실시간성으로 음성/영상으로 대화
- delay-sensitive
: 400ms 이상 걸리면 체감상 답답함을 느껴서 차라리 일정 시간이 지나면 packet loss 하는 방식을 사용
Streaming에 대해 더 깊게 알아보자
Streaming
1. UDP Streaming
- UDP 기반으로 data를 실시간 전송
- 보통 RTP와 연계함 (뒤에 RTP설명)
- congestion control이 없기 때문에 network 환경에 따라 문제가 발생할 수 있음
- Firewall에서 UDP를 막는 경우가 많음
2. HTTP Streaming
- HTTPserver 형태로 data를 실시간 전송
- TCP 연결을 함
- congestion control을 하기 때문에 실시간성에 문제가 있어서 요즘은 buffering & prefetching으로 해결함
3. CDN (Contents Distribution Network)
streaming service는 여러 대의 server를 분산적으로 두고 제공함으로써
network와 client의 거리를 좁히고, fail-safety을 보안함
- 지역적으로 고르게 분포
- 사람들이 사용을 잘 하지 않는 시간대(점심이나 새벽)에 각종 video 정보를 copy & paste 해둠
Voice over IP (인터넷 전화)
보이스톡이나 스카이프가 대표적인 예시로
Ip 상에서 voice를 전달하는 일련의 application protocol 임
- delay관점에서 매우 민감
jitter가 분명히 발생함으로 버퍼와 비슷한 개념으로 prefetching time을 두고 데이터를 보내다가
그 이후에 jitter가 발생하면 delay보다 loss 해버림
-> sequence / timestamp 정보를 통해 재생 조절
Real-Time Protocol (RTP)
multimedia data에 대한 부가적인 정보를 담기 위해
packet을 encapsulation하는 protocol
- UDP 바로 위해서 동작
ex ) Payload type, Sequence number, Timestamp, Syschronization source identifier, ,,,정보
(출처 : https://www.geeksforgeeks.org/real-time-transport-protocol-rtp/)
- RTCP (Rea-Time Control Protocol)
RTP에 해대 flow control및 각종 통계정보를 제공
Session Initiation Protocol (SIP)
multimedia 전송을 위해 connection management를 해주는 프로토콜로써,
port번호를 주고 받은 다음, 약속된 port로 데이터를 주고 받음
- DHCP, mobile IP를 많이 사용하여 요즘은 상대방 IP주소가 고정적이 않아서
SIP proxy서버에게 불어봐야 함
- 서로의 Ip주소를 알고난 후에는 직접적으로 multimedia를 주고 받음
Quality of Service (QOS)
network 측면에서 service가 요구하는 성능의 품질이 적혀있는 것으로
이를 참고하여 특정 성능을 보장!
priority, packet delay budget, packet error loss rate, 등등 있음
Best-Effort Network
최선을 다하겠다는 의믜로, 서비스가 요구하는 것을 무조건 만족시키려 하지 않고
networtk 성능을 최우선으로 고려함
- network 용량이 수요보다 충분히 크도록 설계가 되어야 함
- network dimensioning : end-to-end 성능 요구사항을 맞추기 위해 router 추가설치, 각 link의 capacity 결정 등을 조절
'네트워크' 카테고리의 다른 글
[네트워크] Application layer 1 (Http, Cookies, Web Caching, FTP, SMTP, DNS) (0) | 2022.06.10 |
---|---|
[네트워크] L4 Transport Layer (0) | 2022.06.07 |
[네트워크] Protocol Function 2 (0) | 2022.06.03 |
[네트워크] Protocol Functions 1 (0) | 2022.06.03 |
[네트워크] Protocol의 뜻, 구조, 모델 (0) | 2022.05.17 |