RTSP/RTP多媒体流量识别算法的设计与实现外文翻译资料

 2022-08-07 14:14:44

英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料


RTSP/RTP多媒体流量识别算法的设计与实现

LiangJianbing1,ChenShuhui2

1College of Computer Science, National University of Defense Technology, Changsha, Hunan Province, 410005, China

1College of Computer Science, National University of Defense Technology, Changsha, Hunan Province, 410005, China

*相关作者邮件:lsir_90jb@163.com

摘要。 近年来,多媒体在网络中迅速增长,有效地监督和管理多媒体流量变得十分重要。 本文不仅分析了一些特定的多媒体传输协议,而且研究了它们的通信特性。我们也从中提出了一种多媒体流量识别框架,它具有很强的可扩展性。 此外,本文还对具有较高识别精度的特定RTSP、RTP/RTCP流量的多媒体流量识别算法进行了描述和验证。 更重要的是,我们提出了一种解决方案,它旨在解决多媒体流采用UDP传输时,流的开始和结束无法确定的问题。

1. 导言

随着网络多媒体技术的不断发展,多媒体流量在网络流量中的比例显著增加。 当网络直播视频、视频会议、网络摄像头等多媒体数据通过网络传输时,通常采用数据压缩技术对数据进行压缩,以减少数据量。 因此,通过内容特征匹配来识别多媒体数据是相当困难的。 值得庆幸的是,研究发现多媒体数据在传输时采用了特定的多媒体传输协议。 主流的多媒体传输协议包括实时流协议(RTSP)、实时传输协议(RTP)等。 通过分析这些多媒体传输协议的特点,我们可以大大提高多媒体数据的识别精度。

实时流协议(RTSP)定义了一种通过IP网络传输多媒体数据的一对多应用程序的方法,它控制实时数据[10]的传输。 RTSP使用TCP或UDP进行数据传输,其在架构上位于RTP和RTCP之上。RTSP可以控制多个传输连接,它为基于RTP的传输机制提供了一种选择传输通道的方法。换句话说,RTSP相当于多媒体服务器的一个网络远程控制器。

实时传输协议(R TP)是在多播或单播网络服务[9]下,为交互式视频/音频或模拟数据等实时数据提供端到端传递服务的网络传输协议。 在流媒体系统中,RTP协议与RTSP协议一起使用。 实时传输控制协议(RTCP)和RTP是孪生协议, 它的主要功能是为RTP提供的QoS提供反馈。 与RTP相比,RTCP占用的带宽很小,通常只有5%。

本文提出了一种可扩展的多媒体流量识别框架,并实现了一套RTSP和RTP流量的识别算法。 该算法的识别结果 (Identification-Result) 由四种类型的多媒体数据流组成,即RTSP流、非RTSP流、RTP流和非RTP流。

2. 相关工作

流量识别是指通过分析流量来确定网络流量的类型。 近年来,多媒体流量识别与分类的研究逐渐成为相关领域的研究热点。

为了提高分类精度,[7]我们引入了一种基于数据流指纹的流量分类方法。 但是视频和音频的指纹太难提取。 X Tian[1]为此提出了一种集成的动态在线流量分类框架,称为基于数据流的流量分类(DSTC)。 该框架是为了解决动态流量的在线识别问题,而不是多媒体流量。同时,机器学习技术也被应用于流量识别。通过分析流量流动的时间层次相关性,J Xue和G Wang[2]设计了一个竞争人工神经网络模型,对不同流量的流动进行分类和调制,这可以帮助标记Ipv6流标签。 Wang Z[6]针对此问题提出了一种基于深度学习的流量识别框架。该框架包括自动特征学习、协议分类、异常协议检测和未知协议识别。 K Oida[8]则使用了一种基于分组到达率、方差和衰减率的无监督学习算法来处理视频流识别。S Kaoprakhon和V Visoottiviseth [3]研究了一种基于HTTP传输的视频和音频数据识别方法。 通过结合关键字匹配技术和统计行为剖面,他们提出了音频和视频流量关键字预定义的分类方法。 行为配置文件由三个属性组成,它们是平均接收的数据包大小、服务器-客户端数据包数的比率和流持续时间。J Fan [4]采用统计模式分类技术来识别多媒体流量,并提出了名为VOV分类器的一种基于分组到达时间和相关分组大小的自动自学习系统。 W Jiang[5]利用FPGA实现多媒体流量分类,在保持一定分类精度的同时可以加快多媒体应用的统计识别速度。识别方法基于k-Nearest Neighbors(k-NN)算法。

