用于流量检测的方法和设备以及计算机可读存储介质与流程

文档序号:19735744发布日期:2020-01-18 04:26阅读:176来源:国知局
用于流量检测的方法和设备以及计算机可读存储介质与流程

相关申请的交叉引用

本公开要求享有2018年5月30日提交的美国临时专利申请第62677756号的优先权,该临时专利申请的全部内容通过引用并入本文。

本公开的实现涉及通信领域,更特别地,涉及用于流量检测的方法和设备以及计算机可读存储介质。

背景

未来将超文本传输协议(http)与传输层安全协议(tls)结合使用是一种趋势,越来越多的http流量将被加密。目前在运营商的网络中,需要知道来自用户设备(ue)的加密流量属于哪种特定服务。

通常,在本领域中,服务器名称指示(sni)用于识别加密流量属于哪种特定服务。然而,sni很容易被攻击者伪造。

因此,需要提供一种新的用于ue和网络之间的流量检测的方法。



技术实现要素:

本公开提供了用于流量检测的方法和设备以及计算机可读存储介质。

在第一方面,提供了一种用于流量检测的方法。该方法包括:终端设备通过控制面信令向网络侧设备发送应用标识符和与该应用标识符相关联的指示符;以及该终端设备将该指示符添加到应用的流量的用户面数据包中,并且该终端设备将带有该指示符的用户面数据包发送到网络侧设备,其中该指示符用于指示该流量所属的应用。

在第二方面,提供了一种终端设备。该终端设备包括:发送模块,用于通过控制面信令向网络侧设备发送应用标识符和与该应用标识符相关联的指示符,以及向该网络侧设备发送应用的流量的用户面数据包;添加模块,用于将该指示符添加到流量的用户面数据包中;其中该指示符用于指示该流量所属的应用。

在第三方面中,提供了用于流量检测的方法。该方法包括:网络侧设备通过控制面信令接收来自终端设备的应用标识符和与该应用标识符相关联的指示符;以及该网络侧设备接收应用的流量的用户面数据包;该网络侧设备检测包含在用户面数据包中的指示符,以及该网络侧设备基于与该指示符相关联的应用标识符确定流量所属的应用。

在第四方面,提供了一种网络侧设备。该网络侧设备包括:接收模块,用于通过控制面信令接收来自终端设备的应用标识符和与该应用标识符相关联的指示符,并接收来自该终端设备的应用的流量的用户面数据包;检测模块,用于检测用户面数据包中的指示符,以及基于与该指示符相关联的应用标识符确定流量所属的应用。

在第五方面,提供了一种终端设备。终端设备包括:处理器和存储器,其中计算机程序存储在该存储器中,当计算机程序由处理器执行时,处理器执行以下动作:通过控制面信令向网络侧设备发送应用标识符和与该应用标识符相关联的指示符;将该指示符添加到应用的流量的用户面数据包中,并将带有该指示符的用户面数据包发送给网络侧设备,其中该指示符用于指示流量所属的应用。

在第六方面,提供了一种网络侧设备。该网络侧设备包括处理器和存储器,其中计算机程序存储在该存储器中,当计算机程序由该处理器执行时,处理器执行以下动作:通过控制面信令接收来自终端设备的应用标识符和与该应用标识符相关联的指示符,接收来自终端设备的应用的流量的用户面数据包,检测包含在用户面数据包中的指示符,并基于与该指示符相关联的应用标识符确定流量所属的应用。

在第七方面,提供了一种非瞬态计算机可读存储介质。该非瞬态计算机可读存储介质包括计算机程序,该计算机程序可由处理器执行以执行第一方面中的用于流量检测的方法的动作。

在第八方面,提供了一种非瞬态计算机可读存储介质。该非瞬态计算机可读存储介质包括计算机程序,该计算机程序可由处理器执行以执行第三方面中的用于流量检测的方法的动作。

在第九方面,提供了一种计算机程序产品。该计算机程序产品包含指令,当由计算机执行时,这些指令使计算机实现第一方面或第三方面的用于流量检测的方法。

根据本公开的实施方式,应用标识符和与应用标识符相关联的指示符从终端设备被传输到网络侧设备,使得由终端设备传输的流量的用户面数据包可以由网络侧设备基于添加到用户面数据包中的指示符来检测,并且网络侧设备可以基于与指示符相关联的应用指示符确定流量所属的应用。

附图简述

图1是根据本公开的一实施方式的用于流量检测的方法的流程示意图。

图2是根据本公开的另一实施方式的用于流量检测的方法的流程示意图。

图3是根据本公开的一实施方式的终端设备的框图。

图4是根据本公开的一实施方式的网络侧设备的框图。

图5是根据本公开的又一实施方式的终端设备。

图6是根据本公开的又一实施方式的网络侧设备。

图7是本公开的用于流量检测的方法的应用示例的示意图。

详细描述

下文将参考本公开的实施方式的附图,对本公开的实施方式中的技术方案进行清楚并且完整的描述。

本公开的实施方式的技术方案可以应用于各种通信系统,例如全球移动通信(gsm)系统、码分多址(cdma)系统、宽带码分多址(wcdma)系统、通用分组无线业务(gprs)、长期演进(lte)系统、lte频分双工(fdd)系统、lte时分双工(tdd)系统、通用移动电信系统(umts)或全球微波接入互操作性(wimax)通信系统、5g系统或新无线(nr)系统。

在本公开的实施方式中,术语“网络”和“系统”经常互换使用,但是本领域技术人员可以理解它们的含义。在本公开的实施方式中涉及的终端设备可以包括具有无线通信功能的各种手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(ue)、移动台(ms)或移动终端等。出于描述的方便,在本公开的实施方式中,上述设备统称为终端设备。在本公开的实施方式中,在终端设备上安装应用。

