CN108809749A - 基于采样率来执行流的上层检查 - Google Patents

基于采样率来执行流的上层检查 Download PDF

Info

Publication number
CN108809749A
CN108809749A CN201810295346.7A CN201810295346A CN108809749A CN 108809749 A CN108809749 A CN 108809749A CN 201810295346 A CN201810295346 A CN 201810295346A CN 108809749 A CN108809749 A CN 108809749A
Authority
CN
China
Prior art keywords
stream
network service
upper layer
sample rate
equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810295346.7A
Other languages
English (en)
Other versions
CN108809749B (zh
Inventor
C·多兹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peribit Networks Inc
Original Assignee
Peribit Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peribit Networks Inc filed Critical Peribit Networks Inc
Publication of CN108809749A publication Critical patent/CN108809749A/zh
Application granted granted Critical
Publication of CN108809749B publication Critical patent/CN108809749B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0019Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy in which mode-switching is based on a statistical approach
    • H04L1/002Algorithms with memory of the previous states, e.g. Markovian models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • H04L43/024Capturing of monitoring data by sampling by adaptive sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/24Reselection being triggered by specific parameters
    • H04W36/26Reselection being triggered by specific parameters by agreed or negotiated communication parameters
    • H04W36/28Reselection being triggered by specific parameters by agreed or negotiated communication parameters involving a plurality of connections, e.g. multi-call or multi-bearer connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/18Communication route or path selection, e.g. power-based or shortest path routing based on predicted events

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种设备可以接收与流相关联的网络业务的第一部分。该设备可以执行与流相关联的网络业务的第一部分的第一上层检查。该设备可以基于执行与流相关联的网络业务的第一部分的第一上层检查来标识流的一组参数。该设备可以基于该组参数来确定执行与流相关联的网络业务的第二部分的第二上层检查的采样率。该设备可以指示下层使用该采样率来提供与流相关联的网络业务的第二部分用于第二上层检查。该设备可以基于从下层接收与流相关联的网络业务的第二部分来执行与流相关联的网络业务的第二部分的第二上层检查。该设备可以基于执行第二上层检查的结果来执行关于流的动作。

Description

基于采样率来执行流的上层检查
背景技术
网络设备的一个或多个功能可以根据开放系统互连(OSI)模型来描述,OSI模型将一个或多个功能划分为七个分层。OSI模型的层7(L-7)(即,应用层)可以与对应用业务执行的一组网络服务相关联,诸如分类应用,执行协议检查,执行应用事务分析,报告,应用策略以标识和防止安全问题,等等。OSI模型的层6(L-6)(即,表示层)可以与负责信息到应用层的递送和格式化的网络服务相关联。OSI模型的层5(L-5)(即,会话层)可以与负责管理会话的网络服务相关联。OSI模型的层4(L-4)(即,传输层)可以与负责执行可靠性操作、流控制和/或复用的网络服务相关联。OSI模型的层3(L-3)(即,网络层)可以与负责分组转发和路由的网络服务相关联。层2(L-2)(即,数据链路层)可以与负责在相邻网络设备之间传送数据的网络服务相关联。层1(L-1)(即,物理层)可以与负责将来自数据链路层的逻辑通信请求转换成硬件特定操作以引起电子信号的传送和接收的网络服务相关联。
发明内容
根据一些可能的实现,一种设备可以包括用于接收与流相关联的网络业务的第一部分的一个或多个处理器。一个或多个处理器可以执行与流相关联的网络业务的第一部分的第一上层检查。一个或多个处理器可以基于执行与流相关联的网络业务的第一部分的第一上层检查来标识流的一组参数。一个或多个处理器可以基于该组参数来确定执行与流相关联的网络业务的第二部分的第二上层检查的采样率。一个或多个处理器可以指示下层使用该采样率来提供与流相关联的网络业务的第二部分用于第二上层检查。一个或多个处理器可以基于从下层接收与流相关联的网络业务的第二部分来执行与流相关联的网络业务的第二部分的第二上层检查。一个或多个处理器可以基于执行第二上层检查的结果来执行关于流的动作。
根据一些可能的实现,一种非暂态计算机可读介质可以存储一个或多个指令,一个或多个指令在由设备的一个或多个处理器执行时引起一个或多个处理器接收与流相关联的网络业务的第一部分。一个或多个指令可以引起一个或多个处理器执行与流相关联的网络业务的第一部分的第一上层检查。一个或多个指令可以引起一个或多个处理器基于执行与流相关联的网络业务的第一部分的第一上层检查来标识流的一组参数。一个或多个指令可以引起一个或多个处理器基于该组参数来确定执行与流相关联的网络业务的第二部分的第二上层检查的采样率。一个或多个指令可以引起一个或多个处理器指示下层使用该采样率来提供与流相关联的网络业务的第二部分用于第二上层检查。一个或多个指令可以引起一个或多个处理器基于从下层接收与流相关联的网络业务的第二部分来执行与流相关联的网络业务的第二部分的第二上层检查。一个或多个指令可以引起一个或多个处理器基于执行第二上层检查的结果来执行关于流的动作。
根据一些可能的实现,一种方法可以包括由设备接收与流相关联的网络业务。该方法可以包括由设备标识与流相关联的一组参数。该方法可以包括由设备基于该组参数来确定执行与流相关联的网络业务的一部分的上层检查的采样率。该方法可以包括由设备向下层提供用于使用该采样率来提供与流相关联的网络业务的一部分用于上层检查的指令。该方法可以包括由设备基于从下层接收与流相关联的网络业务的一部分来执行与流相关联的网络业务的一部分的上层检查。该方法可以包括由设备基于执行与流相关联的网络业务的一部分的上层检查的结果来执行关于流的动作。
根据一些可能的实现,一种设备,包括:一个或多个处理器,用于:接收与流相关联的网络业务的第一部分;执行与所述流相关联的所述网络业务的第一部分的第一上层检查;基于执行与所述流相关联的所述网络业务的第一部分的所述第一上层检查来标识所述流的一组参数;基于所述一组参数来确定执行与所述流相关联的网络业务的第二部分的第二上层检查的采样率;指示下层使用所述采样率来提供与所述流相关联的所述网络业务的第二部分以用于所述第二上层检查;基于从所述下层接收与所述流相关联的所述网络业务的第二部分来执行与所述流相关联的所述网络业务的第二部分的所述第二上层检查;以及基于执行所述第二上层检查的结果来执行关于所述流的动作。
根据一些可能的实现,所述一个或多个处理器还用于:在执行与所述流相关联的所述网络业务的第一部分的所述第一上层检查之后,标识与所述流相关联的上层应用;以及所述一个或多个处理器在确定所述采样率时用于:基于所述上层应用来确定所述采样率。
根据一些可能的实现,所述一个或多个处理器还用于:在执行与所述流相关联的所述网络业务的第一部分的所述第一上层检查之后,标识与所述流相关联的上层协议;以及所述一个或多个处理器在确定所述采样率时用于:基于所述上层协议来确定所述采样率。
根据一些可能的实现,所述一个或多个处理器还用于:标识与所述流相关联的源设备的地理位置;以及所述一个或多个处理器在确定所述采样率时用于:基于所述源设备的所述地理位置来确定所述采样率。
根据一些可能的实现,所述一个或多个处理器还用于:确定执行与所述流相关联的网络业务的第三部分的第三上层检查的另一采样率,所述另一采样率不同于所述采样率;指示所述下层使用所述另一采样率来提供与所述流相关联的所述网络业务的第三部分以用于所述第三上层检查;以及基于从所述下层接收与所述流相关联的所述网络业务的第三部分来执行与所述流相关联的所述网络业务的第三部分的所述第三上层检查。
根据一些可能的实现,所述一个或多个处理器还用于:确定执行与所述流相关联的网络业务的第三部分的第三上层检查的另一采样率,所述另一采样率不同于所述采样率,所述网络业务的第二部分由源设备向与所述流相关联的目的地设备提供,以及所述网络业务的第三部分由所述目的地设备向所述源设备提供;指示所述下层使用所述另一采样率来提供与所述流相关联的所述网络业务的第三部分以用于所述第三上层检查;以及基于从所述下层接收与所述流相关联的所述网络业务的第三部分来执行与所述流相关联的所述网络业务的第三部分的所述第三上层检查。
根据一些可能的实现,所述第一上层检查和所述第二上层检查由通信模型的上层执行,所述上层在所述通信模型中高于所述下层。
根据一些可能的实现,一种存储指令的非暂态计算机可读介质,所述指令包括:一个或多个指令,所述一个或多个指令在由设备的一个或多个处理器执行时,引起所述一个或多个处理器:接收与流相关联的网络业务的第一部分;执行与所述流相关联的所述网络业务的第一部分的第一上层检查;基于执行与所述流相关联的所述网络业务的第一部分的所述第一上层检查来标识所述流的一组参数;基于所述一组参数来确定执行与所述流相关联的网络业务的第二部分的第二上层检查的采样率;指示下层使用所述采样率来提供与所述流相关联的所述网络业务的第二部分以用于所述第二上层检查;基于从所述下层接收与所述流相关联的所述网络业务的第二部分来执行与所述流相关联的所述网络业务的第二部分的所述第二上层检查;以及基于执行所述第二上层检查的结果来执行关于所述流的动作。
根据一些可能的实现,所述一个或多个指令在由所述一个或多个处理器执行时,还引起所述一个或多个处理器:基于执行所述第一上层检查来标识与所述网络业务的第一部分相关联的统一资源定位符;以及引起所述一个或多个处理器确定所述采样率的所述一个或多个指令引起所述一个或多个处理器:基于与所述网络业务的第一部分相关联的所述统一资源定位符来确定所述采样率。
根据一些可能的实现,所述一个或多个指令在由所述一个或多个处理器执行时,还引起所述一个或多个处理器:基于执行所述第一上层检查来标识与所述流相关联的应用;以及引起所述一个或多个处理器确定所述采样率的所述一个或多个指令引起所述一个或多个处理器:基于所述应用来确定所述采样率。
根据一些可能的实现,所述一个或多个指令在由所述一个或多个处理器执行时,还引起所述一个或多个处理器:将所述一组参数输入到模型中以获取所述模型的输出,所述模型已经使用机器学习技术在训练数据上被训练;以及引起所述一个或多个处理器确定所述采样率的所述一个或多个指令引起所述一个或多个处理器:基于所述模型的所述输出来确定所述采样率。
根据一些可能的实现,所述一个或多个指令在由所述一个或多个处理器执行时,还引起所述一个或多个处理器:基于执行所述第一上层检查来标识与所述流相关联的应用层协议;以及引起所述一个或多个处理器确定所述采样率的所述一个或多个指令引起所述一个或多个处理器:基于所述应用层协议来确定所述采样率。
根据一些可能的实现,所述采样率与所述流的方向相关联;以及所述一个或多个指令在由所述一个或多个处理器执行时,还引起所述一个或多个处理器:确定执行与所述流相关联的网络业务的第三部分的第三上层检查的、与所述流的另一方向相关联的另一采样率;指示所述下层使用所述另一采样率来提供与所述流相关联的所述网络业务的第三部分以用于所述第三上层检查;以及基于从所述下层接收与所述流相关联的所述网络业务的第三部分来执行与所述流相关联的所述网络业务的第三部分的所述第三上层检查。
根据一些可能的实现,所述一个或多个指令在由所述一个或多个处理器执行时,还引起所述一个或多个处理器:确定执行与所述流相关联的网络业务的第三部分的第三上层检查的另一采样率;确定条件被满足;基于所述条件被满足,指示所述下层使用所述另一采样率来提供与所述流相关联的所述网络业务的第三部分以用于所述第三上层检查;以及基于从所述下层接收与所述流相关联的所述网络业务的第三部分来执行与所述流相关联的所述网络业务的第三部分的所述第三上层检查。
根据一些可能的实现,一种方法,包括:由设备接收与流相关联的网络业务;由所述设备标识与所述流相关联的一组参数;由所述设备基于所述一组参数来确定执行与所述流相关联的网络业务的一部分的上层检查的采样率;由所述设备向下层提供用于使用所述采样率来提供与所述流相关联的所述网络业务的一部分以用于所述上层检查的指令;由所述设备基于从所述下层接收与所述流相关联的所述网络业务的一部分来执行与所述流相关联的所述网络业务的一部分的所述上层检查;以及由所述设备基于执行与所述流相关联的所述网络业务的一部分的所述上层检查的结果来执行关于所述流的动作。
根据一些可能的实现,所述方法还包括:标识与所述流相关联的目的地设备的地理位置;以及确定所述采样率包括:基于所述目的地设备的所述地理位置来确定所述采样率。
根据一些可能的实现,所述方法还包括:确定执行与所述流相关联的网络业务的另一部分的另一上层检查的另一采样率,所述另一采样率不同于所述采样率;指示所述下层使用所述另一采样率来提供与所述流相关联的所述网络业务的另一部分以用于所述另一上层检查;以及基于从所述下层接收与所述流相关联的所述网络业务的另一部分来执行与所述流相关联的所述网络业务的另一部分的所述另一上层检查。
根据一些可能的实现,所述方法还包括:标识与所述流相关联的应用层协议;以及确定所述采样率包括:基于所述应用层协议来确定所述采样率。
根据一些可能的实现,所述方法还包括:确定条件被满足;基于所述条件被满足来指示所述下层使用另一采样率来提供与所述流相关联的网络业务的另一部分以用于另一上层检查;以及基于从所述下层接收与所述流相关联的所述网络业务的另一部分来执行与所述流相关联的所述网络业务的另一部分的所述另一上层检查。
根据一些可能的实现,所述方法还包括:执行与所述流相关联的网络业务的初始部分的初始上层检查;以及标识所述一组参数包括:基于执行与所述流相关联的所述网络业务的初始部分的所述初始上层检查来标识所述一组参数。
附图说明
图1A至1E是本文中描述的示例实现的概述的图;
图2是其中可以实现本文中描述的系统和/或方法的示例环境的图;
图3是图2的一个或多个设备的示例组件的图;以及
图4是用于基于采样率来执行流的上层检查的示例过程的流程图。
具体实施方式
示例实现的以下详细描述参考附图。不同附图中的相同附图标记可以标识相同或相似的元素。
网络设备可以执行与OSI模型或另一类型的通信模型的不同层相关联的网络服务(例如,L-7网络服务、L-4网络服务、L-3网络服务等)。例如,网络设备可以包括执行与OSI模型的不同层相关联的网络服务的一组模块(例如,以硬件、固件、在硬件上执行的软件实现的模块、或者多个不同和/或类似模块的组合)。
作为示例,网络设备的L-7模块可以执行应用层服务,诸如应用标识(AppID)服务、入侵检测和防止(IDP)服务、统一资源定位符(URL)过滤服务和/或另一类型的网络服务。另外,作为示例,网络设备的L-4模块可以执行传输层服务,诸如流控制服务、复用服务、可靠性服务和/或另一类型的网络服务。
在一些情况下,网络设备的L-7模块可以对网络业务执行应用层服务以标识与网络业务相关联的安全问题。例如,L-7模块可以标识恶意软件、病毒、蠕虫、特洛伊木马、勒索软件、间谍软件等。以这种方式,网络设备可以通过执行L-7网络服务以标识安全问题来提高网络安全。但是,在一些情况下,与L-4网络服务或其他下层网络服务相比,L-7网络服务在计算上可能更昂贵。另外,与其中执行下层网络服务和/或不对网络业务执行L-7网络服务的情况相比,L-7网络服务的利用可能导致吞吐量减少、延迟增加等。
在一些情况下,L-7模块可以对与流相关联的每个分组(例如,包括一些公共值的分组序列)执行L-7网络服务,从而提高网络安全。然而,以这种方式利用L-7模块可能在计算上是昂贵的并且可能导致网络性能降低。
在其他情况下,L-7模块可以对预先配置的数目的分组(例如,流的第一分组、流的前十个分组等)执行L-7网络服务,并且将流的后续网络业务的处理卸载到L-4模块。在这种情况下,网络设备可以接收流的附加网络业务,并且向L-4模块提供附加网络业务而不向L-7模块提供网络业务,从而防止执行上层网络服务。以这种方式,网络设备可以节省计算资源并且提高网络性能。然而,在第一分组、前十个分组等中未被标识或普遍的安全问题可能普遍存在于流的后续网络业务中。在这种情况下,网络设备可能由于未能对流的后续网络业务执行上层检查而无法标识安全问题。
本文中描述的一些实现提供了一种网络设备,其可以接收与流相关联的网络业务,并且执行与流相关联的网络业务的上层检查。例如,网络设备可以对第一分组、前十个分组、前三十个分组等执行上层检查。
另外,本文中描述的一些实现提供了一种网络设备,其可以基于执行与流相关联的网络业务的上层检查来标识流的一组参数。例如,网络设备可以标识一组参数,诸如L-7协议、L-7应用、源网络地址、目的地网络地址、端口标识符、L-4协议、与流相关联的源设备的地理位置、与流相关联的目的地设备的地理位置、和/或如本文中其他地方描述的其他参数。
另外,本文中描述的一些实现提供了一种网络设备,其可以基于该组参数来确定执行流的网络业务的附加上层检查的采样率,并且基于该采样率来执行与流相关联网络业务的附加上层检查。例如,采样率可以是指与网络设备接收的流的分组的总数相比对其执行上层网络服务的分组的数目。作为示例,100%的采样率可以标识将要对流的每个分组执行上层网络服务,而20%的采样率可以标识将要对由网络设备接收的每五个分组中的一个分组执行上层网络服务。
如本文中其他地方所述,网络设备可以基于与该组参数相关联的特定值来确定采样率。以这种方式,网络设备可以对更有可能包括安全问题的网络业务更频繁地执行上层网络服务,并且可以对不太可能包括安全问题的网络业务不太频繁地执行上层网络服务。
更进一步,本文中描述的一些实现提供了一种网络设备,其可以基于诸如流的分组计数、流的字节计数、流的持续时间等条件来调节采样率。例如,网络设备可以在特定数目的分组被传送之后、在特定数目的字节被传送之后等等来降低采样率。在一些情况下,与流的另一部分相比,安全问题更可能与流的开始(例如,第一兆字节(MB)等)相关联地发生。以这种方式,网络设备可以对更有可能包含安全问题的网络业务执行更多上层检查,并且对不太可能包括安全问题的网络业务执行较少的上层检查。
以这种方式,本文中描述的一些实现在网络设备与包括较低安全风险的流相关联地实现较低采样率(例如,指示不太频繁的上层检查)的情况下节省了网络设备的处理器和/或存储器资源并且提高网络性能,并且在网络设备与更有可能包含安全问题的流相关联地实现更高采样率(例如,指示更频繁的上层检查)的情况下提高网络安全。
虽然本文在L-7层和L-4层方面进行描述,但是本文中描述的实现还可以是指其他层,诸如L-6层、L-5层、L-3层、L-2层和/或L-1层。
图1A至1E是本文中描述的示例实现100的概述的图。如图1A中由附图标记110所示,网络设备可以接收与流相关联的网络业务。例如,网络设备可以接收将要在特定源设备与特定目的地设备之间传送的网络业务。如图所示,网络设备可以包括执行L-7网络服务的L-7模块和执行L-4网络服务的L-4模块。
如图1A中由附图标记120进一步所示,网络设备可以执行与流相关联的网络业务的上层检查。例如,L-7模块可以从L-4模块接收网络业务,并且执行网络业务的上层检查。
如图1B中由附图标记130所示,网络设备可以基于执行与流相关联的网络业务的上层检查来标识流的一组参数。例如,如图所示,L-7模块可以标识L-7协议、L-7应用、源设备的地理位置、目的地设备的地理位置、以及与一个或多个其他参数相关联的一个或多个其他参数值。另外,如图所示,L-7模块可以标识与流相关的安全指示符。如本文中其他地方所述,安全指示符可以包括标识流与安全问题相关联的可能性的信息。例如,如图所示,网络设备可以确定指示流可能不与安全问题相关联的为“低”的安全指示符。
如图1B中由附图标记140进一步所示,网络设备可以基于该组参数来确定执行与流相关联的网络业务的附加上层检查的采样率。例如,如图所示,网络设备可以确定为每一千个分组一个分组的采样率(即,0.1%)。如本文中其他地方所述,网络设备可以基于该组参数的参数值来确定采样率。例如,网络设备可以存储映射参数值和采样率的信息,可以实现机器学习技术,可以预先配置有采样率等。如图所示,L-7模块可以向L-4模块提供标识采样率和/或引起L-4模块基于采样率向L-7模块提供网络业务的指令。
如图1C所示,L-4模块可以接收与流(例如,“F1”)相关联的后续网络业务。例如,如图所示,L-4模块可以在数据结构中存储包括标识流的信息和与流相关联的分组计数的条目。如图1C进一步所示,L-4模块可以在源设备与目的地设备之间传送网络业务,而不向L-7模块提供网络业务。以这种方式,通过防止网络业务的一部分的上层检查,网络设备可以节省处理器和/或存储器资源,提高吞吐量,减少等待时间,等等。
如图1C进一步所示,假定999个分组已经与流相关联地被传送。在这种情况下,L-4模块可以根据采样率(即,每一千个分组一个分组)向L-7模块提供所接收的下一分组(即,第1000分组),如下所述。
如图1D中由附图标记150所示,网络设备可以基于采样率来执行与流相关联的网络业务的附加上层检查。例如,如图所示,L-7模块可以从L-4模块接收与流相关联的网络业务并且执行网络业务的上层检查。
如图1E所示,网络设备可以以与上面结合图1B所述的类似的方式来标识与流相关联的一组参数。如图所示,假定网络设备(例如,L-7模块)确定L-7协议和L-7应用与结合图1B做出的确定相比已经改变。在这种情况下,并且如图所示,L-7模块可以向L-4模块提供用于执行与流相关联的动作的指令,诸如拒绝后续网络业务,向L-7模块提供后续网络业务用于附加的上层检查,等等。
以这种方式,本文中描述的一些实现提供了一种网络设备,其可以基于执行上层检查来标识流的参数值并且基于特定参数值来确定采样率。以这种方式,本文中描述的一些实现使得网络设备能够根据包括安全问题的网络业务的可能性更频率地或更不频繁地执行上层检查。
如上所述,图1A至1E仅作为示例提供。其他示例是可能的并且可以不同于关于图1A至1E所描述的示例。
图2是其中可以实现本文中描述的系统和/或方法的示例环境200的图。如图2所示,环境200可以包括源设备210、网络设备220、目的地设备230和网络240。环境200的设备可以经由有线连接、无线连接或者有线和无线连接的组合来互连。
源设备210包括能够提供和/或接收网络业务(例如,分组)的一个或多个设备。例如,源设备210可以包括用户设备、服务器设备、端点设备、边缘设备、或可以是网络业务的源或目的地的另一设备。在一些实现中,源设备210可以经由会话(诸如传输控制协议(TCP)会话)提供网络业务。例如,源设备210可以经由包括一组网络业务事务的TCP会话向目的地设备230传输网络业务。事务可以包括经由会话传输的特定文件,诸如音频视频文件、视频文件、多媒体文件、数据库文件等。
网络设备220包括能够在源设备210与目的地设备230之间处理和传送网络业务的一个或多个设备。例如,网络设备220可以包括路由器、网关、交换机、防火墙、集线器、网桥、反向代理、服务器(例如,代理服务器、执行虚拟机的服务器等)、安全设备、入侵检测设备、负载均衡器、线卡(例如,基于机箱的系统)、或类似类型的设备。在一些实现中,网络设备220可以是在诸如机箱等壳体内实现的物理设备。在实现中,网络设备220可以是由云计算环境或数据中心的一个或多个计算机设备实现的虚拟设备。
在一些实现中,网络设备220可以经由网络分流器、经由内联网络业务接收等来接收网络业务。在一些实现中,网络设备220可以包括一组公共形状因子模块(CFM)卡,诸如服务处理卡(SPC)、网络处理卡(NPC)等。在一些实现中,SPC可以执行上层网络服务,并且NPC可以执行下层网络服务。
在一些实现中,网络设备220可以包括用于执行L-7检查的L-7模块。例如,网络设备220可以包括执行L-7网络服务的L-7模块,L-7网络服务诸如AppID服务、入侵防止系统(IPS)服务、IDP服务、URL过滤服务、内容过滤服务、内容检查服务、有效载荷检查服务、反病毒服务、反恶意软件服务、地理位置互联网协议(GeoIP)服务、安全情报(SecIntel)服务、服务质量(QoS)服务等。
在一些实现中,网络设备220可以包括用于执行L-4检查的L-4模块。例如,网络设备220可以包括执行L-4网络服务的L-4模块。
如本文中使用的,分组可以是指用于传送信息的通信结构,信息诸如协议数据单元(PDU)、网络分组、数据报、分段、块、单元、帧、子帧、时隙、码元、上述中的任何一项的一部分、和/或另一类型的能够经由网络传输的格式化或未格式化的数据单元。
如本文中使用的,流可以是指共享公共信息的分组序列,诸如五元组信息(例如,源地址、目的地地址、源端口标识符、目的地端口标识符和协议标识符)。
目的地设备230包括与提供和/或接收网络业务(例如,分组)相关联的一个或多个设备。例如,目的地设备230可以包括用户设备、服务器设备、端点设备、边缘设备、或者可以是网络业务的源或目的地的另一设备。
网络240包括一个或多个有线和/或无线网络。例如,网络240可以包括蜂窝网络(例如,第五代(5G)网络、长期演进(LTE)网络、码分多址(CDMA)网络、第三代(3G)网络、另一类型的高级生成网络等)、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网络(PSTN))、专用网络、自组织网络、内联网、互联网、基于光纤的网络、云计算网络等、和/或这些或其他类型的网络的组合。
图2所示的设备和网络的数目和布置作为示例提供。实际上,可以存在与图2所示的那些相比附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同地布置的设备和/或网络。此外,图2所示的两个或更多个设备可以在单个设备内实现,或者图2所示的单个设备可以实现为多个分布式设备。另外地或替代地,环境200的一组设备(例如,一个或多个设备)可以执行被描述为由环境200的另一组设备执行的一个或多个功能。
图3是设备300的示例组件的示图。设备300可以对应于源设备210、网络设备220和/或目的地设备230。在一些实现中,源设备210、网络设备220和/或目的地设备230可以包括一个或多个设备300和/或设备300的一个或多个组件。在一些实现中,设备300可以实现为在云计算环境内实现的虚拟设备,诸如实现为在云计算环境中的一个或多个云计算设备(例如,服务器)上执行的虚拟机。
如图3所示,设备300可以包括一个或多个输入组件305-1至305-B(B≥1)(下文中统称为输入组件305,并且单独称为输入组件305)、切换组件310、一个或多个输出组件315-1至315-C(C≥1)(下文中统称为输出组件315,并且单独称为输出组件315)和控制器320。
输入组件305可以是用于物理链路的附接点,并且可以是诸如分组等传入业务的入口点。输入组件305可以诸如通过执行数据链路层封装或解封装来处理传入业务。在一些实现中,输入组件305可以发送和/或接收分组。在一些实现中,输入组件305可以包括输入线卡,输入线卡包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个接口卡(IFC)、分组转发组件、线卡控制器组件、输入端口、处理器、存储器和/或输入队列。在一些实现中,设备300可以包括一个或多个输入组件305。
切换组件310可以将输入组件305与输出组件315互连。在一些实现中,切换组件310可以经由一个或多个交叉开关、经由总线和/或通过共享存储器来实现。共享存储器可以用作临时缓冲器以在来自输入组件305的分组被最终调度用于递送到输出组件315之前存储这些分组。在一些实现中,切换组件310可以使得输入组件305、输出组件315和/或控制器320能够通信。
输出组件315可以存储分组并且可以调度分组用于在输出物理链路上传输。输出组件315可以支持数据链路层封装或解封装、和/或各种更高级协议。在一些实现中,输出组件315可以发送分组和/或接收分组。在一些实现中,输出组件315可以包括输出线卡,输出线卡包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个IFC、分组转发组件、线卡控制器组件、输出端口、处理器、存储器和/或输出队列。在一些实现中,设备300可以包括一个或多个输出组件315。在一些实现中,输入组件305和输出组件315可以由相同的一组组件来实现(例如,并且输入/输出组件可以是输入组件305和输出组件315的组合)。
控制器320包括以下形式的处理器:例如中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其他类型的处理组件。处理器以硬件、固件或硬件和软件的组合来实现。在一些实现中,控制器320可以包括可以被编程为执行功能的一个或多个处理器。
在一些实现中,控制器320可以包括存储用于由控制器320使用的信息和/或指令的随机存取存储器(RAM)、只读存储器(ROM)和/或另一类型的动态或静态存储设备(例如,闪速存储器、磁存储器、光存储器等)。
在一些实现中,控制器320可以与连接到设备300的其他设备、网络和/或系统通信以交换关于网络拓扑的信息。控制器320可以基于网络拓扑信息来创建路由表,基于路由表来创建转发表,并且将转发表转发给输入组件305和/或输出组件315。输入组件305和/或输出组件315可以使用转发表以执行传入和/或传出分组的路由查找。
控制器320可以执行本文中描述的一个或多个过程。响应于执行由非暂态计算机可读介质存储的软件指令,控制器320可以执行这些过程。计算机可读介质在本文中被定义为非暂态存储器设备。存储器设备包括在单个物理存储设备内的存储器空间或跨多个物理存储设备分布的存储器空间。
软件指令可以经由通信接口从另一计算机可读介质或从另一设备读取到与控制器320相关联的存储器和/或存储组件中。当被执行时,存储在与控制器320相关联的存储器和/或存储组件中的软件指令可以引起控制器320执行本文中描述的一个或多个过程。另外地或替代地,可以代替软件指令或与软件指令相结合地使用硬连线电路来执行本文中描述的一个或多个过程。因此,本文中描述的实现不限于硬件电路和软件的任何特定组合。
图3所示的组件的数目和布置作为示例提供。实际上,设备300可以包括与图3所示的那些相比附加的组件、更少的组件、不同的组件、或者不同地布置的组件。另外地或替代地,设备300的一组组件(例如,一个或多个组件)可以执行被描述为由设备300的另一组组件执行的一个或多个功能。
图4是用于基于采样率来执行流的上层检查的示例过程400的流程图。在一些实现中,图4的一个或多个过程框可以由网络设备220执行。在一些实现中,图4的一个或多个过程框可以由与网络设备220分离或包括网络设备220的另一设备或一组设备来执行,诸如源设备210、目的地设备230、管理设备等。在一些实现中,图4的一个或多个过程框可以由网络设备220的L-7模块执行。在一些实现中,图4的一个或多个过程框可以由与L-7模块分离或包括L-7模块的另一模块或一组模块来执行,诸如L-4模块、L-3模块或另一模块。
如图4所示,过程400可以包括接收与流相关联的网络业务(框410)。例如,网络设备220可以接收将要在源设备210与目的地设备230之间传送的网络业务。
在一些实现中,源设备210和目的地设备230可以建立包括一组网络业务事务的会话。例如,会话可以是指互联网协议(IP)会话、TCP会话、用户数据报协议(UDP)会话、通用分组无线电业务(GPRS)隧道协议(GTP)会话、通用路由封装(GRE)会话等。另外,作为示例,网络业务事务可以是指请求、响应、文件传输等。在一些实现中,流可以是指与会话相关联地提供的分组序列。
以这种方式,网络设备220可以接收与流相关联的网络业务,以允许网络设备220执行与流相关联的网络业务的初始上层检查,如下所述。
如图4进一步所示,过程400可以包括执行与流相关联的网络业务的上层检查(框420),并且基于执行与流相关联的网络业务的上层检查来标识流的一组参数(框430)。例如,网络设备220可以对流的分组执行上层检查(例如,L-7检查),并且标识流的一组参数。
在一些实现中,网络设备220(例如,L-7模块)可以与一组网络服务相关联地执行上层检查。例如,网络设备220可以执行如上面结合图2所述的一组网络服务(例如,AppID服务、URL过滤服务、IDP服务、GeoIP服务等)。在一些实现中,网络设备220可以基于一组技术来标识与流相关联的一组参数,这组技术诸如深度分组检测(DPI)技术、基于签名的模式匹配技术、启发式匹配技术、预测会话匹配技术、应用缓存技术等。
在一些实现中,参数可以是指L-7协议(例如,超文本传输协议(HTTP)、HTTP安全(HTTP)、简单邮件传输协议(SMTP)、文件传输协议(FTP)、实时流式传输协议(RTSP)等)。另外地或替代地,参数可以是指L-7应用(例如,多媒体应用、电子邮件应用、对等应用、远程访问应用、社交网络应用、web应用、游戏应用、消息收发应用等)。在一些实现中,参数可以标识特定L-7应用(例如,Facebook)和/或特定L-7应用所属的组(例如,社交网络应用)。
在一些实现中,参数可以是指L-3协议、L-4协议、源网络地址、目的地网络地址、源端口标识符、目的地端口标识符等。另外地或替代地,参数可以是指源设备210的地理位置和/或目的地设备230的地理位置。
在一些实现中,参数可以是指安全指示符。在一些实现中,安全指示符可以是指指示安全问题、风险、威胁、声誉、信任级别等的得分、指定、值等。例如,低安全指示符可以指示低安全风险、低威胁、高信任级别等。另外,作为示例,高安全指示符可以指示高安全风险、高威胁性、低信任级别等。在一些实现中,参数可以是指与以下各项相关联的安全指示符:与网络业务相关联的URL、与源设备210相关联的实体(例如,组织、公司、企业等)、源设备210的地理位置、与目的地设备230相关联的实体、源设备210的地理位置、L-7应用、L-7协议等。
在一些实现中,网络设备220可以查询关于安全指示符的信息的数据结构(例如,本地数据结构、外部数据结构等),并且在查询数据结构之后标识一个或多个安全指示符。
在一些实现中,网络设备220(例如,L-7模块)可以执行与流相关联的网络业务的初始部分的上层检查。例如,网络设备220可以对流的第一分组、前四个分组、前十五个分组等执行上层检查。在一些实现中,不同的L-7服务可以检查与流相关联的不同数目的分组。例如,AppID服务可以检查前二十个分组,IPS服务可以检查前十个分组,URL过滤服务可以检查前四个分组,等等。
在一些实现中,网络设备220可以在数据结构(例如,表格、流表、高速缓存等)中存储与流相关联的信息。例如,网络设备220可以存储标识与该组参数相对应的一组参数值的条目。在一些实现中,不同的网络服务可以确定特定的参数值。换言之,网络设备220可以存储由各种网络服务确定的参数值。另外地或替代地,网络设备220可以存储标识与流相关联地执行的动作的信息,诸如许可、过滤、拒绝、日志、隔离、重定向、速率限制、优先化等。
在一些实现中,网络设备220(例如,L-7模块)可以在对网络业务的初始部分执行上层检查之后卸载附加网络业务的处理。例如,网络设备220(例如,L-7模块)可以向L-4模块卸载处理与流相关联的网络业务的另一部分的责任。以这种方式,网络设备220可以接收将要在源设备210与目的地设备230之间传送的网络业务,并且防止与网络业务相关联地执行上层检查。也就是说,网络设备220(例如,L-4模块)可以执行已经卸载了处理责任的网络业务的下层检查。
以这种方式,网络设备220可以与和流的相关联的网络业务的初始部分相关联地执行初始上层检查,并且确定将要与流相关联地执行的特定动作。另外,以这种方式,网络设备220(例如,L-7模块)可以在执行初始上层检查之后卸载处理附加网络业务的责任,由此通过所执行的上层检查的量来节省网络设备220的处理器和/或存储器资源,并且从而增加吞吐量,减少等待时间,等等。
然而,在网络业务的初始部分中不存在的、在网络业务的初始部分中未标识的等等安全问题可能与和流相关联的后续网络业务相关联地发生。因此,如下所述,网络设备220可以确定将要与和流相关联的后续网络业务相关联地执行附加上层检查的采样率。
如图4进一步所示,过程400可以包括基于该组参数来确定执行与流相关联的网络业务的附加上层检查的采样率(框440)。例如,网络设备220可以确定对与流相关联的后续网络业务执行上层检查的采样率。
在一些实现中,采样率可以是指相对于由网络设备220接收的网络业务的总量的网络设备220将要对于其执行上层检查的网络业务的量。例如,采样率可以是指相对于由网络设备220接收的分组的总数的网络设备220对其执行上层检查的分组的数目。
作为特定示例,0.001、0.1%、1/1000等的采样率可以标识网络设备220将要对所接收的每一千个分组中的一个分组执行上层检查。作为另一示例,1或100%的采样率可以标识网络设备220将要对由网络设备220接收的每个分组执行上层检查。
在一些实现中,网络设备220可以基于配置来确定采样率。例如,网络设备220可以存储和/或访问映射一组参数值和采样率的信息,并且在访问信息之后确定采样率。
在一些实现中,网络设备220可以基于模型来确定采样率。在一些实现中,网络设备220可以使用机器学习技术来分析数据(例如,训练数据,诸如历史数据等)并且训练模型。机器学习技术可以包括例如监督和/或无监督技术,诸如人工网络、贝叶斯统计、学习自动机、隐马尔可夫模型、线性分类器、二次分类器、决策树、关联规则学习等。在一些实现中,网络设备220可以使用另一种计算机实现的技术,诸如人工智能、机器感知或计算机视觉来分析参数值并且确定采样率。
在一些实现中,网络设备220可以接收标识一组参数值的信息以及与一组已知采样率相关联的信息。另外,网络设备220可以基于已知参数值和已知采样率来训练模型。在一些实现中,网络设备220可以使用数百万、数十亿、数万亿等的已知参数值来训练模型。这样,网络设备220可以使用大数据技术来训练模型,因为这样的大量数据不能由操作人员客观地处理。
在一些实现中,与网络设备220分离的设备(诸如网络管理设备、云计算环境的云计算资源、数据中心的服务器等)可以训练模型。例如,设备可以从在网络中操作的一个或多个网络设备220,从数据日志,从由操作员提供的文件等接收训练数据。由于用于训练模型的潜在大量数据,将模型的训练卸载到另一设备可以改善网络设备220的操作,可以减少网络设备220的处理器和存储器资源的利用,等等。在这种情况下,设备可以提供模型用于由网络设备220使用以基于输入的一组参数值来确定采样率。
在一些实现中,模型可以输出采样率。在其他实现中,模型可以输出安全指示符,安全指示符然后可以被映射到采样率。
以这种方式,网络设备220可以接收与流相关联的信息,并且基于与流和模型相关联的参数值来确定采样率。也就是说,网络设备220可以将参数值输入到模型中并且基于参数值来确定采样率。
在一些实现中,网络设备220可以接收标识流的一组参数值的信息以及标识流的一组已知状态的信息。例如,状态可以是指特定流是否包括安全问题(例如,存在安全问题,不存在安全问题,未知安全问题等)。另外,网络设备220可以基于已知参数值和已知状态来训练模型,并且使用模型来确定采样率。
在一些实现中,网络设备220可以基于与流相关联的方向来确定采样率。例如,网络设备220可以确定从源设备210接收的网络业务(例如,将要被提供给目的地设备230)的第一采样率,并且确定从目的地设备230接收的网络业务(例如,将要被提供给源设备210)的第二采样率。换言之,网络设备220可以基于网络业务的方向更频繁地或更不频繁地执行网络业务的上层检查。
作为示例,假定与和目的地设备230相关联的安全指示符相比,源设备210、与源设备210相关联的实体、源设备210的地理位置等与更高的安全指示符相关联。在这种情况下,第一采样率可以包括大于第二采样率的频率的频率(例如,因为与由目的地设备230提供的网络业务相比,由源设备210提供的网络业务与更高的安全风险相关联)。通过基于方向来确定采样率,网络设备220通过对从更不可信的设备、更不可信的地理位置、更不可信的应用等提供的网络业务更频繁地执行上层检查来提高网络安全,并且通过对从更可信的设备、更可信的地理位置等提供的网络业务执行更少的上层检查来提高网络性能并且节省计算资源。
在一些实现中,网络设备220可以基于网络服务来确定采样率。例如,网络设备220可以确定第一网络服务(例如,AppID服务)的第一采样率、第二网络服务(例如,IPS服务)的第二采样率、第三网络服务(例如,有效载荷检查服务)的第三采样率等。换言之,网络设备220的不同网络服务可能需要不同的采样率来标识安全风险。
通过基于网络服务来确定采样率,网络设备220通过根据网络服务的特性更频繁地或更不频繁地向特定服务提供网络业务来提高网络安全。换言之,不同的网络服务可能需要更多或更少的网络业务来标识安全问题。以这种方式,网络设备220更有效地利用网络服务。
在一些实现中,网络设备220(例如,L-7模块)可以生成指令,并且将该指令提供给L-4模块。例如,该指令可以标识一个或多个采样率,并且引起L-4模块基于一个或多个采样率来向L-7模块提供网络业务。作为示例,假定采样率是0.002。在这种情况下,L-4模块可以接收五百个分组,并且将分组之一提供给L-7模块用于上层检查。以这种方式,L-7模块可以接收分组,并且对分组执行上层检查,如下所述。
如图4进一步所示,过程400可以包括基于采样率来执行与流相关联的网络业务的附加上层检查(框450)。例如,网络设备220(例如,L-7模块)可以基于采样率来对与提供给L-7模块的流相关联的网络业务执行上层检查。
在一些实现中,网络设备220(例如,L-7模块)可以对网络业务执行上层检查,并且以与上面结合框430描述的类似的方式来标识一组参数。在一些实现中,网络设备220可以比较该组参数(例如,基于附加上层检查所标识的)和与初始上层检查相关联的条目。例如,网络设备220可以确定流的一个或多个参数值是否已经改变,诸如L-7应用是否已经改变,L-7协议是否已经改变,源设备210或目的地设备230的IP地址是否已经改变,等等。在参数值已经改变的情况下,网络设备220可以执行与流相关联的动作,诸如拒绝网络业务,引起执行附加上层检查,等等。
在一些实现中,网络设备220可以执行上层检查以标识安全问题。例如,网络设备220可以检查有效载荷内容以标识恶意软件、病毒、蠕虫、特洛伊木马、勒索软件、间谍软件、广告软件、恐吓软件等。在这种情况下,网络设备220可以基于标识安全问题来执行与流相关联的动作(例如,可以丢弃网络业务,可以向另一设备提供警报,可以更新策略,等等)。
在一些实现中,网络设备220可以基于条件来调节采样率。在一些实现中,条件可以是指时间段(例如,流的持续时间)、分组的数目、字节的数目、特定事务的完成、新事务的开始等。作为示例,网络设备220可以确定流的第一组数据(例如,第一组分组)的第一采样率,确定流的第二组数据(例如,第二组分组)的第二采样率,确定流的第三组数据(例如,第三组分组)的第三采样率,等等。继续这个示例,第一采样率可以包括与第二采样率的频率相比更高的频率,第二采样率可以包括与第三采样率的频率相比更高的频率,等等。
在一些实现中,网络设备220可以基于执行附加上层检查来确定附加采样率。也就是说,网络设备220可以根据一个或多个附加上层检查来执行与框420至框440相关联的操作。
换言之,网络设备220可以基于与流相关联的条件来调节(例如,减少)采样率。例如,安全风险可以更有可能与流的特定部分(例如,第一MB等)相关联地发生。以这种方式,通过降低与不太可能包括安全风险的流的部分相关联的采样率,本文中的一些实现可以节省网络设备220的处理器和/或存储器资源并且提高网络性能。
作为特定示例,假定源设备210向目的地设备230(其是位于特定国家的电子邮件服务器)提供HTTP请求。对于这个示例,并且如本文中使用的,“客户端到服务器”可以是指从源设备210向目的地设备230提供的网络业务,并且“服务器到客户端”可以是指从目的地设备230向源设备210提供的网络业务。在这种情况下,网络设备220可以接收HTTP请求,标识L-7协议是HTTP,标识L-7应用是电子邮件应用,标识目的地设备230与具有低安全指示符的特定地理位置相关联,等等。
继续这个示例,网络设备220(例如,L-7模块)可以向L-4模块提供标识以下的指令:对于流的字节计数范围(例如,0千字节(KB)至500KB),L-4模块将要向L-7模块提供100%的客户端到服务器网络业务和100%的服务器到客户端网络业务用于上层检查。另外,该指令(或另一指令)可以标识对于流的另一字节计数范围(例如,500KB至1MB),L-4模块将要向L-7模块提供50%的客户端到服务器网络业务和100%的服务器到客户端网络业务。更进一步,该指令(或另一指令)可以标识对于流的另一字节计数范围(例如,1MB至3MB),L-4模块将要向L-7模块提供0%的客户端到服务器网络业务和50%的服务器到客户端网络业务。另外,L-7模块可以提供标识以下的指令:包括满足阈值(例如,大于1KB等)的字节计数(例如,有效载荷字节计数)的特定分组将要被提供给L-7模块(例如,因为特定分组可能包括安全问题)。
作为另一特定示例,假定源设备210尝试建立与目的地设备230的FTP会话。另外,假定源设备210与包括高安全指示符的地理位置相关联(例如,与高风险国家相关联)。在这种情况下,网络设备220可以标识L-7协议是FTP并且源设备210与高安全指示符相关联。
继续上述示例,L-7模块可以向L-4模块提供标识以下的指令:对于字节计数范围(例如,0KB至1MB),L-4模块将要向L-7模块提供100%的客户端到服务器网络业务和100%的服务器到客户端网络业务用于上层检查(例如,IDP服务)。另外,在这种情况下,该指令(或另一指令)可以标识对于另一字节计数范围(例如,1MB至5MB),L-4模块将要向L-7模块提供100%的客户端到服务器网络业务和50%的服务器到客户端网络业务。更进一步,该指令(或另一指令)可以标识对于另一字节计数范围(例如,5MB或更大),L-4模块将要向L-7模块提供100%的客户端到服务器网络业务和0%的服务器到客户端的网络业务。
以这种方式,本文中描述的一些实现提供了一种网络设备220,其可以基于与流相关联的特定参数值来确定执行上层检查的采样率。以这种方式,与不太可能包括安全问题的流相比,网络设备220可以与更有可能包括安全问题的流相关联地更频繁地执行上层检查。另外,以这种方式,本文中描述的一些实现通过减少不太可能包括安全问题的流的上层检查的量来节省计算资源,提高吞吐量,减少延迟,等等。另外,以这种方式,本文中描述的一些实现通过增加更有可能包括安全问题的流的上层检查的量来提高网络安全。
虽然图4示出了过程400的示例框,但是在一些实现中,过程400可以包括与图4中所描绘的那些框相比附加的框、较少的框、不同的框、或者不同地布置的框。另外地或替代地,过程400的两个或更多个框可以并行执行。
本文中描述的一些实现提供了一种网络设备,其可以基于流的参数值的特定排列来确定和/或调节执行网络业务的上层检查的采样率。从而,本文中描述的一些实现使得网络设备能够通过消除对与其他流和/或流的其他部分相比不太可能包括安全问题的特定流和/或流的特定部分执行上层检查来节省计算资源并且提高网络性能。换言之,通过以流为基础确定采样率,本文中描述的实现通过向更有可能包括安全问题的流分配资源来改善L-7和L-4资源的利用。
前述公开内容提供了说明和描述,并非旨在穷举或将实现限于所公开的精确形式。修改和变化鉴于上述公开内容是可能的,或者可以从实现的实践中获取。
如本文中使用的,术语组件旨在被广义地解释为硬件、固件和/或硬件和软件的组合。
本文中结合阈值描述了一些实现。如本文中使用的,满足阈值可以是指值大于阈值,多于阈值,高于阈值,大于或等于阈值,小于阈值,少于阈值,低于阈值,小于或等于阈值,等于阈值,等等。
很明显,本文中描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用的控制硬件或软件代码不是对实现的限制。因此,本文中在没有参考具体的软件代码的情况下描述了系统和/或方法的操作和行为,应当理解,软件和硬件可以被设计为基于本文中的描述来实现系统和/或方法。
尽管特征的特定组合在权利要求中列举和/或在说明书中公开,但是这些组合不意图限制可能实现的公开内容。事实上,这些特征中的很多可以以未在权利要求中具体列举和/或在说明书中公开的方式进行组合。尽管下面列出的每个从属权利要求可以仅直接依赖于一项权利要求,但是可能的实现的公开内容包括每个从属权利要求与权利要求组中的每个其他权利要求的组合。
除非明确地如此描述,否则本文中使用的任何元素、动作或指令都不应当被解释为是关键的或必要的。而且,如本文中使用的,冠词“一(a)”和“一个(an)”旨在包括一个或多个项目,并且可以与“一个或多个”可互换地使用。此外,如本文中使用的,术语“集合”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关项目和不相关项目的组合等),并且可以与“一个或多个”可互换地使用。在预期只有一个项目的情况下,使用术语“一个(one)”或类似的语言。而且,如本文中使用的,术语“有(has)”、“具有(have)”、“拥有(having)”等意图是开放式术语。此外,除非另有明确说明,否则短语“基于”旨在表示“至少部分基于”。

