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 로 한다.
