掌桥专利:专业的专利平台
掌桥专利
首页

具有异常行为模式的设备的评估和动态隔离

文献发布时间:2023-06-19 19:33:46


具有异常行为模式的设备的评估和动态隔离

背景技术

网络可以包含大量即插即用设备,包括如计算机显示器、电视、打印机、手机和传感器之类的物联网设备。一旦即插即用设备被连接到计算系统,计算系统的操作系统和基本输入/输出系统(BIOS)就可以自动识别即插即用设备的身份和配置。在识别后,计算系统可以加载适当的软件或设备驱动程序,以使即插即用设备运行。计算系统可以进一步分配资源、解决冲突、配置其他的设置和参数、以及通知即插即用设备的其他驱动程序或应用。

网络中的每个设备都可以发送大量的多播和单播分组,其中多播分组被发送给同一层2(L2)网络内的很多其他设备,而单播分组被发送给该网络中的一个特定的其他设备。通常,多播分组以设置持续时间被周期性地发送。但是现在,由于设备具有更高级的特征(诸如,视频流),因此多播分组从每个设备被发出的频率更高。多播分组的增加导致数据业务和带宽的增加,从而降低了网络体验。

附图说明

参考以下附图详细地描述了根据一个或多个不同的实施例的本公开。提供这些附图仅出于说明的目的并仅描绘典型或示例性的示例。

图1A是根据本公开中所描述的示例的以流线型方式认证和授权客户端设备访问网络的计算系统的示例图示;

图1B是根据本公开的各种示例的分析来自设备的多播分组的图示;

图2是根据本公开的各种示例的多播分组的示例传输的图示;

图3是根据本公开的各种示例的服务器关于多播分组的操作的图示;

图4是根据本公开的各种示例的分析多播分组的服务器的图示;

图5是根据本公开的各种示例的确定是否应当阻挡来自设备的多播分组的服务器的图示;以及

图6示出了可以在其中实现本公开的各种示例的示例计算机系统的框图。

附图不是详尽的并且不将本公开限制为所公开的精确形式。

具体实施方式

在计算机网络中,单播和多播分组是信息传输方法。单播分组涉及一个站点或设备将信息传输给一个接收站点或设备。多播分组涉及发送方站点或设备将信息传输该计算机网络中的多个其他站点或设备。本质上,多播是一种一对多通信方法。虽然使用多播分组可能比使用单播分组更有效,因为多个接收站点或设备可以从单个发送方站点或设备接收传输,但是多播分组需要更多的带宽分配和使用,这可能会增加网络中的业务流的量。鉴于当今计算机网络中存在的计算设备的增加,并且每个计算设备都具有需要大量数据的更高级的应用或特征,因此在计算机网络中拥有过多的多播分组会使网络迅速过载,从而表现为急剧降低的网络性能。此外,计算设备中的高级应用倾向于以意想不到的间隔自动传输多播分组。多播分组的意外或不可预测的传输可能导致计算机网络过载,从而触发网络中通信性能和整体网络体验的下降。

本文中所描述的是解决上述问题的解决方案。从网络中的客户端设备发送的多播分组可以直接发送给服务器,该服务器将监测并记录正在从网络中的每个设备传输的多播分组的数目。服务器可以进一步监测设备是否正在特定持续时间内为每种类型的设备提交多于一组范围的多播分组。如果服务器确定网络中的特定设备正在传输过多的多播分组,则服务器可以向特定设备发送通知以减少特定设备正在传输的多播分组的数目,或者阻挡正在从特定设备传输的所有多播分组。因此,服务器将能够监测并调节网络中数据的性能、安全性和业务流,并且防止或减轻由于正在传输超量的多播分组而导致网络通信的任何缺陷。

图1A是包括一个或多个计算组件的计算系统110的示例图示,计算组件可以包括服务器111、路由器120、交换机122、网络控制器124、接入点126和DHCP服务器128中的任何一个。在一些示例中,路由器120可以与防火墙121相关联。服务器111还可以包括数据库或高速缓存112(在下文中被称为“数据库”)或与其相关联,该数据库或高速缓存112存储特定客户端设备的属性和与特定客户端设备相关联的访问控制列表或策略,诸如客户端设备151-159,该客户端设备经由接入点126连接到网络。在一些示例中,任何或所有客户端设备151-159可以包括即插即用设备。尽管在图1A中仅示出了九个客户端设备,但是可以经由接入点126连接任何数目的客户端设备。数据库112可以集成或嵌入在服务器111内,或者在空间上与服务器111分离。访问控制列表可以被存储为文件,和/或可以被索引。在一些示例中,访问控制列表或策略可以包括根据客户端设备所属的组或分类而要分配给每个客户端设备的特定访问级别和/或访问权限。例如,访问权限可以指示每个客户端设备被授权访问的数据资源的子集(例如,一部分或全部)(诸如,特定数据服务器、数据库、平台、对象、文件目录或文件)、每个客户端设备可以用来访问数据资源的特定协议(例如,超文本传输协议(HTTP)或文件传输协议(FTP))、要提供给每个客户端设备的传输速度或速率、一个或多个供应商特定属性(VSA)、和/或要分配给每个客户端设备的特定VLAN。在一些示例中,VSA可以包括传入和/或传出业务的带宽、以及下载和/或上传速度。访问控制列表或策略可以存储在服务器111的数据库112中,而不是存储在诸如路由器120等其他计算组件处,使得服务器111可以集中更新访问控制列表或策略并且将任何更新传播到其他网络中的计算组件。