Claims (20)

1.一种设备,包括:
用于接收与流相关联的网络业务的第一部分的装置;
用于执行与所述流相关联的所述网络业务的第一部分的第一上层检查的装置;
用于基于执行与所述流相关联的所述网络业务的第一部分的所述第一上层检查,来标识所述流的一组参数的装置;
用于基于所述一组参数,来确定执行与所述流相关联的网络业务的第二部分的第二上层检查的采样率的装置;
用于指示下层使用所述采样率来提供与所述流相关联的所述网络业务的第二部分,以用于所述第二上层检查的装置;
用于基于从所述下层接收与所述流相关联的所述网络业务的第二部分,来执行与所述流相关联的所述网络业务的第二部分的所述第二上层检查的装置;以及
用于基于执行所述第二上层检查的结果来执行关于所述流的动作的装置。
2.根据权利要求1所述的设备,还包括:
用于在执行与所述流相关联的所述网络业务的第一部分的所述第一上层检查之后,标识与所述流相关联的上层应用的装置;以及其中用于确定所述采样率的所述装置包括:
用于基于所述上层应用来确定所述采样率的装置。
3.根据权利要求1所述的设备,还包括:
用于在执行与所述流相关联的所述网络业务的第一部分的所述第一上层检查之后,标识与所述流相关联的上层协议的装置;以及其中用于确定所述采样率的所述装置包括:
用于基于所述上层协议来确定所述采样率的装置。
4.根据权利要求1所述的设备,还包括:
用于标识与所述流相关联的源设备的地理位置的装置;以及
其中用于确定所述采样率的所述装置包括:
用于基于所述源设备的所述地理位置来确定所述采样率的装置。
5.根据权利要求1所述的设备,还包括:
用于确定执行与所述流相关联的网络业务的第三部分的第三上层检查的另一采样率的装置,
所述另一采样率不同于所述采样率;
用于指示所述下层使用所述另一采样率来提供与所述流相关联的所述网络业务的第三部分,以用于所述第三上层检查的装置;以及
用于基于从所述下层接收与所述流相关联的所述网络业务的第三部分,来执行与所述流相关联的所述网络业务的第三部分的所述第三上层检查的装置。
6.根据权利要求1所述的设备,还包括:
用于确定执行与所述流相关联的网络业务的第三部分的第三上层检查的另一采样率的装置,
所述另一采样率不同于所述采样率,
所述网络业务的第二部分由源设备向与所述流相关联的目的地设备提供,以及
所述网络业务的第三部分由所述目的地设备向所述源设备提供;
用于指示所述下层使用所述另一采样率来提供与所述流相关联的所述网络业务的第三部分,以用于所述第三上层检查的装置;以及
用于基于从所述下层接收与所述流相关联的所述网络业务的第三部分,来执行与所述流相关联的所述网络业务的第三部分的所述第三上层检查的装置。
7.根据权利要求1所述的设备,其中所述第一上层检查和所述第二上层检查由通信模型的上层执行,
其中所述上层在所述通信模型中高于所述下层。
8.一种存储指令的非暂态计算机可读介质,所述指令包括:
一个或多个指令,所述一个或多个指令在由设备的一个或多个处理器执行时,引起所述一个或多个处理器:
接收与流相关联的网络业务的第一部分;
执行与所述流相关联的所述网络业务的第一部分的第一上层检查;
基于执行与所述流相关联的所述网络业务的第一部分的所述第一上层检查,来标识所述流的一组参数;
基于所述一组参数,来确定执行与所述流相关联的网络业务的第二部分的第二上层检查的采样率;
指示下层使用所述采样率来提供与所述流相关联的所述网络业务的第二部分,以用于所述第二上层检查;
基于从所述下层接收与所述流相关联的所述网络业务的第二部分,来执行与所述流相关联的所述网络业务的第二部分的所述第二上层检查;以及
基于执行所述第二上层检查的结果来执行关于所述流的动作。
9.根据权利要求8所述的非暂态计算机可读介质,其中所述一个或多个指令在由所述一个或多个处理器执行时,还引起所述一个或多个处理器:
基于执行所述第一上层检查,来标识与所述网络业务的第一部分相关联的统一资源定位符;以及
其中引起所述一个或多个处理器确定所述采样率的所述一个或多个指令引起所述一个或多个处理器:
基于与所述网络业务的第一部分相关联的所述统一资源定位符来确定所述采样率。
10.根据权利要求8所述的非暂态计算机可读介质,其中所述一个或多个指令在由所述一个或多个处理器执行时,还引起所述一个或多个处理器:
基于执行所述第一上层检查来标识与所述流相关联的应用;以及
其中引起所述一个或多个处理器确定所述采样率的所述一个或多个指令引起所述一个或多个处理器:
基于所述应用来确定所述采样率。
11.根据权利要求8所述的非暂态计算机可读介质,其中所述一个或多个指令在由所述一个或多个处理器执行时,还引起所述一个或多个处理器:
将所述一组参数输入到模型中以获取所述模型的输出,
所述模型已经使用机器学习技术在训练数据上被训练;以及
其中引起所述一个或多个处理器确定所述采样率的所述一个或多个指令引起所述一个或多个处理器:
基于所述模型的所述输出来确定所述采样率。
12.根据权利要求8所述的非暂态计算机可读介质,其中所述一个或多个指令在由所述一个或多个处理器执行时,还引起所述一个或多个处理器:
基于执行所述第一上层检查,来标识与所述流相关联的应用层协议;以及
其中引起所述一个或多个处理器确定所述采样率的所述一个或多个指令引起所述一个或多个处理器:
基于所述应用层协议来确定所述采样率。
13.根据权利要求8所述的非暂态计算机可读介质,其中所述采样率与所述流的方向相关联;以及
其中所述一个或多个指令在由所述一个或多个处理器执行时,还引起所述一个或多个处理器:
确定执行与所述流相关联的网络业务的第三部分的第三上层检查的、与所述流的另一方向相关联的另一采样率;
指示所述下层使用所述另一采样率来提供与所述流相关联的所述网络业务的第三部分,以用于所述第三上层检查;以及
基于从所述下层接收与所述流相关联的所述网络业务的第三部分,来执行与所述流相关联的所述网络业务的第三部分的所述第三上层检查。
14.根据权利要求8所述的非暂态计算机可读媒体,其中所述一个或多个指令在由所述一个或多个处理器执行时,还引起所述一个或多个处理器:
确定执行与所述流相关联的网络业务的第三部分的第三上层检查的另一采样率;
确定条件被满足;
基于所述条件被满足,指示所述下层使用所述另一采样率来提供与所述流相关联的所述网络业务的第三部分,以用于所述第三上层检查;以及
基于从所述下层接收与所述流相关联的所述网络业务的第三部分,来执行与所述流相关联的所述网络业务的第三部分的所述第三上层检查。
15.一种方法,包括:
由设备接收与流相关联的网络业务;
由所述设备标识与所述流相关联的一组参数;
由所述设备基于所述一组参数,来确定执行与所述流相关联的网络业务的一部分的上层检查的采样率;
由所述设备向下层提供用于使用所述采样率来提供与所述流相关联的所述网络业务的一部分,以用于所述上层检查的指令;
由所述设备基于从所述下层接收与所述流相关联的所述网络业务的一部分,来执行与所述流相关联的所述网络业务的一部分的所述上层检查;以及
由所述设备基于执行与所述流相关联的所述网络业务的一部分的所述上层检查的结果,来执行关于所述流的动作。
16.根据权利要求15所述的方法,还包括:
标识与所述流相关联的目的地设备的地理位置;以及
其中确定所述采样率包括:
基于所述目的地设备的所述地理位置来确定所述采样率。
17.根据权利要求15所述的方法,还包括:
确定执行与所述流相关联的网络业务的另一部分的另一上层检查的另一采样率,
所述另一采样率不同于所述采样率;
指示所述下层使用所述另一采样率来提供与所述流相关联的所述网络业务的另一部分,以用于所述另一上层检查;以及
基于从所述下层接收与所述流相关联的所述网络业务的另一部分,来执行与所述流相关联的所述网络业务的另一部分的所述另一上层检查。
18.根据权利要求15所述的方法,还包括:
标识与所述流相关联的应用层协议;以及
其中确定所述采样率包括:
基于所述应用层协议来确定所述采样率。
19.根据权利要求15所述的方法,还包括:
确定条件被满足;
基于所述条件被满足,来指示所述下层使用另一采样率来提供与所述流相关联的网络业务的另一部分,以用于另一上层检查;以及
基于从所述下层接收与所述流相关联的所述网络业务的另一部分,来执行与所述流相关联的所述网络业务的另一部分的所述另一上层检查。
20.根据权利要求15所述的方法,还包括:
执行与所述流相关联的网络业务的初始部分的初始上层检查;以及
其中标识所述一组参数包括:
基于执行与所述流相关联的所述网络业务的初始部分的所述初始上层检查,来标识所述一组参数。
CN201810295346.7A 2017-05-02 2018-03-30 基于采样率来执行流的上层检查 Active CN108809749B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/584,625 US10476629B2 (en) 2017-05-02 2017-05-02 Performing upper layer inspection of a flow based on a sampling rate
US15/584,625 2017-05-02

