买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】网络设备和用于网络通信的方法_瞻博网络公司_201610473952.4 

申请/专利权人:瞻博网络公司

申请日:2016-06-24

公开(公告)日:2021-05-07

公开(公告)号:CN107241186B

主分类号:H04L9/08(20060101)

分类号:H04L9/08(20060101);H04L29/08(20060101)

优先权:["20160329 US 15/083,693"]

专利状态码:有效-授权

法律状态:2021.05.07#授权;2017.11.07#实质审查的生效;2017.10.10#公开

摘要:本公开涉及应用签名生成和分发。本公开提供了一种网络设备,其可以接收针对应用的网络流量。该网络设备可以标识被用于网络流量的应用层协议。该网络设备可以从网络流量获得情境信息以获得情境信息项,并且该情境信息项可以基于应用层协议被选择。该网络设备可以确定情境信息项匹配被存储的情境信息项。该网络设备可以确定就被存储的情境信息项而言已经满足阈值。该网络设备可以基于情境信息项生成针对应用的应用签名。该网络设备可以向另一设备发送应用签名以准许另一设备基于应用签名标识应用。

主权项:1.一种网络设备,包括:用于接收针对应用的网络流量的装置;用于标识被用于所述网络流量的应用层协议的装置;用于从所述网络流量获得情境信息以获得情境信息项的装置,所述情境信息项基于所述应用层协议被选择;用于确定所述情境信息项匹配被存储的情境信息项并且基于所述确定来递增针对与匹配的被存储的情境信息项有关的流量的点击计数的装置;用于确定就所述被存储的情境信息项而言已经满足用于创建应用签名的点击计数阈值的装置;用于基于确定已经满足所述点击计数阈值,基于所述情境信息项生成针对所述应用的应用签名的装置;以及用于向另一设备发送所述应用签名以准许所述另一设备基于所述应用签名标识所述应用的装置。

