반응형

7.4 부가설명 (2) RTP, RTCP, RTSP 간략히 요약 비교

스트리밍 멀티미디어


- 동영상이나 음악 따위를 전부다 다운받은 뒤에 재생하는 것이 아니라 수신하면서 재생하는 것들

- 인터넷 생중계(아프리카, 다음팟)

- 저장된 미디어 스트리밍 서비스(유투브, 인터넷 음악듣기 서비스)

- 실시간 멀티미디어(인터넷 전화, 화상회의)


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와 포트번호만으로는 구분할 수 없다. 따라서 별도의 세션번호가 필요하다.


댓글

Designed by JB FACTORY