RTP로 실시간 미디어 전송을 구성하는 방식

RTP의 UDP 기반 전송 구조와 헤더 필드, RTCP 연동 방식, WebRTC·VoIP·스트리밍 환경에서의 활용과 한계를 다룬다.

2026-08-14 · 최초 발행 2025-07-16

실시간 미디어가 RTP를 사용하는 이유

RTP(Real-time Transport Protocol)는 IP 네트워크를 통해 실시간 비디오와 오디오를 전달하기 위한 표준화된 패킷 포맷이다. IETF가 개발해 RFC 3550으로 표준화했으며, 실시간 통신에서 미디어 데이터를 종단 간 전송하는 기본 프로토콜로 쓰인다.

VoIP, 화상회의, 스트리밍 서비스처럼 음성·영상의 시간적 순서가 사용자 경험을 좌우하는 환경이 주된 대상이다. MP3, H.262(MPEG-2), H.264, H.265 같은 표준 미디어 포맷뿐 아니라 표준화되지 않은 독자적 스트리밍 미디어도 전송할 수 있다.

화상회의 시스템인 Zoom, Microsoft Teams, WebEx, 인터넷 전화 서비스, IPTV와 OTT 스트리밍 서비스인 Netflix와 YouTube, 온라인 게임의 음성 채팅 시스템이 적용 사례다.

애플리케이션과 UDP 사이에 놓이는 RTP

RTP는 일반적으로 전송 계층에서 UDP 위에 구현되고, 애플리케이션 계층과 밀접하게 연동된다.

애플리케이션 레이어RTP/RTCPUDPIP데이터 링크 레이어물리 레이어

TCP는 연결 설정, 혼잡 제어, 재전송 메커니즘을 제공하지만 실시간 데이터 전송에는 지연을 만들 수 있다. 반면 실시간 미디어에서는 일부 패킷 손실보다 적시성이 더 중요할 수 있다. RTP가 UDP의 낮은 오버헤드를 활용하는 배경이다.

순서 번호와 타임스탬프로 스트림을 재구성한다

송신자는 미디어 데이터를 적절한 크기의 패킷으로 나눈 뒤, 각 패킷에 순서 번호와 타임스탬프를 부여한다. 헤더에는 페이로드 타입 같은 정보도 포함한다. 수신자는 UDP로 도착한 패킷의 시퀀스 번호와 타임스탬프를 바탕으로 원본 스트림을 재구성하고, 지터 버퍼로 네트워크 지연 변동을 흡수한다.

수신자(Client)송신자(Server)수신자(Client)송신자(Server)RTP 세션 설정 (보통 SIP/RTSP 등으로)패킷 2 손실전송 품질 조정RTP 패킷 1 (타임스탬프: t1, 시퀀스 번호: 1)RTP 패킷 2 (타임스탬프: t2, 시퀀스 번호: 2)RTP 패킷 3 (타임스탬프: t3, 시퀀스 번호: 3)RTP 패킷 4 (타임스탬프: t4, 시퀀스 번호: 4)RTCP 리포트 (패킷 손실, 지터 정보 등)조정된 품질의 RTP 패킷 계속 전송

패킷이 일부 손실되더라도 이후 패킷을 기다리지 않고 재생을 이어가는 편이 화상 통화나 스포츠 생중계에서는 더 적합할 수 있다. 지터 버퍼는 도착 시간이 들쑥날쑥한 패킷을 정돈해 재생을 매끄럽게 만든다.

헤더에 담기는 전송과 동기화 정보

