개요

RTP (Real-time Transport Protocol)는 오디오를 위한 PCM, GSM, MP3, 비디오를 위한 MPEGH.264와 같은 일반적인 형식을 전달하는 데 사용될 수 있다. 또한 RTP는 기타 다른 오디오와 비디오 포맷을 전송하는데도 사용될 수 있다. 표준화된 AV 스트리밍 프로토콜로써, UDP계층위에서 순서 확인, 오류 검출, 복구와 동기와 그리고 세션획득과 같은 일을 할 수 있다. RTP는 시간에 맞춘 데이터 전달을 보장하지 않으며 다른 서비스 품질보장을 제공하는 기법을 지원하지 않는다.

RTP 기초

  1. UDP 프로토콜 위에서 실행된다.
  2. 송신자는 미디어 단위데이터를 RTP패킷으로 캡슐화한 후 그 패킷을 UDP 세그먼트로 또다시 캡슐화해서 IP 에 넘겨준다.
  3. 수신자는 UDP 세그먼트로부터 RTP 패킷을 추출한 후에 RTP 패킷에서 미디어 패킷을 추출하여 미디어 플레이어에 전달한다.

RTP 헤더

RTPHeader.png

RTP 헤더는 보통 12바이트이다. 페이로드 타입, 순서번호, 타임스탬프, 출발지 식별자 필드가 있다.

  1. 페이로드 타입 (7비트): 인코딩 타입이나, 보간법의 종류
  2. 순서번호 (16비트): RTP 패킷 하나당 한나씩 증거하여, 패킷손실을 감지하고 패킷 순서를 회복하기 위해 수신자가 사용한다.
  3. 타임스탬프 (32비트): RTP 데이터 패킷의 첫 번째 바이트의 샘플링 시점을 나타낸다. 만약 오디오가 80개의 인코딩된 샘플로 구성된 단윋이터를 생성한다면, 80개마다 타임스탬프가 하나씩 증가하여, 지터를 제거하는데 사용될 수 있다.
  4. 동기 출발지 식별자 (32비트): RTP 스트림의 출발지를 식별한다. RTP는 송신자의 IP 주소 대신에 새로운 스트림이 시작될 때 출발지에서 임의 할당한 숫자이다.