每个计算组件可以包括实现指令以执行计算组件的功能的一个或多个硬件处理器和逻辑。特别地,如图1B中所示,服务器111可以包括一个或多个硬件处理器162和逻辑113或与其相关联,一个或多个硬件处理器162和逻辑113实现指令或协议以执行服务器111的功能。逻辑113可以执行指令166以接收由客户端设备经由网络控制器124传输的一个或多个多播和单播分组。逻辑113可以执行指令168以验证客户端设备的信息。逻辑113可以执行指令170以从多播分组中解密或提取一个或多个属性,包括客户端设备的媒体访问控制(MAC)地址、一个或多个硬件属性(诸如,客户端设备类型(例如,平板电脑、台式计算机、IoT设备))、和/或客户端设备的一个或多个软件属性(诸如,软件版本和/或软件组件)。逻辑113可以执行指令172以将关于属性的条目记录在数据库112中。逻辑113可以执行指令174以使用该属性确定或导出是否应当传输多播分组。

图2是根据本公开的各种示例的在其上实现多播分组的传输的示例网络200的图示。在一些示例中,网络200可以包括或包含一个或多个计算组件,该计算组件可以包括服务器111、网络设备220、网络控制器222、接入点224和客户端设备210、230、232、234和236中的任何一个。图2详细说明了图1A和图1B的特定组件,同时阐明了组件之间的信息交换。客户端设备210、230、232、234和236可以是任何计算设备,诸如计算机、移动电话、平板设备等。网络设备220可以被实现为图1A的路由器120或交换机122。网络设备220可以是被配置为连接网络中的各种计算组件的路由器或交换机,诸如客户端设备210、客户端设备230、客户端设备232、客户端设备234、客户端设备236、网络控制器222、接入点224和服务器111。服务器111还可以包括数据库或高速缓存112(在下文中被称为“数据库”)或与其相关联,该数据库或高速缓存112存储特定客户端设备、服务器的属性、以及与经由接入点连接到网络的客户端设备210、230、232、234和236相关联的访问控制列表或策略。在一些示例中,客户端设备210、230、232、234和236可以通过Wi-Fi(例如,IEEE 802.11)、Bluetooth(例如,IEEE802、15、1)或蜂窝连接无线地访问互联网(例如,长期演进、第五代蜂窝网络等)以通过网络设备220无线访问服务器111。服务器111可以实现软件和/或硬件,诸如网络服务器、应用服务器、通信服务器、数据库服务器等。服务器111可以通过Wi-Fi、Bluetooth、电话线或LAN/WLAN网络接口访问互联网。在其他示例中,网络设备220可以是企业内联网(例如,专用网络),并且客户端设备210、230、232、234和236可以通过网络设备220无线地访问企业内联网以访问数据文件或其他企业数据。在一些情况下,网络设备220可以是允许多个计算组件彼此通信的网络链路(例如,Wi-Fi、以太网端口、路由器、交换机等)。网络控制器222和接入点224可以被配置为允许网络中的计算组件(诸如,客户端设备210、客户端设备230、客户端设备232、客户端设备234、客户端设备236和服务器111)通过网络设备220连接。在该示例中,网络设备220可以在客户端设备210与客户端设备230、232、234和236中的每个客户端设备之间建立客户端-客户端通信。

在一些示例中,可以在客户端设备210将多播分组240传输到网络中时开始传输。多播分组240可以被寻址到网络中剩余客户端设备的任何子集(例如,全部或部分),诸如客户端设备230、232、234和236。在传输期间,客户端设备210可以与客户端设备230、232、234和236中的每个客户端设备建立通信。服务器111可以被配置为充当用于在客户端设备210与客户端设备230、232、234和236中的每个客户端设备之间建立客户端-客户端通信的链路。服务器111和客户端设备210、230、232、234和236可以经由网络设备220、网络控制器222和/或接入点224在网络中彼此连接。在一些示例中,一旦客户端设备210传输多播分组240,多播分组240就可以由服务器111经由接入点224接收。然后服务器111可以读取多播分组240以获得身份信息。身份信息可以包括但不限于源设备地址、目的地设备地址、源设备端口、目的地设备端口、和/或属性,诸如源设备类型、目的地设备类型、所传输的帧长度或分组大小、所传输的帧的数目或分组的数目、帧或分组大小的变化、帧或分组长度的变化、分组的频率、帧的频率、和/或帧或分组内数据的总体大小。在一些示例中,传输的多播分组240可以包括广告或查询的服务,例如视频流、视频会议或互联网协议电视(IPTV)210。