在本公开的实施方式中,网络侧设备可以是与终端设备通信的设备,可以是核心网络控制面实体,例如,会话管理功能(smf)、分组数据网络网关-控制面(pgw-c),也可以是核心网络用户面实体,例如,用户面功能(upf)、分组数据网络网关-用户面(pgw-u)、ott服务器,还可以是未来5g网络中的网络侧设备,或者未来演进的公共陆地移动网络(plmn)中的网络侧设备等。

网络侧设备还可以包括业务服务器或提供应用的第三方的其他实体。第三方可以与核心网设备或终端设备通信,并可以将应用标识符和指示符相关信息通知给终端设备或核心网设备。

此外,网络侧设备可以是单个设备或多个设备的组合。例如,一个网络侧设备检测流量的用户面数据包,并确定流量所属的应用,即流量由该应用生成,但另一网络侧设备起着利用相关信息配置终端设备的作用。

图1是根据本公开的一实施方式的用于流量检测的方法的流程示意图。如图1所示,方法100包括s110和s120。

在s110中,终端设备通过控制面信令向网络侧设备发送应用标识符和与该应用标识符相关联的指示符。

在s120中,终端设备将指示符添加到应用的流量的用户面数据包中,并且将带有该指示符的用户面数据包发送到网络侧设备,其中该指示符用于指示流量所属的应用。例如,该指示符可以用于网络侧设备基于与用户面数据包中的指示符相关联的应用标识符来确定流量所属的应用。

应用标识符用于标识应用。例如,应用标识符用于使终端设备或网络侧设备将一个应用与其他应用区分开来。通常,每个应用都有唯一的标识符(id),并且诸如提供该应用的服务提供商的第三方知晓该应用标识符,并且可以与终端设备或网络侧设备针对该应用id进行通信。

指示符包含指示特定的用户面数据包的符号。例如,指示符可以是令牌。该指示符由终端设备基于指示符相关信息生成,该指示符相关信息可以通过与第三方通信获得或者从网络侧设备接收。例如,诸如服务提供商的第三方将与应用相关的信息或其他特定信息作为指示符相关信息,并将该指示符相关信息通知给终端设备。可选地,第三方向网络侧设备提供指示符相关信息,然后网络侧设备利用该指示符相关信息配置终端。可选地,终端设备可以由其制造商利用指示符相关信息来配置。终端设备可以通过软件或硬件结构被配置有指示符生成功能,并且可以由其制造商或网络侧设备来配置。

控制面信令可以是非接入层(nas)消息,或者能够实现向网络侧设备传输应用标识符和指示符功能的其他控制面消息。控制面信令中的空闲比特或新的扩展比特可用于携带应用标识符和指示符。

在本公开的示例中,可选地,终端设备还通过控制面信令发送指示符与应用标识符的关联关系。指示符与应用标识符的关联关系包含指示符与应用标识符之间的对应关系,例如,每个指示符具有与其对应的应用标识符。控制面信令可以是与用于传输应用标识符和指示符的控制面信令相同的信令,或者可以是其他信令。关联关系也有可能被编码到指示符中,使得网络侧设备可以基于指示符本身获知该关联关系。

在本公开的示例中,可选地,终端设备从网络侧设备获得应用标识符和指示符相关信息,并且该终端设备基于该指示符相关信息生成指示符。其中,网络侧设备可以是第三方,例如提供应用的服务提供商,以及该第三方可以将应用标识符和指示符相关信息通知给终端设备或核心网设备。在可能的实施方式中,在接收到应用标识符和指示符相关信息之后,核心网设备可以将应用标识符和指示符相关信息传输给终端设备。终端设备基于来自第三方或核心网设备的指示符相关信息生成指示符。在一示例中,终端设备将生成的指示符传输给核心网设备。可选地,终端设备可以将指示符传输给第三方,然后由第三方将指示符传输给核心网设备。

在本公开的示例中,可选地,终端设备可以通过控制面信令与网络侧设备协商待检测的应用和/或指示符和/或指示符被添加到用户面数据包中的位置。例如,用户面数据包的协议头被确定携带该指示符。然后,可以协商更具体的位置。例如,用户面数据包的协议头中的用户面位置可以被确定携带指示符。其他特定的比特或字节可以被确定为携带指示符的位置。

在本公开的示例中,可选地,终端设备可以采用以下方式与网络侧设备对待检测的应用和/或指示符和/或位置进行协商:终端设备接收来自网络侧设备的关于待检测的应用和/或指示符和/或位置的信息,并对网络侧设备进行回复;和/或终端设备向网络侧设备发送包含待检测的应用和/或指示符和/或位置的消息,并接收来自网络侧设备的响应。其中,回复或响应可以是确认(ack)或否定确认(nack),或其他指示。

在本公开的示例中,可选地,在协商期间,终端设备可以接收来自网络侧设备的应用列表,以及当应用的应用标识符在应用列表中时,将指示符添加到应用的流量的用户面数据包中。其中,应用列表可以由网络侧设备动态配置。当应用列表被更新时,网络侧设备将更新后的应用列表传输给终端设备。在另一可选方式中,应用列表可以是固定的。在这种情况下,可以在终端设备中预配置应用列表。例如,应用列表可以被烧录到终端设备的sim卡中。此外,固定的应用列表可以由网络侧设备配置。

在本公开的示例中,可选地,当应用的应用标识符在应用列表中时,将指示符添加到应用的流量的用户面数据包中的动作可以包括:根据预定的指示符添加策略,基于来自网络侧设备的应用列表确定另一应用列表,并且当应用的应用标识符在该另一应用列表中时,将指示符添加到应用的流量的用户面数据包中。其中,在接收到来自网络侧设备的应用列表(为便于描述,命名为列表i)之后,终端设备可以根据预定的指示符添加策略利用从列表i中选择的应用标识符生成另一应用列表。例如,终端设备基于安装在终端设备上的应用选择应用标识符。如果终端设备上没有安装某应用,则终端设备不会将该应用的标识符添加到生成的另一应用列表中。预定的指示符添加策略可以包括其他策略,本公开对此并不做限定。