然而,上述这些研究有以下两个限制。首先,它们都需要大量的体力劳动和足够的时间来标记流量。其次他, 它们基本上都是粗粒度识别,不能满足监控多媒体内容的要求。

3. 研究方法

通过RTSP传输RTP数据包有两种方式,即RTP/AVP/UDP和RTP/AVP/TCP。默认传输模式为RTP/AVP,即RTP/AVP/UDP[10]。 客户端使用SETUP命令给出建立数据传输连接的选项,服务器根据实际情况确定连接参数。

3.1 RIP分析

3.1.1 RTP/AVP/UDP传输方法

使用RTP/AVP/UDP[10]的情况下,当RTSP客户端向RTSP服务器提交SETUP请求时,传输头用于指定基于RTP/RTCP交互式数据的, 客户端可接受的参数选项。 当RTSP服务器响应时,传输头也用于确认最终用于数据传输的参数。 这些通信参数包括多媒体数据传输方式,传输端口,源IP地址,目的IP地址等。 传输头格式如图1所示。 通常,RTCP数据包是在高于RTP信道的第一个可用信道上发送的。 在RTP/AVP/UDP传输模式下,除了RTSP连接外,还单独建立RTP和RTCP连接来传输多媒体数据和命令。 同时,视频和音频分别执行SETUP命令,因此它们是两个独立的数据流,并且有自己的RTP和RTCP端口。

3.1.2 RTP/AVP/TCP传输方法

有时考虑到安全性,防火墙可能需要服务器混淆RTSP方法和流数据[10]。 在这种情况下,它需要在RTP层的顶部添加一个交织帧层来区分RTP通道和RTCP通道。交织帧的结构如图2所示。

交织帧层相当于RTSP协议的补充,用于解释上层协议的数据。 只有当RTSP通过TCP[10]托管时,才应使用交织的二进制数据。 流数据(如RTP数据包)由一个ASCII美元符号(0x24十六进制)封装,然后是一个字节的信道标识符,然后是封装的二进制数据长度的两个字节。 流数据紧随其后。 每个$块只包含一个上层协议数据单元,例如RTP数据包。 通道标识符在带有交错参数的传输头中定义。

3.2 协议特性分析

在本文中,我们使用一个概念,称为流特性的生命周期,它是指从识别结果获得到特征消失的时间发送的数据包数。

3.2.1 RTP流的特点

在RTP/AVP/UDP传输模式下的RTP[9]流是基于C/S模式,以UDP数据包的形式传输的。 多媒体数据从服务器发送到客户端,因此具有明显的单向特性。 RTP固定报头长度为12字节。 当前RTP 版本号位于第一个字节的上两位,固定值为2。每个多媒体数据流将建立自己唯一的RTP会话, 因此同一流中的多媒体数据类型是相同的,这意味着RTP头中PT字段的值是相同的。 此外,同步源(SSRC)在相同的RTP流中的值也是相同的。 时间戳和序列号确保了上层应用能够精确解码多媒体数据,两者具有一定的对应关系。 数列是单调递增的。一个帧的数据可以分为多个rtp块进行传输。 同一帧的时间戳相等,但不同帧的时间戳单调递增。 序列号较大的数据具有不小于序列号较小的数据的时间戳。由于UDP数据包是无序的,因此需要将时间戳和序列号字段的值组合在一起进行判断。如果序列号和时间戳违反了上述规则,则不能是RTP流。RTP 标头格式如图3所示。根据RTP特性,总结了以下公式。

以上条件都是不可或缺的。 因此,如果任何条件不满足,则可以将流确定为非RTP流。

3.2.2 监视已识别的UDP流

为了避免重复识别和影响性能,本文的识别方法将不再识别已获得识别结果的流中随后到达的那些数据包。 然而,由于UDP流中没有标志来指示流的开始和结束,因此不可能知道UDP流何时结束或新的UDP流何时开始,这可能导致识别结果出错。本文提出了一种方法,当UDP流获得识别结果时,将公式(1-5)中的第一个条件作为监测条件,并在两种情况下对该流进行监测。第一种情况是,该流的识别结果是非RTP流,并且满足了监视条件,表明可能会到达新的RTP流。 第二种是流的识别结果为RTP流,未满足监测条件,说明流已经结束。这两个案件都需要新一轮的鉴定。这样,可以有效地避免UDP流的错误识别。

3.2.3 RTSP流的特性

