媒体流量检测方法、装置、网络设备及可读存储介质转让专利

申请号 : CN202011643352.0

文献号 : CN112653708B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孔令琪温卓然

申请人 : 北京天融信网络安全技术有限公司北京天融信科技有限公司北京天融信软件有限公司

摘要 :

本申请提供一种媒体流量检测方法、装置、网络设备及可读存储介质。方法包括:根据网络设备的父连接中携带的与父连接对应的子连接的期待信息,生成用于建立RTP连接的期待连接,期待信息包括目标终端的地址信息;当接收到第一终端发送的第一媒体数据包时,根据目标终端的地址信息判断第一终端是否命中期待连接;当第一终端命中期待连接时,获取与期待连接对应的所有指定媒体编码类型;根据第一媒体数据包中的PT值及所有指定媒体编码类型,得到检测结果。如此,无需对数据包的特征进行解析与检测,可以快速实现数据包的RTP以及媒体数据包的媒体编码类型识别检测。

权利要求 :

1.一种媒体流量检测方法,其特征在于,应用于网络设备,所述方法包括:根据网络设备的父连接中携带的与所述父连接对应的子连接的期待信息,生成用于建立RTP连接的期待连接,所述期待信息包括与所述子连接对应的五元组,包括目标终端的地址信息;所述父连接为所述网络设备中的主通信通道,所述子连接为所述网络设备中除去所述主通信通道且与所述父连接对应的通信通道;

当接收到第一终端发送的第一媒体数据包时,根据所述目标终端的地址信息判断所述第一终端是否命中所述期待连接,所述第一媒体数据包中的五元组包括所述第一终端的地址信息,用于发送至第二终端;

当所述第一终端命中所述期待连接时,确定所述第一媒体数据包为RTP数据包,获取与所述期待连接对应的所有指定媒体编码类型;

根据所述第一媒体数据包中的PT值及所述所有指定媒体编码类型,得到检测结果,所述检测结果包括表示所述第一媒体数据包是否为所述指定媒体编码类型的RTP数据包的结果。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

当所述第一终端未命中所述期待连接时,得到表征所述第一终端发送的所述第一媒体数据包不是RTP数据包的检测结果。

3.根据权利要求1所述的方法,其特征在于,根据所述第一媒体数据包中的PT值及所述所有指定媒体编码类型,得到检测结果,包括:判断所述所有指定媒体编码类型中,是否存在与所述PT值对应的媒体编码类型相同的指定媒体编码类型;

当存在与所述PT值对应的媒体编码类型相同的指定媒体编码类型时,得到表征所述第一媒体数据包为所述指定媒体编码类型的RTP数据包的检测结果;

当不存在与所述PT值对应的媒体编码类型相同的指定媒体编码类型时,得到表征所述第一媒体数据包为RTP数据包,且所述第一媒体数据包的媒体编码类型不是所述指定媒体编码类型的检测结果。

4.根据权利要求1所述的方法,其特征在于,根据所述目标终端的地址信息判断所述第一终端是否命中所述期待连接,包括:判断所述第一终端的地址信息与所述目标终端的地址信息是否匹配;

当所述第一终端的地址信息与所述目标终端的地址信息匹配时,确定所述第一终端命中所述期待连接;

当所述第一终端的地址信息与所述目标终端的地址信息不匹配时,确定所述第一终端未命中所述期待连接。

5.根据权利要求1所述的方法,其特征在于,在获取与所述期待连接对应的所有指定媒体编码类型之前,所述方法还包括:在指定存储区域中,存储所述父连接与对应的所述子连接协商得到的与期待连接对应的所有指定媒体编码类型,所述所有指定媒体编码类型包括所述父连接及所述子连接支持的至少一类的媒体编码类型。

6.根据权利要求5所述的方法,其特征在于,获取与所述期待连接对应的所有指定媒体编码类型,包括:从所述指定存储区域中获取与所述期待连接对应的所有指定媒体编码类型。