一旦服务器111读取并获得多播分组240的身份信息,服务器111就可以将身份信息记录并且存储到数据库112中。服务器111可以进一步分析多播分组240的身份信息、以及存储在数据库112中的先前发送的多播分组的身份信息。允许身份信息存储在服务器111处的数据库112中并且允许服务器111分析存储在数据库112中的身份信息以及多播分组240的身份信息可以允许服务器111监测正在从网络中的每个客户端设备传输的多播分组的总数量。分析所存储的身份信息和上述身份信息可以允许服务器111监测网络中数据的性能、安全性和业务流,并且检测来自客户端设备210的任何异常行为。分析所存储的身份信息和上述身份信息可以包括或包含确定是否可以在客户端-客户端通信中传输多播分组240。在一些示例中,确定是否可以传输多播分组240可以包括或包含基于客户端设备210的设备类型来比较在设置持续时间内从客户端设备210传输的多播分组的总数量。在设置持续时间内从客户端设备210传输的多播分组可以基于身份信息和所存储的身份信息的任何数目的属性。如果正在从客户端设备210传输的多播分组的总数量大于客户端设备210的设备类型的阈值,则服务器111可以检测到异常行为。服务器111可以在检测到异常行为后阻挡多播分组240并不将多播分组240传输给其他客户端设备230、232、234和236,即使任何其他客户端设备230、232、234和236查询多播分组240。如果服务器111确定正在从客户端设备210传输的多播分组的总数量低于阈值,则服务器111可以确定没有异常行为并且可以以单播格式将多播分组240选择性地路由或传输到查询多播分组240的任何其他客户端设备230、232、234和236。例如,如果其他客户设备230和232查询多播分组240,则服务器可以发起将多播分组240路由或传输到其他客户端设备230和232,而不将多播分组240路由或传输到未查询多播分组240的其他设备234和236。在一些示例中,服务器111可以发起多播分组240到网络控制器222的传输或路由,网络控制器222将多播分组240转发给一个或多个适当的目的地(例如,上述情境中的其他客户端设备230和232)。类似地,服务器111可以基于上述因素中的其他因素以及上述因素与相应阈值的比较来确定客户端设备210的行为是否异常,诸如以下中的任何一个:所传输的帧的长度或大小或分组的大小、所传输的帧的数目或分组的数目、帧或分组的大小的方差、帧或分组长度的变化、分组的频率、帧的频率、和/或帧或分组内数据的总体大小。

另外地或备选地,当服务器111检测到来自客户端设备210的异常行为时,服务器111可以向客户端设备210发送警报。警报可以包括或包含消息(例如,文本、电子邮件、通知(诸如,应用通知)等)和声音。客户端设备210可以提供对警报的应答以解决异常行为。例如,如果客户端设备210接收到关于在设置持续时间内向网络发送太多(例如,在指定持续时间内超过阈值速率或数目)多播分组的警报,则客户端设备210可以发送包括肯定消息或否定信息的应答。肯定消息可以是指示客户端设备210将减少其在设置持续时间内发送给网络的多播分组的总数量的消息。否定消息可以是指示客户端设备210将不减少其在设置持续时间内发送给网络的多播分组的总数量的消息。响应于接收到肯定消息,服务器111可以允许客户端设备210向网络发送更多多播分组。响应于接收到否定消息,服务器111可以阻挡客户端设备210向网络发送任何附加多播分组。因此,在这种情境下,服务器111可以在设置持续时间内调节从网络中的每个客户端设备通过网络传输的多播分组的总数量以监测网络中数据的性能、安全性和业务流,以及防止网络通信的任何缺陷。

另外地或备选地,服务器111可以向管理员发送报警以提供异常行为的通知。管理员可以响应于报警而提供反馈以解决异常行为。例如,如果管理员接收到关于客户端设备210发送多播分组的总数量大于阈值的报警,则管理员可以发送反馈以将客户端设备210标记为高风险。将客户端设备标记为高风险可以向传输网络的所有其他计算组件提供通知。另外地或备选地,管理员可以发送反馈以将客户端设备210添加到受限列表,其中受限列表包括或包含诸如可能不向网络传输任何多播分组的客户端设备等计算组件。一旦客户端设备210被添加到受限列表中,服务器111就可以阻挡和关闭从客户端设备210接收的任何其他多播分组。因此,在这种情境下,服务器111可以调节在设置持续时间内通过网络从客户端设备传输的多播分组的总数量,以监测网络中数据的性能、安全性和业务流,并且防止网络通信的任何缺陷。

另外地或备选地,在将正在特定设置持续时间内从客户端设备210传输的多播分组的总数量与阈值进行比较后,服务器111可以检测或确定在特定设置持续时间内该总数量高于阈值,服务器111可以实现进一步检测在随后的特定设置持续时间内正在从客户端设备210传输的多播分组的总数量。例如,如果服务器111检测到在过去一分钟或一小时内或任何设置时间量内正在从客户端设备210传输的多播分组的总数量超过或违反阈值,则服务器111可以收集关于在随后的一分钟或一小时或任何设置时间量内正在从客户端设备210传输的多播分组的总数量的附加信息。另外地或备选地,如果任何其他参数超过相应阈值,则服务器111可以对身份信息中包括的其他参数执行这种连续检测,诸如以下中的任何一个:所传输的帧的长度或大小或分组的大小、所传输的帧的数目或分组的数目、帧或分组大小的变化、帧或分组长度的变化、分组的频率、帧的频率、和/或帧或分组内数据的总体大小。

图3示出了计算组件300,计算组件300包括一个或多个硬件处理器302和存储一组机器可读/机器可执行指令的机器可读存储介质304,该指令在被执行时使(多个)硬件处理器302执行在保持网络服务和性能的同时降低计算成本的说明性方法。应当理解,除非另有说明,否则在本文中所讨论的各种示例的范围内,可以有以类似或备选的顺序或并行执行的更多、更少或备选的步骤。计算组件300可以实现为图1A和图2的服务器111。图3总结并且进一步阐述了先前描述的一些方面。

在指令320处,(多个)硬件处理器302可以执行存储在机器可读存储介质304中的机器可读/机器可执行指令以从网络中的一个或多个客户端设备(例如,图1A或图2中所示的任何客户端设备)接收多播分组。在一些示例中,第一客户端设备可以向网络发出多播分组以供网络中的所有其他客户端设备接收。第一客户端设备可以是网络中的多个客户端设备中的一个。网络中的一个或多个客户端设备可以是诸如计算机、手机、平板设备等计算设备。多播分组可以是消息、广告、视频、文件等形式。很多变化是可能的。在第一客户端设备向网络发送多播分组之后,服务器接收多播分组并且选择性地将多播分组以单播格式路由或传输到查询多播分组的任何其他客户端设备,如关于图2所描述的。服务器可以同时从网络中的一个或多个客户端设备接收多个多播分组。

