通信人家园

标题: RTP与RTCP有啥不一样?  [查看完整版帖子] [打印本页]

时间:  2022-2-17 15:41
作者: litom2004     标题: RTP与RTCP有啥不一样?

RTP与RTCP有啥不一样?Original Mr.Kang [url=]和老康一起学5G[/url] 2022-02-16 09:38
收录于话题
#RTP1个
#RTCP1个


1.RTP
RTP(实时传输协议)位于OSI网络模型的表示层和会话层中。它主要用于实时应用,例如网络广播、视频点播、音乐点播、实现VOIP的视频会议。它工作在UDP协议而不是TCP上,因此不能保证数据的及时传递。
1.1RTP工作原理
现在这个RTP协议是如何工作的?正如大家所知它是传输多媒体应用程序,例如一个以上的音频、文本、视频流,与其他应用程序一起插入到存在于用户空间的 RTP 库中。然后,该库通过将流编码为 RTP 数据包来对流进行多路复用,并将其打包到套接字中。然后在套接字的操作系统端创建UDP数据包以封装 RTP 数据包。
UDP数据包被传递到IP,该IP通过以太网等链路传输它。整个过程发生在发送者端,而相反的过程发生在接收者端。这就是多媒体应用程序最终从 RTP 库接收多媒体数据的方式。
1.2RTP格式
在RTP流中发送的数据包分配的编号高于其先前编号。编号有助于识别丢失的数据包。即使数据包丢失目标端应用程序也会决定要执行的操作。
但是,对于包含视频数据的数据包,最可能的操作是避开视频帧,如果数据包携带音频数据,则可以估计丢失的数据。然而,重传并不是一个实际可实现的想法,因为重传的数据包到达得太晚而没有用处。RTP不提供请求重传和确认消息的方法。
1.3RTP Payload可能包含多个样本,可以以应用程序需要的任何方式对其进行编码。实时应用程序还需要时间戳,其中时间戳分配给每个数据包中的第一个样本的源。时间戳有助于消除网络延迟变化的影响,并且还允许多个流彼此同步。
1.4RTP报头
RTP头由32位字和各种字段组成,例如Ver、P、X、CC、M、有效负载类型、序列号、时间戳、同步源标识符、贡献源标识符。

2.RTCP
RTCP(实时传输控制协议)是RTP协议(也称为姊妹协议)的伴随协议,与RTP一起定义。它是RTP协议的一个组成部分,为RTP提供所需的控制功能,例如反馈、同步和用户界面。
RTCP允许发送方和接收方相互传输一系列报告,其中包含有关正在传输的数据和网络性能的补充信息。RTCP消息也被封装在一个UDP数据包中进行传输,并根据大于它们关联的RTP流的端口号的协议号发送。
在RTCP中提供反馈有助于在编码过程中在网络运行良好时提高数据速率,并在网络出现故障时降低数据速率。Payload字段向目的地提供有关所采用的编码算法的信息。
2.1RTCP 数据包类型
RTCP协议承载的五类信息分别是RR、SR、SDES、BYE和APP。

3.RTP与RTCP主要区别

结论
RTP用于交换多媒体数据。RTCP是控制部分,用于定期获取有关与数据流相关的传输质量的反馈控制信息。




时间:  2022-2-23 10:49
作者: 114_starlight

学习了~
时间:  2022-3-1 09:06
作者: qkb_75@163.com

感觉:这些协议都遵从 TCP/IP 相同的范式,只不过解决的问题不同, 属于不同的变种而已。




通信人家园 (https://www.txrjy.com/) Powered by C114