Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 30

RTP/RTCP

정보통신공학과
유영찬
CONTENTS
INTRODUCTION
REAL-Time SERVICE
RTP
RTCP
PROBLEM OF RTP/RTCP
INTRODUCTION
기존의 응용
- 처리율 , 지연 그리고 신뢰성이 가장 민감
실시간 응용
- 시간적인 것이 이슈
보내는 시간에 맞게 데이터를 전송
대드라인
실시간 응용에 필요한 요소
- 낮은 지터 , 낮은 대기시간 , 낮은 오버헤더 , 낮은 오버해더 처리 시

- 네트워크 트레픽 상테에 따른 동적인 적응
- 리얼타임서비스와 리얼타임서비스가 아닌 서비스가 쉽게 통합 가능
- 서비스 수나 네트워크 크기에 변함없이 성능과 효율이 좋아야 함
- IP,TCP 그리고 UDP 로는 제공하기 힘듬 그래서 RTP/RTCP 가
필요
REAL-TIME SERVICE
PLAYBAC
K
ME POINT
RTP

ME
RTP

ME
RTP

ME
RTP

ME
RTP

ME
RTP

ME
RTP

DEADLIN
E
SOURCE DESTINATI
ON
RTP
RTP : A Transport protocol for Real-Time
APPLICATION (RFC 1889), MC DATE STORED 와
REAL-TIME 서비스

실시간데이터를 멀티케스트 또는 유니케스트 네트웍크를 이용


해서 전송하는 네트웍 전송 기능을 제공

RTCP 라는 프로토콜에 의해 데이터 전송 기능 제어

하위 계층에 무관하게 설계

별도의 독립된 계층이라기 보다는 하나의 응용에 의해 사용

RTP 의 헤더는 전송도중에 수정 가능


RTP 구성요소 & 특징
구성 요소
- RTP : REAL-TIME PROTOCOL
- RTCP : RTP CONTROL PROTOCOL
RTP 의 특징
- 순서 번호 제공
APPLICATION
- 미디어간의 동기화 제공
- 페이로드 , 프레임 확인
- 멀티케스트에 우호적
- 미디어에 독립적 RTP
- 믹서와 트렌스레이터 기능 제공 Transport protocol
- QoS 피드백 제공 (for real time media)
- 패킷 암호화 제공
- 다중화 제공
RTP PROTOCOL STACK

Media encaps.
(H.261, MPEG)
RTCP

RTP

UDP

IP
RTP HEADER
V=2(2 P X CC(4) M PT(7) Sequence number(16)
) (1) (1) (1) 고
Timestamp(32) 정
SSRC identifier
CSRC identifier

PAYLOAD TYPE

탑 인코딩 A/V 클럭비 채널 RTP 의 상위 12byte 는 위와 같이 고정 되어


재 이름 (Hz) 수(오 있으며 CSRC identifier 필드는 MIXER 기능
유 디오 ) 이 제공 되었을 경우에는 사용된다 .

0 PCMU 8000 1
8 PCMA A 8000 1
9 G722 A 8000 1
15 G728 A 8000
31 H.261 V 90000
RTP HEADER CON’T
Version(V) : 2 비트 필드로 현재는 항상 2 값을 가진다 .
Padding(P) : 1 비트 필드로 헤더에 페딩이 되어 있는가를 표기
Extension(X): 1 비트 필드로 고정헤더 이외의 헤더가 확장되었
다는 것을 표기한다 .
CSRC Count(CC) : 4 비트 필드로 고정 헤더 이후에 나열되는
CSRC 식별자의 수를 나타낸다 .
MARKER(M) :
- 1 비트 필드로 프로파일에 의해 결정
- 패킷 스트림 내에서 프레임 경계와 같은 중요한 이벤트를
표시하는데 이용
- 프로파일에서 페이로드 타입의 값과 실제 페이로드 형식을 연결
RTP HEADER CON’T
Sequnce Number(SN)
- 16 비트 필드로 송신되는 각 RTP 패킷에 대해 1 씩 증가
- 수신 측에서는 패킷 분실을 검출하거나 패킷의 순서를 마추는데 이용
- 초기값은 보안을 위해 무작위로 설정된다 .
Timestamp : 32 비트 필드로 RTP 데이터 패킷의 첫번째 바이트의 샘플링
순간
을 표기
Synchronization Source(SSRC) Identifier : 32 비트 필드로 동기화 소
스를 표기
- 이 값은 같은 RTP 세션 내에서 같은 SSRC 값을 갖지 않는 값을 위해
무작
위로 추출 한다 .
Contributing Source(CSRC) Identifiers :32 비트 필드로 15 개 까지
사용 가능
- 현제까지 페이로드에 들어있는 자료들에 해당하는 소스 (SSRC) 값을 저