交互期间RTSP流的消息具有固定的特性,这种特性可用于标识RTSP流。 在交互过程中,客户端向服务器发送请求(或命令。 这些请求(或命令)在RTSP交互过程中是不可或缺的,这些请求(或命令)通常包含具有固定特性的字符串。此外,服务器发送的响应消息以“RTSP/1.0”的子字符串开头,而RTSP服务器响应消息是唯一的。 表1概述了RTSP的特点。

4. 可伸缩多媒体流量识别框架

4.1 识别框架的说明

本文提出了一个可扩展的多媒体流量识别框架,如图4所示。 该框架由五个模块组成,分别是全局流表管理模块,UDP监控表,UDP监控模块,UDP特征匹配模块,TCP特征匹配模块。 全局流表管理模块负责管理流节点的创建和删除,并记录流的多媒体类型。 UDP监控表,如图5所示,其通过其他流反馈的信息对UDP流进行监控,可以实现对UDP流的快速识别。 UDP监控模块利用一定的特征作为监控的基础,得到了确定流特性生命周期的识别结果。 此模块用于避免错误识别。 UDP特征匹配模块和TCP特特征匹配模块负责在TCP流和UDP流上执行特征匹配,并将匹配结果映射到相应的标识-结果中。 识别结果将被反馈到流表节点。 如果TCP流控制另一个UDP流(例如,RTSP流控制RTP流),则TCP特征匹配模块将分析相关信息并将其反馈到UDP监控表中,以实现UDP流的快速识别。 特征匹配模块包含RTSP流的识别算法和RTP流的识别算法。该框架具有很大的可扩展性,因此我们可以通过在UDP监控表上设置不同的多媒体流标志来监控不同的UDP多媒体流。同时,该框架支持扩展不同的识别算法,以识别更多其他类型的多媒体流。

4.2 识别算法

由于RTSP是基于TCP传输的, 因此只有TCP流需要使用RTSP识别算法.

4.2.1 RTSP流识别算法

从数据流中提取五元组, 并计算哈希. 计算结果作为索引值, 用于快速查询流表. 如果流处于已获得标识结果的状态,则直接跳过标识模块。否则,流在n个消息中的第一个字符将被匹配以进行标识。如果n个包内没有一个包匹配成功,该流会被确认为一个非RTSP流, 否则它会被确认为RTSP流. 识别结果将会被反馈到流表的节点中.

当RTSP流被确定后, 将进一步分析RTSP流的响应消息以确定多媒体数据将通过哪种方法传输。本文提出了一种在RTSP流的所有响应消息中找到带有“传输”报头的响应消息并解析报头值的方法。如果头的值包含子字符串“/TCP”,则多媒体数据将由RTP/AVP/TCP传输。否则,多媒体数据将通过/RTP/AVP/UDP传输。

当多媒体数据以/RTP/AVP/UDP模式传输时,RTSP流通过“传输”报头协商RTP/RTCP传输参数。 因此,在这种传输模式下,我们可以通过解析“传输”头来获得RTP/RTCP传输参数,然后创建一个新的监控节点并将其插入UDP监控表中,从而实现对后续UDP流的监控。

4.2.2 创建和查询UDP监控表节点

UDP监控表的节点由两部分组成,即五元组和标志位。 标志位是节点的多媒体类型。 当插入新节点时,将用Hash算法计算五元组,并将结果作为表索引值--键,并将新节点插入用键指示的链表中。 查询时,首先在五元组上执行散列计算以获得表索引值--键,然后在键指示的链表上执行五元组匹配。 如果匹配成功,则返回节点的标志,否则返回0。 低碰撞率的Hash算法可以有效地减少链表的长度,从而在一定程度上加速查询过程。

4.2.3 RTP流识别算法

步骤0。 算法会查询UDP监控表。 如果查询成功,则返回监控表中的流类型标志,并从监控表中删除监控节点。 然后进入第五步。 如果查询失败,则先确定UDP有效负载长度。 如果长度小于12字节,则不作判断。 否则,它将进入步骤1。

步骤1。 算法将检查UDP有效负载的第一个字节的上两位是否为2。 如果是,则转到步骤2。 否则,它将进入步骤6。

步骤2。 该算法将PT、SSRC、时间戳、序列号和数据包方向的值记录到流表中,以便与后续数据包进行比较。 然后,它进入步骤3。

步骤3。 该算法将提取后续数据包的PT、SSRC、时间戳、序列号和方向,并与保存的值进行比较。 如果公式(1-5)中的所有条件都满足,则转到步骤4。 否则,它将进入步骤6。

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[259912],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。