개요
RTP (Real-time Transport Protocol)는 오디오를 위한 PCM, GSM, MP3, 비디오를 위한 MPEG나 H.264와 같은 일반적인 형식을 전달하는 데 사용될 수 있다. 또한 RTP는 기타 다른 오디오와 비디오 포맷을 전송하는데도 사용될 수 있다. 표준화된 AV 스트리밍 프로토콜로써, UDP계층위에서 순서 확인, 오류 검출, 복구와 동기와 그리고 세션획득과 같은 일을 할 수 있다. RTP는 시간에 맞춘 데이터 전달을 보장하지 않으며 다른 서비스 품질보장을 제공하는 기법을 지원하지 않는다.
RTP 기초
- UDP 프로토콜 위에서 실행된다.
- 송신자는 미디어 단위데이터를 RTP패킷으로 캡슐화한 후 그 패킷을 UDP 세그먼트로 또다시 캡슐화해서 IP 에 넘겨준다.
- 수신자는 UDP 세그먼트로부터 RTP 패킷을 추출한 후에 RTP 패킷에서 미디어 패킷을 추출하여 미디어 플레이어에 전달한다.
RTP 헤더
RTP 헤더는 보통 12바이트이다. 페이로드 타입, 순서번호, 타임스탬프, 출발지 식별자 필드가 있다.
- 페이로드 타입 (7비트): 인코딩 타입이나, 보간법의 종류
- 순서번호 (16비트): RTP 패킷 하나당 한나씩 증거하여, 패킷손실을 감지하고 패킷 순서를 회복하기 위해 수신자가 사용한다.
- 타임스탬프 (32비트): RTP 데이터 패킷의 첫 번째 바이트의 샘플링 시점을 나타낸다. 만약 오디오가 80개의 인코딩된 샘플로 구성된 단윋이터를 생성한다면, 80개마다 타임스탬프가 하나씩 증가하여, 지터를 제거하는데 사용될 수 있다.
- 동기 출발지 식별자 (32비트): RTP 스트림의 출발지를 식별한다. RTP는 송신자의 IP 주소 대신에 새로운 스트림이 시작될 때 출발지에서 임의 할당한 숫자이다.