- 15 개의 SSRC 값을 저장 가능 , 15 개가 넘을경우 무시
UDP HEADER
0 15 16 31

16-bit source port number 16-bit destination port


nunber 8byte
16-bit UDP Length 16-bit UDP checksum

Data(if any)

16-bit source port number : 소스측의 응용 식별자


16-bit destination port nunber : 목적지의 응용 식별자
16-bit UDP Length : UDP 데이터 그램의 크기
16-bit UDP checksum : UDP 헤더 체크
Data(if any) : 페이로드
VARY RTP HEADER
프로파일에 따른 RTP 헤더 변경
- Maker 비트와 PT 필드는 프로파일에 종속된 정보 수송
- 프로파일을 제거하려면 32 비트의 추가 비트가 필요
- PT 필드는 프로파일에서 재정의 할 수 있으며 Marker 비트가
있는 경우는 이 필드의 최상위 비트에 기록 되어야 한다 .
- 특정의 페이로드 형식을 위해 필요한 정보들은 패킷의
페이로드 섹션에 기록됨
RTP HEADER EXTENTION
부가적인 정보를 필요로 하는 새로운 기능들을 실험할 수 있도
록 하는 데 이용
확장과 무관한 다른 응용들에서는 확장부가 무시될 수 있도록
설계
패킷의 페이로드 섹션에 등록
X 비트가 1 일때 고정헤더 뒤에 추가된다 .

DEFINED BY PROFILE LENGTH


Header extension
DEFINED BY PROFILE : 프로파일에 의해 정의되어있는 값
LENGTH : 확장 헤더의 크기
HEADER EXTENTION : 헤더 정보
RTP MIXER &
TRANSRATOR
TRANSRATOR
- 고화질의 영상을 저화질의 영상으로 변경
MIXER
- 하나 이상의 소스로부터 받은 RTP 팻킷들을 결합하여 하나
의 RTP 패킷으로 만들어 전달하는 방식
- 각각의 소스로부터 온 스트림들은 타이밍이 다르기 때문에
MIXER 는 새로운 타이밍 소스를 만들어 낸다 .
- 각소스의 SSRC 값은 CSRC 값에 기록한다 .
- 오직 오디오 회의 시스템에서만 적용
MIXER METHOD
E1 E6
E1:17 E6:15 E6:15
M1:48(1,17) M1:48(1,17) M1:48(1, 17)
M1 T1 E4:47 T2 E7
E4:47
M3:89(64, 45)
E2:1 E4:47
M3:89(64, 45)
E2 E4 E : End System
M : Mixer
E3 E3:64 M2 M2:12(64) M3 T : Translator

E5:45
Source:SSRC(CSRCs)
E5
RTCP
RTCP : RTP CONTROL PROTOCOL
주기적으로 세션에 참가한 모든 참가자들에게 제어 패킷을 보냄
- 데이터 분배의 품질에 대한 피드백을 제공 : RTCP 의 SR 와 RR 메시지
에 의해 제공
- RTP 소스의 식별을 위해 지속적인 식별자 수송
CNAME(Canonical Name) : SSRC 는 충돌이 발생하거나 프로그램이
다시 시작될 경우에 변경될 수 있기 때문에 CNAME 을 유지
- 최소한의 세션 제어 정보 수송 : 세션에 참가는 사람의 신상 정보 제공
모든 참가자들은 RTCP 패킷을 보내는 것은 의무
각각의 참가자들은 RTCP 패킷을 받는것을 바탕으로 참가자 수 확인
참가자의 수가 많을 수로 RTPC 의 패킷양을 조절 해야함
RTCP 세션 간격

5% 95%

RTCP RTP

RTP 세션 대역폭

20% 80%

SDES
(Except CNAME)

RTCP 대역폭
RTCP MESSAGE

200 Sender Report

201 Receiver Report

202 Source Description

203 Bye

204 Application Specific


SR : SENDER REPORT
012 3 8 16 31

Heade V=2 P RC PT(SR=200) Length


r SSRC of Sender

NTP Timestamp, Most Siginficant Word


Sender
Information NTP Timestamp, Least Siginficant Word
(Only in SR) RTP Timestamp

Sender’s Packet Count

Sender’s Octet Count


Sender
report SSRC_1 (SSRC of First Source)

Fraction Lost Cumulative Number of Packets Lost

Extended Highest Sequence Number Received

Interarrival Jitter

Last SR (LSR)

Delay Since Last SR (DLSR)

SSRC_2 .........

Profile-specific Extensions

Padding Octets Number of Paddings


