실시간 전송 프로토콜

실시간 전송 프로토콜(Real-time Transport Protocol, RTP)은 IP 네트워크 상에서 오디오와 비디오를 전달하기 위한 통신 프로토콜이다. RTP는 전화, 그리고 WebRTC, 텔레비전 서비스, 웹 기반 푸시 투 토크 기능을 포함한 화상 통화 분야 등의 스트리밍 미디어를 수반하는 통신, 엔터테인먼트 시스템에 사용된다.

실시간 전송 프로토콜

RTP는 일반적으로 사용자 데이터그램 프로토콜(UDP)로 동작한다. RTP는 RTCP(RTP Control Protocol)와 결합하여 사용된다. RTP가 오디오/비디오와 같은 미디어 스트림을 전달하는 반면, RTCP는 전송 통계와 QoS를 모니터링하고 다중 스트림의 동기화를 도와준다. RTP는 VoIP의 기술 재단의 하나이며 이 문맥에서 네트워크의 연결을 확립하는 세션 개시 프로토콜(SIP)과 같은 시그널링 프로토콜과 결합해서 사용하기도 한다.

RTP는 국제 인터넷 표준화 기구(IETF)의 오디오 비디오 트랜스포트 워킹 그룹이 개발하였으며 RTC 1889로 1996년 처음 출판되었으며 2003년에 RFC 3550가 RTP를 대신하게 되었다.

개요

RTP는 스트리밍 미디어의 단대단, 실시간 전송을 위해 설계되었다. 이 프로토콜은 지터 보상, 그리고 패킷 손실, 아웃 오브 오더 딜리버리의 감지(특히 IP 네트워크에서 UDP 전송 시 일반적임)를 위한 기능들을 제공한다. RTP는 IP 멀티캐스트를 통해 여러 장소에 데이터를 전송할 수 있게 한다. RTP는 IP 네트워크의 오디오/비디오 전송의 주된 표준으로 간주되며 연관 프로파일 및 페이로드 포맷과 함께 사용된다. RTP의 설계는 애플리케이션 레이어 프레이밍이라는 이름의 구조적 원칙에 기반을 두며 여기에서 프로토콜 기능들이 운영 체제의 프로토콜 스택이 아닌 애플리케이션에 구현된다.

실시간 멀티미디어 스트리밍 애플리케이션들은 시기적절한 정보 전달을 요구하며 이러한 목적을 달성하기 위해 일부 패킷 손실을 눈감아준다. 이를테면 오디오 부분의 패킷 손실은 1초의 사소한 오디오 데이터 손실을 일으킬 수 있으나 적절한 오류 은닉 알고리즘을 통해 눈치채지 못하게 만들 수 있다. 전송 제어 프로토콜(TCP)이 RTP용으로 표준화되어 있기는 하지만, RTP에 일반적으로 사용되지는 않는데, 그 이유는 TCP는 시기적절함보다 신뢰성을 더 우선시하기 때문이다. RTP 구현체들 다수는 TCP 대신 사용자 데이터그램 프로토콜(UDP)를 사용한다. 멀티미디어 세션에 특화되어 설계된 그 밖의 전송 프로토콜로는 SCTP, DCCP,가 있으나 2012년 기준으로 널리 사용되지는 않고 있다.

RTP는 IETF 표준화 기구의 오디오/비디오 트랜스포트 워킹 그룹에 의해 개발되었다. RTP는 H.323, RTSP 등의 다른 프로토콜들과 결합하여 사용된다. RTP 사양은 2가지 프로토콜을 기술하고 있다: RTP와 RTCP. RTP는 멀티미디어 데이터의 전송을 위해 사용되며 RTCP는 제어 정보 및 QoS 변수를 주기적으로 송신하기 위해 사용된다.

데이터 전송 프로토콜 RTP는 실시간 데이터를 전달한다. 이 프로토콜이 제공하는 정보에는 타임스탬프(동기화를 위해), 시퀀스 번호(패킷 손실 및 재정렬 감지를 위해), 데이터의 인코딩 포맷을 지시하는 페이로드 포맷이 포함된다. 제어 프로토콜 RTCP는 미디어 스트림 간 QoS 피드백과 동기화용으로 사용된다. RTP에 비해 RTCP 트래픽 대역은 적은 편으로, 대개 약 5% 정도이다.

RTP 세션은 일반적으로 H.323, 세션 개시 프로토콜(SIP), RTSP, 또는 징글(XMPP) 등 시그널링 프로토콜을 사용하여 통신 피어 간에 초기화된다. 이러한 프로토콜들은 세션 기술 프로토콜을 사용하여 세션의 변수를 지정할 수 있다.

RTP 세션은 개별 멀티미디어 스트림별로 확립된다. 오디오와 비디오 스트림은 별도의 RTP 세션을 사용할 수 있으며 수상기가 선별적으로 특정 스트림의 컴포넌트를 수신할 수 있게 만들어준다. 세션 하나에는 도착지 IP 주소 + RTP/RTCP 포트 쌍으로 구성된다. 사양에 따르면 RTP 포트 번호는 짝수로 선정할 것, 그리고 각각의 연관되는 RTCP 포트는 그 다음의 홀수 번호로 선정할 것을 권고한다.:68 그러나 프로토콜의 멀티플렉싱 상황에서는 RTP와 RTCP에 단일 포트가 선정된다. RTP와 RTCP는 보통 특권이 없는 UDP 포트(1024 ~ 65535)를 사용하지만, 프로토콜 설계가 전송에 독립적이기 때문에 다른 전송 프로토콜들인 SCTP, DCCP을 사용할 수도 있다.