在指令330处,(多个)硬件处理器302可以执行存储在机器可读存储介质304中的机器可读/机器可执行指令以分析从网络中的一个或多个客户端设备接收的多播分组。在一些示例中,服务器可以从网络中的第一客户端设备接收多播分组。然后,服务器可以通过读取并获得多播分组的身份信息来分析多播分组。身份信息可以包括关于图2提及的任何身份信息,包括源设备地址、目的地设备地址、源设备端口、目的地设备端口、和/或属性,诸如源设备类型、目的地设备类型、所传输的帧长度或分组大小、所传输的帧的数目或分组的数目、帧或分组大小的变化、帧或分组长度的变化、分组的频率、帧的频率、和/或帧或分组内数据的总体大小。在服务器读取并获得多播分组的身份信息之后,服务器可以将该身份信息存储并且记录在数据库中。服务器还可以从数据库获得在设置持续时间内从第一客户端设备发送的多个先前发送的多播分组的所存储的身份信息。例如,先前发送的多播分组可以来自前一小时、八小时、24小时、48小时或过去一周内的持续时间。服务器可以将多播分组的身份信息和所存储的身份信息一起分析。允许服务器将身份信息存储在数据库中并且允许服务器将存储在数据库中的身份信息与所接收的多播分组的身份信息一起分析可以允许服务器监测正在从网络中的每个客户端设备传输的多播分组的总数量。分析所存储的身份信息和从网络中的每个客户端设备接收的身份信息可以允许服务器监测网络中数据的性能、安全性和业务流,并且检测来自网络中的多个客户端设备中的每个客户端设备的任何异常行为。分析所存储的身份信息和第一客户端设备的身份信息可以包括或包含确定是否可以将所接收的多播分组传输给网络中的其他客户端设备。在一些示例中,确定是否可以传输多播分组可以包括或包含基于第一客户端设备的设备类型来比较在设置持续时间内从第一客户端设备传输的多播分组的总数量。在设置持续时间内从第一客户端设备传输的多播分组的总数量可以基于身份信息和所存储的身份信息的任何数目的属性。如果正在从第一客户端设备传输的多播分组的总数量大于第一客户端设备的设备类型的阈值,则服务器可能检测到异常行为。

在指令3430处,(多个)硬件处理器302可以执行存储在机器可读存储介质304中的机器可读/机器可执行指令,以基于对来自客户端设备的多播分组执行的分析结果来执行动作。在服务器已分析了在设置持续时间内从第一客户端设备接收的多播分组之后,服务器可以确定它是否检测到来自第一客户端设备的异常行为。响应于检测到来自第一客户端设备的异常行为,服务器随后可以丢弃或阻挡多播分组而不处理多播分组以节省计算成本。如果服务器确定在设置持续时间内正在从第一客户端设备传输的多播分组的总数量低于阈值,则服务器可以确定没有来自第一客户端设备的异常行为并且可以将所接收的多播分组转发给网络中的其他客户端设备。

另外地或备选地,当服务器检测到来自第一客户端设备的异常行为时,服务器可以向第一客户端设备发送警报。警报可以包括或包含消息(例如,文本、电子邮件、通知(诸如,应用通知))和声音。第一客户端设备可以提供对警报的应答以解决异常行为。例如,如果第一客户端设备在设置持续时间内接收到关于向网络发送太多多播分组的警报,则第一客户端设备可以发送包括肯定消息或否定消息的应答。肯定消息可以是指示第一客户端设备将减少其在设置持续时间内发送给网络的多播分组的量的消息。否定消息可以是指示第一客户端设备将不减少其在设置持续时间内发送给网络的多播分组的量的消息。响应于接收到肯定消息,服务器可以允许第一客户端设备向网络发送更多多播分组。响应于接收到否定消息,服务器可以阻挡第一客户端设备向网络发送任何附加多播分组。因此,在这种情境下,服务器可以在设置持续时间内调节从网络中的每个客户端设备通过网络传输的多播分组的总数量以监测网络中数据的性能、安全性和业务流,并且防止网络通信的任何缺陷。

另外地或备选地,服务器可以向管理员发送报警以提供异常行为的通知。管理员可以响应于报警而提供反馈以解决异常行为。例如,如果管理员收到关于第一客户端设备发送多播分组的总数量大于阈值的报警,则管理员可以发送反馈以将第一客户端设备标记为高风险。将客户端设备标记为高风险可以向网络的其他计算组件提供通知。另外地或备选地,管理员可以发送反馈以将第一客户端设备添加到受限列表,其中受限列表包括诸如可能不向网络传输任何多播分组的客户端设备等计算组件。一旦第一客户端设备被添加到受限列表中,服务器就可以阻挡和关闭从第一客户端设备接收的任何其他多播分组。因此,在这种情境下,服务器可以调节在设置持续时间内通过网络从网络中的每个客户端设备传输的多播分组的总数量,以监测网络中数据的性能、安全性和业务流,并且防止网络通信的任何缺陷。