7.一种媒体流量检测装置,其特征在于,应用于网络设备,所述装置包括:期待生成单元,用于根据网络设备的父连接中携带的与所述父连接对应的子连接的期待信息,生成用于建立RTP连接的期待连接,所述期待信息包括与所述子连接对应的五元组,包括目标终端的地址信息;所述父连接为所述网络设备中的主通信通道,所述子连接为所述网络设备中除去所述主通信通道且与所述父连接对应的通信通道;

命中判断单元,用于当接收到第一终端发送的第一媒体数据包时,根据所述目标终端的地址信息判断所述第一终端是否命中所述期待连接,所述第一媒体数据包中的五元组包括所述第一终端的地址信息,用于发送至第二终端;

获取单元,用于当所述第一终端命中所述期待连接时,确定所述第一媒体数据包为RTP数据包,获取与所述期待连接对应的所有指定媒体编码类型;

检测单元,用于根据所述第一媒体数据包中的PT值及所述所有指定媒体编码类型,得到检测结果,所述检测结果包括表示所述第一媒体数据包是否为所述指定媒体编码类型的RTP数据包的结果。

8.一种网络设备,其特征在于,所述网络设备包括相互耦合的处理器及存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述网络设备执行如权利要求1‑6中任一项所述的方法。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1‑6中任一项所述的方法。

说明书 :

媒体流量检测方法、装置、网络设备及可读存储介质

技术领域

[0001] 本申请涉及网络安全技术领域,具体而言,涉及一种媒体流量检测方法、装置、网络设备及可读存储介质。

背景技术

[0002] 在网络安全领域中,可以通过网络安全设备对流经的网络流量进行安全检查,如应用层协议检查等。由于音视频业务的特殊性,存在对传输的音视频等媒体数据所承载的媒体编码类型进行检查的需求。例如,检测传输的媒体数据包是否为RTP(Real‑time Transport Protocol,实时传输协议)数据包。当前,通常是对每个媒体数据包的包特征进行检测,对于音视频这类对实时性要求较高的业务,如果对每各数据包的包特征进行解析与筛查,会导致处理量大,影响音视频数据包在网络中流畅传输。

发明内容