在本公开的示例中,可选地,终端设备向网络侧设备发送包含待检测的应用的消息的动作包括:终端设备向网络侧设备发送包含应用标识符的应用集。接收来自网络侧设备的响应的动作包括:接收来自网络侧设备的对该应用集的响应。终端设备将指示符添加到应用的流量的用户面数据包中的动作包括:当应用的应用标识符在应用集中且该响应指示网络侧设备允许该应用集时,将指示符添加到应用的流量的用户面数据包中。其中,应用集类似于上述的应用列表,并且可以基于安装在终端设备上的应用被动态配置或者例如由制造商固定地配置。

在本公开的示例中,可选地,终端设备向网络侧设备发送包含待检测的应用的消息的动作包括:终端设备向网络侧设备发送包含应用标识符的应用集。接收来自网络侧设备的响应的动作包括:接收包含由网络侧设备选择的应用标识符的另一应用集。终端设备将指示符添加到应用的流量的用户面数据包中的动作包括:当应用的应用标识符在另一应用集中时,将指示符添加到应用的流量的用户面数据包中。在本公开的示例中,可选地,首先对应用标识符和指示符进行认证。例如,当终端设备在网络中注册时,网络侧设备对终端设备是否合法进行认证。在接收到应用标识符和指示符之后,网络侧设备检查终端设备是否是合法设备,如果是,则网络侧设备确定终端设备是可信任的,并且该应用标识符和指示符也是可信任的,即认证通过。终端设备和网络侧设备之间的认证也可以在终端设备将指示符添加到用户面数据包之前的协议数据单元(pdu)会话程序或另一程序期间执行。认证也可以由终端设备针对网络侧设备进行,即,终端设备确定网络侧设备是否合法,如果合法,则应用标识符和指示符被发送给网络侧设备,否则,终端设备不发送应用标识符和指示符。认证还可以通过其他策略来进行,以提高通信的安全性,本公开对此并不做限定。

在本公开的示例中,可选地,终端设备将指示符添加到流量的前预定数量的用户面数据包中,例如流量的前一个或多个用户面数据包。例如,该指示符仅被添加到流量的第一个用户面数据包中。在接收到用户面数据包之后,网络侧设备仅在第一个用户面数据包中检测指示符,并且网络侧设备确定流量属于与第一个用户面数据包中的指示符相关联的特定应用。网络侧设备还提取第一个用户面数据包中的ip地址或媒体访问控制(mac)地址,并根据该ip地址或mac地址建立过滤器,从而基于后续的用户面数据包中的ip地址或mac地址将该流量的后续用户面数据包与其他用户面数据包区分开来。当终端设备的ip地址或mac地址改变时,例如,当终端设备是移动电话并切换到新基站时,终端设备可以改变其ip地址或mac地址,终端设备将指示符添加到该流量的待发送的随后一个或多个用户面数据包中,使得网络侧设备可以检测该指示符,并根据终端设备的改变后的ip地址或mac地址建立新的过滤器。可选地,终端可以将ip地址或mac地址的改变通知给网络侧设备。

通过上述用于流量检测的方法,应用标识符和指示符从终端设备被传输到网络侧设备,使得由终端设备传输的流量的用户面数据包可以由网络侧设备基于添加到用户面数据包中的指示符来检测,并且网络侧设备可以确定流量所属的应用。因此,提供了一种用于终端设备和网络之间的流量检测的新方法。

上文结合图1已经从终端设备侧详细描述了根据本公开的实施方式的用于流量检测的方法,下文将结合图2从网络设备侧详细描述根据本公开的实施方式的用于流量检测的方法。应当理解,从终端设备侧描述的网络侧设备和终端设备之间的交互与从网络侧描述的相同,为了避免重复,适当地省略了一些相关描述。

图2是根据本公开的另一实施方式的用于流量检测的方法的流程示意图。如图2所示,方法200包括s210和s220。

在s210中,网络侧设备通过控制面信令接收来自终端设备的应用标识符和与该应用标识符相关联的指示符。

在s220中,网络侧设备接收应用的流量的用户面数据包。

在s230中,网络侧设备检测包含在用户面数据包中的指示符,并基于与该指示符相关联的应用标识符来确定流量所属的应用。

在本公开的示例中,可选地,网络侧设备还通过控制面信令接收指示符与应用标识符的关联关系。该控制面信令可以是与用于接收应用标识符和指示符的控制面信令相同的信令,或者可以是其他信令。关联关系也有可能被编码到指示符中,使得网络侧设备可以基于指示符本身获知该关联关系,因此该关联关系不需要被传输。

在本公开的示例中,可选地,网络侧设备检测包含在用户面数据包中的指示符的动作包括:网络侧设备检测包含在流量的前一个或多个用户面数据包中的指示符。在本公开的示例中,还包括以下动作:网络侧设备提取前一个或多个用户面数据包中的特征信息,根据该特征信息建立过滤器,利用该过滤器检测随后的用户面数据包,并确定该流量所属的应用。在本公开的示例中,特征信息包括以下中的至少一项:源/目的ip地址或ipv6前缀、源/目的端口号、ip/下一代头类型上的协议的协议标识、服务类型tos(ipv4)/流量类别(ipv6)和掩码、流标签(ipv6)、安全参数索引、包过滤器方向、源/目的mac地址、以太网类型(例如,如ieee802.3[yy]中所定义的)、客户-vlan标签c-tag和/或服务-vlan标签s-tagvid字段(例如,如ieee802.1q中所定义的)、客户-vlan标签c-tag和/或服务-vlan标签s-tagpcp/dei字段(例如,如ieee802.1q中所定义的)、ip包过滤器集(例如,在以太类型指示ipv4/ipv6负荷的情况下)、以及包过滤器方向。

在本公开的示例中,可选地,网络侧设备通过控制面信令与终端设备协商待检测的应用和/或指示符和/或指示符被添加到用户面数据包中的位置。例如,用户面数据包的协议头被确定携带指示符。然后,可以协商更具体的位置。例如,用户面数据包的协议头中的用户面位置可以被确定携带指示符。其他特定的比特或字节可以被确定为携带指示符的位置。

在本公开的示例中,可选地,网络侧设备与终端设备对待检测的应用和/或指示符和/或位置进行协商的动作包括:网络侧设备向终端设备发送关于待检测的应用和/或指示符和/或位置的信息,并接收来自终端设备的回复;和/或网络侧设备接收来自终端设备的包含待检测的应用和/或指示符和/或位置的消息,并向终端设备发送响应。

在本公开的示例中,可选地,网络侧设备向终端设备发送应用列表,以指示哪个应用需要由网络侧设备检测。其中,应用列表可以由网络侧设备动态配置。当应用列表被更新时,网络侧设备将更新后的应用列表传输给终端设备。

在本公开的示例中,可选地,网络侧设备接收来自终端设备的包含待检测的应用的消息并将响应发送到终端设备的动作包括:网络侧设备接收来自终端设备的包含的应用标识符的应用集,并将响应发送到该终端设备。其中,响应可以指示该应用集是否被网络侧设备允许。

在本公开的示例中,可选地,网络侧设备接收来自终端设备的包含待检测的应用的消息并发送响应到终端设备的动作包括:网络侧设备接收来自终端设备的包含的应用标识符的应用集,通过从应用集中选择应用来确定另一应用集,并将该另一应用集发送到终端设备。

在本公开的示例中,可选地,首先对应用标识符和指示符进行认证。例如,当终端设备在网络中注册时,网络侧设备对终端设备是否合法进行认证。在接收到应用标识符和指示符之后,网络侧设备检查终端设备是否是合法设备,如果是,则网络设备确定终端设备是可信任的,并且该应用标识符和指示符是可信任的,即认证通过。终端设备和网络侧设备之间的认证可以在终端设备的注册或协议数据单元会话程序期间执行。

在本公开的示例中,可选地,该指示符被添加到流量的前预定数量的用户面数据包中,例如前一个或多个用户面数据包。在一示例中,该指示符仅被添加到流量的第一个用户面数据包中。在接收到用户面数据包之后,网络侧设备仅在第一个用户面数据包中检测指示符,并且网络侧设备确定流量属于与第一个用户面数据包中的指示符相关联的特定应用。网络侧设备还提取第一个用户面数据包中的ip地址或mac地址,并根据该ip地址或mac地址建立过滤器,然后检测后续的用户面数据包中的ip地址或mac地址,并基于后续的用户面数据包中的ip地址或mac地址确定流量所属的应用。当终端设备的ip地址或mac地址改变时,终端设备将指示符添加到流量的待发送的随后一个或多个用户面数据包中,使得网络侧设备可以检测该指示符,并根据终端设备的改变后的ip地址或mac地址建立新的过滤器。可选地,网络侧可以在接收到终端设备的ip地址或mac地址改变的通知后,决定检测用户面数据包中的指示符。可选地,对于每个接收到的用户面数据包,网络侧设备可以首先检测用户面数据包中的指示符,如果没有指示符,网络侧设备提取用户面数据包的ip地址或mac地址,并根据过滤器基于该ip地址或mac地址确定流量所属的应用。可选地,在基于ip地址或mac地址建立了过滤器之后,网络侧设备停止检测指示符,并基于后续的用户面数据包中的ip地址或mac地址直接确定流量所属的应用。如果在后续的用户面数据包中没有对应于该ip地址或mac地址的应用,则网络侧设备检测用户面数据包中的指示符,并基于包含该指示符的用户面数据包中的新的ip地址或mac地址建立新的过滤器。因此,当终端设备的ip地址或mac地址改变但应用的流量没有停止时,网络侧设备仍然可以确定流量所属的应用。

通过上述用于流量检测的方法,应用标识符和指示符从终端设备被传输到网络侧设备,使得由终端设备传输的流量的用户面数据包可以由网络侧设备基于添加到用户面数据包中的指示符来检测,并且网络侧设备可以确定流量所属的应用。因此,提供了一种用于终端设备和网络之间的流量检测的新方法。

基于与以上描述的方法相同的发明构思,下文将结合图3详细描述根据本公开的实施方式的终端设备。上文由终端设备执行的细节也可以由终端设备的以下相应的模块来执行,并且为了避免重复,适当地省略了一些描述。

图3是根据本公开的实施方式的终端设备的框图。如图3所示,终端设备300包括发送模块310和添加模块320。

发送模块310用于通过控制面信令向网络侧设备发送应用标识符和与该应用标识符相关联的指示符,以及向该网络侧设备发送应用的流量的用户面数据包。

添加模块320用于将该指示符添加到流量的用户面数据包中;其中指示符用于指示流量所属的应用。

因此,根据本公开的实施方式的终端设备,应用标识符和指示符从终端设备被传输到网络侧设备,使得由终端设备传输的流量的用户面数据包可以由网络侧设备基于添加到用户面数据包中的指示符来检测,并且网络侧设备可以确定流量所属的应用。

在本公开的示例中,可选地,发送模块310还用于通过控制面信令发送指示符与应用标识符的关联关系。该控制面信令可以是与用于传输应用标识符和指示符的控制面信令相同的信令,或者可以是其他信令。关联关系也有可能被编码到指示符中,使得网络侧设备可以基于指示符获知该关联关系。

在本公开的示例中,可选地,终端设备还包括获取模块330和生成模块340。获取模块330用于从网络侧设备获取应用标识符和指示符相关信息;生成模块340用于基于指示符相关信息生成指示符。

在本公开的示例中,可选地,终端设备还包括协商模块350,用于通过控制面信令与网络侧设备协商待检测的应用和/或指示符和/或指示符被添加到用户面数据包中的位置。例如,用户面数据包的协议头被确定携带指示符。然后,可以协商更具体的位置。例如,用户面数据包的协议头中的用户面位置可以被确定携带指示符。其他特定的比特或字节可以被确定为携带指示符的位置。

在本公开的示例中,可选地,协商模块350用于接收来自网络侧设备的关于待检测的应用和/或指示符和/或位置的信息,并对网络侧设备进行回复,和/或向网络侧设备发送包含待检测应用和/或指示符和/或位置的消息,并接收来自网络侧设备的响应。

在本公开的示例中,可选地,协商模块350用于接收来自网络侧设备的应用列表;以及添加模块320用于当应用的应用标识符在应用列表中时,将指示符添加到应用的流量的用户面数据包中。其中,应用列表可以由网络侧设备基于诸如时间段或新的服务需求之类的条件动态地配置。当应用列表被更新时,网络侧设备将更新后的应用列表传输给终端设备。在可选的方式中,应用列表可以是固定的,并且可以预配置在终端设备中。例如,应用列表可以被烧录到终端设备的sim卡中。

在本公开的示例中,可选地,添加模块320用于根据预定的指示符添加策略基于来自网络侧设备的应用列表来确定另一应用列表,并且当应用的应用标识符在该另一应用列表中时,将该指示符添加到应用的流量的用户面数据包中。

在本公开的示例中,可选地,协商模块350用于向网络侧设备发送包含应用标识符的应用集,并接收来自网络侧设备的指示该应用集是否被允许的响应。添加模块320用于当应用的应用标识符在应用集中且来自网络侧设备的响应指示应用集被允许时,将指示符添加到应用的流量的用户面数据包中。

在本公开的示例中,可选地,协商模块350用于向网络侧设备发送包含应用标识符的应用集,并接收包含由网络侧设备选择的应用标识符的另一应用集。添加模块320用于当应用的应用标识符在另一应用集时,将指示符添加到应用的流量的用户面数据包中。

在本公开的示例中,可选地,添加模块320还用于接收来自网络侧设备的应用标识符的认证结果;以及当该应用标识符被成功认证时,将指示符添加到流量的用户面数据包中。在本公开的示例中,可选地,添加模块320具体用于将指示符添加到流量的前预定数量的用户面数据包中,例如前一个或多个用户面数据包。在一示例中,该指示符仅被添加到流量的第一个用户面数据包中。在接收到用户面数据包之后,网络侧设备仅在第一个用户面数据包中检测指示符,并且网络侧设备确定流量属于与第一个用户面数据包中的指示符相关联的特定应用。网络侧设备还提取第一个用户面数据包中的ip地址或mac地址,并根据该ip地址或mac地址建立过滤器,从而基于后续的用户面数据包中的ip地址或mac地址将该流量的后续的用户面数据包与其他用户面数据包区分开来。添加模块320还用于当终端设备的ip地址或mac地址改变时,将指示符添加到流量的待发送的随后一个或多个用户面数据包中。例如,当终端设备是移动电话并切换到新基站时,终端设备可以改变其ip地址或mac地址,添加模块320将指示符添加到流量的待发送的随后一个或多个用户面数据包中,使得网络侧设备可以检测该指示符,并根据终端设备的改变后的ip地址或mac地址建立新的过滤器。可选地,终端设备可以将ip地址或mac地址的改变通知给网络侧设备。

通过根据本公开的实施方式的终端设备,应用标识符和指示符从终端设备被传输到网络侧设备,使得由终端设备传输的流量的用户面数据包可以由网络侧设备基于添加到用户面数据包中的指示符来检测,并且网络侧设备可以确定流量所属的应用。

基于与以上描述的方法相同的发明构思,下文将结合图4详细描述根据本公开的实施方式的网络侧设备。图4是根据本公开的实施方式的网络侧设备的框图。上文由网络侧设备执行的细节也可以由网络侧设备的以下相应的模块来执行,并且为了避免重复,适当地省略了一些描述。

如图4所示,网络侧设备400包括接收模块410和检测模块420。

接收模块410用于通过控制面信令接收来自终端设备的应用标识符和与应用标识符相关联的指示符,并接收来自终端设备的应用的流量的用户面数据包。

检测模块420用于检测用户面数据包中的指示符,以及基于与指示符相关联的应用标识符确定流量所属的应用。

因此,根据本公开的实施方式的网络侧设备,网络侧设备接收来自终端设备的应用标识符和指示符,然后可以基于添加到用户面数据包中的指示符来检测由终端设备传输的流量的用户面数据包,以及网络侧设备可以确定该流量所属的应用。

在本公开的示例中,可选地,接收模块410还用于通过控制面信令接收指示符与应用标识符的关联关系。该控制面信令可以是与用于接收应用标识符和指示符的控制面信令相同的信令,或者可以是其他信令。关联关系也有可能被编码到指示符中,使得网络侧设备可以基于指示符本身获知该关联关系,并且该关联关系不需要被传输。在本公开的示例中,可选地,检测模块420用于检测流量的前一个或多个用户面数据包中的指示符。

在本公开的示例中,可选地,网络侧设备还包括建立模块430,用于提取前一个或多个用户面数据包中的特征信息,并根据该特征信息建立过滤器(例如,ip包过滤器或以太网包过滤器)。检测模块420用于利用过滤器检测随后的用户面数据包,并确定该流量所属的应用。可选地,特征信息包括以下中的至少一项:源/目的ip地址或ipv6前缀、源/目的端口号、ip/下一代头类型上的协议的协议标识、服务类型tos(ipv4)/流量类别(ipv6)和掩码、流标签(ipv6)、安全参数索引、包过滤器方向、源/目的mac地址、以太网类型(例如,如ieee802.3[yy]中所定义的)、客户-vlan标签c-tag和/或服务-vlan标签s-tagvid字段(例如,如ieee802.1q中所定义)、客户-vlan标签c-tag和/或服务-vlan标签s-tagpcp/dei字段(例如,如ieee802.1q中所定义)、ip包过滤器集(例如,在以太类型指示ipv4/ipv6负荷的情况下)、以及包过滤器方向。

在本公开的示例中,可选地,网络侧设备还包括协商模块440,用于通过控制面信令与终端设备协商待检测的应用和/或指示符和/或指示符被添加到用户面数据包中的位置。例如,用户面数据包的协议头被确定携带指示符。然后,可以协商更具体的位置。例如,用户面数据包的协议头中的用户面位置可以被确定携带指示符。其他特定的比特或字节可以被确定为携带指示符的位置。

在本公开的示例中,可选地,协商模块440用于向终端设备发送关于待检测的应用和/或指示符和/或位置的信息,并接收来自终端设备的回复;和/或接收来自终端设备的包含待检测的应用和/或指示符和/或位置的消息,并向终端设备发送响应。

在本公开的示例中,可选地,协商模块440用于向终端设备发送应用列表,以指示哪个应用需要由网络侧设备检测。在本公开的示例中,可选地,应用列表是动态配置的,以及协商模块440用于当应用列表更新时,向终端设备发送更新后的应用列表。

在本公开的示例中,可选地,协商模块440用于接收来自终端设备的包含应用标识符的应用集,并向终端设备发送指示该应用集是否被允许的响应。

在本公开的示例中,可选地,协商模块440用于接收来自终端设备的包含应用标识符的应用集,通过从应用集中选择应用来确定另一应用集,并将该另一应用集发送给终端设备。

在本公开的示例中,可选地,网络侧设备还包括认证模块450,用于对应用标识符和指示符进行认证。例如,当终端设备在网络中注册时,认证模块450对终端设备是否合法进行认证。在接收到应用标识符和指示符之后,认证模块450检查终端设备是否是合法设备,如果是,则认证模块450确定终端设备是可信任的,并且应用标识符和指示符是可信任的,即,认证通过。终端设备和网络侧设备之间的认证可以在终端设备的注册或协议数据单元会话程序期间执行。

在本公开的示例中,可选地,该指示符仅被添加到流量的前预定数量的用户面数据包中,例如前一个或多个用户面数据包。在接收到流量的用户面数据包之后,网络侧设备的检测模块420仅在前一个或多个用户面数据包中检测指示符。建立模块430用于提取前一个或多个用户面数据包中的ip地址或mac地址,并根据该ip地址或mac地址建立过滤器,然后检测模块420用于检测后续的用户面数据包中的ip地址或mac地址,并基于后续的用户面数据包中的ip地址或mac地址确定流量所属的应用。可选地,当接收到终端设备的ip地址或mac地址改变的通知时,或者在后续的用户面数据包中没有映射到该ip地址或mac地址的应用标识符时,检测模块420检测该流量的随后的预定数量的用户面数据包,例如随后的一个或多个用户面数据包。

通过根据本公开的实施方式的网络侧设备,应用标识符和指示符从终端设备被传输到网络侧设备,使得由终端设备传输的流量的用户面数据包可以由网络侧设备基于添加到用户面数据包中的指示符来检测,并且网络侧设备可以确定流量所属的应用。

图5是根据本公开的又一实施方式的终端设备。如图5所示,终端设备500包括处理器510和存储器520。可选地,终端设备500还可以包括收发器530和总线系统540。处理器510、存储器520和收发器530可以通过总线系统540连接。存储器520可用于存储计算机程序,处理器510用于执行存储在存储器520中的计算机程序,以控制收发器530发送或接收信息。应当理解,结合图1的方法中列出的所有动作以及由结合图3所述的终端设备30中的模块执行的动作可以由处理器510在终端设备500中的程序的指示下执行,为了避免重复,适当地省略了一些细节的描述。

具体地,当计算机程序由处理器510执行时,处理器510用于通过控制面信令向网络侧设备发送应用标识符和与应用标识符相关联的指示符,将指示符添加到应用的流量的用户面数据包中,并将带有指示符的用户面数据包发送到网络侧设备,其中指示符用于通过与指示符相关联的应用标识符来指示流量所属的应用。

可选地,当计算机程序由处理器执行时,处理器510还执行以下动作:通过控制面信令向网络侧设备发送指示符与应用标识符的关联关系。

可选地,当计算机程序由处理器执行时,处理器510还执行以下动作:从网络侧设备获得应用标识符和指示符相关信息,并基于该指示符相关信息生成指示符。

可选地,当计算机程序由处理器执行时,处理器510还执行以下动作:通过控制面信令与网络侧设备协商待检测的应用和/或指示符和/或指示符被添加到用户面数据包中的位置。

可选地,当计算机程序由处理器执行时,处理器510还执行以下动作:接收来自网络侧设备的关于待检测的应用和/或指示符和/或位置的信息,并对网络侧设备进行回复;和/或向网络侧设备发送包含待检测的应用和/或指示符和/或位置的消息,并接收来自网络侧设备的响应。

可选地,当计算机程序由处理器执行时,处理器510还执行以下动作:接收来自网络侧设备的应用列表,以及当应用的应用标识符在应用列表中时,将指示符添加到应用的流量的用户面数据包中。

可选地,当计算机程序由处理器执行时,处理器510还执行以下动作:根据预定的指示符添加策略,基于来自网络侧设备的应用列表,来确定另一应用列表,当应用的应用标识符在该另一应用列表中时,将该指示符添加到应用的流量的用户面数据包中。

可选地,当计算机程序由处理器执行时,处理器510还执行以下动作:向网络侧设备发送包含应用标识符的应用集,接收来自网络侧设备的对应用集的响应,并且当应用的应用标识符在应用集中并且响应指示应用集被网络侧设备接受时,将指示符添加到应用的流量的用户面数据包中。

可选地,当计算机程序由处理器执行时,处理器510还执行以下动作:向网络侧设备发送包含应用标识符的应用集,接收包含由网络侧设备选择的应用标识符的另一应用集,并且当应用的应用标识符在该另一应用集中时,将该指示符添加到应用的流量的用户面数据包中。