Publications (2)

Publication Number Publication Date
CN108809749A true CN108809749A (zh) 2018-11-13
CN108809749B CN108809749B (zh) 2022-06-24

Family

ID=61972293

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810295346.7A Active CN108809749B (zh) 2017-05-02 2018-03-30 基于采样率来执行流的上层检查

Country Status (3)

Country Link
US (1) US10476629B2 (zh)
EP (1) EP3399723B1 (zh)
CN (1) CN108809749B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258862A (zh) * 2018-11-30 2020-06-09 比亚迪股份有限公司 程序日志管理方法、装置及系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10631367B2 (en) 2017-04-14 2020-04-21 Verizon Patent And Licensing Inc. Virtualized equipment for multi-network and cross cell utilization
US10470079B2 (en) 2017-04-14 2019-11-05 Verizon Patent And Licensing Inc. Systems and method for cross cell aggregation using virtualized equipment
US10819683B2 (en) * 2017-11-20 2020-10-27 Forcepoint Llc Inspection context caching for deep packet inspection
WO2020236275A1 (en) * 2019-05-23 2020-11-26 Cray Inc. System and method for facilitating dynamic command management in a network interface controller (nic)
CN110401579B (zh) * 2019-06-18 2022-08-23 平安科技(深圳)有限公司 基于hash表的全链路数据采样方法、装置、设备及存储介质
GB202012610D0 (en) * 2020-08-13 2020-09-30 British Telecomm Monitoring network connections
CN115514686A (zh) * 2021-06-23 2022-12-23 深信服科技股份有限公司 一种流量采集方法、装置及电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100158009A1 (en) * 2008-12-19 2010-06-24 Electronics And Telecommunications Research Institute Hierarchical packet process apparatus and method
US20150256431A1 (en) * 2014-03-07 2015-09-10 Cisco Technology, Inc. Selective flow inspection based on endpoint behavior and random sampling
CN105553731A (zh) * 2015-12-23 2016-05-04 浪潮(北京)电子信息产业有限公司 一种自动巡检方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512980B2 (en) 2001-11-30 2009-03-31 Lancope, Inc. Packet sampling flow-based detection of network intrusions
US7415723B2 (en) 2002-06-11 2008-08-19 Pandya Ashish A Distributed network security system and a hardware processor therefor
US7966658B2 (en) 2004-04-08 2011-06-21 The Regents Of The University Of California Detecting public network attacks using signatures and fast content analysis
EP1589716A1 (en) 2004-04-20 2005-10-26 Ecole Polytechnique Fédérale de Lausanne (EPFL) Method of detecting anomalous behaviour in a computer network
US9794272B2 (en) * 2006-01-03 2017-10-17 Alcatel Lucent Method and apparatus for monitoring malicious traffic in communication networks
US8341739B2 (en) * 2007-05-24 2012-12-25 Foundry Networks, Llc Managing network security
US9246828B1 (en) 2014-06-18 2016-01-26 Juniper Networks, Inc. Traffic-aware sampling rate adjustment within a network device
US9973528B2 (en) * 2015-12-21 2018-05-15 Fortinet, Inc. Two-stage hash based logic for application layer distributed denial of service (DDoS) attack attribution

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100158009A1 (en) * 2008-12-19 2010-06-24 Electronics And Telecommunications Research Institute Hierarchical packet process apparatus and method
US20150256431A1 (en) * 2014-03-07 2015-09-10 Cisco Technology, Inc. Selective flow inspection based on endpoint behavior and random sampling
CN105553731A (zh) * 2015-12-23 2016-05-04 浪潮(北京)电子信息产业有限公司 一种自动巡检方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258862A (zh) * 2018-11-30 2020-06-09 比亚迪股份有限公司 程序日志管理方法、装置及系统

