7.4 부가설명 (2) RTP, RTCP, RTSP 간략히 요약 비교
- 컴퓨터공학
- 2016. 3. 21. 19:56
스트리밍 멀티미디어
- 동영상이나 음악 따위를 전부다 다운받은 뒤에 재생하는 것이 아니라 수신하면서 재생하는 것들
- 인터넷 생중계(아프리카, 다음팟)
- 저장된 미디어 스트리밍 서비스(유투브, 인터넷 음악듣기 서비스)
- 실시간 멀티미디어(인터넷 전화, 화상회의)
RTP
- 트랜스포트 계층의 프로토콜(UDP에 붙어서 동작)
- 비디오/오디오 "데이터" 전송을 위한 프로토콜
- 헤더에는 코덱정보,순서번호,타임스탬프,SSRC(양 단말간 여러 RTP세션 구분-한 웹브라우저에서 2개의 동영상재생 가능) 등을 포함
- 헤더마다 코덱이 들어가므로 네트워크 상황에 따라 코덱을 바꿀 수 있다. 품질이 떨어지는 코덱 변경할 수 있다.
- UDP/IP로 패킷 전송
- 스트리밍 데이터 전송을 담당하기 때문에 서버에서 클라이언트로의 단방향 전송
RTCP
- 트랜포트 계층의 프로토콜
- RTP 데이터 전송상태 감시, 세션 관련 정보 전송을 위한 프로토콜
- 상태 점검을 위한 것이므로 Server, Client 간 양방향 통신으로 이루어진다.
- 주기적으로 송수신자가 리포트 패킷을 서로 주고 받는다.
- 보낸 패킷, 손실된 패킷, 패킷 수신 간격 변화정도(interarrival jitter)
- 재전송해서 늦게 도착하면 손실과 다름없으므로 재전송은 안함. 그래서 어떤 패킷이 손실되었는지는 보내지 않음
- RTP에 대한 Flow Control을 위해 사용됨
표준에는 RTCP로 수집된 정보에 대해 어떻게 처리하는가에 대한 명시가 없다. 응용 개발자 마음이다.
네트워크 상태가 안 좋아지면 코덱을 바꾼다거나, 너무 많이 보내서 손실이 발생하는 것이라 판단되면 전송속도를 줄이는 등의 처리가 필요하다.
RTSP
- 응용 계층의 프로토콜
- 스트리밍 데이터를 제어하기 위한 방법을 제공
- 재생, 일시정지, 빨리감기, 되감기, 재생 위치 변경 같은 명령 전송
- 표준에는 TCP/UDP 어느 것을 쓸지 정해져 있지 않음. 보통 UDP 많이 사용
- 데이터 전송 포트와 다른 포트번호(554)를 사용한다.
- media stream 데이터가 in-band
-FTP가 포트 2개를 써서 파일전송과 명령전송에 다른 커넥션을 사용하는 것과 같다.
- RTSP를 사용하기 위해서는 미디어 서버와 클라이언트가 커넥션을 맺어야 하는데 UDP를 쓸때는 어떻게 커넥션을 맺는가? --> 응용 계층에서의 커넥션
- SETUP 패킷(커넥션 요청)의 내용에 받을 어떤 파일을 재생할건지(URL),포트번호와 응용층의 프로토콜을 무엇을 사용할 것인지(RTP/UDP 같은)를 알려주면 서버에서 session 번호를 알려준다. 그 세션번호를 가지고 클라이언트를 구분한다.
소켓(IP,포트번호)만 가지고 구분할 수 있지 않냐고 할 수 있는데, 한 웹브라우져의 한 화면에서 두 개의 동영상을 재생하는 경우,IP와 포트번호만으로는 구분할 수 없다. 따라서 별도의 세션번호가 필요하다.
'컴퓨터공학' 카테고리의 다른 글
3.4.1 신뢰적인 데이터 전달 프로토콜의 구축 (0) | 2016.03.24 |
---|---|
3.4 신뢰성 있는 데이터 전송의 원리 (0) | 2016.03.23 |
7.4 부가설명 (1) RSTP (0) | 2016.03.21 |
7.4 실시간 대화형 애플리케이션을 위한 프로토콜 (0) | 2016.03.21 |
3.3 비연결형 트랜스포트 : UDP (0) | 2016.03.21 |
이 글을 공유하기