可选地,当计算机程序由处理器执行时,处理器510还执行以下动作:接收来自网络侧设备的应用标识符和指示符的认证结果;以及当认证结果指示对应用标识符和指示符的认证通过时,将该指示符添加到流量的用户面数据包中。

可选地,当计算机程序由处理器执行时,处理器510还执行以下动作:将指示符添加到流量的前一个或多个用户面数据包中。可选地,当计算机程序由处理器执行时,处理器510还执行以下动作:当终端设备的ip地址或mac地址改变时,将指示符添加到该流量的待发送的随后一个或多个用户面数据包中。

图6是根据本公开的又一实施方式的网络侧设备。如图6所示,网络侧设备600包括处理器610和存储器620。可选地,网络侧设备600还可以包括收发器630和总线系统640。处理器610、存储器620和收发器630可以通过总线系统640连接。存储器620可用于存储计算机程序,处理器610用于执行存储在存储器620中的计算机程序,以控制收发器630发送或接收信息。应当理解,结合图2的方法中列出的所有动作以及由结合图4所述的网络侧设备40中的模块执行的动作可以由处理器610在网络侧设备600中的程序的指示下执行,为了避免重复,适当地省略了一些细节的描述。

具体地,当计算机程序由处理器610执行时,处理器610用于通过控制面信令接收来自终端设备的应用标识符和指示符,接收来自终端设备的应用的流量的用户面数据包,检测用户面数据包中包含的指示符,并基于与用户面数据包中的指示符相关联的应用标识符来确定流量所属的应用。

可选地,当计算机程序由处理器执行时,处理器610还执行以下动作:通过控制面信令接收来自终端设备的指示符与应用标识符的关联关系。该控制面信令可以是与用于接收应用标识符和指示符的控制面信令相同的信令,或者可以是其他信令。

可选地,当计算机程序由处理器执行时,处理器610还执行以下动作:检测包含在流量的前一个或多个用户面数据包中的指示符。

可选地,当计算机程序由处理器执行时,处理器610还执行以下动作:提取前一个或多个用户面数据包中的特征信息,根据该特征信息建立过滤器,利用该过滤器检测随后的用户面数据包,并确定该流量所属的应用。在本公开的示例中,特征信息包括以下中的至少一项:源/目的ip地址或ipv6前缀、源/目的端口号、ip/下一代头类型上的协议的协议标识、服务类型tos(ipv4)/流量类别(ipv6)和掩码、流标签(ipv6)、安全参数索引、包过滤器方向、源/目的mac地址、如ieee802.3[yy]中定义的以太网类型、如ieee802.1q中定义的客户-vlan标签c-tag和/或服务-vlan标签s-tagvid字段、如ieee802.1q中定义的客户-vlan标签c-tag和/或服务-vlan标签s-tagpcp/dei字段、ip包过滤器集(例如,在以太网类型指示ipv4/ipv6负荷的情况下)、包过滤器方向。

可选地,当计算机程序由处理器执行时,处理器610还执行以下动作:通过控制面信令与终端设备协商待检测的应用和/或指示符和/或指示符被添加到用户面数据包中的位置。例如,用户面数据包的协议头被确定携带指示符。然后,可以协商更具体的位置。例如,用户面数据包的协议头中的用户面位置可以被确定携带指示符。其他特定的比特或字节可以被确定为携带指示符的位置。

可选地,当计算机程序由处理器执行时,处理器610还执行以下动作:向终端设备发送关于待检测的应用和/或指示符和/或位置的信息,并接收来自终端设备的回复;和/或接收来自终端设备的包含待检测的应用和/或指示符和/或位置的消息,并向终端设备发送响应。

可选地,当计算机程序由处理器执行时,处理器610还执行以下动作:向终端设备发送应用列表,以指示哪个应用需要由网络侧设备检测。

可选地,当计算机程序由处理器执行时,处理器610还执行以下动作:接收来自终端设备的包含应用标识符的应用集,并将响应发送到终端设备。其中,响应可以指示该应用集是否被网络侧设备允许。

可选地,当计算机程序由处理器执行时,处理器610还执行以下动作:接收来自终端设备的包含应用标识符的应用集,通过从应用集中选择应用来确定另一应用集,并将该另一应用集发送给终端设备。

可选地,当计算机程序由处理器执行时,处理器610进一步执行以下动作:对应用标识符和指示符进行认证。

其中,还提供了一种计算机可读介质。该计算机可读介质用于存储计算机程序,该计算机程序包括用于执行结合图1及其所有示例的上文所述的用于流量检测的方法的指令。

其中,还提供了另一种计算机可读介质。该计算机可读介质用于存储计算机程序,该计算机程序包括用于执行结合图2及其所有示例的上文所述的用于流量检测的方法的指令。

其中,还提供了一种计算机程序产品。该计算机程序产品包含指令,当由计算机执行时,这些指令使得计算机实现结合图1及其所有示例的上文所述的用于流量检测的方法。

其中,还提供了另一种计算机程序产品。该计算机程序产品包含指令,当由计算机执行时,这些指令使得计算机实现结合图2及其所有示例的上文所述的用于流量检测的方法。

在下文中,结合图7提供了用于流量检测的方法的具体应用示例。在该应用示例中,终端设备是ue,网络侧包括无线接入网(ran)、核心网-用户面(cn-up)实体如smf和pgw-c等、核心网-控制面实体如upf和pgw-u等。在该应用示例中,还可能有订阅或策略设备。注意的是,cn-up、cn-cp和订阅或策略设备可以统称为网络侧设备,它们可以是不同的设备或者它们的功能由单个设备实现。例如,网络侧设备可以是smf、pgw或upf。

在本应用示例中,令牌被作为指示符。用于流量检测的方法包括动作s710至s750。

在该示例中,ue可以从cn-cp接收加密流量检测规则(etdr),该cn-cp可以在ue注册到网络期间或在pdu会话程序期间从订阅或策略设备获得该etdr。ue可以通过其他方式获得etdr。例如,ue可以由其制造商配置有etdr。etdr可以是显示哪个应用需要将令牌添加到用户面数据包中的应用列表。此外,etdr可以包括令牌将被添加到用户面数据包中的位置。