[0003] 本申请实施例的目的在于提供一种媒体流量检测方法、装置、网络设备及可读存储介质,能够改善检测音视频等媒体数据包时。
[0004] 为了实现上述目的,本申请的实施例通过如下方式实现:
[0005] 第一方面,本申请实施例提供一种媒体流量检测方法,应用于网络设备,所述方法包括:
[0006] 根据网络设备的父连接中携带的与所述父连接对应的子连接的期待信息,生成用于建立RTP连接的期待连接,所述期待信息包括与所述子连接对应的五元组,包括目标终端的地址信息;
[0007] 当接收到第一终端发送的第一媒体数据包时,根据所述目标终端的地址信息判断所述第一终端是否命中所述期待连接,所述第一媒体数据包中的五元组包括所述第一终端的地址信息,用于发送至第二终端;
[0008] 当所述第一终端命中所述期待连接时,获取与所述期待连接对应的所有指定媒体编码类型;
[0009] 根据所述第一媒体数据包中的PT值及所述所有指定媒体编码类型,得到检测结果,所述检测结果包括表示所述第一媒体数据包是否为所述指定媒体编码类型的RTP数据包的结果。
[0010] 在上述的实施方式中,基于父连接中的期待信息生成的期待连接,可以快速确定第一终端发送的第一媒体数据包是否为RTP数据包,并且可以在第一媒体数据包为RTP数据包时,进一步判断第一媒体数据包是否为指定媒体编码类型,如此,无需对数据包的特征进行解析与检测,可以快速实现数据包的RTP以及媒体数据包的媒体编码类型识别检测。
[0011] 结合第二方面,在一些可选的实施方式中,所述方法还包括:
[0012] 当所述第一终端未命中所述期待连接时,得到表征所述第一终端发送的所述第一媒体数据包不是RTP数据包的检测结果。
[0013] 在上述的实施方式中,直接基于期待连接,可以快速判断第一终端发送的第一媒体数据包是否为RTP数据包的识别,在不是RTP数据包时,无需进行媒体编码类型的检测,以减少媒体编码类型识别的运算量。
[0014] 结合第二方面,在一些可选的实施方式中,根据所述第一媒体数据包中的PT值及所述所有指定媒体编码类型,得到检测结果,包括:
[0015] 判断所述所有指定媒体编码类型中,是否存在与所述PT值对应的媒体编码类型相同的指定媒体编码类型;
[0016] 当存在与所述PT值对应的媒体编码类型相同的指定媒体编码类型时,得到表征所述第一媒体数据包为所述指定媒体编码类型的RTP数据包的检测结果;
[0017] 当不存在与所述PT值对应的媒体编码类型相同的指定媒体编码类型时,得到表征所述第一媒体数据包为RTP数据包,且所述第一媒体数据包的媒体编码类型不是所述指定媒体编码类型的检测结果。
[0018] 在上述的实施方式中,通过PT值与动态确定的所有指定媒体编码类型,可以快速确定第一媒体数据包是否为指定媒体编码类型的RTP数据包。
[0019] 结合第一方面,在一些可选的实施方式中,根据所述目标终端的地址信息判断所述第一终端是否命中所述期待连接,包括:
[0020] 判断所述第一终端的地址信息与所述目标终端的地址信息是否匹配;
[0021] 当所述第一终端的地址信息与所述目标终端的地址信息匹配时,确定所述第一终端命中所述期待连接;
[0022] 当所述第一终端的地址信息与所述目标终端的地址信息不匹配时,确定所述第一终端未命中所述期待连接。
[0023] 结合第一方面,在一些可选的实施方式中,在获取与所述期待连接对应的所有指定媒体编码类型之前,所述方法还包括:
[0024] 在指定存储区域中,存储所述父连接与对应的所述子连接协商得到的与期待连接对应的所有指定媒体编码类型,所述所有指定媒体编码类型包括所述父连接及所述子连接支持的至少一类的媒体编码类型。
[0025] 结合第一方面,在一些可选的实施方式中,获取与所述期待连接对应的所有指定媒体编码类型,包括:
[0026] 从所述指定存储区域中获取与所述期待连接对应的所有指定媒体编码类型。
[0027] 结合第一方面,在一些可选的实施方式中,所述父连接为所述网络设备中的主通信通道,所述子连接为所述网络设备中除去所述主通信通道且与所述父连接对应的通信通道。
[0028] 第二方面,本申请实施例提供一种媒体流量检测装置,应用于网络设备,所述装置包括:
[0029] 期待生成单元,用于根据网络设备的父连接中携带的与所述父连接对应的子连接的期待信息,生成用于建立RTP连接的期待连接,所述期待信息包括与所述子连接对应的五元组,包括目标终端的地址信息;
[0030] 命中判断单元,用于当接收到第一终端发送的第一媒体数据包时,根据所述目标终端的地址信息判断所述第一终端是否命中所述期待连接,所述第一媒体数据包中的五元组包括所述第一终端的地址信息,用于发送至第二终端;
[0031] 获取单元,用于当所述第一终端命中所述期待连接时,获取与所述期待连接对应的所有指定媒体编码类型;
[0032] 检测单元,用于根据所述第一媒体数据包中的PT值及所述所有指定媒体编码类型,得到检测结果,所述检测结果包括表示所述第一媒体数据包是否为所述指定媒体编码类型的RTP数据包的结果。
[0033] 第三方面,本申请实施例提供一种网络设备,所述网络设备包括相互耦合的处理器及存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述网络设备执行上述的方法。
[0034] 第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的方法。

附图说明

[0035] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0036] 图1为本申请实施例提供的网络设备与第一终端、第二终端的交互示意图。
[0037] 图2为本申请实施例提供的网络设备的结构示意图。
[0038] 图3为本申请实施例提供的媒体流量检测方法的流程示意图。
[0039] 图4为本申请实施例提供的媒体流量检测装置的框图。
[0040] 图标:10‑网络设备;11‑处理模块;12‑存储模块;13‑通信模块;20‑第一终端;30‑第二终端;100‑媒体流量检测装置;110‑期待生成单元;120‑命中判断单元;130‑获取单元;140‑检测单元。