另外地或备选地,如上面参考图2所描述的,服务器(例如,服务器111)可以将在特定设置持续时间内正在从第一客户端设备传输的多播分组的总数量与阈值进行比较。在检测到或确定在特定设置持续时间内总数量高于阈值后,服务器可以实现进一步检测在随后的特定设置持续时间内正在从第一客户端设备传输的多播分组的总数量。例如,如果服务器检测到在过去一分钟或一小时内或任何设置时间量内正在从第一客户端设备传输的多播分组的总数量超过或违反阈值,则服务器可以收集关于在随后的一分钟或一小时或任何设置时间量内正在从第一客户端设备传输的多播分组的总数量的附加信息。另外地或备选地,如果任何其他参数超过相应阈值,则服务器可以对身份信息中包括的其他参数执行这种连续检测,诸如以下中的任何一个:所传输的帧的长度或大小或分组的大小、所传输的帧的数目或分组的数目、帧或分组大小的变化、帧或分组长度的变化、分组的频率、帧的频率、和/或帧或分组内数据的总体大小。

图4示出了计算组件400,计算组件400包括一个或多个硬件处理器402和存储一组机器可读/机器可执行指令的机器可读存储介质404,该指令在被执行时使(多个)硬件处理器402执行在保持网络服务和性能的同时降低计算成本的说明性方法。应当理解,除非另有说明,否则在本文中所讨论的各种示例的范围内,可以有以类似或备选的顺序或并行执行的更多、更少或备选的步骤。计算组件400可以实现为图1A、图1B、图2和图3的服务器111。图4总结并且进一步阐述了先前描述的一些方面。

在指令408处,(多个)硬件处理器402可以执行存储在机器可读存储介质404中的机器可读/机器可执行指令以从所接收的从第一客户端设备(例如,图1A或图2中所示的任何客户端设备)发送的多播分组中获得身份信息。服务器可以读取并获得从第一客户端设备发送的所接收的多播分组的身份信息。身份信息可以包括或包含源设备地址、目的地设备地址、源设备端口、目的地设备端口、和/或属性,诸如源设备类型、目的地设备类型、所传输的帧长度或分组大小、所传输的帧的数目或分组的数目、帧或分组大小的变化、帧或分组长度的变化、分组的频率、帧的频率、和/或帧或分组内数据的总体大小。服务器还可以将从第一客户端发送的所接收的多播分组的身份信息存储并且记录到数据库中。

在指令410处,(多个)硬件处理器402可以执行存储在机器可读存储介质404中的机器可读/机器可执行指令以确定从第一客户端设备接收的多播分组的数量。多播分组的数量基于从身份信息中获得的多播分组的一个或多个属性。属性可以包括或包含源设备类型、目的地设备类型、所传输的帧长度或分组大小、所传输的帧的数目或分组的数目、帧或分组大小的变化、帧或分组长度的变化、分组频率、帧频率、和/或帧或分组内数据的总体大小。例如,从第一客户端设备接收的多播分组的数目可以基于所传输的分组的数量、分组的大小和分组内的数据大小的组合。

在指令412处,(多个)硬件处理器402可以执行存储在机器可读存储介质404中的机器可读/机器可执行指令以从数据库获得先前发送的多播分组的存储数量。服务器可以从数据库获得从第一客户端设备发送的先前发送的多播分组的所存储的身份信息。所存储的身份信息可以包括或包含源设备地址、目的地设备地址、源设备端口、目的地设备端口、和/或属性,诸如源设备类型、目的地设备类型、所传输的帧长度或分组大小、所传输的帧的数目或分组的数目、帧或分组大小的变化、帧或分组长度的变化、分组的频率、帧的频率、和/或从第一客户端设备发送的多个多播分组的帧或分组内数据的总体大小。服务器可以分析所存储的身份信息,以确定在设置持续时间内先前发送的多播分组的存储数量。先前发送的多播分组的存储数量基于多个先前发送的多播分组的一个或多个属性。例如,从第一客户端设备接收的先前发送的多播分组的存储数量可以基于所传输的分组的总数量、分组大小的总和、以及先前从第一客户端设备发送的多播分组的分组内数据大小的总和的组合。

在指令414处,(多个)硬件处理器402可以执行存储在机器可读存储介质404中的机器可读/机器可执行指令以确定在设置持续时间内从第一客户端设备发送的多播分组的总数量。在服务器获得并且确定从第一客户端设备接收的多播分组的数量和先前从第一客户端设备发送的多播分组的存储数量之后,服务器可以将这两个数量相加,以确定在设置持续时间内从网络中的第一客户端设备发送的多播分组的总数量。

在指令416处,(多个)硬件处理器402可以执行存储在机器可读存储介质404中的机器可读/机器可执行指令以获得从第一客户端设备发送的多播分组的基线范围。服务器可以从从第一客户端接收的多播分组中获得的身份信息中获得第一客户端的设备类型。服务器可以使用设备类型从数据库获得在设置持续时间内从该设备类型发送的多播分组的基线范围。数据库可以存储多个设备类型的多个基线范围。可以预先记录存储在数据库中的多个基线范围。存储在数据库中的多个基线范围可以基于网络的各种因素而变化。存储在数据库中的多个基线范围可以由管理员周期性地调节。很多变化是可能的。在一些示例中,存储在数据库中的多个设备类型的多个基线范围可以取决于客户端设备的类型和操作系统版本。

在指令418处,(多个)硬件处理器402可以执行存储在机器可读存储介质404中的机器可读/机器可执行指令以确定从第一客户端设备发送的多播分组的总数量与从第一客户端设备发送的多播分组的基线范围之间的数量差。一旦服务器获得第一客户端设备的设备类型并且基于第一客户端设备的设备类型获得第一客户端设备的基线范围,服务器就可以确定总数量与第一客户端设备的基线范围的上限值之间的数量差。例如,服务器确定在一小时内从第一客户端设备发送的多播分组的总数量为1120个。服务器基于从第一客户端设备发送的多播分组的身份信息确定第一客户端设备的设备类型为Chromecast。服务器从数据库中确定Chromecast的基线范围是每小时发送100-210个多播分组。服务器确定总数量与基线范围的上限值之间的数量差为910(1120减去210)。