在s710中,ue通过nas消息将应用标识符和与该应用标识符相关的令牌发送给cn-cp。

在s720中,cn-cp对应用标识符和令牌进行认证,当认证通过时,执行s730。

在s730中,cn-cp与cn-up通信以利用令牌建立过滤器。

在s740中,ue向网络发送具有添加在前一个或多个用户面数据包中的令牌的应用的流量的用户面数据包。

在s750中,cn-up通过过滤器检测前一个或多个用户面数据包中的令牌,并基于与用户面数据包中的令牌相关联的应用标识符来确定流量所属的应用。

在s760中,cn-up提取具有令牌的用户面数据包中的诸如ip元组的ip地址或mac地址,并使用所提取的ip地址或mac地址来安装另一过滤器,以检测后续的用户面数据包,并基于该ip地址或mac地址来确定后续的用户面数据包所属的应用。

注意的是,s720和s750是可选的。当令牌被添加到每个用户面数据包中时,可以不需要s750。可以执行cn-up和cn-cp之间的交互来更新针对应用标识符的策略。s750-s760可以多次执行,每当网络侧设备检测到令牌时,其将利用检测到的包的ip元组和/或mac地址来安装过滤器以检测流量。

注意的是,etdr可以被动态更新,因此s710-s750中的部分或全部动作可以在应用的流量的用户面数据包传输期间多次改变。例如,ue传输定位应用的流量的用户面数据包,并将令牌添加到用户面数据包中。然后,更新后的etdr被发送给ue,并指示该定位应用被从应用列表中移除,因此ue将不再将该令牌添加到用户面数据包中。在另一示例中,ue移动,其ip地址或mac地址改变,因此需要提取新的ip地址或mac地址,并且需要在网络侧安装新的过滤器。可选地,每次ue接入网络时,ue将令牌添加到新传输的用户面数据包中,以及网络侧设备提取具有令牌的用户面数据包中的ip地址或mac地址,并根据该ip地址或mac地址安装新的过滤器。

根据本公开的实施方式和可能的示例,应用标识符和与应用标识符相关联的指示符从终端设备被传输到网络侧设备,使得由终端设备传输的流量的用户面数据包可以由网络侧设备基于添加到用户面数据包中的指示符来检测,并且网络侧设备可以基于与用户面数据包中的指示符相关联的应用指示符确定流量所属的应用。

应当理解,在本公开的上述实施方式中,处理器可以是中央处理单元(cpu),或者处理器可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器,或者处理器可以是任何常规处理器等。

存储器可以包括只读存储器和随机存取存储器,并且向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型信息。

在该过程中,上文描述的方法实施方式的动作可以通过处理器中硬件的集成逻辑电路或软件形式的指令来完成。结合本公开的实施方式公开的方法的动作可以通过硬件处理器的执行或者通过处理器中硬件和软件模块的组合的执行来直接体现。软件模块可以位于本领域常用的存储介质中,例如随机存取存储器、闪存、只读存储器、可编程只读存储器或电可擦除可编程存储器或寄存器。存储介质位于存储器中,处理器读取存储器中的信息,并结合其硬件完成上述方法的动作。为了避免重复,此处不再详细描述。

应理解的是整个说明书所涉及的“一种实施方式”、“实施方式”意味着与实施方式相关的特定特征、结构或特性包含在本公开的至少一种实施方式中。因此,贯穿本说明书出现的“在一种实施方式中”或“在实施方式中”不一定指相同的实施方式。此外,这些特定特征、结构或特性可在一种或更多种实施方式中以任何适合的方式组合。

应当理解,在本公开的各种实施方式中,上述过程中的序号的值不指示执行顺序,并且各种过程的执行顺序应当由其功能和内部逻辑来确定,并且不应当对本公开的实施方式的过程构成任何限制。

本领域普通技术人员将认识到,结合本文公开的实施方式描述的方法步骤和单元可以在电子硬件、计算机软件或两者的组合中实现。为了清楚地说明硬件和软件的可互换性,在上文的描述中已经以功能的通用的方式描述了实施方式的动作和组件。这些功能以硬件还是软件的方式实现取决于本技术方案的特定应用和设计约束条件。本领域技术人员可以使用不同的方法来实现针对每个特定应用的所述的功能,但这样的实现方式不应被认为超出了本公开的范围。

结合本文公开的实施方式描述的方法或步骤可以用硬件、可由处理器执行的软件程序、或者硬件和可由处理器执行的软件程序的组合来实现。软件程序可以置于随机存取存储器(ram)、存储器、只读存储器(rom)、电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、寄存器、硬盘、可移动磁盘、光盘只读存储器(cd-rom)、或本领域已知的任何其他形式的存储介质中。

在本公开提供的几种实施方式中,应当理解,所公开的系统、设备和方法可以以其他方式实现。例如,上述设备实施方式仅仅是说明性的,例如,单元的划分仅仅是逻辑功能划分,在实际实现中可以有其他的划分方式,例如,多个单元或组件可以被组合或集成到另一系统中,或者一些特征可以被忽略或不被执行。

被描述为独立单元的单元可以是也可以不是物理分离的,被示出为单元的组件可以是也可以不是物理单元,即,其可以位于一个地方或者可以分布在多个网络单元上。可以根据实际需要选择部分或全部单元来实现各实施方式的目的。

此外,本公开的各种实施方式中的各种功能单元可以集成在一个处理单元中,或者这些单元可以是物理上分开出现的,或者两个或更多个单元可以集成在一个单元中。

尽管已经参考附图并结合优选的实施方式详细描述了本公开,但是本公开并不限于此。本领域技术人员可以在不脱离本公开的精神和本质的情况下对本公开的实施方式进行各种等同的修改或替换,且这些修改或替换被认为落入本公开的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1