RTP

IT 위키

Real-time Transport Protocol; 실시간 전송 프로토콜

음성·영상처럼 실시간성이 중요한 데이터를 네트워크로 전달하기 위한 프로토콜

  • RFC 3550
  • 주로 UDP 위에서 동작한다. 재전송으로 지연이 생기는 것보다 약간의 손실이 낫기 때문이다.
  • 인터넷 전화(VoIP), 화상회의, 스트리밍의 전송 계층 역할을 한다.
  • 순서 번호(Sequence Number) : 패킷 순서를 복원하고 손실을 감지한다.
  • 타임스탬프(Timestamp) : 재생 시점을 맞춘다. 지터를 흡수하는 버퍼 계산에 쓰인다.
  • 페이로드 타입 : 어떤 코덱으로 인코딩했는지 표시한다.
  • SSRC : 동기화 소스 식별자. 여러 참가자를 구분한다.
  • 전송 보장, 순서 보장, 흐름 제어를 하지 않는다. 이런 기능은 응용에서 처리한다.
RTP Control Protocol

RTP 와 짝을 이루어 품질 정보를 주고받는 제어용 프로토콜이다. RTP 가 짝수 포트를 쓰면 RTCP 는 바로 다음 홀수 포트를 쓴다.

  • 수신 측이 패킷 손실률, 지터, 왕복 지연을 보고한다.
  • 송신 측은 이 정보를 보고 전송률이나 코덱을 조정한다.
  • 참가자 식별 정보(CNAME 등)를 교환한다.

관련 프로토콜

[편집 | 원본 편집]
프로토콜 역할
SIP 세션 개설·종료 (누구와 통화를 시작할지)
SDP 세션 정보 기술 (어떤 코덱, 어떤 포트를 쓸지)
RTP 실제 음성·영상 데이터 전달
RTCP 품질 보고와 제어
RTSP 스트리밍 재생 제어 (재생·정지·탐색)

RTP 자체는 암호화하지 않아 도청이 가능하다. 암호화·인증을 더한 SRTP(Secure RTP, RFC 3711)를 사용하며, 키 교환은 SDES 나 DTLS-SRTP 로 한다.

같이 보기

[편집 | 원본 편집]