在指令420处,(多个)硬件处理器402可以执行存储在机器可读存储介质404中的机器可读/机器可执行指令以确定从第一客户端设备发送的多播分组的总数量与从第一客户端设备发送的多播分组的基线范围之间的数量差是否大于至少一个阈值。如果数量差在至少一个阈值内,则(多个)硬件处理器402可以继续传输多播分组而不阻挡。服务器通过相减确定从第一客户端设备发送的多播分组的总数量与从第一客户端设备发送的多播分组的基线范围之间的数量差。例如,服务器确定在一小时内从第一客户端设备发送的多播分组的总数量为1120个。服务器基于从第一客户端设备发送的多播分组的身份信息确定第一客户端设备的设备类型为Chromecast。服务器从数据库中确定Chromecast的基线范围是每小时发送100-210个多播分组。服务器确定总数量与基线范围的上限值之间的数量差为910(1120减去210)。服务器可以获得第一客户端设备在设置持续时间内可以发送的多播分组的阈值。该阈值基于第一客户端设备的设备类型。第一阈值可以是针对第一客户端设备的设备类型每小时发送的多播分组的基线范围的上限值的三倍(3×)。第二阈值可以是针对第一客户端设备的设备类型每小时发送的多播分组的基线范围的上限值的五倍(5×)。很多变化是可能的。服务器确定数量差是否大于阈值。例如,第一客户端设备是设备类型Chromecast。设备类型Chromecast的基线范围的上限值为210。第一阈值对应于630,第二阈值对应于1040。总数量与Chromecast的基线范围的上限值之间的数量差为910。服务器确定数量差大于三倍(3×)阈值并且小于五倍(5×)阈值。

在一些示例中,如果超过第一阈值,则在将在特定设置持续时间正在从第一客户端设备传输的多播分组的总数量与阈值进行比较后,服务器可以检测或确定在特定设置持续时间内总数量高于阈值,服务器可以实现进一步检测在随后的特定设置持续时间内正在从第一客户端设备传输的多播分组的总数量。例如,如果服务器检测到在过去的一分钟或一小时内或任何设置时间量内正在从第一客户端设备传输的多播分组的总数量超过或违反阈值,则服务器可以收集关于在随后的一分钟或一小时或任何设置时间量内正在从第一客户端设备传输的多播分组的总数量的附加信息。另外地或备选地,如果任何其他参数超过相应阈值,则服务器可以对身份信息中包括的其他参数执行这种连续检测,诸如以下中的任何一个:所传输的帧的长度或大小或分组的大小、所传输的帧的数目或分组的数目、帧或分组大小的变化、帧或分组长度的变化、分组的频率、帧的频率、和/或帧或分组内数据的总体大小。

下表示出了根据本公开的各种示例的针对各种设备类型的在设置持续时间内发送的多播分组的基线范围、每小时查询或响应分组的数目的示例表格。

图5示出了计算组件500,计算组件500包括一个或多个硬件处理器502和存储一组机器可读/机器可执行指令的机器可读存储介质504,该指令在被执行时使(多个)硬件处理器502执行在保持网络服务和性能的同时降低计算成本的说明性方法。应当理解,除非另有说明,否则在本文中所讨论的各种示例的范围内,可以有以类似或备选的顺序或并行执行的更多、更少或备选的步骤。计算组件500可以实现为图1A、图1B、图2、图3和图4的服务器111。图5总结并且进一步阐述了先前描述的一些方面。

在指令510处,(多个)硬件处理器502可以执行存储在机器可读存储介质504中的机器可读/机器可执行指令以确定从第一客户端设备(例如,图1A或图2中所示的任何客户端设备)发送的多播分组的总数量与第一客户端设备的基线范围之间的数量差是否大于至少一个阈值。服务器通过相减确定从第一客户端设备发送的多播分组的总数量与第一客户端设备的基线范围之间的数量差。例如,服务器确定在一小时内从第一客户端设备发送的多播分组的总数量为1120个。服务器基于从第一客户端设备发送的多播分组的身份信息确定第一客户端设备的设备类型为Chromecast。服务器从数据库中确定Chromecast的基线范围是每小时发送100-210个多播分组。服务器确定总数量与基线范围的上限值之间的数量差为910(1120减去210)。服务器可以获得第一客户端设备在设置持续时间内可以发送的多播分组的阈值。该阈值基于第一客户端设备的设备类型。例如,第一阈值可以是针对第一客户端设备的设备类型每小时发送的多播分组的基线范围的上限值的三倍(3×),或者某个其他值。例如,第二阈值可以是针对第一客户端设备的设备类型每小时发送的多播分组的基线范围的上限值的五倍(5×),或者超过第一阈值的某个其他值。很多变化是可能的。服务器确定数量差是否大于第一阈值或第二阈值。例如,第一客户端设备是设备类型Chromecast。设备类型Chromecast的基线范围的上限值为210。第一阈值对应于630,第二阈值对应于1050。总数量与Chromecast基线范围的上限值之间的数量差为910。服务器确定数量差大于三倍(3×)阈值并且小于五倍(5×)阈值。如果服务器确定数量差大于阈值中的至少一个,则服务器可以进行到指令514。否则,服务器可以进行到指令512。

