9. 도서관/__사. Network

RTCP(RTP Control Protocol)

행복 금융 2008. 10. 17.

RTCP(RTP Control Protocol)

>> RFC 1889

 

 


☛ 개요

- 멀티미디어 네트워킹 애플리케이션에서 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 소스에 대해 Canonical Name(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 패킷의 타임스탬프와 실제 시간

- 스트림에서 전송된 패킷 수

- 스트림에서 전송된 바이트 수


        송 신자 보고는 RTP 세션 안의 서로 다른 미디어 스트림들은 동기화 하는 데 사용할 수 있다. 예를 들어, 송신자가 두 개의 독립 RTP 스트림(하나는 비디오용 스트림, 또 다른 하나는 오디오용 스트림)을 생성하는 화상회의 애플리케이션을 생각하자. RTP 패킷의 타임스탬프는 비디오 및 오디오 샘플링 클록과 관련 있으나 실제 시간과는 무관하다. RTCP 송신자 보고에는 관련 스트림에서 가장 최근에 생성된 패킷의 타임스탬프와 이 패킷이 생성된 실제 시간이 포함된다. 따라서 RTCP 송신자 보고 패킷은 샘플링 클록과 실제 클록을 연관시키며, 수신자는 오디오와 비디오 재생을 동기화하는 데 RTCP 송신자 보고의 클록 연관 정보를 사용할 수 있다.

        송 신자가 전송하는 RTP 스트림에 대해, 송신자는 근원지 기술 패킷을 만들어서 전송한다. 이 패킷은 송신자의 전자메일 주소, 송신자 이름, RTP 스트림을 생성하는 애플리케이션 등과 같은 근원지에 대한 정보를 포함한다. 또한 이 패킷은 연관된 RTP 스트림의 SSRC를 포함한다. 이 패킷은 근원지 식별자(즉 SSRC)와 사용자/호스트 네임 사이의 매핑을 처리한다.

        RTCP 패킷은 쌓일 수 있다. 즉, 수신자 수신 보고, 송신자 보고, 근원지 기술자들을 패킷 하나에 통하해서 넣을 수 있다. 이렇게 만들어진 패킷은 UDP 세그먼트에 캡슐화되어 멀티캐스트 트리로 전달된다.





☛  RTCP대역폭 확장

        RPCP 는 확장 문제르 가지고 있다. 예를 들어, 하나의 송신자와 다수의 수신자로 구성된 RTP 세션을 생각해 h자. 만일 각 수신자가 주기마다 RTCP 패킷을 생성한다면, RTCP패킷의 총 전송률은 송신자에 의해 전송되는 RTP 패킷의 전송률을 상당히 초과할 수 있다. 멀티캐스트 트리로 전송되는 RTP 트래픽 양은 수신자 수가 증가해도 변하지 않는 반면, RTCP 트래픽 양은 수신자 수에 선행으로 증가한다. 이 같은 확장 문제를 해결하기 위해, RTCP는 세션 내의 참여자 수에 따라 멀티캐스트 트리로 전송할 수 있는 RTCP 패킷의 전송률을 조절한다. 또한, 차여자는 제어 패킷을 다른 모든 참여자에게 전송하므로 각 참여자는 세션 안의 총 차명자 수를 추정할 수 있다.

또한 참여자는 동적으로 평균 RTCP패킷 크기를 계산하고 이 크기를 자신에게 할당된 전송률로 나눔으로써 RTCP 패킷의 전송 주기를 결정한다. 요컨대, 송신자가 RTCP 패킷을 전송하는 주기는 다음과 같다.


 

그리고 수신자가 RTCP 패킷을 전송하는 주기는 다음과 같다.

'9. 도서관 > __사. Network' 카테고리의 다른 글

56K CSU/DSU�� RJ-48S Connector  (0) 2008.10.20
RJ48C, RJ48S, RJ48X - T1 Jacks  (0) 2008.10.20
Tackling fax-over-IP  (0) 2008.10.17
Fax transmission over IP  (0) 2008.10.17
e.164  (0) 2008.10.17

댓글

💲 추천 글