SR Con’t
Report Count(RC) : 5 비트 필드로 이 패킷에 포함된 수신 보고 블
록의 수를 표기
Packet Type(PT) : 8 비트 필드로 RTCP SR 의 패킷의 경우 200
Length : 16 비트 필드로 전체 패킷의 길이
NTP Timestamp : 64 비트 필드로 이 보고가 보내진 시간을 표기
RTP Timestamp : 32 비트 필드로 NTP Timestamp 의 시간과
비슷한 시간을 표기한다 .
Sender’s packet count : 전송 시작에서 부터 이 SR 패킷이 생
성될 때 까지 이 송신자에 의해 전송된 RTP 데이터 패킷의 총 수
Sender’s octet count : 전송 시작에서부터 이 SR 패킷이 생성될
때 까지 이 송신자에 의해 전송된 RTP 데이터 패킷에서 헤더와 채워
넣기를 제외한 페이로드 바이트의 수를 표기
SR Con’t
SSRC_n : 수신 보고 블록의 정보가 해당되는 소스의 SSRC 식별자
를 표기
Fraction lost : 이전 SR 또는 RR 패킷이 송신된 이후 분실된
RTP 데이터 패킷의 비율이 고정 소수로 표현
Cumulative number of packets lost : 소스 SSRC_n 으로부
터 수신 시작 이래로 분실한 총 RTP 데이터 패킷의 수
Extended highest sequence number erceived : 수신된
RTP 패킷의 최신 순번을 표기
Interarrival jitter : 지터 표기
Last SR Timestamp(LSR) : 소스 SSRC_n 으로부터 최근에 받
은 RTCP SR 의 일부인 64 비트 NTP 타임 스탬프의 중간 32 비
트를 나타낸다 .
Delay since last SR(DLSR) : 소스 SSRC_n 으로 부터의 최종
SR 패킷 수신과 이 수신 보고 블록 송신간의 지연을 표기
RR :RECIVER REPORT
0 2 3 8 16 31

V=2 P RC PT(SR=200, RR=201) Length

SSRC of Sender

SSRC_1 (SSRC of First Source)

Fraction Lost Cumulative Number of Packets Lost

Extended Highest Sequence Number Received

Interarrival Jitter

Last SR (LSR)

Delay Since Last SR (DLSR)

SSRC_2 .........

Profile-specific Extensions
SDES
0 2 3 8 16
Header 31
V=2 P SC PT(SDES=202) Length

Chunk SSRC/CSRC_1

SDES Items
........

Chunk
SSRC/CSRC_2

SDES Items
........

........

Padding Octets Number of Paddings


SDES Con’t
Packet Type(PT) : RTCP SDES 패킷의 경우 202
Source Count(SC) : SDES 패킷에 포함된 SSRC/CSRC 의 수를
표기
CNAME
NAME
EMAIL
PHONE
LOC
TOOL
NOTE
PRIV
SEDS ITEM
CNAME(Canonical End-point Identifier,1)
0 7 15 31

CNAME length User and domain


name…
Name(2)
0 7 15 31
NAME length Common name of
source

Email(3)
0 7 15 31

EMAIL length Email address of


source
BYE
0 2 3 8 16 31

V=2 SC PT(BYE=203) Length


P

SSRC/CSRC

........

Length Reason for Leaving ........ (Opt)

Padding Octets Number of Paddings


APPLICATION
0 2 3 8 16 31

V=2 Subtype PT(APP=204) Length


P

SSRC/CSRC

Name(ASCII)

Application-dependent Data ........

Padding Octets Number of Paddings


APPLICARION Con’t
Subtype : APP 패킷들이 하나의 유일한 이름으로 정의될 수 있도록
하는 부 타입으로 사용되거나 응용에 종속되는 데이터를 위해 사용될
수 있음
Packet Type(PT) : RTCP APP 패킷은 204 번
Name : 응용이 수신할 다른 APP 패킷들에 대해 유일하도록 APP
패킷을 정의하는 이름으로 사용자에 의해 선택
Application-specific Data : 가변 길이의 필드로 APP 패킷에
없을수도 있음 , 응용에 의해서 되며 , 32 비트의 배수 이어야 함
RTCP PACKET

RTCP Packet Combination

R SR/RR SDES(CNAME..e BYE(Reason)


tc)
R : Encryption, 32-bit integer
SR, RR ; Sender report, Receive report
SDES : SDES data and item
BYE : BYE Message

SR/RR and CNAME of SDES is mandatory


PROBLEM OF RTP/RTCP
Competition of Bandwidth
- Time Scale
- Non Error Control
Weight Over Header
- RTP(12byte) + UDP(8byte) + IP(20byte)
Congestion by RTCP
- A Number of initial Packets

You might also like