在指令512处,(多个)硬件处理器502可以执行存储在机器可读存储介质504中的机器可读/机器可执行指令以允许客户端设备继续向网络传输多播分组。响应于确定从第一客户端设备发送的多播分组的总数量与第一客户端设备的基线范围之间的数量差不大于至少一个阈值,服务器可以允许第一客户端设备继续向网络传输多播分组。例如,第一客户端设备是设备类型Windows。设备类型Chromecast的基线范围的上限值为400。第一阈值为1200,第二阈值为2000。总数量与Chromecast基线范围的上限值之间的数量差为1000。服务器确定数量差不大于三倍(3×)阈值并且不大于五倍(5×)阈值。因此,服务器允许第一客户端设备继续向网络传输多播分组。

服务器可以允许第一客户端设备响应于接收到包括肯定消息的应答而继续向网络传输多播分组。例如,响应于从服务器接收到警报,第一客户端设备可以向服务器发送包括肯定消息的应答。肯定消息可以是指示第一客户端设备将减少其在设置持续时间内发送给网络的多播分组的量的消息。服务器可以允许或准许第一客户端设备继续向网络传输多播分组并且不对第一客户端设备进行标记。

响应于服务器将第一客户端设备标记为高风险,服务器可以允许第一客户端设备继续向网络传输多播分组。响应于标记第一客户端设备,服务器可以进一步允许第一客户端设备向网络传输多播分组。

在指令514处,(多个)硬件处理器502可以执行存储在机器可读存储介质504中的机器可读/机器可执行指令以向第一客户端设备发送警报。在服务器确定从第一客户端设备发送的多播分组的总数量与第一客户端设备的基线范围之间的数量差大于至少一个阈值之后,服务器可以向第一客户端设备发送警报。警报可以包括或包含消息(例如,文本、电子邮件等)和声音。该警报可以是指示第一客户端设备正在向网络传输太多多播分组的消息。该警报可以是通知第一客户端设备减少第一客户端设备正在传输给网络的多播分组的量的警告,否则服务器将阻挡第一客户端设备传输的任何其他多播分组。该警报可以是对客户端设备检测到异常行为的通知。异常行为可以是从第一客户端设备发送的多播分组的总数量与第一客户端设备的基线范围之间的数量差大于至少一个阈值。

另外地或备选地,服务器可以向管理员发送报警或警告以提供异常行为的通知。管理员可以响应于报警而提供反馈以解决异常行为。例如,如果管理员接收到关于第一客户端设备发送多播分组的量大于至少一个阈值的报警,则管理员可以向服务器发送反馈以将第一客户端设备标记为高风险。将第一客户端设备标记为高风险可以向网络的所有其他计算组件提供通知。另外地或备选地,管理员可以发送反馈以将第一客户端设备添加到受限列表,其中受限列表包括诸如可能不向网络传输任何多播分组的客户端设备等计算组件。一旦第一客户端设备被添加到受限列表中,服务器就可以阻挡和关闭从第一客户端设备接收的任何其他多播分组。因此,在这种情境下,服务器可以调节在设置持续时间内通过网络从客户端设备传输的多播分组的量,以监测网络中数据的性能、安全性和业务流,并且防止或减轻网络通信的任何缺陷。

在指令516处,(多个)硬件处理器502可以执行存储在机器可读存储介质504中的机器可读/机器可执行指令以接收来自第一客户端设备的应答。在第一客户端设备接收到来自服务器的警报之后,第一客户端设备可以向服务器发送应答。该应答可以包括或包含肯定消息或否定消息。肯定消息可以是指示第一客户端设备将减少其在设置持续时间内发送给网络的多播分组的量的消息。否定消息可以是指示第一客户端设备将不减少其在设置持续时间内发送给网络的多播分组的量的消息。否定消息可以是没有响应于从服务器发送的警报而从第一客户端设备接收到应答。

在指令518处,(多个)硬件处理器502可以执行存储在机器可读存储介质504中的机器可读/机器可执行指令以确定从第一客户端设备到服务器的应答是否包括肯定消息。服务器将确定响应于所发送的警报而来自第一客户端设备的应答是否包括肯定消息。例如,肯定消息可以是指示第一客户端设备将减少其在设置持续时间内发送给网络的多播分组的量的消息。如果服务器确定应答包括肯定消息,则进行到指令512。如果服务器确定应答不包括肯定消息,则服务器可以进行到指令520。

在指令520处,(多个)硬件处理器502可以执行存储在机器可读存储介质504中的机器可读/机器可执行指令以确定从第一客户端设备发送的多播分组的总数量与第一客户端设备的基线范围之间的数量差是否大于基线范围的上限值的五倍(5×)。响应于确定应答不包括肯定消息,服务器确定从第一客户端设备发送的多播分组的总数量与第一客户端设备的基线范围之间的数量差是否大于基线范围的上限值的五倍(5×)。如果服务器确定数量差大于基线范围的上限值的五倍(5×),则进行到指令524。如果服务器确定数量差不大于基线范围的上限值的五倍(5×),则进行到指令522。

在指令522处,(多个)硬件处理器502可以执行存储在机器可读存储介质504中的机器可读/机器可执行指令以标记第一客户端设备。响应于确定从第一客户端设备发送的多播分组的总数量与第一客户端设备的基线范围之间的数量差不大于基线范围的上限值的五倍(5×),服务器可以将第一客户端设备标记为高风险。将客户端设备标记为高风险可以通知网络的所有其他计算组件。在标记第一客户端设备之后,进行到指令512。