具体实施方式

[0041] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
[0042] 请参照图1,本申请实施例提供一种网络设备10,可以快速检测媒体流量是否为RTP数据包,以及进一步检测媒体流量是否为指定媒体编码类型的RTP数据包。
[0043] 网络设备10可以分别与第一终端20和第二终端30建立通信连接,以进行数据交互。网络设备10可以是但不限于路由器、交换机、防火墙设备等,可以用于进行网络安全检测。第一终端20与第二终端30可以为用户终端,可以是但不限于个人电脑、智能手机等,可以用于发送音视频流量数据的设备。
[0044] 可理解的,当用户B通过第二终端30向用户A的第一终端20发起语音或视频通话时,网络设备10可以作为第二终端30与第一终端20之间的网络安全设备,用于对第二终端30、第一终端20相互传输的媒体数据进行安全检测。例如,网络设备10可以检测第一终端20发送至第二终端30的媒体数据包是否为RTP数据包,以及进一步检测是否为指定媒体编码类型的RTP数据包,基于此,有利于根据检测结果,对第二终端30与第一终端20之间的通话进行网络安全检测。比如,网络设备10可以检测黑客通过其他设备在第二终端30与第一终端20通话期间,向第二终端30或第一终端20发送带有攻击行为的报文。
[0045] 对于网络中的音视频业务流量,通常为基于多连接协议的数据包。即,在网络设备10中,在音视频等媒体数据包传输过程中,除了开启一个主通信通道(父连接)外,还可以动态打开一些通道(子连接)进行通信。其中,主通信通道可理解为父连接,除去主通信通道之外的通道可以称为子连接。与父连接对应的子连接即为:除去主通信通道之外的通信通道,且与主通信通道关联的通信通道。在音视频业务中,多连接协议包括但不限于SIP(Session Initiation Protocol,会话初始协议)、RTSP(Real Time Streaming Protocol,实时流传输协议)。
[0046] 请参照图2,网络设备10可以包括处理模块11及存储模块12。存储模块12内存储计算机程序,当计算机程序被所述处理模块11执行时,使得网络设备10能够执行下述方法中的各步骤。
[0047] 当然,在其他实施方式中,网络设备10还可以包括其他模块。例如,网络设备10还可以包括通信模块13以及固化在存储模块12中的媒体流量检测装置100。处理模块11、存储模块12、通信模块13以及媒体流量检测装置100各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
[0048] 请参照图3,本申请实施例还提供一种媒体流量检测方法,可以应用于上述的网络设备10,由网络设备10执行或实现方法的各步骤。网络设备10可以作为第二终端30与第一终端20之间的中间设备,可以对第二终端30与第一终端20相互传输的数据进行检测与转发。方法可以包括如下步骤:
[0049] 步骤S210,根据网络设备的父连接中携带的与所述父连接对应的子连接的期待信息,生成用于建立RTP连接的期待连接,所述期待信息包括与所述子连接对应的五元组,包括目标终端的地址信息;
[0050] 步骤S220,当接收到第一终端发送的第一媒体数据包时,根据所述目标终端的地址信息判断所述第一终端是否命中所述期待连接,所述第一媒体数据包中的五元组包括所述第一终端的地址信息,用于发送至第二终端;
[0051] 步骤S230,当所述第一终端命中所述期待连接时,获取与所述期待连接对应的所有指定媒体编码类型;
[0052] 步骤S240,根据所述第一媒体数据包中的PT值及所述所有指定媒体编码类型,得到检测结果,所述检测结果包括表示所述第一媒体数据包是否为所述指定媒体编码类型的RTP数据包的结果。
[0053] 在上述的实施方式中,基于父连接中的期待信息生成的期待连接,可以快速确定第一终端发送的第一媒体数据包是否为RTP数据包,并且可以在第一媒体数据包为RTP数据包时,进一步判断第一媒体数据包是否为指定媒体编码类型,如此,无需对数据包的特征进行解析与检测,可以快速实现数据包的RTP以及媒体数据包的媒体编码类型识别检测。
[0054] 下面将对方法的各步骤进行详细阐述,如下:
[0055] 在步骤S210中,父连接为网络设备中的主通信通道,子连接为网络设备中除去主通信通道且与父连接对应的通信通道。任一终端与网络设备通信时,可以同时包括父连接与对应子连接,为本领域技术人员熟知。例如,第一终端可以通过与父连接对应的子连接与网络设备的建立数据通信,可以通过子连接实现数据通信。
[0056] 媒体数据包可以包括五元组,五元组包括源IP地址,源端口,目的IP地址,目的端口和传输层协议,为本领域技术人员熟知。例如,在第一媒体数据包的五元组中,可以包括第一终端及目的终端各自的地址信息。目的终端即为接收第一终端发送的媒体数据包的终端。
[0057] 网络设备可以根据期待信息自动生成期待连接,期待连接用于在网络设备接收到任一终端发送的数据时,判断发送数据的任一终端与期待连接中的目标终端是否相同。其中,期待信息包括与子连接对应的五元组,包括目标终端的地址信息。目标终端可以根据实际情况进行设置,可以为一个或多个。
[0058] 在步骤S220中,第一终端可理解为向第二终端发送数据的终端。第一终端发送的媒体数据包即为第一媒体数据包,第二终端发送的媒体数据包即为第二媒体数据包。网络设备可以根据任一终端所发送的数据的五元组中的目的地址,判断数据是否用于发送至第二终端,若数据是用于发送至第二终端,则发送该数据的终端即为第一终端。网络设备接收到第一媒体数据包后,便可以判断第一终端是否命中期待连接。
[0059] 媒体数据包可以是但不限于音频数据包、视频数据包等。例如,第一终端与第二终端在进行语音通话时,所传输的媒体数据包为音频数据包;在进行视频通话时,所传输的媒体数据包为视频数据包。其中,视频数据包中可以包括音频数据包,可以根据实际情况进行设置。
[0060] 判断第一终端是否命中期待连接的步骤可以如下:
[0061] 判断所述第一终端的地址信息与所述目标终端的地址信息是否匹配;
[0062] 当所述第一终端的地址信息与所述目标终端的地址信息匹配时,确定所述第一终端命中所述期待连接;
[0063] 当所述第一终端的地址信息与所述目标终端的地址信息不匹配时,确定所述第一终端未命中所述期待连接。
[0064] 可理解地,第一媒体数据包可以包括相应的五元组信息,该五元组信息中,包括第一终端自身的地址信息。网络设备可以从第一媒体数据包中,解析得到第一终端自身的地址信息,然后与子连接的五元组中的目标终端的地址信息进行比对,若第一终端自身的地址信息与目标终端的地址信息相同,便确定第一终端命中期待连接,此时,第一终端与目标终端(或第二终端)的连接为RTP连接,所传输的媒体数据包即为RTP数据包。
[0065] 在步骤S230之前,方法还可以包括:在指定存储区域中,存储所述父连接与对应的所述子连接协商得到的与期待连接对应的所有指定媒体编码类型,所述所有指定媒体编码类型包括所述父连接及所述子连接支持的至少一类的媒体编码类型。
[0066] 可理解地,第一终端与第二终端(目标终端)在建立数据通信期间,与第一终端和第二终端对应的父连接与子连接,可以动态地相互协商数据通道所支持的一类或多类媒体编码类型,媒体编码类型可以用rtpmap表示,协商过程为本领域技术人员熟知。网络设备可以在父连接与子连接协商期间,获取协商得到的一类或多类媒体编码类型。协商得到的所有媒体编码类型即为与预创建的期待连接对应的所有指定媒体编码类型。网络设备可以将所有指定媒体编码类型存储在指定存储区域中,以便于后续判断从父连接以及及与该父连接对应的子连接接收的数据包是否为指定媒体编码类型。其中,网络设备所存储的媒体编码类型可以基于协商结果进行动态更新。指定存储区域可以为父连接对应的私有数据区域,可以根据实际情况进行设置。
[0067] 若第一终端发送至第二终端的媒体数据包的编码类型不是所协商的所有指定媒体编码类型中的任一类,则表示发送至第二终端的数据包为可疑数据,需要进行后续的检测分析,后续的检测分析为本领域技术人员熟知,这里不再赘述。
[0068] 指定媒体编码类型可以根据实际情况进行确定。例如,若媒体数据包为音频数据包,音频数据包的媒体编码类型可以包括但不限于G711、G723、G729等。若媒体数据包为视频数据包,视频数据包的媒体编码类型可以包括但不限于H263、H264等编码类型,不同的媒体编码类型,具有不同的数据包的包特征,其中,包特征为本领域技术人员熟知。
[0069] 在步骤S230中,网络设备可以从所述指定存储区域中,获取与所述期待连接对应的所有指定媒体编码类型。例如,网络设备可以从父连接的私有数据区域(指定存储区域)中,获取到与期待连接对应的所有指定媒体编码类型。如此,有利于网络设备快速获取到相应的指定媒体编码类型,以便于执行步骤S240。
[0070] 若第一终端命中期待连接,表示第一媒体数据包为RTP数据包。在步骤S240中,第一媒体数据包的PT值为即为RTP数据包的头部中的Payload Type字段,包括第一媒体数据包的媒体编码类型。网络设备可以根据PT值与动态获取的指定媒体编码类型,确定第一数据包是否为指定媒体编码类型,从而得到检测结果。
[0071] 在步骤S240中,可以对第一媒体数据包进行编码类型的检测,以得到检测结果。确定检测结果的步骤可以包括:
[0072] 判断所述所有指定媒体编码类型中,是否存在与所述PT值对应的媒体编码类型相同的指定媒体编码类型;
[0073] 当存在与所述PT值对应的媒体编码类型相同的指定媒体编码类型时,得到表征所述第一媒体数据包为所述指定媒体编码类型的RTP数据包的检测结果;
[0074] 当不存在与所述PT值对应的媒体编码类型相同的指定媒体编码类型时,得到表征所述第一媒体数据包为RTP数据包,且所述第一媒体数据包的媒体编码类型不是所述指定媒体编码类型的检测结果。
[0075] 在本实施例中,当存在与PT值对应的媒体编码类型相同的指定媒体编码类型时,表示第一媒体数据包为RTP数据包,且编码类型为指定媒体编码类型,此时,第一媒体数据包通常为安全的数据。
[0076] 当不存在与PT值对应的媒体编码类型相同的指定媒体编码类型时,表示第一媒体数据包为RTP数据包,但编码类型不是指定媒体编码类型,此时,第一媒体数据包可能为存在网络威胁的数据,需要进行后续的分析处理。
[0077] 作为一种可选的实施方式,方法还可以包括:当所述第一终端未命中所述期待连接时,得到表征所述第一终端发送的所述第一媒体数据包不是RTP数据包的检测结果。
[0078] 可理解地,若第一终端自身的地址信息与期待连接中的目标终端的地址信息不同,便确定第一终端未命中期待连接,此时,第一终端与第二终端的连接不是RTP连接,所传输的媒体数据包便不是RTP数据包,网络设备得到的检测结果中,可以包括表示第一媒体数据包不是RTP数据包的结果。
[0079] 若第一终端与第二终端的连接不是RTP连接,便无需判断第一媒体数据包的媒体编码类型是否为指定媒体编码类型,以减少数据的处理过程,提高检测效率。此时,网络设备可以确定第一终端为可疑终端,比如第一终端可能是存在恶意攻击的终端,或者可能是恶意扫描第二终端的媒体数据的终端,此时,可以对第一终端发送的数据做后续的分析处理,后续分析处理的方式为本领域技术人员熟知这里不再赘述。基于此,可以快速判断第一终端与第二终端的连接是否为RTP连接,以便于对第一终端传输的媒体数据进行分析。
[0080] 为了便于对方法流程的理解,下面将举例阐述方法的实现过程:
[0081] 第一步,网络设备解析父连接中携带的子连接五元组信息(包括目标终端的地址信息)和rtpmap数值、编码名称等期待信息,如rtpmap:9G722;
[0082] 第二步,网络设备根据父连接中携带的子连接五元组信息等期待信息,生成期待连接,并将解析到的子连接的rtpmap数值以及对应的编码名称记录在父连接会话的私有数据中(在一条SIP或RTSP的父连接中,可以携带多个支持的媒体编码类型,此时可以将所有支持的媒体编码类型都记录下来);
[0083] 第三步,当网络设备接收到子连接传输的数据包时,首先根据到来的数据包中的五元组信息,检查是否匹配上之前生成的期待连接,如果匹配不上(即,第一终端的地址与目标终端的地址不同),则直接判定为子连接传输的数据包不是RTP数据包,并结束对该条子连接的协议识别,以减少数据检测的运算量;
[0084] 如果子连接传输的数据包的五元组信息能匹配期待连接(即,第一终端的地址与目标终端的地址相同),则将该子连接判定为RTP连接,所传输的数据包为RTP数据包,并进行第四步;
[0085] 第四步,网络设备解析RTP子连接传输的数据包(第一媒体数据包)的PT值(RTP数据包头中的Payload Type字段,包括媒体编码类型);
[0086] 第五步,网络设备将子连接中携带的PT值,与父连接私有数据中保存的rtpmap值做比对,如果PT值对应的媒体编码类型与父连接私有数据中保存的其中一条rtpmap的媒体编码类型相同,则判定当前RTP子连接中承载的媒体编码类型为rtpmap所对应的指定媒体编码类型;
[0087] 如果子连接中携带的PT值对应的媒体编码类型,与父连接私有数据中保存的所有的rtpmap的媒体编码类型均不同,则判定当前子连接传输的数据包的媒体编码类型不是指定媒体编码类型。
[0088] 基于上述设计,网络设备可以快速识别出网络环境中承载音视频媒体码流的RTP连接,并且能进一步地快速判断RTP连接中承载的媒体流量的编码类型的是否为指定媒体编码类型。相比于通过包特征识别的方式,能够有效降低编码类型识别过程中的时间复杂度,提高音视频数据包在网络设备上的检测效率,以及提高音视频数据包在网络传输中的实时性。
[0089] 请参照图4,本申请实施例还提供一种媒体流量检测装置100,可以应用于上述的网络设备中,用于执行方法中的各步骤。媒体流量检测装置100包括至少一个可以软件或固件(Firmware)的形式存储于存储模块中或固化在网络设备操作系统(Operating System,OS)中的软件功能模块。处理模块用于执行存储模块中存储的可执行模块,例如媒体流量检测装置100所包括的软件功能模块及计算机程序等。
[0090] 媒体流量检测装置可以包括期待生成单元110、命中判断单元120、获取单元130以及检测单元140,可以执行的操作内容如下:
[0091] 期待生成单元110,用于根据网络设备的父连接中携带的与所述父连接对应的子连接的期待信息,生成用于建立RTP连接的期待连接,所述期待信息包括与所述子连接对应的五元组,包括目标终端的地址信息;
[0092] 命中判断单元120,用于当接收到第一终端发送的第一媒体数据包时,根据所述目标终端的地址信息判断所述第一终端是否命中所述期待连接,所述第一媒体数据包中的五元组包括所述第一终端的地址信息,用于发送至第二终端;
[0093] 获取单元130,用于当所述第一终端命中所述期待连接时,获取与所述期待连接对应的所有指定媒体编码类型;
[0094] 检测单元140,用于根据所述第一媒体数据包中的PT值及所述所有指定媒体编码类型,得到检测结果,所述检测结果包括表示所述第一媒体数据包是否为所述指定媒体编码类型的RTP数据包的结果。
[0095] 作为一种可选的实施方式,媒体流量检测装置100还可以包括录入单元。在获取单元130执行步骤S230之前,录入单元用于:在指定存储区域中,存储所述父连接与对应的所述子连接协商得到的与期待连接对应的所有指定媒体编码类型,所述所有指定媒体编码类型包括所述父连接及所述子连接支持的至少一类的媒体编码类型。
[0096] 作为一种可选的实施方式,获取单元130可以用于:从所述指定存储区域中,获取与所述期待连接对应的所有指定媒体编码类型。
[0097] 作为一种可选的实施方式,命中判断单元120还可以用于:
[0098] 判断所述第一终端的地址信息与所述目标终端的地址信息是否匹配;
[0099] 当所述第一终端的地址信息与所述目标终端的地址信息匹配时,确定所述第一终端命中所述期待连接;
[0100] 当所述第一终端的地址信息与所述目标终端的地址信息不匹配时,确定所述第一终端未命中所述期待连接。
[0101] 作为一种可选的实施方式,检测单元140还可以用于:
[0102] 判断所述所有指定媒体编码类型中,是否存在与所述PT值对应的媒体编码类型相同的指定媒体编码类型;
[0103] 当存在与所述PT值对应的媒体编码类型相同的指定媒体编码类型时,得到表征所述第一媒体数据包为所述指定媒体编码类型的RTP数据包的检测结果;
[0104] 当不存在与所述PT值对应的媒体编码类型相同的指定媒体编码类型时,得到表征所述第一媒体数据包为RTP数据包,且所述第一媒体数据包的媒体编码类型不是所述指定媒体编码类型的检测结果。
[0105] 作为一种可选的实施方式,检测单元140还可以用于:当所述第一终端未命中所述期待连接时,得到表征所述第一终端发送的所述第一媒体数据包不是RTP数据包的检测结果。
[0106] 在本实施例中,处理模块可以是一种集成电路芯片,具有信号的处理能力。上述处理模块可以是通用处理器。例如,该处理器可以是中央处理器(Central Processing Unit,CPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
[0107] 存储模块可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储模块可以用于存储待检测图像等。当然,存储模块还可以用于存储程序,处理模块在接收到执行指令后,执行该程序。
[0108] 通信模块用于通过网络建立网络设备与第二终端、第一终端的通信连接,并通过网络收发数据。
[0109] 可以理解的是,图2所示的结构仅为网络设备的一种结构示意图,网络设备还可以包括比图2所示更多的组件。图2中所示的各组件可以采用硬件、软件或其组合实现。
[0110] 需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的网络设备、媒体流量检测装置100的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
[0111] 本申请实施例还提供一种计算机可读存储介质。计算机可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的媒体流量检测方法。
[0112] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD‑ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
[0113] 综上所述,本申请提供一种媒体流量检测方法、装置、网络设备及可读存储介质。方法包括:根据网络设备的父连接中携带的与父连接对应的子连接的期待信息,生成用于建立RTP连接的期待连接,期待信息包括与子连接对应的五元组,包括目标终端的地址信息;当接收到第一终端发送的第一媒体数据包时,根据目标终端的地址信息判断第一终端是否命中期待连接,第一媒体数据包中的五元组包括第一终端的地址信息,用于发送至第二终端;当第一终端命中期待连接时,获取与期待连接对应的所有指定媒体编码类型;根据第一媒体数据包中的PT值及所有指定媒体编码类型,得到检测结果,检测结果包括表示第一媒体数据包是否为指定媒体编码类型的RTP数据包的结果。在本方案中,通过基于第二终端发送的生成的期待连接,可以快速确定第一终端发送的第一媒体数据包是否为RTP数据包,并且可以在第一媒体数据包为RTP数据包时,进一步判断第一媒体数据包是否为指定媒体编码类型,如此,无需对数据包的特征进行解析与检测,可以快速实现数据包的RTP以及媒体数据包的媒体编码类型识别检测。
[0114] 在本申请所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0115] 以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。