全文数据:应用签名生成和分发背景技术[0001]应用标识可以支持网络安全和服务,例如应用感知防火墙、应用感知流量可见度及控制、应用感知服务质量Q0S、应用感知速率限制、基于应用的路由等等。很多应用在开放式系统互联模型0SI模型)的第7层L7应用层处或者以上。应用可以基于对网络流量的深度分组检查DPI被标识。DPI可以利用已经(例如由DPI商家)生成的应用签名标识已知的应用。发明内容[0002]根据一些可能的实现方式,网络设备可以包括一个或多个处理器以接收针对应用的网络流量。该一个或多个处理器可以标识被用于网络流量的应用层协议。该一个或多个处理器可以从网络流量获得情境信息以获得情境信息项,并且情境信息项可以基于应用层协议被选择。该一个或多个处理器可以确定情境信息项匹配被存储的情境信息项。该一个或多个处理器可以确定就被存储的情境信息项而言己经满足阈值。该一个或多个处理器可以基于情境信息项生成针对应用的应用签名。该一个或多个处理器可以向另一设备发送应用签名以准许另一设备基于应用签名标识应用。[0003]根据一些可能的实现方式,一种非瞬态计算机可读介质可以存储一个或多个指令,该一个或多个指令当被一个或多个处理器执行时促使该一个或多个处理器接收与应用相关联的网络流量。所述一个或多个指令可以促使所述一个或多个处理器从网络流量确定正在被用于网络流量的应用层协议。所述一个或多个指令可以促使所述一个或多个处理器从网络流量获得情境信息项,并且该情境信息项可以与应用层协议相关联。所述一个或多个指令可以促使所述一个或多个处理器确定情境信息项与被存储的情境信息项匹配。所述一个或多个指令可以促使所述一个或多个处理器确定就被存储的情境信息项而言已经满足阈值。所述一个或多个指令可以促使所述一个或多个处理器基于被存储的情境信息项生成针对应用的应用签名。所述一个或多个指令可以促使所述一个或多个处理器向另一设备发送应用签名以准许另一设备基于应用签名标识应用。[0004]根据一些可能的实现方式,一种方法可以包括由网络设备接收网络流量,并且该网络流量可以对应于应用。该方法可以包括由网络设备标识正在被用于网络流量的应用层协议。该方法可以包括由网络设备并且从网络流量获得情境信息项,并且该情境信息项可以基于应用层协议被选择。该方法可以包括由网络设备确定情境信息项匹配被存储的情境信息项。该方法可以包括由网络设备确定就被存储的情境信息项而言己经满足阈值。该方法可以包括由网络设备并且针对应用、基于情境信息项来生成应用签名。该方法可以包括由网络设备向另一设备发送应用签名以准许另一设备基于应用签名来标识应用。附图说明[0005]图1A-1D是这里所描述的示例实现方式的概览的图;[0006]图2是其中这里所描述的系统和或方法可以被实现的示例环境的图;[0007]图3是图2的一个或多个设备的示例部件的图;以及[000S]图4A和4B是用于应用签名生成和分发的示例过程的流程图。具体实施方式[0009]下面对示例实现方式的详细描述参考附图。不同附图中的相同标号可以标识相同或相似的元件。[0010]如果不存在针对应用的应用签名,则应用可以被分类为未知应用。未知应用可能是非法入侵流量、未被标识的合法流量例如新应用以及之前被标识的应用的新版本)、具有被错误配置的应用的流量等。应用感知安全装备的高效且有效的操作可能依赖于减少或者最小化在网络或系统上被标识的未知应用的数目。然而,新应用以及现有应用的新版本可能比应用签名提供者例如DPI商家可以生成并分发应用签名更快地出现。此外,应用签名提供者例如DPI商家可能没有意识到网络流量正在本地被各种网络设备看到。这里所描述的实现方式可以允许自动生成和分发应用签名,这可以减少从未知应用的标识到用于标识未知应用的应用签名的生成和分发的延迟。这里所描述的实现方式还可以允许在应用签名提供者感知到这些应用之前针对本地受欢迎的应用例如可能与正在本地被各种网络设备看到的网络流量相关联的应用生成应用签名。[0011]减少应用签名的生成和分发的延迟以及标识本地受欢迎的应用可以提高应用感知和或基于应用的网络安全的有效性。提高应用感知和或基于应用的网络安全的有效性可以加速去除非法入侵流量和或标识合法流量,这可以提高网络安全性、节约计算资源例如处理资源和或存储器资源并且提高网络性能例如吞吐量和或延迟)。[0012]这里所公开的一些示例基于安全套接层SSL协议。虽然一些实现方式可以使用SSL,但是这里所公开的示例可以使用任何安全协议,例如SSL、传输层安全TLS和或其它类似类型的安全措施。此外,这里所公开的一些示例基于超文本传输协议HTTP。虽然一些实现方式可以使用HTTP,但是这里所公开的示例可以使用HTTP安全保障HTTPS例如SSL上的HTTP或者TLS上的HTTP,例如其中网络设备可以截获安全流量例如其中服务器证书是可用的或者其中网络设备正在用作转发代理)。[0013]图1A-1D是这里所描述的示例实现方式100的概览的图。如图1A中所示,并且利用标号105,假设网络设备(例如路由器、网关或防火墙)正在接收包括可能与未知应用(例如针对其可能没有应用签名的应用相关联的三个业务流的网络流量。被显示为流量A的第一业务流正在使用HTTPL7例如应用层)协议,具有被请求的统一资源标识符URIhttp:ABC•compage和主机名ABC•com。被显示为流量B的第二业务流正在使用SSLL7协议,具有用于服务器证书的通用名Name-CDE和服务器名扩展Server_EFG。被显示为流量C的第三业务流正在使用使用HTTPL7协议,具有被请求的URIhttp:XYZ.commain和主机名XYZ.com〇[0014]如标号110所示,网络设备可以基于L7协议例如HTTP、SSL对网络流量进行分类并且可以从网络流量获得两个情境信息条目。要从网络流量获得的情境信息条目可以基于与流量分类相关联的规则库被确定。例如,网络设备可以由被分类为HTTP的网络流量获得被请求的URI和主机名(例如针对流量A的http:ABC.compage和ABC.com以及针对流量C的http:XYZ•commain和XYZ•com。网络设备可以由被分类为SSL的网络流量获得用于服务器证书的通用名和或服务器名扩展例如针对流量B的Name_CDE和Server_EFG。如标号115所示,网络设备可以在情境数据库中查找从网络流量获得的情境信息。情境数据库可以针对每个条目存储L7协议、两个所获得的情境信息条目、点击计数器和阈值例如用于确定是否基于网络流量生成应用签名)。[0015]如图1B中所示,并且利用标号120,假设网络设备已确定由流量A获得的情境信息与情境数据库中的现有条目不匹配。如通过标号120进一步显示的,假设网络设备已确定由流量B获得的情境信息与情境数据库中的现有条目匹配,但是没有满足阈值。如标号125所示,如果不存在与所获得的情境信息匹配的现有条目,则网络设备可以向情境数据库添加条目(例如对于流量A而言)。如标号125所示,如果存在现有条目但没有满足阈值,则网络设备可以更新点击计数器例如针对流量B,其中点击计数值已从5增加到6,该计数值仍然在阈值10以下)。如标号13〇所示,网络设备可以将所获得的情境信息发送给对等设备以在网络设备和对等设备之间同步所获得的情境信息。[00161如图1C中所示,并且利用标号135,假设网络设备已确定由流量C获得的情境信息与情境数据库中的现有条目匹配并且己经满足阈值例如基于与由流量C获得的情境信息相对应的附加点击)。如标号140所示,网络设备可以基于L7协议例如HTTP和由流量C获得的情境信息项(例如URI:http:XYZ.commain和Hostname:XYZ•com生成应用签名。如标号140进一步示出的,网络设备可以对应用签名进行标准化n0rmalize。[0017]如标号145所示,网络设备可以将经标准化的应用签名添加到本地应用签名数据库中。如标号15〇所示,网络设备可以将经标准化的应用签名发送给对等设备,该对等设备可以利用应用签名进行应用标识。如标号155所示,如果应用签名己被指定为公开的(例如应用签名可用于公开分发),则网络设备可以将经标准化的应用签名发送给签名提供者设备,该设备可以利用应用签名来支持应用标识。如标号160所示,应用提供者设备可以将经标准化的应用签名添加到应用签名数据库中。[0018]如图1D中所示,并且利用标号165,假设签名提供者设备已接收到应用签名数据库更新。如标号17〇所示,网络设备可以接收来自签名提供者设备和或对等设备的新的应用签名。[00191如标号175所示,网络设备可以(例如基于在经标准化的应用签名之间比较散列)确定新的应用签名是否匹配现有的应用签名。如标号180所示,如果网络设备例如基于没有找到匹配散列确定新的应用签名与现有应用签名不匹配,则网络设备可以将新的应用签名添加到本地应用签名数据库中(例如在新的名称空间中)。如标号185所示,如果网络设备例如基于在应用签名之间匹配散列)确定新的应用签名与现有应用签名匹配,则网络设备可以确定新的应用签名与现有应用签名之间的优先级。网络设备可以将新的或者现有的)更高优先级的应用签名保留在本地应用签名数据库中,一起保留来自更高优先级的应用签名的应用名和或任何相关联的元数据例如针对与签名相关联的应用的应用群组信息)。如标号190所示,如果现有应用签名例如利用新的应用签名被替换,则网络设备可以向对等设备发送通知。[0020]按照这种方式,各种网络设备可以自动生成和分发基于被网络设备接收的网络流量的应用签名。在网络设备之间自动生成和分发应用签名可以减少与应用签名的生成和分发相关联的延迟并且可以支持对本地受欢迎的应用的标识。减少与应用签名的生成和分发相关联的延迟并且标识本地受欢迎的应用可以提高应用感知和或基于应用的网络安全的有效性。此外,这里所描述的实现方式可以允许各种网络设备基于合适的优先级机制自动地选择性地保留被自动生成和分发的应用签名。基于合适的优先级机制选择性地保留被自动生成和分发的应用签名可以允许被各种网络设备保留的应用签名的集合汇集为一个公用的应用签名集合。汇集为一个公用的应用签名集合可以提高应用报告和策略执行的有效性。[0021]如上所示,图1A-1D仅仅作为示例被提供。其它示例也是可能的并且可以与针对图1A-1D所描述的示例不同。[0022]图2是其中这里所描述的系统和或方法可以被实现的示例环境200的图。如图2中所示,环境2〇〇可以包括网络设备210、情境数据库220、本地应用签名数据库230、对等设备240、签名提供者设备250、应用签名数据库%0和网络27〇。环境200的设备可以经由有线连接、无线连接或者有线和无线连接的组合互相连接。[0023]网络设备210包括能够处理和或传送与端点设备相关联的网络流量的一个或多个设备例如一个或多个流量传送设备)。例如,网络设备210可以包括路由器、交换机、网关、防火墙、集线器、网桥、反向代理设备、客户端设备、服务器设备例如代理服务器或执行虚拟机的服务器)、安全设备、入侵检测设备、负载均衡设备或类似设备。在一些实现方式中,网络设备210可以包括能够接收和或提供网络流量的或者作为网络流量的源或目的地的端点设备。例如,网络设备210可以包括计算机或类似设备。在一些实现方式中,网络设备210可以使用情境数据库220和或本地应用签名数据库230来辅助实现从网络流量获得情境信息以及应用签名生成和分发。网络设备210可以向对等设备240发送网络流量和或接收来自对等设备240的网络流量。[0024]在一些实现方式中,网络设备210可以包括对等设备跟踪部件。对等设备跟踪部件可以对针对网络设备210的对等设备例如对等设备240进行认证,维护被连接的对等设备列表,并且或者维护与用于签名信息交换的对等设备的安全连接。在一些实现方式中,网络设备210可以从管理角度上被配置有针对一个或多个对等设备例如对等设备24〇的标识信息(例如互联网协议(IP地址)。在一些实现方式中,网络设备21〇可以基于网络设备210从对等设备接收到的发现消息来发现和或对一个或多个对等设备例如对等设备24〇进行认证。在一些实现方式中,对等设备跟踪部件可以包括可以与网络设备21〇兼容的一系列设备例如对等设备240。在一些实现方式中,(例如网络设备21〇与对等设备240之间的)对等设备兼容性可以基于设备特征或者可以在网络设备210和或对等设备240上激活的应用签名数据库版本而被确定。[0025]情境数据库22〇包括能够存储网络设备21〇从网络流量获得的情境信息的一个或多个设备。例如,情境数据库220可以包括存储器设备、服务器设备、网络设备210的存储器等。网络设备2|〇可以使用情境数据库22〇所存储的情境信息来辅助生成应用签名和或基于网络流重标识应用。情境数据库22〇可以是网络设备21〇本地的或者远程的。在一些实现方式,,情境数据库22〇可以是包括与一个或多个对等设备24〇相关联的附加情境数据库或者其部件的分布式实体。在一些实现方式中,与网络设备21〇和一个或多个对等设备24〇相关联的情境数据库22〇可以周期性地同步被存储在各个情境数据库22〇上的情境信息。在一些实现方式中,情境数据库22〇可以存储一个或多个规则库,网络设备21〇可以利用所述规则库来辅助实现从网络流量获得情境信息和应用签名生成。[0026]本地应用签名数据库230包括能够存储应用签名的一个或多个设备。例如,本地应用签名数据库230可以包括存储器设备、服务器设备、网络设备210的存储器等。本地应用签名数据库230可以是网络设备210本地的或者远程的。本地应用签名数据库230可以存储应用益名,该应用签名可以包括由网络设备210生成的应用签名和网络设备210例如从对等设备240和或签名提供者设备250接收的应用签名。网络设备210可以使用本地应用签名数据库230所存储的一个或多个应用签名来辅助实现基于网络设备21〇所接收、处理和或传送的网络流量标识应用。[0027]对等设备240包括能够处理和或传送与端点设备相关联的网络流量的一个或多个设备例如一个或多个流量传送设备)。例如,对等设备240可以包括路由器、交换机、网关、防火墙、集线器、网桥、反向代理设备、客户端设备、服务器设备例如代理服务器或执行虚拟机的服务器)、安全设备、入侵检测设备、负载均衡设备或类似设备。在一些实现方式中,对等设备240可以包括能够接收和或提供网络流量的或者作为网络流量的源或目的地的端点设备。例如,对等设备240可以包括计算机或类似设备。在一些实现方式中,对等设备240可以使用情境数据库和或本地应用签名数据库来辅助实现应用签名生成和分发。对等设备240可以向网络设备21〇发送网络流量和或接收来自网络设备21〇的网络流量。在一些实现方式中,对等设备240可以被实现为云计算网络的一个或多个设备。[0028]签名提供者设备250包括能够接收、生成、存储、处理和或提供应用签名的一个或多个设备。例如,签名提供者设备2即可以包括服务器、存储设备等。在一些实现方式中,签名提供者设备250可以(例如从网络设备210和或对等设备240接收网络设备210和或对等设备240所生成的一个或多个应用签名。签名提供者设备25〇可以接收一个或多个Dpi供应商所生成的一个或多个应用签名。签名提供者设备250可以向应用签名数据库充电放电电流路径260添加从网络设备21〇、对等设备24〇和或一个或多个op〗供应商接收到的一个或多个应用签名。签名提供者设备250可以向网络设备210和或对等设备240发送应用签名数据库260所存储的一个或多个应用签名。在一些实现方式中,签名提供者设备25〇可以被实现为zri十算网络的一个或多个设备。在一些实现方式中,签名提供者设备25〇可以提供公开应用签名(例如可用于公开分发的应用签名)和或受限制的应用签名(例如分发可能被局限于指定实体的应用签名)。[0029]应用签名数据库26〇包括能够存储应用签名的一个或多个设备。例如,应用签名数据库26〇可以包括存储器设备、服务器设备、签名提供者设备25〇的存储器等。应用签名数据库260可以是签名提供者设备250本地的或者远程的。应用签名数据库26〇可以存储应用签名,该应用签名可以包括由网络设备21〇、对等设备240和或一个或多个DPI供应商生成的应用签名。在二些实现方式中,应用签名数据库26〇中的应用签名可以由DPI供应商周期性地更新和^或发布。在一些实现方式中,应用签名数据库26〇可以被实现为云计算网络的一个或多个设备。在一些实现方式中,应用签名数据库26〇可以存储公开应用签名(例如可用f公开分发的应用签名)和或受限制的应用签名(例如分发可能被局限于指定实体的应用签名)。在-些無方式巾,对应臟織辦26_丨施可_局野签墟供者设备250〇[0030]网络27〇包括-个或多个有线和或无线网络。例如,网络27〇可以包括蜂窝网络C例如长期演进LTE网络、3G网络、码分多址CDMA网络等)、公用陆地移动网络PLMN、局域网LAN、广域网WAN、城域网MAN、电话网络例如公共交换电话网络pstn、私用网络、自适应网络、内联网、互联网、基于光纤的网络、云计算网络等和或这些或其他类型的网络的组合。[0031^图2中所示的设备和网络的数目和布置作为示例被提供。实践中,可以存在与图2中所示的那些相比更多的设备和或网络、更少的设备和或网络、不同的设备和或网络或者不同布置的设备和或网络。此外,图2中所示的两个或更多个设备可以被实现在单个设备内,或者图2中所示的单个设备可以被实现为多个分布式设备。作为附加或者作为选择,环境200的一组设备例如一个或多个设备可以执行被描述为环境200的另一组设备所执行的一个或多个功能。[0032]图3是设备3〇〇的示例部件的图。设备3〇〇可以对应于网络设备2i〇、对等设备24〇和或签名提供者设备250。在一些实现方式中,网络设备21〇、对等设备240和或签名提供者设备250可以包括一个或多个设备300和或设备3〇〇的一个或多个部件。如图3中所示,设备3〇0可以包括一组输入部件3〇5、交换部件:31〇、一组输出部件315和控制器32〇。设备3〇〇的部件可以经由有线连接、无线连接或者有线和无线连接的组合互相连接。[0033]输入部件305可以是用于被连接到设备3〇〇的物理链路的附接点,并且可以是针对设备3〇〇所接收的传入流量例如分组)的进入点。输入部件305可以处理传入流量,例如通过执行数据链路层封装或去封装。在一些实现方式中,输入部件305可以发送和或接收分组。在一些实现方式中,输入部件3〇5可以包括输入线路卡,该输入线路卡包括一个或多个分组处理部件例如采用集成电路的形式),例如一个或多个接口卡(IFC、分组转发部件、线路卡控制器部件、输入端口、处理器、存储器和或输入队列。[0034]交换部件31〇可以将输入部件3〇5和输出部件315互联。在一些实现方式中,交换部件=0可以经由一个或多个交叉开关、经由一个或多个总线和或使用共享存储器来实现。共享存储器可以用作临时缓存来在分组最终被安排传送给输出部件315之前存储来自输入部件3〇5的分组。在一些实现方式中,交换部件3丨0可以允许输入部件3〇5、输出部件315和或控制器320进行通信。[0035]输出部件315可以是用于被连接到设备3〇〇的物理链路的附接点,并且可以是用于设备3〇0所发送的传出流量例如分组)的出口点。输出部件3i5可以存储分组并且或者可以安排分组在输出物理链路上传输。输出部件315可以支持数据链路层封装或去封装,和或各种更高层的协议。在一些实现方式中,输出部件315可以发送分组和或接收分组。在一些实现方式中,输出部件315可以包括输出线路卡,该输出线路可包括一个或多个分组处理部件例如采用集成电路的形式),例如一个或多fIFC、分组转发部件、线路卡控制器部件、输出端口、处理器、存储器和或输出队列。在一些实现方式中,输入部件3〇5和输出部件315可以用同一组部件来实现(例如输入输出部件可以是输入部件305和输出部件315的组合。[0036]控制器32〇包括采用例如中央处理单元(CPU、微处理器、现场可编程门阵列FPGA、专用集成电路ASIC和或可以解析和或执行指令的另一种处理器的形式的处理器。处理器用硬件、^件或者硬件和软件的组合来实现。在一些实现方式中,控制器32〇可以包括可被编程为执行功能的~个或多个处理器。[0037]在一些实现方式中,控制器320可以包括存储供控制器320使用的信息和或指令的随机访问存储器RAM、只读存储器ROM和或另一种动态或静态存储设备例如闪存、磁性存储器、光存储器等)。[0038]在一些实现方式中,控制器320可以与被连接到设备300的其它设备、网络和或系统通信以交换关于网络拓扑的信息。控制器320可以基于网络拓扑信息创建路由表,可以基于路由表创建转发表,并且可以将转发表转发给输入部件305和或输出部件315。输入部件305和或输出部件315可以使用转发表来执行针对传入和或传出分组的路由查找。[0039]控制器320可以执行这里所描述的一个或多个处理过程。控制器320可以响应于执行非瞬态计算机可读介质所存储的软件指令来执行这些处理过程。计算机可读介质在这里被限定为非瞬态存储器设备。存储器设备包括在单个物理存储设备内的存储器空间或者被分布在多个物理存储设备上的存储器空间。[0040]软件指令可以经由通信接口从另一计算机可读介质或者从另一设备被读入存储器和或与控制器320相关联的存储部件内。当被执行时,被存储在存储器和或与控制器320相关联的存储部件中的软件指令可以使得控制器320执行这里所描述的一个或多个处理过程。作为附加或者作为替代,硬连线的电路装置可以代替软件指令或者与软件指令组合起来被使用以执行这里所描述的一个或多个处理过程。因而,这里所描述的实现方式不局限于硬连线电路装置和软件的任意特定组合。[0041]图3中所示的部件的数目和布置作为示例被提供。实践中,设备300可以包括与图3中所示的那些相比更多的部件、更少的部件、不同的部件或者不同布置的部件。作为附加或者作为选择,设备300的一组部件例如一个或多个部件可以执行被描述为设备300的另一组部件所执行的一个或多个功能。[0042]图4A和4B是用于应用签名生成和分发的示例处理过程400的流程图。在一些实现方式中,图4A和4B的一个或多个处理过程块可以由网络设备210执行。在一些实现方式中,图4的一个或多个处理过程块可以由与网络设备210分开的或者包括网络设备210的另一设备或者一组设备执行,例如情境数据库220、本地应用签名数据库230、对等设备240、签名提供者设备250和或应用签名数据库260。[0043]如图4A中所示,处理过程400可以包括接收网络流量块402。例如,网络设备210可以接收网络流量,该网络流量可以对应于一个或多个应用。如这里所使用的,应用可以指工作在应用层或应用层以上例如在0SI模型的L7或者以上并且其中客户端或用户接口)可以在web浏览器中运行的软件应用web应用)。应用的示例可以包括web邮件、在线零售网站、在线拍卖、wiki网站、即时消息服务、基于web的软件办公套件例如在线文字处理器、电子表格和或讲演程序)、社交网络站点等等。[0044]网络流量可以包括一个或多个数据分组,每个数据分组可以包括头部分和数据部分例如有效载荷)。如这里所使用的,分组可以指用于传达信息的通信结构,例如协议数据单元PDU、数据分组、帧、数据报、分段、消息、数据块、数据单元、帧、子帧、时隙、符号、以上结构中的任一个的一部分和或能够经由网络被传送的另一类型的经格式化或未经格式化的数据单元。[0045]如图4A中所进一步示出的,处理过程400可以包括对网络流量进行分类块404。例如,网络设备210可以基于检查网络流量的数据分组对网络流量进行分类。在一些实现方式中,网络设备210可以基于检查数据分组的数据部分例如通过深度分组检查和或头部分来对网络流量进行分类。[0046]在一些实现方式中,网络设备210可以尝试基于被用于网络流量的应用层协议例如诸如HTTP、SSL等之类的L7协议对网络流量进行分类。例如,网络设备210可以尝试基于检查数据分组的数据部分例如通过深度分组检查和或头部分来标识被用于网络流量的应用层协议。虽然这里所描述的实现方式一般是在HTTP和或SSL的情境中被描述的,但是网络设备210可以基于包括新开发的和或尚待开发的应用层协议在内的任何应用层协议例如文件传送协议FTP、简单邮件传送协议SMTP等对网络流量进行分类。[0047]如图4A中进一步显示的,处理过程400可以包括确定网络流量是否可以被分类到应用层协议上块406。例如,网络设备210可以确定网络流量是否可以基于被用于网络流量的应用层协议例如HTTP、SSL等被分类。在一些实现方式中,网络设备210可以确定网络流量可以基于被标识为被用于网络流量的应用层协议被分类。[0048]在一些实现方式中,网络设备210可以确定网络流量不可以基于应用层协议被分类,例如当网络设备210不能标识被用于网络流量的应用层协议时。例如,网络设备210可能能够例如基于对网络流量的数据分组的检查标识被用于网络流量的传输层例如0SI层4L4协议例如传输控制协议TCP和网络层(例如0SI层3L3协议例如互联网协议IP,而不能够还确定被用于网络流量的应用层例如L7协议。[0049]如图4A中进一步显示的,如果网络流量不能被分类到应用层协议块4〇6—否),处理过程400可以包括提供分类块408。例如,如果网络设备210不能基于应用层协议对网络流量进行分类,则网络设备210可以提供分类例如基于对数据分组的检查)。在一些实现方式中,网络设备210可以提供分类到网络设备210能够对网络流量进行分类的程度。例如,当网络设备210能够基于被用于网络流量的网络层例如L3协议和传输层例如L4协议例如IP和TCP而不基于应用层例如L7协议对网络流量进行分类时,网络设备210可以提供针对网络流量的分类路径IP:TCP。[0050]如图4A中所进一步显示的,如果网络流量可以被分类到应用层协议上(块4〇6—是),则处理过程400可以包括确定网络流量是否可以被分类到超越应用层协议块41〇。例如,网络设备210可以尝试将网络流量分类到超越被用于网络流量的应用层协议。[0051]在一些实现方式中,网络设备210可能能够将网络流量分类到超越被用于网络流量的应用层协议。例如,网络设备21〇可以将网络流量分类为与在应用层协议上操作的已知应用相关联例如基于确定网络流量与本地应用签名数据库230中的应用签名匹配)。[00521在一些实现方式中,网络设备210可能不能将网络流量分类为超越被用于网络流量的应用层协议。例如,网络设备210可以将网络流量分类为与未知应用相关联例如基于确定网络流量不满足本地应用签名数据库230中的应用签名)。[0053]如图4A中进一步显示的,如果网络流量可以被分类为超越应用层协议块410一是),则处理过程400可以包括提供分类块4〇8。例如,如果网络设备210确定网络流量与名为EXAMPLE的应用相关联,并且网络流量正在使用IP作为网络层例如L3协议、TCP作为传输层例如L4协议以及HTTP作为应用层例如L7协议,则网络设备210可以为网络流量提供分类路径IP:TCP:HTTP:EXAMPLE。[0054]在一些实现方式中,网络设备210可以提供网络设备210不能分类到超越被用于网络流量的应用层协议的针对网络流量的分类路径。例如,如果网络设备21〇确定网络流量正在使用IP作为网络层例如L3协议、TCP作为传输层例如L4协议以及HTTP作为应用层例如L7协议,但是不能够标识与网络流量相关联的已知应用,则网络设备210可以为网络流量提供分类路径IP:TCP:HTTP:UNKNOWN。[0055]如图4A中进一步显示的,如果网络流量不能被分类为超越应用层协议块410—否),则处理过程400可以包括基于应用层协议从网络流量获得情境信息(块412。例如,如果网络设备210基于被用于网络流量的应用层协议对网络流量进行分类,但是不能够进一步对网络流量进行分类,则网络设备210可以基于应用层协议从网络流量获得情境信息。情境信息可以包括可以从网络流量中的分组例如通过深度层检查获得的与应用层协议相关联的信息条目,并且所述信息条目可以被用于标识与网络流量相关联的应用。[0056]在一些实现方式中,要从网络流量获得的特定的情境信息条目可以基于被用于网络流量的应用层协议例如HTTP或SSL。例如,网络设备210可以被提供有与网络设备210要针对其对网络流量进行分类的每个应用层协议相关联的至少一个规则库。每个规则库可以包括关于该规则库要结合其被使用的应用层协议的信息、要从网络流量获得的情境信息条目,应用签名的内容和格式、用于创建应用签名的阈值、针对所创建的应用签名要采取的动作、应用命名惯例等等。在一些实现方式中,网络设备210可以确定规则库是否可用于基于特定应用层协议例如HTTP或SSL获得情境信息。在一些实现方式中,网络设备210可以由情境数据库220获得规则库。[0057]在一些实现方式中,网络设备210可以被提供有更新后的、附加的和或新的规则库以允许由正在使用附加的和或新的应用层协议的网络流量获得情境信息。在一些实现方式中,网络设备210可以被提供有更新后的、附加的和或新的规则库以允许由基于可用于各种应用层协议的情境信息从网络流量获得情境信息,所述各种应用层协议包括网络设备210之前针对其被提供有规则库的应用层协议。更新后的、附加的和或新的规则库可以由系统管理员、通过机器学习(例如通过网络设备210、通过对等设备240和或通过签名提供者设备250、通过分析或者任何其它合适的方法创建。[0058]在一些实现方式中,规则库可以指定情境信息由正在使用HTTP应用层协议的网络流量获得。例如,可以由正在使用HTTP应用层协议的网络流量获得的情境信息可以包括HTTP请求详情和HTTP响应详情,例如正在被请求的URIHTTPJJRI、服务器主机名(HTTP_H0ST、c〇〇kieHTTP_C00KIE等。在一些实现方式中,网络设备210可以由被包括在正在使用HTTP应用层协议的网络流量中的HTTP请求获得服务器主机名(HTTP_H0ST和被请求的URIHITP_URI。[0059]在一些实现方式中,规则库可以指定情境信息由正在使用SSL应用层协议的网络流量获得。例如,可以由正在使用SSL应用层协议的网络流量获得的情境信息可以包括服务器证书属性、来自客户端问候消息的参数例如由客户端向该客户端正在尝试与之连接来进行安全通信会话的服务器发送的客户端问候ClientHello等等。在一些实现方式中,来自客户端问候消息的参数可以包括客户端所支持的协议版本例如SSL、被建议的加密套件列表、被建议的压缩方法、针对客户端正尝试连接到的服务器的服务器名扩展等等。在一些实现方式中,网络设备210可以由正在使用SSL应用层协议的网络流量获得针对服务器证书的通用名(例如存在于在证书中并且不是公用符值的情况下)和或服务器名扩展(例如来自客户端问候消息)。[0060]如图4A中进一步显示的,处理过程400可以包括确定情境信息是否与情境数据库中的现有条目匹配块414。例如,网络设备21〇可以在情境数据库22〇中查找从网络流量获得的情境信息并且确定所获得的情境信息是否与被存储在情境数据库22〇中的现有条目匹配。[0061]在一些实现方式中,网络设备210可以基于与正在被用于网络流量的应用层协议相关联的规则库查找情境信息。例如,网络设备210可以在情境数据库220中查找由正在使用HTTP应用层协议的网络流量获得的服务器主机名(http_H〇ST和被请求的URIHTTP_URI。或者,网络设备210可以在情境数据库220中查找由正在使用SSL应用层协议的网络流量获得的针对服务器证书的通用名和或服务器名扩展。[00^2]在一些实现方式中,网络设备210可以在情境数据库220中查找所获得的情境信息之前对所获得的情境信息进行标准化。例如,网络设备210可以利用合适的散列函数来对所获得的情境信息的一个或多个条目生成散列,然后将针对所获得的情境信息的散列与情境数据库220中的散列进行比较。[0063]如图4A中进一步显示的,如果情境信息与情境数据库中的现有条目不匹配(块414一否),则处理过程400可以包括向情境数据库中添加新的条目(块416。例如,如果网络设备210确定情境信息与情境数据库22〇中的现有条目不匹配,则网络设备21〇可以基于情境信息向情境数据库220中添加新的条目。在一些实现方式中,情境数据库220中的条目可以包括关于网络流量的各种信息。例如,情境数据库220中的条目可以包括被分配的名称、被用于网络流量的各种协议(例如网络层、传输层和应用层协议)、从网络流量获得的情境信息项、用于创建应用签名的阈值如下面将描述的)和阈值信息(例如用于针对阈值的估价。[0064]在一些实现方式中,被包括在情境数据库220中的条目中的情境信息项可以被标准化。例如,情境数据库220中的条目可以包括针对情境信息项中的一个或多个、利用合适的散列函数所生成的散列。对所存储的情境信息进行标准化可以支持不同设备例如网络设备210和对等设备240从网络流量获得的情境信息的对比。[0065]在一些实现方式中,网络设备210可以基于应用命名惯例为情境数据库220中的条目分配名称,所述应用命名惯例被包括在用于正在被用于网络流量的应用层协议的规则库中。例如,基于由正在使用HTTP应用层协议的网络流量获得的情境信息的条目可以基于服务器主机名和针对被请求的URI的标准化值的组合。或者,基于由正在使用SSL应用层协议的网络流量获得的情境信息的条目可以基于针对服务器证书的通用名和服务器名扩展的组合。[0066]在一些实现方式中,情境数据库220可以包括与所获得的情境信息相关联的元数据。例如,情境数据库220可以包括诸如目的地IP地址、目的地端口标识符、虚拟路由和转发VRF标识符、逻辑系统(LSYS标识符、虚拟局域网(VLAN标识符、虚拟可扩展局域网VXLAN标识符、应用标识符、应用层协议标识符、情境信息标识符等之类的元数据。在一些实现方式中,元数据可以被用于辅助实现在情境数据库220中查找所获得的情境信息。基于关联的元数据在情境数据库220中查找所获得的情境信息可以允许区分指向相同位置的多个条目。区分指向相同位置的多个条目可以帮助标识情境信息将在其中被查找的明确定义的域。标识情境信息将在其中被查找的明确定义的域可以避免将类似但不同的网络流量集合在一起并且可以提供对网络流量的更一致的分类。[0067]如图4A中进一步显示的,当情境信息与情境数据库22〇中的现有条目不匹配时块414一否),处理过程400可以还包括提供分类块4〇8。例如,当情境信息与情境数据库220中的现有条目不匹配时,网络设备21〇可以将网络流量分类为与新的未知应用相关联。在一些实现方式中,如果情境信息与情境数据库22〇中的现有条目不匹配,则网络设备210可以提供分类路径例如IP:TCP:HTTP:UNKNOWN_NEW_TAG以指示网络流量包括没有与已知应用相关联的之前未被遇到的情境信息。[0068]如图4A中进一步显示的,如果情境信息与情境数据库中的现有条目匹配块414—是),则处理过程400可以包括确定是否满足阈值块418。例如,网络设备210可以基于从网络流量获得的情境信息和或情境数据库22〇中的阈值信息确定就情境数据库220中的现有条目而言已经满足是否已经满足阈值。[0069]在一些实现方式中,阈值可以基于关于用于创建应用签名的阈值的信息,该信息被包括在用于正在被用于网络流量的应用层协议的规则库中。例如,针对情境数据库220中的条目的阈值可以是点击计数值例如去往具有匹配的情境信息的相同服务器的会话的数目)、点击率例如去往具有匹配的情境信息的相同服务器的会话的频率)、与点击相关联的不同的源-目的地对的数目、新的会话建立率等。阈值信息可以包括一个或多个计数器以跟踪用于与阈值比较的适当的信息例如点击数目、点击率、不同的源-目的地对的数目或者新的会话建立率)。[0070]在一些实现方式中,阈值可以被用于确定应用签名何时应当被生成(例如在有限次匹配之后,例如其中多个用户可能正在访问可能成为公知应用的应用)。例如,阈值可以被用于指示应用对于网络运营商来说可能是感兴趣的以使得应用签名(例如基于从网络流量获得的情境信息应当被生成以用于标识应用。[0071]在一些实现方式中,情境数据库22〇中的条目可能具有不止一个阈值。在一些实现方式中,满足至少一个阈值可能足够用以生成应用签名。在一些实现方式中,满足所有阈值对于生成应用签名来说可能是必要的。[0072]如图4A中进一步显示的,如果没有满足阈值块418—否),则处理过程400可以包括更新计数器并且与对等设备同步情境信息块420。例如,如果网络设备210确定没有满足阈值,则网络设备210可以针对情境数据库220中的适当条目更新阈值信息中的适当的计数器。网络设备210还可以向对等设备240发送从网络流量获得的情境信息,这可以将对等设备240所获得的情境信息与被存储在情境数据库220中的情境信息例如与网络设备210所获得的情境信息同步。[0073]如图4A中进一步显示的,如果没有满足阈值块418—否),则处理过程400还可以包括提供分类块4〇8。例如,当没有满足阈值时,网络设备21〇可以将网络流量分类为与未知的但之前遇到过的应用相关联。在一些实现方式中,如果情境信息与情境数据库22〇中的现有条目匹配,但是针对现有条目的没有满足阈值,则网络设备210可以提供分类路径例如IP:TCP:HTTP:UNKNOWNJTAGGED以指示网络流量包括之前遇到过的情境信息但是不对应于已知应用。[0074]如图4A中进一步显示的,如果满足阈值块418—是),则处理过程4〇〇可以包括基于情境信息块犯2生成应用签名。例如,当网络设备21〇确定针对情境数据库22〇中的条目的阈值已经被满足时,网络设备210可以基于从网络流量获得的情境信息和或来自情境数据库220中的条目的匹配情境信息来生成应用签名。在一些实现方式中,所生成的应用签名可以包括应用层协议和从网络流量获得的情境信息项中的至少一个。在一些实现方式中,网络设备210可以基于关于应用签名的内容和格式的信息生成应用签名,所述信息被包括在用于正在被用于网络流量的应用层协议的规则库中。[0075]在一些实现方式中,规则库可以指定,应用签名的内容和格式基于由正在使用HTTP应用层协议的网络流量获得的情境信息而被生成。例如,当从网络流量获得的情境信息包括正在被请求的URI和服务器主机名时,所生成的应用签名可以包括基于应用层协议例如应用层=HTTP的应用标识规则以及基于被请求的URI例如HTTPJJRI=HTTPJJRI值)和或服务器主机名例如HTTP_HOST=HTTP_Host值的应用标识规则。在一些实现方式中,所生成的应用签名可以包括基于应用层协议、被请求的URI和服务器主机名(例如应用层=HTTP且HHP_URI=HTTP_URI值且HTTP_HOST=HTTP_Host值))的应用标识规贝!J。在一些实现方式中,所生成的应用签名可以包括基于应用层协议和被请求的URI例如应用层=HTTP且HTTP_URI=HTTP_URI值))的应用标识规则。在一些实现方式中,所生成的应用签名可以包括基于应用层协议和服务器主机名(例如(应用层=HTTP且(HTTP_HOST=HTTP_Host值)的应用标识规则。[0076]在一些实现方式中,规则库可以指定,应用签名的内容和格式基于由正在使用SSL应用层协议的网络流量获得的情境信息而被生成。例如,当由正在使用SSL应用层协议的网络流量获得的情境信息包括针对服务器证书的通用名和服务器名扩展时,所生成的应用签名可以包括基于应用层协议例如应用层=SSL的应用标识规则以及基于针对服务器证书的通用名(例如〇61~1:1:|^08七6_似1116=〇6;1:1:1;1^03七6_似1116值)和或服务器名扩展(例如Server_Name二Server_Name值)的应用标识规贝1】。在一些实现方式中,所生成的应用签名可以包括基于应用层协议、针对服务器证书的通用名和服务器名扩展例如应用层=SSL且Certificate_Name=Certificate_Name值)且(Server_Name=Server_Name值))的应用标识规则。在一些实现方式中,所生成的应用签名可以包括基于应用层协议和针对服务器证书的通用名(例如应用层=SSL且^1~1^;!^16_似1116=〇6;1:1^;!^七6_他1116值))的应用标识规则。在一些实现方式中,所生成的应用签名可以包括基于应用层协议和服务器名扩展例如应用层=SSL且Server_Name=Server_Name值)的应用标识规则。[0077]在一些实现方式中,所生成的应用签名可以包括应用名。在一些实现方式中,应用名可以基于被包括在针对被用于网络流量的应用层协议的规则库中的应用命名惯例。在一些实现方式中,应用名可以基于服务器主机名(例如对于使用HTTP作为应用层协议的流量)或者针对服务器证书的通用名例如对于使用SSL作为应用层协议的流量)。[0078]在一些实现方式中,网络设备210可以提供导致网络设备210生成应用签名的针对网络流量的分类路径并且可以基于应用签名标识应用。例如,如果网络设备21〇基于由正在使用IP作为L3协议、TCP作为L4协议、HTTP作为应用层协议和XYZ作为服务器主机名(例如HTTP_H0ST=XYZ的网络流量获得的情境信息生成应用签名,则网络设备210可以基于应用签名标识应用并且为网络流量提供应用名XYZ例如服务器主机名)和分类路径IP:TCP:HTTP:XYZ。[0079]如图4A中进一步显示的,处理过程400可以包括对所生成的应用签名进行标准化块4M。例如,网络设备210可以对所生成的应用签名进行标准化。[00S0]在一些实现方式中,网络设备210可以对所生成的应用签名使用合适的映射函数来对所生成的应用签名进行标准化。例如,网络设备210可以使用合适的散列函数来对所生成的应用签名生成散列。在一些实现方式中,网络设备210可以使用合适的散列函数、基于应用层协议、被用在应用签名中的情境信息项和针对被用在应用签名中的情境信息项的值来生成散列(例如该散列可以在{HTTP、HTTP_HOST、HTTP_Host值丨、{SSUCertificate—Name、Certificate_Name值丨上被生成)。[0081]在一些实现方式中,经标准化的所生成的应用签名可以包括所生成的应用签名例如应用标识规则)以及应用名、针对所生成的应用签名的散列、签名生成信息、签名类型信息和或关于应用签名是私用还是公开的指示。在一些实现方式中,签名生成信息可以指示应用签名是例如由网络设备210本地生成的还是从另一设备例如对等设备240或签名提供者设备250接收的。在一些实现方式中,签名类型信息可以指示应用签名是新签名(例如要被添加到本地应用签名数据库230中)还是更新签名(例如该签名应当替换本地应用签名数据库230中的应用签名)。使用基于散列的经标准化的所生成的应用签名可以允许比较不同设备例如网络设备21〇、对等设备240或签名提供者设备250针对相同应用所生成的应用签名,因为应用签名应当具有相同的散列,即使应用的命名不同。[0082]如图4B中所示,处理过程400可以包括将经标准化的所生成的应用签名添加到本地应用签名数据库中(块426。例如,网络设备210可以将经标准化的所生成的应用签名添加到本地应用签名数据库230中(例如基于关于针对所创建的应用签名要采取的动作的信息,该信息被包括在用于正在被用于网络流量的应用层协议的规则库中)。在一些实现方式中,经标准化的所生成的应用签名可以被添加到本地应用签名数据库230中的新的名称空间中。在一些实现方式中,网络设备21〇可以额外地向本地应用签名数据库230添加源自经标准化的所生成的应用签名的应用名和或相关联的元数据例如针对与签名相关联的应用的应用群组信息)。[0083]如图4B中进一步显示的,处理过程400可以包括向对等设备发送经标准化的所生成的应用签名,并且如果该签名是公开的,则还向签名提供者设备提供该签名块428。例如,网络设备210可以向对等设备240发送经标准化的所生成的应用签名并且如果经标准化的所生成的应用签名是公开的(例如应用签名可用于公开分发),则向签名提供者设备250发送该签名。[0084]在一些实现方式中,网络设备210可以基于关于就所创建的应用签名而言要采取的动作的信息向对等设备240发送经标准化的所生成的应用签名,所述信息被包括在用于正在被用于网络流量的应用层协议的规则库中。在一些实现方式中,对等设备240可以基于从网络设备210接收的经标准化的所生成的应用签名更新对等设备240的应用签名信息,以使得对等设备240可以将应用签名用于应用标识。在一些实现方式中,网络设备210可以向其它对等设备例如与网络270相关联的其它安全设备)发送经标准化的所生成的应用签名,所述其它对等设备可以在网络设备210的对等设备跟踪部件中被列出或标识。向对等设备发送经标准化的所生成的应用签名可以支持在与网络270相关联的安全设备例如网络设备210和对等设备240中的一致的应用标识。[0085]在一些实现方式中,当经标准化的所生成的应用签名被指示为公开的时,网络设备210可以向签名提供者设备250发送经标准化的所生成的应用签名。例如,网络设备210可以基于关于就所创建的应用签名而言要采取的动作的信息向签名提供者设备250发送经标准化的所生成的应用签名,所述信息被包括在用于正在被用于网络流量的应用层协议的规则库中。在一些实现方式中,网络设备210可以除了经标准化的所生成的应用签名以外还发送例如从网络流量所获得的相应的分组捕获信息。在一些实现方式中,网络设备21〇可以禁止向签名提供者设备250发送经标准化的所生成的应用签名和或相应的分组捕获信息。在一些实现方式中,签名提供者设备250可以将应用签名用于应用标识。在一些实现方式中,签名提供者设备签名提供者设备250可以使得所接收到的经标准化的所生成的应用签名和或相应的分组捕获信息可用于例如可用于DPI商家分析和或包括在应用签名数据库例如应用签名数据库260的将来的发布中。[0086]如图4B中进一步显示的,处理过程4〇〇可以包括从对等设备和或签名提供者设备接收新的应用签名块43〇。例如,网络设备210可以从对等设备240和或签名提供者设备250接收新的应用签名。在一些实现方式中,从对等设备240接收的新的应用签名可能己经由对等设备240生成。在一些实现方式中,新的应用签名可以基于对应用签名数据库26〇的更新而例如从签名提供者设备250或对等设备240被接收。例如,对等设备240可以基于对等设备240已经接收到来自签名提供者设备250的新的应用签名而向网络设备210发送新的应用签名。[0087]在一些实现方式中,新的应用签名可能己被对等设备240和或签名提供者设备250标准化,使得网络设备21〇接收到经标准化的新的应用签名。在一些实现方式中,网络设备210可以对所接收的应用签名进行标准化以生成经标准化的新的应用签名。在一些实现方式中,网络设备21〇可以在接收新的应用签名时一起接收针对新的应用签名的应用名和或相关联的元数据例如针对与签名相关联的应用的应用群组信息)。[0088]如图4B中进一步显示的,处理过程400可以包括确定经标准化的新的应用签名是否匹配经标准化的所生成的应用签名(块似2。例如,网络设备210可以确定经标准化的新的应用签名的散列(例如被包括在经标准化的新的应用签名中的散列)是否匹配经标准化的所生成的应用签名的散列例如被包括在经标准化的所生成的应用签名中的散列),如以上针对对所生成的应用签名进行标准化所讨论的块424。在一些实现方式中,将经标准化的新的应用签名与经标准化的所生成的应用签名的散列进行匹配可以指示两个签名用于相同的应用。在一些实现方式中,经标准化的新的应用签名的散列可以是基于例如网络流量的)公开样本被生成的散列,应用签名提供者例如DPI商家可能己经接收到所述公开样本,并且经标准化的新的应用签名可能已经基于所述公开样本而被生成。[0089]在一些实现方式中,网络设备210可以遍历本地应用签名数据库230中的所有应用签名(可以包括网络设备210所生成的所有应用签名),以确定经标准化的新的应用签名的散列是否匹配本地应用签名数据库23〇中的任意应用签名的散列。例如,网络设备210可能之前己经例如从对等设备240和或签名提供者设备250接收到新的应用签名。或者,网络设备210可能还没有接收到指示例如本地应用签名数据库230中的)签名应当被移除或替换的更新。[0090]如图4B中进一步显示的,如果经标准化的新的应用签名的散列与经标准化的所生成的应用签名的散列不匹配块432—否),则处理过程400可以包括将经标准化的新的应用签名添加到本地应用签名数据库中(块434。例如,如果经标准化的新的应用签名的散列与经标准化的所生成的应用签名的散列不匹配,则网络设备210可以将经标准化的新的应用签名添加到本地应用签名数据库230中。在一些实现方式中,如果经标准化的新的应用签名的散列与本地应用签名数据库230中的任何应用签名的散列都不匹配,则网络设备210可以将经标准化的新的应用签名添加到本地应用签名数据库230中。在一些实现方式中,网络设备210可以额外地向本地应用签名数据库230添加针对经标准化的新的应用签名的应用名和或相关联的元数据例如应用群组信息)。[0091]如图4B中进一步显示的,如果经标准化的新的应用签名的散列与经标准化的所生成的应用签名的散列匹配块432—是),则处理过程400可以包括确定经标准化的新的应用签名是否具有比经标准化的所生成的应用签名更高的优先级块436。例如,如果经标准化的新的应用签名的散列与经标准化的所生成的应用签名的散列匹配,则网络设备210可以基于合适的优先级机制确定经标准化的新的应用签名是否具有比经标准化的所生成的应用签名更闻的优先级。[0092]确定应用签名之间(例如所接收的新的应用签名与由网络设备210在本地生成的签名之间)的优先级可以允许与网络270相关联的各种安全设备例如网络设备210和对等设备240汇集到一个公用的应用签名集合。这一个公用的应用签名集合可以包括具有一个公用的应用名集合的一组不同的签名,但是这个集合中的应用签名可能由不同的设备例如网络设备210或对等设备240生成,可能具有不同的应用命名惯例。在具有一个公用的应用名集合的情况下汇集到一个公用的应用签名集合可以支持利用与网络270相关联的各种安全设备例如网络设备210和对等设备240进行一致且高效的应用报告例如基于一个公用的应用名集合以及一致且高效的策略执行。[0093]在一些实现方式中,合适的优先级机制可以包括给来自应用签名数据库260的应用签名赋予最高优先级。例如,可能由DPI商家生成的来自应用签名数据库260的签名可以具有比网络设备210所生成的签名更高的优先级。[0094]在一些实现方式中,与网络270相关联的安全设备(例如网络设备210和对等设备240所生成的应用签名可以基于与生成应用签名的设备相关联的^地址被分配优先级。例如,具有第一范围内的IP地址的设备例如网络设备210或对等设备240所生成的签名可以被赋予比具有第二范围内的IP地址的设备(例如对等设备240或网络设备210所生成的签名更高的优先级。[0095]在一些实现方式中,应用签名可以包括指示该应用签名应当被赋予高优先级的属性。例如,应用签名可以包括指示该应用签名被包括在对应用签名数据库260的新发布的更新中的属性。[0096]如图4B中进一步显示的,如果经标准化的新的应用签名不具有比经标准化的所生成的应用签名更高的优先级块436—否),则处理过程400可以包括将经标准化的所生成的应用签名保留在本地应用签名数据库中块438。例如,当经标准化的新的应用签名不具有比与经标准化的新的应用签名具有相同散列的经标准化的所生成的应用签名更高的优先级时,网络设备210可以将经标准化的所生成的应用签名、来自经标准化的所生成的应用签名的应用名和或任意相关联的元数据(例如应用群组信息)保留在本地应用签名数据库230中。[0097]如图4B中进一步显示的,如果经标准化的新的应用签名具有比经标准化的所生成的应用签名更高的优先级块436—是),则处理过程400可以包括在本地应用签名数据库中利用经标准化的新的应用签名替换经标准化的所生成的应用签名块440。例如,经标准化的新的应用签名具有比与经标准化的新的应用签名具有相同散列的经标准化的所生成的应用签名更高的优先级时,网络设备210可以在本地应用签名数据库230中利用经标准化的新的应用签名替换经标准化的所生成的应用签名。在一些实现方式中,当经标准化的新的应用签名具有更高的优先级时,网络设备210可以额外地在本地应用签名数据库230中利用针对经标准化的新的应用签名的应用名和或任意相关联的元数据来替换针对经标准化的所生成的应用签名的应用名和或任意相关联的元数据。[0098]如图4B中进一步显示的,处理过程400可以包括通知对等设备经标准化的新的应用签名替换了经标准化的所生成的应用签名块442。例如,当网络设备210己经例如利用网络设备21〇所接收到的经标准化的新的应用签名)替换了经标准化的所生成的应用签名时,网络设备210可以通知对等设备240。在一些实现方式中,接收到关于网络设备210已经替换了经标准化的所生成的应用签名的通知可以使得对等设备240移除对等设备240针对经标准化的所生成的应用签名的本地条目和或利用经标准化的新的应用签名替换对等设备240针对经标准化的所生成的应用签名的本地条目。移除或替换对等设备240针对经标准化的所生成的应用签名的本地条目可以支持对等设备240和网络设备210所使用的应用签名之间的一致性,即使当对等设备240和网络设备210在不同时间接收来自签名提供者设备的更新时也一样。[00"]虽然图4A和4B示出了处理过程400的示例过程块,但是在一些实现方式中,处理过程400可以包括比图4A和4B中所显示的那些示例过程块更多的过程块、更少的过程块、不同的过程块或者不同布置的过程块。作为附加,或者作为替换,处理过程400的两个或更多个过程块可以被并行执行。[0100]这里所描述的实现方式可以允许基于正在被网络设备接收的网络流量由网络设备且在网络设备之间自动生成、分发和汇集应用签名。应用签名的自动生成、分发和汇集可以减少与应用签名的生成、分发和汇集相关联的延迟并且可以支持对本地受欢迎的应用的标识。减少与应用签名的生成和分发相关联的延迟、标识本地受欢迎的应用和自动汇集应用签名可以提高应用感知和基于应用的网络安全的有效性。提高应用感知和或基于应用的网络安全的有效可以加速去除非法入侵流量和或标识合法流量。去除非法入侵流量可以提高网络安全性,节约计算资源例如否则可能被非法入侵流量消耗的处理资源和或存储器资源)并且由于从网络中去除了非法入侵流量而提高网络性能(例如吞吐量和或延迟)。加速标识合法流量可以节约计算资源例如否则可能被标识合法流量消耗的处理资源和或存储器资源并且可以由于标识合法流量的时间减少而提高针对合法流量的网络性能例如吞吐量和或延迟)。[0101]之前的公开提供了图示和描述,但不希望是穷尽式的或者将实现方式限制为所公开的精确形式。修改和变形在以上公开的启发下是可能的或者可以从对实现方式的实践中得到。[0102]如这里所使用的,术语部件意欲被宽泛地理解为硬件、固件和或硬件和软件的组合。[0103]一些实现方式在这里结合阈值被描述。如这里所使用的,满足阈值可以指值大于阈值、多于阈值、高于阈值、大于或等于阈值、小于阈值、少于阈值、低于阈值、少于或等于阈值、等于阈值等。[0104]将清楚这里所描述的系统和或非法可以按硬件、固件或硬件和软件的组合的不同形式来实现。被用于实现这些系统和或方法的实际专用的控制硬件或软件代码不是对实现方式的限制。因而,系统和或方法的操作和行为在这里没有参考特定的软件代码被描述,应理解为软件和硬件可以被设计为基于这里的描述实现系统和或方法。[0105]虽然特定的特征组合在权利要求中被引述和或在说明书中被公开,但是这些组合不意图限制对可能的实现方式的公开。实际上,这些特征中的很多特征可以按没有专门在权利要求中引述和或说明书中公开的方式被组合。虽然下面所列出的每个从属权利要求可以直接从属于唯一一个权利要求,但是对可能的实现方式的公开包括每个从属权利要求与权利要求集合中的每个其它权利要求的组合。[0106]这里所使用的元件、动作或指令都不应当被诠释为至关重要或者必不可少的,除非被明确描述。此外,如这里所使用的,冠词“一个”意图包括一个或多个项,并且可以与“一个或多个”互换地使用。此外,如这里所使用的,术语“集合”意图包括一个或多个项例如相关的项、不相关的项、相关的和不相关的项的组合等),并且可以与“一个或多个”互换地使用。在意图指只有一项的情况下,术语“单个”或类似的语言被使用。此外,如这里所使用的,术语“具有”等意为开放式术语。此外,短语“基于”意指“至少部分基于”,除非明确说明其它情况。[0107]本发明的实施方式提供了一种网络设备,包括一个或多个处理器,用于:接收针对应用的网络流量;标识被用于网络流量的应用层协议;从网络流量获得情境信息以获得情境信息项,该情境信息项基于应用层协议被选择;确定情境信息项匹配被存储的情境信息项;确定就被存储的情境信息项而言已经满足阈值;基于情境信息项生成针对应用的应用签名;以及向另一设备发送应用签名以准许另一设备基于应用签名标识应用。[0108]可选地,一个或多个处理器还用于在向另一设备发送应用签名之前确定应用签名是否是公开的;并且其中所述一个或多个处理器在向另一设备发送应用签名时用于:基于应用签名是否是公开的来选择性地向另一设备发送应用签名。[0109]可选地,应用签名是第一应用签名;并且其中所述一个或多个处理器还用于:从另一设备接收第二应用签名;确定第二应用签名是否对应于第一应用签名;以及当第二应用签名不对应于第一应用签名时选择性地存储第一应用签名和第二应用签名;或者当第二应用签名对应于第一应用签名时,选择性地确定第一应用签名和第二应用签名中的更高优先级的一个应用签名,并且选择性地存储第一应用签名和第二应用签名中的更高优先级的一个应用签名。[0110]可选地,所述一个或多个处理器还用于:在确定第二应用签名是否对应于第一应用签名之前生成基于第一应用签名的第一散列和基于第二应用签名的第二散列;并且所述一个或多个处理器在确定第二应用签名是否对应于第一应用签名时用于:确定第一散列是否匹配第二散列。[0111]可选地,所述一个或多个处理器还用于:向另一设备发送情境信息。[0112]可选地,应用层协议是超文本传输协议HTTP;情境信息项包括服务器主机名或正在被请求的统一资源标识符URI中的至少一个;并且应用签名基于服务器主机名或者正在被请求的URI中的至少一个。[0113]可选地,应用层协议是安全协议;情境信息项包括针对服务器证书的通用名或者来自客户端问候消息的服务器名扩展中的至少一个;并且应用签名基于针对服务器证书的通用名或服务器名扩展中的至少一个。[0114]本发明的实施方式提供了一种存储指令的非瞬态计算机可读介质,所述指令包括一个或多个指令,该一个或多个指令被一个或多个处理器执行时促使该一个或多个处理器:接收与应用相关联的网络流量;从网络流量确定正在被用于网络流量的应用层协议;从网络流量获得情境信息项,该情境信息项与应用层协议相关联;确定情境信息项与被存储的情境信息项匹配;确定就被存储的情境信息项而言已经满足阈值;基于被存储的情境信息项生成针对应用的应用签名;并且向另一设备发送应用签名以准许另一设备基于应用签名标识应用。[0115]可选地,所述一个或多个指令当被所述一个或多个处理器执行时促使所述一个或多个处理器:在向另一设备发送应用签名之前生成经标准化的应用签名,该经标准化的应用签名包括基于被存储的情境信息项生成的散列;并且促使所述一个或多个处理器向另一设备发送应用签名的所述一个或多个指令促使所述一个或多个处理器向另一设备发送经标准化的应用签名。[0116]可选地,所述一个或多个指令当被所述一个或多个处理器执行时还促使所述一个或多个处理器:在向另一设备发送应用签名之前确定应用签名是否是公开的;并且促使所述一个或多个处理器向另一设备发送应用签名的所述一个或多个指令促使所述一个或多个处理器:基于应用签名是否是公开的来选择性地向另一设备发送应用签名。[0117]可选地,应用签名是第一应用签名;并且所述一个或多个指令当被所述一个或多个处理器执行时还促使所述一个或多个处理器:存储第一应用签名;接收第二应用签名;确定第二应用签名是否对应于第一应用签名;并且当第二应用签名不对应于第一应用签名时选择性地存储第二应用签名;或者当第二应用签名对应于第一应用签名时,选择性地确定第一应用签名和第二应用签名中的更高优先级的一个,并且当第一应用签名和第二应用签名中的更高优先级的一个是第二应用签名时利用第二应用签名替换第一应用签名。[0118]可选地,所述一个或多个指令当被所述一个或多个处理器执行时还促使所述一个或多个处理器:在确定第二应用签名对应于第一应用签名之前生成基于第一应用签名的第一散列和基于第二应用签名的第二散列;并且促使所述一个或多个处理器确定第二应用签名是否对应于第一应用签名的所述一个或多个指令促使所述一个或多个处理器:确定第一散列是否匹配第二散列。[0119]可选地,应用层协议是超文本传输协议HTTP;被存储的情境信息项包括服务器主机名或正在被请求的统一资源标识符URI中的至少一个;并且应用签名基于服务器主机名或者正在被请求的URI中的至少一个。[0120]可选地,应用层协议是安全协议;被存储的情境信息项包括针对服务器证书的通用名或者来自客户端问候消息的服务器名扩展中的至少一个;并且应用签名基于针对服务器证书的通用名或服务器名扩展中的至少一个。[0121]本发明的实施方式提供了一种方法,包括:由网络设备接收网络流量,该网络流量对应于应用;由网络设备标识正在被用于网络流量的应用层协议;由网络设备并且从网络流量获得情境信息项,该情境信息项基于应用层协议被选择;由网络设备确定情境信息项匹配被存储的情境信息项;由网络设备确定就被存储的情境信息项而言已经满足阈值;由网络设备并且针对应用、基于情境信息项生成应用签名;并且由网络设备向另一设备发送应用签名以准许另一设备基于应用签名来标识应用。[0122]可选地,所述方法还包括:在向另一设备发送应用签名之前确定应用签名是否是公开的;并且其中向另一设备发送应用签名包括:基于应用签名是否是公开的选择性地向另一设备发送应用签名。[0123]可选地,应用签名是第一应用签名;并且所述方法还包括:接收第二应用签名;生成基于第一应用签名的第一散列和基于第二应用签名的第二散列;确定第一散列是否匹配第二散列;并且当第一散列不匹配第二散列时选择性地存储第一应用签名和第二应用签名;或者当第一散列匹配第二散列时,选择性地确定第一应用签名和第二应用签名中的更高优先级的一个,并且选择性地存储第一应用签名和第二应用签名中的更高优先级的一个。[0124]可选地,所述方法还包括:在向另一设备发送应用签名之前生成经标准化的应用签名,所述经标准化的应用签名包括基于情境信息项生成的散列;并且其中向另一设备发送应用签名包括:向另一设备发送经标准化的应用签名。[0125]可选地,应用层协议是超文本传输协议HTTP;情境信息项包括服务器主机名或正在被请求的统一资源标识符URI中的至少一个;并且应用签名基于服务器主机名或者正在被请求的URI中的至少一个。[0126]可选地,应用层协议是安全协议;情境信息项包括针对服务器证书的通用名或者来自客户端问候消息的服务器名扩展中的至少一个;并且应用签名基于针对服务器证书的通用名或服务器名扩展中的至少一个。

权利要求:1.一种网络设备,包括:用于接收针对应用的网络流量的装置;用于标识被用于所述网络流量的应用层协议的装置;用于从所述网络流量获得情境信息以获得情境信息项的装置,所述情境信息项基于所述应用层协议被选择;用于确定所述情境信息项匹配被存储的情境信息项的装置;用于确定就所述被存储的情境信息项而言己经满足阈值的装置;用于基于所述情境信息项生成针对所述应用的应用签名的装置;以及用于向另一设备发送所述应用签名以准许所述另一设备基于所述应用签名标识所述应用的装置。2.根据权利要求1所述的网络设备,还包括用于在向所述另一设备发送所述应用签名之前确定所述应用签名是否是公开的装置;并且其中用于向所述另一设备发送所述应用签名的装置包括:用于基于所述应用签名是否是公开的来选择性地向所述另一设备发送所述应用签名的装置。3.根据权利要求1所述的网络设备,其中所述应用签名是第一应用签名;并且还包括:用于从所述另一设备接收第二应用签名的装置;用于确定所述第二应用签名是否对应于所述第一应用签名的装置;以及用于在所述第二应用签名不对应于所述第一应用签名时选择性地存储所述第一应用签名和所述第二应用签名两者的装置;或者当所述第二应用签名对应于所述第一应用签名时,用于选择性地确定所述第一应用签名和所述第二应用签名中的更高优先级的一个的装置,以及用于选择性地存储所述第一应用签名和所述第二应用签名中的更高优先级的一个的装置。4.根据权利要求3所述的网络设备,还包括:用于在确定所述第二应用签名是否对应于所述第一应用签名之前生成基于所述第一应用签名的第一散列和基于所述第二应用签名的第二散列的装置;并且其中用于确定所述第二应用签名是否对应于所述第一应用签名的装置包括:用于确定所述第一散列是否匹配所述第二散列的装置。5.根据权利要求1所述的网络设备,还包括:用于向所述另一设备发送所述情境信息的装置。6.根据权利要求1所述的网络设备,其中所述应用层协议是超文本传输协议HTTP;其中所述情境信息项包括服务器主机名或正在被请求的统一资源标识符URI中的至少一个;并且其中所述应用签名基于所述服务器主机名或者正在被请求的所述1^1中的至少一个。7.根据权利要求1所述的网络设备,其中所述应用层协议是安全协议;其中所述情境信息项包括针对服务器证书的通用名或者来自客户端问候消息的服务器名扩展中的至少一个;并且其中所述应用签名基于针对所述服务器证书的通用名或所述服务器名扩展中的至少一个。8.一种方法,包括:由网络设备接收网络流量,所述网络流量对应于应用;由所述网络设备标识正在被用于所述网络流量的应用层协议;由所述网络设备从所述网络流量获得情境信息项,所述情境信息项基于所述应用层协议被选择;由所述网络设备确定所述情境信息项匹配被存储的情境信息项;由所述网络设备确定就所述被存储的情境信息项而言已经满足阈值;由所述网络设备并且针对所述应用、基于所述情境信息项来生成应用签名;以及由所述网络设备向另一设备发送所述应用签名以准许所述另一设备基于所述应用签名来标识所述应用。9.根据权利要求8所述的方法,还包括:在向所述另一设备发送所述应用签名之前确定所述应用签名是否是公开的;并且其中向所述另一设备发送所述应用签名包括:基于所述应用签名是否是公开的来选择性地向所述另一设备发送所述应用签名。10.根据权利要求8所述的方法,其中所述应用签名是第一应用签名;并且所述方法还包括:接收第二应用签名;生成基于所述第一应用签名的第一散列和基于所述第二应用签名的第二散列;确定所述第一散列是否匹配所述第二散列;并且当所述第一散列不匹配所述第二散列时选择性地存储所述第一应用签名和所述第二应用签名两者;或者当所述第一散列匹配所述第二散列时,选择性地确定所述第一应用签名和所述第二应用签名中的更高优先级的一个,并且选择性地存储所述第一应用签名和所述第二应用签名中的更高优先级的一个。11.根据权利要求8所述的方法,还包括:在向所述另一设备发送所述应用签名之前生成经标准化的应用签名,所述经标准化的应用签名包括基于所述情境信息项生成的散列;并且其中向所述另一设备发送所述应用签名包括:向所述另一设备发送所述经标准化的应用签名。12.根据权利要求8所述的方法,其中所述应用层协议是超文本传输协议HTTP;其中所述情境信息项包括服务器主机名或正在被请求的统一资源标识符URI中的至少一个;并且其中所述应用签名基于所述服务器主机名或者正在被请求的所述URI中的至少一个。13.根据权利要求8所述的方法,其中所述应用层协议是安全协议;^自的日g夂其中所述情境信息项包括针对服务器证书的通用名或者来自客户顺问候消心、叫力器名扩展中的至少一个;并且其中所述应用签名基于针对所述服务器证书的通用名或所述服务器名扩展中的至少一个。

百度查询: 瞻博网络公司 网络设备和用于网络通信的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。