RTP 패킷 헤더는 다음 구조를 가진다.

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X|  CC   |M|     PT      |       Sequence Number         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Timestamp                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Synchronization Source (SSRC) Identifier            |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|            Contributing Source (CSRC) Identifiers             |
|                             ....                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • V(2비트): 버전 정보이며, 현재 버전은 2다.
  • P(1비트): 패킷 끝에 추가 바이트가 있는지를 나타내는 패딩 비트다.
  • X(1비트): 확장 헤더 사용 여부다.
  • CC(4비트): CSRC 식별자의 수를 나타내는 CSRC 카운트다.
  • M(1비트): 애플리케이션에 따라 의미가 달라지는 마커 비트다. 비디오 프레임 경계 표시에 사용할 수 있다.
  • PT(7비트): PCM 오디오, H.264 비디오 같은 데이터 포맷을 식별하는 페이로드 타입이다.
  • Sequence Number(16비트): 패킷 손실 감지와 재정렬에 쓰는 패킷 순서 번호다.
  • Timestamp(32비트): 미디어 샘플링 시점을 나타내며 재생 타이밍과 동기화에 사용된다.
  • SSRC(32비트): 특정 미디어 스트림 소스를 구분하는 동기화 소스 식별자다.
  • CSRC(가변 길이): 믹서를 통해 결합된 여러 소스를 식별하는 기여 소스 식별자다.

RTP 데이터와 RTCP 피드백의 역할

RTP는 미디어 데이터를 보내고, RTCP(RTP Control Protocol)는 그 전송 품질을 관찰하는 정보를 교환한다. 송수신자는 RTCP를 통해 전송 통계와 QoS(Quality of Service) 파라미터를 확인할 수 있다. 네트워크 혼잡이 발생하면 RTCP 피드백을 바탕으로 비트레이트를 동적으로 조정하는 식이다.

RTP 데이터 패킷RTCP 피드백 보고서송신자수신자

RTP의 시간 정보는 서로 다른 미디어 스트림을 맞추는 데도 쓰인다. 오디오와 비디오의 립싱크를 유지하거나, IPTV에서 음성과 영상을 동기화하는 경우가 이에 해당한다.

WebRTC와 SIP, 스트리밍에서의 활용

WebRTC(Web Real-Time Communication)는 웹 브라우저 사이의 P2P 실시간 통신 기술이며, RTP를 기반으로 오디오·비디오·데이터를 전송한다. Google Meet과 Facebook Messenger 등이 활용 사례다.

// WebRTC PeerConnection 설정 예시
const pc = new RTCPeerConnection();

navigator.mediaDevices
  .getUserMedia({ audio: true, video: true })
  .then((stream) => {
    stream.getTracks().forEach((track) => pc.addTrack(track, stream));
    // 여기서 내부적으로 RTP를 사용하여 미디어 전송
  });

SIP(Session Initiation Protocol) 기반 VoIP에서는 통화 설정을 SIP가 맡고, 실제 음성 패킷은 RTP로 보낸다. Cisco IP Phone, Avaya 등의 기업용 IP 전화 시스템이 이 구성을 사용한다.

IPTV와 스트리밍 서비스에서는 라이브 TV 방송과 VOD를 전달할 때 RTP/RTSP 조합으로 스트리밍 제어와 데이터 전송을 수행할 수 있다. IPTV 셋톱박스와 OTT 서비스 플랫폼에서는 네트워크 상태에 따른 적응형 스트리밍 구현에도 활용된다.

보안과 손실 복구는 별도 기술로 보완한다

RTP 자체에는 암호화 기능이 없고, 네트워크 QoS 보장 메커니즘도 제공하지 않는다. NAT와 방화벽을 통과하는 문제, 단순 패킷 손실을 복구하는 메커니즘의 부재도 함께 고려해야 한다.

  • **SRTP(Secure RTP)**는 암호화와 인증 기능을 추가한다.
  • RTCP-FB는 향상된 피드백 메커니즘을 제공한다.
  • ICE/STUN/TURN은 NAT 통과 문제를 해결한다.
  • **FEC(Forward Error Correction)**는 패킷 손실에 대응한다.
  • RTMP, HLS, MPEG-DASH는 웹 환경에서 사용할 수 있는 대안 스트리밍 프로토콜이다.

RTP는 타임스탬프와 시퀀스 번호로 미디어의 시간적 특성을 보존하면서 UDP 기반의 낮은 지연을 활용한다. 5G, WebRTC, 메타버스 등의 기술 발전과 함께 실시간 통신을 구성하는 중요한 프로토콜로 남을 전망이다.

RTPRTCPUDP실시간 통신스트리밍