Backend/Network

실시간 전송 프로토콜, RTP.

petitCoding 2011. 5. 13. 09:47

RTP(Realtime Transport Protocol), 실시간 전송 프로토콜

 

-네트워크에서 음성, 비디오 등 실시간 데이터를 전송하기 위해 만들어진 프로토콜, RFC 1889, 1890에 기술됨

-UDP/IP 기반의 프로토콜 (데이터가 유실된다고 하더라도 실시간 전송중인 데이터를 다시 재전송하지는 않기 때문에)

-UDP정보와 함께 코덱 정보, 생성된 시간 등에 대한 정보를 같이 발송

-디폴트 포트로 5004번을 사용

-패킷의 내용은 다음과 같다

 

V (버전)

P (패딩)

X (extension)

CC (CSRC Count)

M (Marker)

PT (Payload Type)

Sequence Number

Timestamp

SSRC(Synchronization Source) Identifier

 

V : 버전 필드. 2비트이며 항상 2 값을 가짐

P : 1비트이며 1이면 패딩되었음을 의미

X : 1비트이며 1이면 고정 헤더 이후에 하나의 확장 헤더가 등장함

CC : 4비트이며 고정헤더 이후에 나열되는 CSRC (Contributing Source Identifier) 식별자의 수를 의미

M :  1비트 필드로  패킷 스트림 내에서 프레임 경계와 같은 중요한 이벤트들을 표시하는데 이용. 프로파일은 추가 표시 비트들을 정의하거나 PT 필드를 확장하여 표시 비트를 없앨 수도 있음

PT : 7비트이며 RTP Payload의 타입을 의미. (코덱 정보) 

Seuence Number : 16비트이며 송신되는 RTP 패킷에 대해 1씩 증가하는 값을 가짐. 패킷 분실을 검출하거나 패킷의 순서를 맞추는 데 사용. 초기값은 보안 떄문에 랜덤값으로 설정됨.

Timestamp : 32비트로 RTP 패킷의 발생 시간을 나타냄

SSRC : 32비트로 RTP 패킷을 만든 소스를 표시


반응형

'Backend > Network' 카테고리의 다른 글

인터넷 제어 메시지 프로토콜, ICMP.  (0) 2011.05.13
OSI 7 Layer  (0) 2011.05.13
SRTP  (0) 2011.05.13
FEC  (0) 2011.05.13
SRTCP  (0) 2011.05.13