在指令524处,(多个)硬件处理器502可以执行存储在机器可读存储介质504中的机器可读/机器可执行指令以阻挡从第一客户端设备接收的多播分组。响应于确定从第一客户端设备发送的多播分组的总数量与第一客户端设备的基线范围之间的数量差大于基线范围的上限值的五倍(5×),服务器可以阻挡并且丢弃从第一客户端设备传输的任何其他多播分组。响应于确定数量差大于基线范围的上限值的五倍(5×),服务器可以将第一客户端设备添加到受限列表。受限列表可以包括网络中可能不再向网络传输任何多播分组的计算组件的列表。

图6示出了其中可以实现本公开的各种示例的示例计算机系统的框图。计算机系统600可以包括总线602或用于传递信息的其他通信机制、与总线602耦接以处理信息的一个或多个硬件处理器604。(多个)硬件处理器604可以是例如一个或多个通用微处理器。计算机系统600可以是客户端服务器通信或类似设备的示例。

计算机系统600还可以包括主存储器606,诸如随机存取存储器(RAM)、高速缓存和/或其他动态存储设备,主存储器606耦接到总线602以用于存储要由(多个)硬件处理器604执行的信息和指令。主存储器606还可以用于在(多个)硬件处理器604执行指令期间存储临时变数量或其他中间信息。这样的指令当存储在(多个)硬件处理器604可访问的存储介质中时将计算机系统600变成可以定制以执行在指令中指定的操作的专用机器。

计算机系统600还可以包括只读存储器(ROM)608或耦接到总线602的其他静态存储设备,该静态存储设备用于存储用于(多个)硬件处理器604的静态信息和指令。可以提供存储设备610,诸如磁盘、光盘或USB拇指驱动器(闪存驱动器)等,并且将其耦接到总线602以用于存储信息和指令。

计算机系统600还可以包括至少一个网络接口612,诸如网络接口控制器模块(NIC)、网络适配器等或其组合,该网络接口612耦接到总线602以用于将计算机系统600连接到至少一个网络。

通常,如本文中所使用的,词语“组件”、“模块”、“引擎”、“系统”、“数据库”等可以指代体现在硬件或固件中的逻辑,或者指代软件指令集合,可能具有入口和出口点,以编程语言编写,诸如Java、C或C++。软件组件或模块可以编译并且链接到可执行程序中,安装在动态链接库中,或者可以用诸如BASIC、Perl或Python等解释性编程语言编写。应当理解,软件组件可以从其他组件或它们自身调用,和/或可以响应于检测到的事件或中断而被调用。被配置用于在计算设备(诸如,计算系统600)上执行的软件组件可以在计算机可读介质上提供,诸如光盘、数字视频盘、闪存驱动器、磁盘或任何其他有形介质,或者作为数字下载(并且可以最初以压缩或可安装格式存储,这种格式在执行之前需要安装、解压缩或解密)。这样的软件代码可以部分或全部存储在执行计算设备的存储器设备上,以供计算设备执行。软件指令可以嵌入在固件中,诸如EPROM。还将理解,硬件组件可以包括所连接的逻辑单元,诸如门和触发器,和/或可以包括可编程单元,诸如可编程门阵列或处理器。

计算机系统600可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文中所描述的技术和工艺,这些逻辑与计算机系统600相结合使计算机系统600成为或将其编程为特殊用途的机器。根据一个或多个示例,本文中所描述的技术由计算机系统600响应于(多个)硬件处理器604执行包含在主存储器606中的一个或多个指令的一个或多个序列而执行。这些指令可以从另一存储介质(诸如,存储设备610)读入主存储器606中。主存储器606中包含的指令序列的执行使(多个)硬件处理器604执行本文中所描述的处理步骤。在备选示例中,可以使用硬连线电路系统代替软件指令或与软件指令结合使用。

如本文中所使用的术语“非暂态介质”和类似术语是指存储使机器以特定方式操作的数据和/或指令的任何介质。这种非暂态介质可以包括非易失性介质和/或易失性介质。非易失性介质可以包括例如光盘或磁盘,诸如存储设备610。易失性介质可以包括动态存储器,诸如主存储器606。非暂态介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他存储器芯片或盒式存储器、以及它们的联网版本。

非暂态介质不同于传输介质但可以与传输介质结合使用。传输介质可以参与在非暂态介质之间传递信息。例如,传输介质可以包括同轴电缆、铜线和光纤,包括构成总线602的导线。传输介质还可以采用声波或光波的形式,诸如在无线电波和红外线数据通信期间生成的那些。

如本文中所使用的,术语“或”可以被解释为包括或排他的意思。此外,单数的资源、操作或结构的描述不应当被解读为排除复数。除非另有明确说明,或者在所使用的上下文中以其他方式理解,否则诸如“可”、“可以”、“可能”或“可以会”等条件性语言通常旨在传达某些示例包括而其他示例不包括某些特征、元件和/或步骤。

除非另有明确说明,否则本文档中所使用的术语和短语及其变体应被解释为开放式而非限制性的。诸如“常规的”、“传统的”、“正常的”、“标准的”、“已知的”等形容词以及类似含义的术语不应被解释为将所描述的项目限于给定时间段或限于截至给定时间可用的项目,但是应理解为包括现在或将来任何时间可能可用或已知的常规、传统、正常或标准技术。在某些情况下,诸如“一个或多个”、“至少”、“但不限于”或其他类似短语的存在不应当被理解为表示在可能没有这样的扩大词下打算或要求使用较窄的情况。

技术分类

06120115953076