본문 바로가기

카테고리 없음

RTCP란?

RTCP란 무엇인가?


개요


- 멀티미디어 네트워킹 애필리케이션에 RTP와 동일시하게 사용할 수 있는 유일한 프로토콜입니다.


- RTP 세션의 각 참여인은 IP 멀티캐스트를 사용하여 세션안 모든 참여인들에게 RTCP 패킷을

  발신합니다. 보통 RTP 세션마다 멀티캐스트 주소가 하나씩 사용되며, 세션에 속한 모든

  RTP 패킷과 RTCP 패킷들은 이 멀티캐스트 주소를 이용합니다. RTP 패킷과 RTCP 패킷들은

  다른 포트번호를 사용하여 서로 구별이 가능합니다

  ( RTCP 포트번호는 RTP 포트번호에 1을 더한 값입니다 )


- RTCP 패킷은 오디오나 비디오 청크를 캡슐화 하지 않습니다.

  대신, RTCP 패킷은 주기적으로 전송되며, 애플리케이션에 의하여 유용하게 사용될 수 있는

  통계 값을 제공하는 송신자 보고 및/ 혹은 수신자 보고를 포함합니다.

  이 통계 값에는 전송된 패킷의 수와 손실된 패킷의 수, 도착들 간의 지터를 포함합니다.

  RFC에는 이 피드백 정보를 애플리케이션이 어떻게 하여야 하는지에 대해 따로 지정하지

  않습니다. 이 부분은 애플리케이션 개발자의 임의에 달려있습니다.




기능


- RTCP는 RTP와 같이 동작하는 제어 프로토콜로 RTP 세션이 참여한 각 참가인들은 주기적

  으로 다른 모든 참가인들에게 RTCP 제어 패킷을 발신하여야 합니다.


1. 응용 서비스에 정보 제공

RTCP는 주기적인 제어 패킷 전송을 통하여 응용 서비스에 RTP 세션의 데이터 전송에 관계되는

정보를 제공합니다. 각 RTCP 제어 패킷은 송신자 혹은 수신자의 상태 정보를 포함하고 있으며,

이러한 상태 정보에는 전송 패킷의 수와 수신 패킷의 수 그리고 지터 등이 포함되고 있습니다.


2. RTP 소스의 식별

RTCP는 하나의 RTP 소스에 대해 CNAME라 부르는 전송 계층의 식별자를 가집니다.

이 CNAME는 RTP 세션의 참가인들을 추적하는데에 이용됩니다.


3. RTP 전송 간격의 제어

제어 트래픽이 네트워크 자원을 과도하게 이용하지 못하도록 하고 RTP 세션에 많은 참가인들이

참가할 수 있도록 돕기 위하여 제어 트래픽은 전체 세션 트래픽의 5%를 초과할 수 없도록 한정합니다.

이에 대한 내용은 참가인 수의 함수로 결정됩니다.




4. 최소한의 세션 제어 정보 수송

부가적인 기능으로 RTCP는 모든 세션 참가자들에 대하여 최소한의 정보를 수송하기 위한

편리한 방법으로 이용될 수 있습니다.


RTCP 패킷 타입

세션의 일부로서 수신자가 수신한 RTP 스트림에 대하여, 수신자는 수신 보고를 작성합니다.

수신자는 자신의 수신 보고들을 하나의 RTCP 해킷으로 모읍니다. 그 후 이 패킷은 세션의

모든 참여자가 연결된 멀티캐스트 트리로 발신됩니다. 수신 보고에는 여러 필드가 포함되는데

이는 아래와 같습니다.


- 수신 보고가 생성되는 RTP 스트림의 SSRC


- RTP 스트림 내에서 손실된 패킷의 비율. 수신인은 손실된 RTP 패킷의 수를 전송된 RTP 패킷의 수로

  나눈다. 만일, 송신자가 전송한 패킷의 일부만을 수신자가 수신한다는 것을 나타내는 수신 보고를

  받는다면, 송신자는 네트워크 혼잡을 줄이고 수신율을 높이기 위해 비교적 낮은 인코딩의 비율로

  변경할 수 있습니다.




- RTP 패킷 스트림에서 마지막으로 수신된 순서의 번호


- RTP 스트림 내의 연속된 패킷들의 평균 도착 간의 지터

  송신자가 전송하는 RTP 스트림마다 송신자는 RTCP 송신자 보고 패킷을 만들어 전송합니다.

  이들 패킷은 RTP 스트림에 관하여 정보를 포함하거나 이들 정보는 아래와 같습니다.


- RTP의 스트림의 SSRC

- 스트림에서 가장 최근에 생선된 RTP 패킷의 타임스탬프와 실제되는 시간

- 스트림에서 발신된 패킷의 수

- 스트림에서 발신된 바이트의 수