`
javahigh1
  • 浏览: 1262845 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

RTP/RTCP protocols

 
阅读更多

The spread of computers, added to the availability of cheap audio/video computer hardware, and the availability of higher connection speeds have increased interest in using the Internet for sending audio and video, data types which were traditionally reserved for specialist networks, and over several years audio and video conferencing have become common practice. However, the very nature of the Internet means that this network is not suited for data transmission in real time and as a result the quality of audio sent over the Internet is usually of mediocre quality. This theory specifically addresses the analysis and solution of these problems to enable an audio conferencing or telephone application over the Internet to change its behaviour to maintain an acceptable auditory quality even in cases where the network is quite congested. These solutions, in the form of control mechanisms, have been implemented and tested on the audio conferencing and telephone software on Internet Free Phone which we developed. A study on the effect that these machines would have on an Internet which developed to integrate the Fair Queuing service discipline has shown that while these mechanisms would still be necessary, they would perform even better on this network type.

RTP (Real-time Transport Protocol)

The aim of RTP is to provide a uniform means of transmitting data subject to real time constraints over IP (audio, video, etc. ). The principal role of RTP is to implement the sequence numbers of IP packets to reform voice or video information even if the underlying network changes the order of the packets.

More generally, RTP makes it possible to:

  • identify the type of information carried,
  • add temporary markers and sequence numbers to the information carried,
  • monitor the packets' arrival at the destination.

In addition, RTP may be conveyed by multicast packets in order to route conversations to multiple recipients.

RTCP (Real-time Transport Control Protocol)

RTCP protocol is based on periodic transmissions of control packets by all participants in the session.

It is a control protocol for RTP flow, making it possible to convey basic information on the participants of a session and the quality of service.

Planned use of RTP and RTCP

RTP allows the management of multimedia flows (voice, video) over IP. RTP works on UDP. The RTP header carries synchronisation and numbering information. The data coding will depend on the compression type. RFCxxxx specifies RTP, on the other hand the adaptation of a compression method to RTP will be described in a specific RFC, for example H261 on RTP is described in RFCxxxx. One RTP channel is used per type of flow: one for audio, one for video. The field xxx is used for synchronisation. RTP offers an end to end service. It adds a header which provides timing information necessary for the synchronisation of sound and video type real time flow. RTP (Real time Transport Protocol) and its companion RTCP (Real time Transport Control Protocol) make it possible to respectively transport and monitor data blocks which have real time properties. RTP and RTCP are protocols which are located at application level and use underlying TCP or UDP transport protocols. But the use of RTP/RTCP is generally done above UDP. RTP and RTCP can use the Unicast (point to point) method just as well as the Multicast (multipoint) method. Each of them uses a separate port from a pair of ports. RTP uses the even port and RTCP the next highest odd port

Format of headers and their contents

The RTP header carries the following information:

<--------------------------- 32 bits --------------------------->

V=2 P X CC M Sequence number
Timestamp
Identification of the synchronisation source (SSRC)
Identification of the contribution source (CSRC)

Here are the meanings of the different header fields:

  • Version field V 2 bits long indicates the protocol version (V=2)
  • Padding field P: 1 bit, if P is equal to 1, the packet contains additional bytes for padding to finish the last packet.
  • Extension field X: 1 bit, if X=1 the header is followed by a extension packet
  • CSRC count field CC: 4 bits, contains the number of CSRC which follow the header
  • Marker field M: 1 bit, its interpretation is defined by an application profile
  • Payload type field PT: 7 bits, this field identifies the payload type (audio, video, image, text, html, etc.)
  • Sequence number field: 16 bits, its initial value is random and it increments by 1 for each packet sent, it can be used to detect lost packets
  • Timestamp field: 32 bits, reflects the moment when the first byte of the RTP packet has been sampled. This instant must be taken from a clock which increases in a monotonous and linear way in time to enable synchronisation and the calculation of the jitter at the destination.
  • SSRC field: 32 bits uniquely identify the source, its value is chosen randomly by the application. The SSRC identifies the synchronisation source (simply called "the source"). This identifier is chosen randomly with the intent that it is unique among all the sources of the same session. The list of CSRC identifies the sources (SSRC) which have contributed to obtaining the data contained in the packet which contains these identifiers. The number of identifiers is given in the CC field.
  • CSRC field: 32 bits, identifies contributing sources.

RTCP headers

The objective of RTCP is to provide different types of information and a return regarding the quality of reception.

The RTCP header carries the following information:

  • Version field (2 bits):
  • Padding field (1 bit) indicates that there is padding the size of which is indicated in the last byte
  • Reception report count field (5 bits): number of reports in the packet
  • Packet type field (8 bits) 200 for SR
  • Length field (16 bits) packet length in 32 bit words
  • SSRC field (32 bits): identification of the specific originator source
  • NTP timestamp field (64 bits)
  • RTP timestamp field (32 bits)
  • Sender's packet count field (32 bits)
  • Sender's packet byte field (32 bits) statistics
  • SSRC-n field (32 bits) number of the source whose flow is analysed
  • Fraction lost field (8 bits)
  • Cumulative number of packets lost field (24 bits)
  • Extended highest sequence number received field (32 bits)
  • Interarrival jitter field (32 bits). This is an estimation of the time interval for an RTP data packet which is measured with the timestamp and which is in the form of a whole number. This is in fact the relative transit time between two data packets.
    The formula for calculating it is: J=J+(|D(i-1,i)|-J)/16
    The interarrival jitter is calculated for each data packet received by the source SSRC_n
    i -->First packet
    i-1 --> previous packet
    D --> difference
    J --> second packet
  • Last SR timestamp field (32 bits)
  • Delay since last SR timestamp field (32 bits)

How is RTCP used with regards RTP?

RTCP is a control protocol associated with RTP, it measures performances but offers no guarantees. To do so, it must use a reservation protocol such as RSVP or make sure that the communication links used are correctly proportioned in relation to the use which is made of it.

RTP and RTCP operate above which protocols?

RTP/RTCP is above the UDP/TCP transport, but practically above UDP.
RTP is a session protocol, but it is placed in the application. It is for the developer to integrate it.

How is the type of flow transported?

RTP has nothing to do with the type of flow, it is above UDP, which itself is above IP. The type of flow is theoretically used in IP.
RTP carries a sequence number, timestamp and unique identifier for the source (SSRC).

分享到:
评论

相关推荐

    live.2006.12.08.tar.gz_RTCP_RTP/RTCP_open_sip_sip rtp

    This code forms a set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP).

    使用wireshark抓RTSP, RTP, RTCP网络包

    5. 查看 RTP 包的 payload type,例如 type 是 96,则在 Wireshark 工具栏选择 Edit-&gt;preferences-&gt;protocols-&gt;H264,把 H.264 dynamic payload types 设成 96。 6. 现在可以选择点击工具栏下的“Extract h264 ...

    流媒体服务器源码

    This code forms a set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP). These libraries - which can be compiled for Unix (including Linux and Mac OS X), ...

    live555 streaming Media

    This code forms a set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP). These libraries - which can be compiled for Unix (including Linux and Mac OS X), ...

    l7-protocols-2009-05-10.tar

    9. RTP/RTCP(实时传输协议/实时传输控制协议):用于音频、视频等实时数据传输。 这个压缩包可能包含了这些协议的实现、配置示例、分析报告、日志文件,或者是用于识别和分类应用层流量的工具,如L7 Filter,这是...

    rfc3550 RTP协议中文版本

    11 网络和传输协议之上的RTP(RTP over Network and Transport Protocols) 12 协议常量摘要(Summary of Protocol Constants) 12 1 RTCP 包类型(RTCP Packet Types) 12 2 SDES 类型(SDES Types) 13 ...

    RFC3550_RTP:实时应用程序传输协议

    11 网络和传输协议之上的RTP(RTP over Network and Transport Protocols) 12 协议常量摘要(Summary of Protocol Constants) 12 1 RTCP 包类型(RTCP Packet Types) 12 2 SDES 类型(SDES Types) 13 ...

    rfc3550 rtp协议 中文版本

    11 网络和传输协议之上的RTP(RTP over Network and Transport Protocols) 12 协议常量摘要(Summary of Protocol Constants) 12 1 RTCP 包类型(RTCP Packet Types) 12 2 SDES 类型(SDES Types) 13 ...

    书名 IP交换技术协议与体系结构

    3.5 RTP/RTCP 42 3.6 IPv6 43 更多的信息 45 第4章 交换的概念和LAN交换技术 46 4.1 交换的概念 46 4.1.1 交换转发技术 47 4.1.2 交换通路控制 48 4.2 LAN交换 52 4.2.1 短径转发 53 4.2.2 存储转发 53 4.2.3 虚拟...

    CommView Version 6.0(Build 584) 试用版

    IPsec, IPv4, IPv6, IPX, HSRP, LDAP, MS SQL, NCP, NDS, NetBIOS, NFS, NLSP, NNTP, NTP, OSPF, POP3, PPP, PPPoE, RARP, RADIUS, RDP, RIP, RIPX, RMCP, RPC, RSVP, RTP, RTCP, RTSP, SAP, SER, SIP, SMB, SMTP, ...

    voip_protocols.rar_通讯编程文档_WINDOWS_

    - **RTCP(Real-time Transport Control Protocol)**:与RTP配合,提供服务质量反馈和传输控制。 3. **Windows上的VoIP开发** 在Windows环境下,开发者可以使用以下工具和库进行VoIP应用开发: - **Microsoft ...

Global site tag (gtag.js) - Google Analytics