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

(2024-06-03)

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 프로토콜 스택 구조

   프로토콜 동작이 응용프로그램의 라이브러리 형태로 구현됨

     - 비록, 통신계층 상으로 전송계층프로토콜이라고 하지만,
        . 망계층(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

  ㅇ [참고] SRTP (Secure Real-time Transport Protocol) : RTP의 보안 확장판 (RFC 3711)

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

  1. Top (분류 펼침)      :     1,594개 분류    6,541건 해설

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]       편집·운영 (차재복)