RTP   Real-time Transport Protocol, Realtime Transport Protocol   실시간 전송 프로토콜, 실시간 수송 프로토콜

(2020-06-23)

1. RTP (Real-time Transport Protocol)인터넷상에서 다수의 종단 간에 비디오오디오 패킷실시간 전송을 지원하기 위해
     표준화실시간 통신프로토콜 

  ㅇ 주요 용도 : VoIP, VoD, 인터넷 방송, 인터넷 영상회의2. RTP 특징데이터의 `실시간 전달` 및 `멀티캐스팅`에 이용
     - 특히, RTP는 실시간 통신에 필수적인 시간 정보매체동기화 기능 제공
        . RTP 헤더순서번호,타임스탬프,동기발신식별자 등 있음

  ㅇ 각 응용이 직접 구현
     - 각 실시간 응용 프로그램이, 라이브러리 형태로 구현 제공되며,
        . 직접 RTP를 호출하여 이용 함         ☞ (아래 3.항 참조)

  ㅇ 2개 프로토콜이 함께 사용됨
     - 기본적으로, RTP는 RTCP와 함께 사용됨
     - RTCP (RTP Control Protocol) : 별도의 제어프로토콜
        . RTP 패킷 스트림 내에 포함되어 주기적으로 모든 세션 참가자들에게 전송함으로써,
        . 네트워크 회선 상에 전송지연,대역폭변화 등 상태 정보를 상위계층에게 알려줌

  ㅇ UDP 사용
     - 수송(輸送)용 프로토콜로써 UDP 사용
        . RTP는, 신뢰성은 없으나, 빠르게 데이터를 전달할 수 있는 UDP 프로토콜 위에서 실행
          되며 주로 실시간 서비스를 지원 

 ㅇ 연이은 2개의 포트번호 사용
     - 다른 프로토콜과는 달리 미리 예약된 포트(Well Known Port)를 사용하지 않음
        . 즉, UDP 상의 포트 사용에 대해 특정 포트 사용을 강요 않음
           .. 단지, 연이은 짝수,홀수 포트 번호 만
           .. 매 세션 마다 할당되어 원격지에 그 포트 번호를 알려줌
        . RTP 및 RTCP는 2개의 연이은 포트번호를 사용 
           .. RTP는 짝수 포트 번호,  
           .. RTCP는 RTP 바로 위의 홀수 포트 번호를 사용

  ㅇ 송수신단 중간에 번역기(Translator) 및 혼합기(Mixer)가 있을 수 있음  ☞ RTP 구성요소 참조
     - 혼합기 : 포멧을 유지하면서 여러 스트림을 하나의 스트림으로 합치는 것
        . 여러 형태의 미디어를 한꺼번에 하나로 합성시키고, 이를 1 이상의 목적지로 전달
        . 여기서, 다중 입력들 간의 타이밍 동기화가 중요함         ☞ RTP 패킷(SSRC,CSRC) 참조
     - 번역기 : 전송에 적합하도록 다른 포멧으로 바꾸어주는 것 
        . 트랜스코딩, 미디어 전송률을 낮추어 전송, 유니캐스트멀티캐스트로 전환 등

  ㅇ 전달(수송,輸送) 가능 페이로드 데이터 포멧이 여러가지임 
     - 표준화된 포멧을 전달할 수도,
        . 오디오PCM,GSM,MP3 등, 비디오MPEG,H.263,H.261 등 처럼 
     - 비표준화된 사적인 오디오/비디오 형식도 전달 가능
     * RTP Header 내 7 비트 Payload type 필드에서 그 종류를 나타냄 ☞ IANA RTP Parameters


3. RTP 프로토콜 스택 구조

   프로토콜 동작이 응용프로그램의 라이브러리 형태로 구현됨
     - RTP는, 비록 통신계층 상으로 전송계층프로토콜이라고 하지만,
        . 망계층(IP)이나 전송계층 프로토콜(UDP) 내부에 캡슐화 사용되고,
        . 실제로는 하위계층 프로토콜에는 별로 의존하지 않음
     - 따라서, 장치내 응용 관점에서 구현되는 전송계층프로토콜이라고 하는 것이 타당함
        . 프로토콜 동작이 응용프로그램의 라이브러리 형태로 구현됨
     - 즉, 양단간 응용 프로그램들 사이에 데이터 전달 서비스를 제공함


4. RTP 주요 기능 (※ UDP에서 지원하지 못하는 기능들을 제공하게됨)시간정보 제공 기능
     - 순서번호(Sequence number)의 보장 기능
       . 패킷 손실 검출, 패킷의 순서를 재구성 등
     - 내부적인 타임스탬프(Timestamp,발송시간) 전송
       . 수신측이 데이터를 적절한 시간순서 및 시간 내에 재생할 수 있도록
         데이터 스트림타임스탬프 정보를 추가함
       . 단일 또는 복합 매체(다중화된 정보열)에서 동기지연에 대한 계산을 할 수 있게함

  ㅇ 정보매체의 동기화 기능
     - 데이타 타입에 대한 정보 제공 (소스동기 : Payload type)
       . 비디오 또는 오디오 등에 대하여 어떤 부호화 방식을 채택했는가를 알려줌
     - 각 미디어 스트림에 식별번호 부여 (미디어소스동기 : SSRC,CSRC)
       . 여러 스트림을 단일 스트림으로 혼합할 때 각각을 식별

  ㅇ 각 프레임의 경계 구분
     - 응용프로그램(응용계층)이 응용층 데이터 단위(ADU,Application-level Data Unit)를 구분
     - RTP 계층이 이 ADU 경계를 유지하며 전달 함


5. RTP 패킷의 일반적 포멧IP 상의 UDP에 실린 RTP 구조
     RTP 헤더 크기가 기본 12 바이트로 고정됨                         ☞ RTP 헤더 포멧 참조
     - 헤더 내부에 페이로드 스트림 식별을 위한 확장된 구조와 순서번호,타임스탬프 기능 등을
       제공하므로써 실시간 멀티미디어 전송에 도움을 주도록 설계6. RTP 표준RFC 1889(舊), 3550 : RTP - A Transport Protocol for Real-time Application (2003)
     - IETFAudio/Video Transport Working Group(AVT)에 의해 표준 개발됨

  ㅇ 기타관련표준 ☞ ITU-T H.323

실시간 통신
   1. 실시간 트래픽   2. RTP   3. RTP 헤더 포멧   4. RTP 구성요소   5. RTCP   6. RTSP   7. RTP DTMF 변환   8. 스트리밍  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"