1rtp_rtcp

Upload: dakshinsri

Post on 10-Apr-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 1rtp_rtcp

    1/26

    RealReal--Time Transport andTime Transport and

    Control ProtocolControl Protocol(RTP/RTCP)(RTP/RTCP)

  • 8/8/2019 1rtp_rtcp

    2/26

    OverviewOverview

    Introduction to RTP and RTCPIntroduction to RTP and RTCP RealReal--time Transport Protocol (RTP)time Transport Protocol (RTP)

    RTP ImplementationsRTP Implementations

    RTP in a Multimedia ContextRTP in a Multimedia Context

    RTP Profiles and PayloadsRTP Profiles and Payloads

    RTP Header FormatRTP Header Format

    RTP Header Extension FormatRTP Header Extension Format

    RealReal--time Transport Control Protocol (RTCP)time Transport Control Protocol (RTCP)

    More on RTCPMore on RTCP

    ReferencesReferences

    ConclusionsConclusions

  • 8/8/2019 1rtp_rtcp

    3/26

    Introduction to RTP/RTCPIntroduction to RTP/RTCP

    The Real-time Transport Protocol (RTP) works

    alongside with the Real-time Transport Control

    Protocol (RTCP). In fact, RTP as a protocol is made up of 2 parts - a

    data part (RTP) and a control part (RTCP).

    Together, these protocols deliver real-time trafficwith timing information and feedback on the

    reception quality.

  • 8/8/2019 1rtp_rtcp

    4/26

    RealReal--time Transport Protocol (RTP)time Transport Protocol (RTP)

    RTP is a transport protocol that meets the

    requirements of voice and other real-time data.

    RTP can transport data continuously rather than inbursts, and it can handle data delivery in multicast

    environments.

    RTP takes care of data that TCP cannot handle.

    Such data can include voice, video, etc.

    RTP was designed to run independently of the

    underlying transport and network layers of the OSI

    model.

  • 8/8/2019 1rtp_rtcp

    5/26

    Functionalities of RTPFunctionalities of RTP

    Timing recoveryTiming recovery

    SynchronizationSynchronization

    Content identificationContent identification

    DemultiplexingDemultiplexing

    Loss detection (errorLoss detection (error--recognition)recognition)

    Security servicesSecurity services

    Applicatio

    /

    UD

    I

    Li k layer

    hysical layer

    ra sport layer{Socket

    i terface

  • 8/8/2019 1rtp_rtcp

    6/26

    RTP PayloadRTP Payload

    Stream TranslationStream Translation

    TranslatorTranslator

    MixerMixer

    P eader RTP ayloadRTP eaderU P eader

  • 8/8/2019 1rtp_rtcp

    7/26

    RTP ImplementationsRTP Implementations

    Most implementations of RTP run in IP

    environments on top of the ser Datagram Protocol

    ( DP).

    But RTP can also be used with other protocols such

    as the Asynchronous Transfer Mode (ATM), etc.

  • 8/8/2019 1rtp_rtcp

    8/26

    RTP in a Multimedia contextRTP in a Multimedia context

  • 8/8/2019 1rtp_rtcp

    9/26

    RTP in a Multimedia ContextRTP in a Multimedia Context

    The RTCP packets report on the reception qualityfor a RTP session.

    The routers on the network communicate through

    RSVP (R

    esource ReS

    erV

    ationP

    rotocol) to set asidebandwidth for the transmission of the multimedia

    data.

    The RTP header provides timing information so

    that data delivery can be properly synchronized.

    The RTP header also specifies the payload type. In

    this way multiple data and data compression types

    are allowed.

  • 8/8/2019 1rtp_rtcp

    10/26

    RTP Profile and PayloadRTP Profile and Payload

    RTP is tailored to the application sending data by

    means of supplementary profiles and payload

    formats.

    A payload format defines how a particular payload

    has to be carried in RTP.

    A profile assigns payload type numbers for the set

    of payload formats contained in the application.Application-specific extensions or modifications to

    RTP can also be defined by a profile.

  • 8/8/2019 1rtp_rtcp

    11/26

    Required Bandwidth of Some EncodingRequired Bandwidth of Some Encoding

    Formats (Throughput)Formats (Throughput)

    PT Name of

    Encoding Met od

    T rougput

    [kbit/s]

    0 PCM 64

    1 1016 4,8

    2 G.726-32 32

    3 GSM 13

    6 DVI4 64

    7 LPC 2,4

    9 G.722 48-64

    15 G.728 16

  • 8/8/2019 1rtp_rtcp

    12/26

    RTP Header FormatRTP Header Format

  • 8/8/2019 1rtp_rtcp

    13/26

    RTP Header FormatRTP Header Format

    The first 12 octets are present in every RTP packet, while the

    list of CSRC identifiers is present only when inserted by a mixer.

    The fields have the following meaning:

    The version (V) field identifies the version of RTP, and it consistsof 2 bits.

    The padding (P) field consists of 1 bit. If this bit is set, the packet

    contains one or more additional octets at the end which are not part

    of the payload. The last octet of the padding contains a count of howmany padding octets should be ignored.

  • 8/8/2019 1rtp_rtcp

    14/26

    RTP Header Format (Cont.)RTP Header Format (Cont.)

    Padding may be needed by some encryption algorithms with fixedblock sizes or for carrying several RTP packets in a lower-layer

    protocol data unit.

    The extension (X) field consists of 1 bit and if this bit is set, the

    fixed header is followed by exactly one header extension, with a

    format defined later.

    The CSRC count (CC) field consists of 4 bits and it contains the

    number of CSRC identifiers that follow the fixed header.

    The marker (M) field consists of 1 bit. The interpretation of the

    marker is defined by a profile. It is intended to allow significantevents such as frame boundaries to be marked in the packet stream.

  • 8/8/2019 1rtp_rtcp

    15/26

    RTP Header Format (Cont.)RTP Header Format (Cont.)

    A profile may define additional marker bits or specify that there isno marker bit by changing the number of bits in the payload type

    field.

    The payload type (PT) field is of 7 bits and it identifies the RTP

    payload format, and determines its interpretation by the application.

    The sequence number field consists of 16 bits and it increments

    by one for each RTP data packet sent.

    The timestamp field which consists of 32 bits reflects the

    sampling instant of the first octet in the RTP data packet. The

    sampling instant must be derived from a clock that incrementsmonotonically and linearly in time to allow synchronization and

    jitter calculations.

  • 8/8/2019 1rtp_rtcp

    16/26

    RTP Header Format (Cont.)RTP Header Format (Cont.)

    The SSRC field identifies the synchronization source.This identifier is chosen randomly, with the intent that no

    two synchronization sources within the same RTP session

    will have the same SSRC identifier.

    CSRC list: 0 to 15 items, 32 bits eachThe CSRC list identifies the contributing sources for the

    payload contained in this packet. The number of

    identifiers is given by the CC field. If there are more than

    15 contributing sources, only 15 may be identified.

  • 8/8/2019 1rtp_rtcp

    17/26

    tkzsi valsznsgChoosing Synchronization Source (SSRC)Choosing Synchronization Source (SSRC)

    IdentifiersIdentifiersNumber of sources, L is the length of the identifier (32 bit)

    P

    Ns

    s

    L!

    1

    2

    2

    1exp

    Ns

    Its probability that two sources independently get the same SSRC

    (in case of large number of sources):

    In case of joining new sourc (when the others have already unique

    identifier), the collision probability:

    Pc $ v2 10 7Ps $

    10 4

    P Nc sL! 2

    For Ns ! 1000 :

  • 8/8/2019 1rtp_rtcp

    18/26

    RTP Header Extension FormatRTP Header Extension Format

    If the X bit in the RTP header is one, a variable-length

    header extension is appended to the RTP header,

    following the CSRC list if present. The header extensioncontains a 16-bit length field that counts the number of

    32-bit words in the extension, excluding the four-octet

    extension header (therefore zero is a valid length).

  • 8/8/2019 1rtp_rtcp

    19/26

    RTP Header Extension Format (Cont.)RTP Header Extension Format (Cont.)

    Only a single extension may be appended to the RTP

    data header. To allow multiple inter-operating

    implementations to each experiment independently with

    different header extensions, or to allow a particularimplementation to experiment with more than one type

    of header extension, the first 16 bits of the header

    extension are left open for distinguishing identifiers or

    parameters. The format of these 16 bits is to be definedby the profile specification under which the

    implementations are operating.

  • 8/8/2019 1rtp_rtcp

    20/26

    Application of MPEGApplication of MPEG--H.261 TranslatorH.261 Translator

    Lege

    Translator

    Host

    64 k s WAN

    Local ampus

    Network

    G-H.261

    ra slator

  • 8/8/2019 1rtp_rtcp

    21/26

    RealReal--time Transport Control Protocoltime Transport Control Protocol

    As mentioned earlier, RTCP provides information

    on the quality of reception of the data transmitted.

    This information is very useful to the applications asthey can change the way they behave on basis of

    RTCP reports

    The RTCP feedback information can also be auseful tool for network managers

  • 8/8/2019 1rtp_rtcp

    22/26

    Traffic of RTP and RTCP PackagesTraffic of RTP and RTCP Packages

    Sender Receiver

    Receiver

    Internet

    RTCPRTCP

    RTCP

    RTP

    RTP

    RTP

  • 8/8/2019 1rtp_rtcp

    23/26

    More on RTCPMore on RTCP

    RTCP is also used to keep track of the

    participants in a RTP session. It does this by

    carrying the RTP source identifier, called thecanonical name (CNAME), and the synchronization

    source identifier (SSRC).

    RTCP also controls the rate at which participants

    in a RTP session transmit RTCP packets. The aim ofthis is to keep control traffic to a maximum of 5

    percent of overall session traffic.

    A RTCP BYE packet is transmitted for

    termination.

  • 8/8/2019 1rtp_rtcp

    24/26

    Controlling RTCP Transmission Intervals,Controlling RTCP Transmission Intervals,

    Bandwidth FittingBandwidth Fitting The control traffic is limited to the maximum 5 % of the wholeThe control traffic is limited to the maximum 5 % of the wholetraffic by the modification of the RTCP package sending ratetraffic by the modification of the RTCP package sending rate

    The available bandwidth of the RTCP is allocated to senders andThe available bandwidth of the RTCP is allocated to senders and

    receivers, the part of the senders:receivers, the part of the senders:

    all receivers together:all receivers together:

    At sender: sending interval of RTCP packages:At sender: sending interval of RTCP packages:

    number of senders:number of senders:

    bandwidth of the whole session:bandwidth of the whole session: BB

    average RTCP package size:average RTCP package size: At receiver the sending intervalAt receiver the sending interval

    RTCP packages:RTCP packages:

    number of receivers:number of receivers:

    T pN

    B rs

    s

    s

    ! 0 05,

    pN

    B (1r )r

    r

    s

    ! 0 05,

    rs

    ! 25%

    1 rs

    Ns

    p

    Nr

  • 8/8/2019 1rtp_rtcp

    25/26

    Estimation of Packet LossEstimation of Packet Loss

    The known expression for the TCP traffic can be used for theestimating the lpacket loss ration of other traffic which uses

    the same path

    Let c=1,22, RTT=200 ms, the encoding method is DVI (ADPCMversion), 40 ms data packet, RTP/ DP/IP header 40 bytes,

    codec state 4 bytes, media data 160 bytes, thus p=204 bytes,

    sendign rate 25 packet/s,

    thus the bandwith required by the stream:

    From these the packet loss ratio: l= 6,0 %

    lp c

    B RTT!

    1

    2

    Bpacket

    s

    byte

    packet

    byte

    s1 25 204 5100! v !

  • 8/8/2019 1rtp_rtcp

    26/26

    ConclusionsConclusions

    RTP and RTCP work together

    Together, these protocols deliver real-time

    traffic with timing information and feedback on

    the reception quality.