프로파일 및 페이로드 포맷

RTP의 설계적 고려사항 가운데 하나는 일정한 범위의 멀티미디어 포맷을 전달하고 RTSP 표준을 개정하지 않고도 새로운 포맷을 허용하는 것이다. 즉, 특정 프로토콜 애프리케이션에 필요한 정보가 제네릭 RTP 헤더에 포함되지 않는 대신에 별도의 RTP 프로파일 및 관련 페이로드 포맷을 통해 제공된다는 것을 의미한다. 각 애프리케이션 클래스(예: 오디오, 비디오)에 대해 RTP는 프로파일 및 하나 이상의 관련 페이로드 포맷들을 정의한다. 특정 애플리케이션 사용을 위한 완전한 RTP 사양은 프로파일과 페이로드 포맷 사양을 요구한다.:71

프로파일은 페이로드 데이터를 인코딩하기 위해 사용되는 코덱 및 페이로드 포맷 코드 매핑을 RTP 헤더의 PT(Payload Type) 필드에 정의한다. 각 프로파일에는 여러 페이로드 포맷 사양이 포함되며 각각은 인코딩된 특정 데이터의 전송 정보를 기술한다. 오디오 페이로드 포맷에는 G.711, G.723, G.726, G.729, GSM, QCELP, MP3, DTMF가 포함되며, 비디오 페이로드 포맷에는 H.261, H.263, H.264, H.265, MPEG-1/MPEG-2가 포함된다. MPEG-4 오디오/비디오 스트림을 RTP 패킷에 매핑시키는 것에 관한 내용은 RFC 3016에 규정되어 있으며 H.263 비디오 페이로드의 경우 RFC 2429에 기술되어 있다.

RTP 프로파일의 예는 다음과 같다:

  • 최소한의 제어를 통한 음성 및 화상 회의를 위한 RTP 프로파일(RTP profile for Audio and video conferences with minimal control, RFC 3551)은 정적 페이로드 타입 할당들, 그리고 페이로드 포맷 간 매핑을 위한 동적 구조, 그리고 세션 기술 프로토콜(SDP)을 사용한 PT 값을 정의한다.
  • SRTP(Secure Real-time Transport Protocol, RFC 3711)는 페이로드 데이터의 전송을 위한 암호화 서비스를 제공하는 RTP 프로파일을 정의한다.
  • 기계 대 기계 통신을 위한 실험적인 RTP/CDP(Control Data Profile for RTP).

패킷 헤더

RTP 패킷은 응용 계층에서 만들어지며 전달을 위해 전송 계층에 전달된다. 애플리케이션이 만드는 RTP 미디어 데이터의 각 단위는 RTP 패킷 헤더로 시작한다.

RTP 패킷 헤더
비트 오프셋 0-1 2 3 4-7 8 9-15 16-31
0 버전 P X CC M PT 일련 번호
32 타임스탬프
64 SSRC 식별자
96 CSRC 식별자들
...
96+32×CC 프로파일에 따른 확장 헤더 ID 확장 헤더 길이
128+32×CC 확장 헤더
...

표준 문서

  • RFC 3550, Standard 64, RTP: A Transport Protocol for Real-Time Applications
  • RFC 3551, Standard 65, RTP Profile for Audio and Video Conferences with Minimal Control
  • RFC 4855, Media Type Registration of RTP Payload Formats
  • RFC 4856, Media Type Registration of Payload Formats in the RTP Profile for Audio and Video Conferences
  • RFC 7656, A Taxonomy of Semantics and Mechanisms for Real-Time Transport Protocol (RTP) Sources

같이 보기

각주

외부 링크

Tags:

실시간 전송 프로토콜 개요실시간 전송 프로토콜 프로파일 및 페이로드 포맷실시간 전송 프로토콜 패킷 헤더실시간 전송 프로토콜 표준 문서실시간 전송 프로토콜 같이 보기실시간 전송 프로토콜 각주실시간 전송 프로토콜 외부 링크실시간 전송 프로토콜

🔥 Trending searches on Wiki 한국어:

아카라이브김해 김씨이제훈송지은 (1990년)이혜성유시춘LiSA유시주강수지허휘수인공임신중절이미숙우즈베키스탄최경용빅 데이터김주현 (검사 출신의 변호사)광둥성인공지능나띠윤후김소연 (가수)이순신부처선샤인코스트Qwer베트남강한나툰드라 기후대연각호텔 화재평산 신씨한효주최후의 만찬 (레오나르도 다 빈치)남성의 생식 기관변우석마리 앙투아네트인류세방정환윤이상대만강별밀도푸이클레오파트라카더가든안창호디시인사이드한국을 빛낸 100명의 위인들5·18 광주 민주화 운동유재석대한민국 제22대 국회의원 선거 서울특별시국가별 국가 코드 목록오순절위키스태그플레이션현대 유니콘스윤덕영KBO 리그 연도별 팀 순위초등학교남북 전쟁콜로세움국가문화유산포털안락사채상병개신교유로미녀와 순정남고려대연각타워조정석진수희더스틴 니퍼트곽튜브알고보니 혼수상태최불암기후변화한일가왕전이재명삼성 라이온즈예정화🡆 More