Also Published As

Publication number Publication date
EP3399723A1 (en) 2018-11-07
US10476629B2 (en) 2019-11-12
CN108809749B (zh) 2022-06-24
EP3399723B1 (en) 2023-06-28
US20180323898A1 (en) 2018-11-08

Similar Documents

Publication Publication Date Title
CN108809749A (zh) 基于采样率来执行流的上层检查
EP3516833B1 (en) Methods, systems, and computer readable media for discarding messages during a congestion event
CN107241186B (zh) 网络设备和用于网络通信的方法
US10742669B2 (en) Malware host netflow analysis system and method
CN103460648B (zh) 用于在Diameter信令路由器(DSR)内屏蔽Diameter消息的方法和系统
EP3343864A1 (en) Reputation-based application caching and white-listing
US20130275583A1 (en) Methods, systems, and computer readable media for performing diameter overload control
CN101674307A (zh) 计算机网络内的安全服务的分级应用程序
CN105429879B (zh) 流表项查询方法、设备及系统
CN107241280A (zh) 基于信誉的网络流量的动态优先级排序
US10567441B2 (en) Distributed security system
Rathore et al. Hadoop based real-time intrusion detection for high-speed networks
US10862805B1 (en) Intelligent offloading of services for a network device
CN112261021B (zh) 软件定义物联网下DDoS攻击检测方法
CN108028828A (zh) 一种分布式拒绝服务DDoS攻击检测方法及相关设备
CN108833430B (zh) 一种软件定义网络的拓扑保护方法
US20200059491A1 (en) Generation of security policies for microsegmented computer networks
US20180227236A1 (en) Managing flow table entries for express packet processing based on packet priority or quality of service
US11245599B2 (en) Network traffic monitoring or storage using a signed uniform resource locator
US11252091B1 (en) Updating a traffic rate limit for policing traffic
EP4199427A1 (en) Ai-supported network telemetry using data processing unit
Sophakan et al. Securing openflow controller of software-defined networks using bayesian network
CN113452663B (zh) 基于应用特征的网络业务控制
US11765090B2 (en) Network traffic control based on application identifier
US11716263B2 (en) Network traffic monitoring or storage using a signed uniform resource locator

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant