플라티너스 2024. 9. 12. 15:18

[ RTP ( Real-Time TransPort Protocol ) ]

-. 인터넷 상 에서 다수의 End-to-End간 Video 혹은 Audio 패킷을 실시간 데이터를 전송하기 위해 표준화된

   실시간 통신 프로토콜.

-. RTP는 기본적으로 UDP를 Base로 하여 IP상에서 데이터를 통신하게 됨.

출처 : https://neohtux.tistory.com/61

 

-. UDP를 통해 RTP 데이터를 전송하기위해서는 사용하는 디바이스가 RTP/UDP 프로토콜을 지원하고

   RTP/UDP 멀티캐스팅을 지원해야 한다. 

-. 일반적인 UDP 베이스 이지만 TCP 도 가능함.

   ( TCP 기반 표준은 RFC4571 , RFC4572 참조)

-. RTP는 기본적으로 RTCP와 함께 사용 됨.

-. RTP는 다른프로토콜 (80,21,22,554 등) 과 같이 미리 예약된 포트를 사용하지 않는다.

   즉, UDP상의 포트사용에 대해 특정 포트 사용을 강요 받지 않음.

   단지 연이은 짝수, 홀수 포트 번호만 사용하게되는데

   RTP는 짝수 포트번호, RTCP는 RTP바로 다음의 홀수 포트번호를 사용

 

*RTP 표준 관련 참조사항 ( RFC 3550 3551, 3984, 7798, 3016, 3640 )

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

[ RTP 헤더의 구조 ]

 

참고 : https://neohtux.tistory.com/61

 

-. V (Version - 16비트) : RFC3550 버전으로는 2 이다.

-. P (Padding - 1비트) : RTP 패킷의 페이로드 구성을위해 정수배 단위를 채워넣기 위한 비트라고 봐도 될것같음.

-. X (extension - 1비트) : 가변길이 헤더확장이 있음을 나타냄.

                                       ( 반복재생 이나 가변적인 헤더 확장이 있는지 알려주는 비트..? 확실하지 않음 )

-. CC ( CSRC Count - 4비트 ) : 어떤 여러개의 미디어가 합성되는 경우 그 갯수를 나타낸다고 함.

-. M (Marker - 1비트 ) : 이벤트 발생을 알림.

                                     ( RTP에 의해 전송되는 XML의  Metadata가 Closed 되면 이 값이 1로 바뀜)

-. PT ( Payload Type - 7비트 ) : 오디오나 비디오의 인코딩 방식이 어떤건지 알려주는 것을 말함.

                                                   ( RFC3551 - section6 참조 )

-. Sequnece Number - 16비트 : 패킷 손실을 검출하고 순서를 재구성하는 기능을 할수있게 보내는 데이터들.

                                                   수신측 에서 RTP 헤더의 이부분을 가지고 패킷 손실을 검출하여 뒤바뀐 순서를

                                                   재구성 한다고 함. ( 즉, 패킷 손실 검출 / 패킷 순서 재구성 기능 )

-. Time stamp - 32비트 : RTP 스트림내 각 패킷이 샘플링된 시간 관계를 나타냄.

                                       (이것을 이용해 시간 동기 및 지연에 대한 계산 가능)

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

RTP 는 통상 RTCP와 함께 사용됨.

* 실제 RTP를 이용해 영상데이터를 전송하지만, 패킷 지연이나 손실, 지터 등에 대한 Qos(Quality of Service)를 보장하지 못하기때문에 RTCP를 이용하여 별도로 위 언급된 부분을 제어함.