CN108353006A - 用于测试和剖析网络服务功能的非侵入式方法 - Google Patents

用于测试和剖析网络服务功能的非侵入式方法 Download PDF

Info

Publication number
CN108353006A
CN108353006A CN201680067954.1A CN201680067954A CN108353006A CN 108353006 A CN108353006 A CN 108353006A CN 201680067954 A CN201680067954 A CN 201680067954A CN 108353006 A CN108353006 A CN 108353006A
Authority
CN
China
Prior art keywords
network
monitoring
business
task
probe
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
CN201680067954.1A
Other languages
English (en)
Other versions
CN108353006B (zh
Inventor
夏鸣
R.曼希尔马拉尼
H.马科宁
M.施拉兹普尔
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN108353006A publication Critical patent/CN108353006A/zh
Application granted granted Critical
Publication of CN108353006B publication Critical patent/CN108353006B/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/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种由网络中的网络装置实现的用于监测网络的段而不用直接访问段的内部配置或状态的方法。该方法包括接收在网络内的监测区域上执行监测任务的请求。监测区域包括网络的网络装置的子集。监测区域具有将入口业务携带到监测区域中的入口数据路径和将出口业务携带出监测区域的出口数据路径。该方法还包括配置网络以将入口业务或出口业务镜像到网络中的可配置探针,并配置可配置探针以在监测区域上执行监测任务,其中可配置探针配置成基于所镜像的入口业务或所镜像的出口业务的分析来执行监测任务。

Description

用于测试和剖析网络服务功能的非侵入式方法
技术领域
本发明的实施例涉及网络监测的领域,并且更具体地涉及用于按需网络监测的架构。
背景技术
存在网络运营商为什么期望监测其网络中的业务的各种原因。网络监测的一个目标是标识网络中的问题(例如由误配置、过载或故障网络连接/装置所引起的)。网络监测使网络运营商能够表征网络的状态、业务需求以及网络资源的实际消耗。此数据允许网络运营商高效地分析网络并响应网络中发生的任何问题。
一些网络装置具有收集性能数据、生成日志或响应于检测到某些网络事件而触发警报的内置能力。然而,这些能力不被所有网络装置支持,并且访问这些能力常常要求来自装备供应方的支持。对端用户顾客可用的监测解决方案通常不具有与拥有网络基础设施的服务提供商相同的完全访问权限,并且因此可能不能够采用相同的直接方式来监测网络(例如,审查配置设置或读系统日志)。而且,随着网络变得更大和更复杂,维持网络上足够的网络监测覆盖变得更困难。监测此类大且复杂的网络在可缩放性、可控制性和灵活性方面施加巨大挑战。
发明内容
一种由网络中的网络装置实现的用于监测网络的段而不用直接访问该段的内部配置或状态的方法。该方法包括接收在网络内的监测区域上执行监测任务的请求。监测区域包括网络的网络装置的子集。监测区域具有将入口业务携带到监测区域中的入口数据路径和将出口业务携带出监测区域的出口数据路径。该方法还包括配置网络以将入口业务或出口业务镜像到网络中的可配置探针;配置可配置探针以在监测区域上执行监测任务,其中可配置探针配置成基于所镜像的入口业务或所镜像的出口业务的分析来执行监测任务;以及从可配置探针接收监测任务的结果。
网络装置配置成监测网络的段而不用直接访问该段的内部配置或状态。该网络装置包括已在其上存储了网络监测管理器组件的非暂态机器可读存储介质和耦合到该非暂态机器可读存储介质的一个或多个处理器的集合。一个或多个处理器的集合配置成运行网络监测管理器组件。网络监测管理器组件配置成接收在网络内的监测区域上执行监测任务的请求。监测区域包括网络的网络装置的子集。监测区域具有将入口业务携带到监测区域中的入口数据路径和将出口业务携带出监测区域的出口数据路径。该网络监测管理器组件还配置成配置网络以将入口业务或出口业务镜像到网络中的可配置探针;配置可配置探针以在监测区域上执行监测任务,其中可配置探针配置成基于所镜像的入口业务或所镜像的出口业务的分析来执行监测任务;以及从可配置探针接收监测任务的结果。
非暂态计算机可读介质已在其中存储了计算机代码,所述计算机代码要由网络中的网络装置的一个或多个处理器的集合来运行,以监测网络的段而不用直接访问该段的内部配置或状态。所述计算机代码在由网络装置运行时促使网络装置执行操作,包括接收在网络内的监测区域上执行监测任务的请求。监测区域包括网络的网络装置的子集。监测区域具有将入口业务携带到监测区域中的入口数据路径和将出口业务携带出监测区域的出口数据路径。所述计算机代码在由网络装置运行时促使网络装置执行进一步的操作,包括配置网络以将入口业务或出口业务镜像到网络中的可配置探针;配置可配置探针以在监测区域上执行监测任务,其中可配置探针配置成基于所镜像的入口业务或所镜像的出口业务的分析来执行监测任务;以及从可配置探针接收监测任务的结果。
附图说明
通过参考用于示出本发明的实施例的以下描述和附图可以最好地理解本发明。在附图中:
图1是示出按照一些实施例的其中能够实现非侵入式网络监测的网络的框图。
图2是示出按照一些实施例的探针的架构的框图。
图3A是示出按照一些实施例的配置成验证由DUT所实现的业务阻塞功能性的探针的框图。
图3B是示出按照一些实施例的配置成验证由DUT所实现的业务传递功能性的探针的框图。
图4A是示出按照一些实施例的配置成验证由DUT所实现的业务阻塞功能性的探针的框图,其中所述探针使用布隆过滤器来合并监测规则。
图4B是示出按照一些实施例的配置成验证DUT的业务传递功能性的探针的框图,其中所述探针使用布隆过滤器来合并监测规则。
图5是示出按照一些实施例的用于非侵入式网络监测的过程的流程图。
图6A示出按照一些实施例的示范性网络内的网络装置(ND)之间的连接性以及ND的三个示范性实现。
图6B示出按照一些实施例的用于实现专用网络装置的示范性方法。
图6C示出按照一些实施例的其中可以耦合虚拟网络元件(VNE)的各种示范性方法。
图6D示出按照一些实施例的每个ND上都具有单个网络元件(NE)的网络,并且在这种直接方式内将传统分布式方式(通常由传统路由器所使用)与用于维持可达性和转发信息的集中式方式(又称作网络控制)进行对比。
图6E示出按照一些实施例的其中每个ND实现单个NE的简单情况,但是集中式控制平面已经将不同ND中的多个NE抽象成(以表示)虚拟网络之一中的单个NE。
图6F示出按照一些实施例的情况,其中多个VNE在不同ND上实现并且彼此耦合,并且其中集中式控制平面已经抽象这些多个VNE以使得它们表现为虚拟网络之一内的单个VNE。
图7示出按照一些实施例的具有集中式控制平面(CCP)软件的通用控制平面装置。
具体实施方式
以下描述描述了用于通过部署探针来按需监测网络段的方法和设备。在以下描述中,阐述了众多特定细节,例如逻辑实现、操作码、规定操作数的方法、资源划分/共享/重复实现、系统组件的类型和相互关系以及逻辑划分/集成选取,以便提供本发明更透彻的理解。然而,本领域技术人员将意识到,可以在没有此类特定细节的情况下实践本发明。在其它实例中,控制结构、门级电路和全软件指令序列尚未被详细示出以免使本发明难以理解。本领域的普通技术人员通过所包含的描述将能够实现适当的功能性而无需过度的实验。
说明书中对“一个实施例”、“实施例”、“示例实施例”等的参考指示所描述的实施例可以包括具体特征、结构或特性,但是每一个实施例可能不一定包括所述具体特征、结构或特性。此外,此类短语不一定指相同的实施例。此外,当联系实施例描述具体特征、结构或特性时,主张的是联系其它实施例(无论是否明确描述)影响此类特征、结构或特性在本领域技术人员的知识内。
具有虚线边界(例如,大虚线、小虚线、点划线和点)的框入的文本和框在本文中可以用于示出将附加特征添加到本发明的实施例的可选操作。然而,此类记号不应该被认为意味着这些是仅有的选项或者可选操作,和/或具有实线边界的框在本发明的某些实施例中不是可选的。
在以下描述和权利要求中,可以使用术语“耦合”和“连接”连同它们的派生词。应该理解,这些术语不意图作为彼此的同义词。“耦合”用于指示两个或更多元件(其可以或可以不彼此直接物理或电接触)彼此协作或交互。“连接”用于指示彼此耦合的两个或更多元件之间的通信的建立。
电子装置使用机器可读介质(也称作计算机可读介质)(例如机器可读存储介质(例如,磁盘、光盘、只读存储器(ROM)、闪速存储器装置、相变存储器))和机器可读传送介质(也称作载体)(例如,电、光、无线电、声音或其它形式的传播信号—例如载波、红外信号)来存储和传送(内部地和/或通过网络与其它电子装置)代码(其由软件指令组成并且其有时被称作计算机程序代码或计算机程序)和/或数据。因此,电子装置(例如,计算机)包括硬件和软件,例如一个或多个处理器集合,其耦合到一个或多个机器可读存储介质以存储用于在处理器集合上运行的代码和/或存储数据。例如,电子装置可以包括包含代码的非易失性存储器,因为即使当电子装置关闭时(当功率被移除时),非易失性存储器也能够保存代码/数据,并且在打开电子装置时要由该电子装置的处理器来运行的代码的该部分典型从较慢的非易失性存储器复制到该电子装置的易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))中。典型的电子装置还包括一个或多个物理网络接口或物理网络接口集合以建立与其它电子装置的网络连接(以使用传播信号来传送和/或接收代码和/或数据)。本发明的实施例的一个或多个部分可以使用软件、固件和/或硬件的不同组合来实现。
网络装置(ND)是通信地互连网络上的其它电子装置(例如,其它网络装置、端用户装置)的电子装置。一些网络装置是为多个连网功能(例如,选路、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)提供支持和/或为多种应用服务(例如数据、语音和视频)提供支持的“多服务网络装置”。
本文描述的实施例提供用于执行非侵入式按需网络监测的技术。实施例采用探针来监测网络。探针能够被动态部署在网络中,并能够配置成在网络的段上执行特定的监测任务。探针能够监测网络段而不用直接访问网络段的内部配置或状态(例如,不访问段中实现的网络功能配置)。这通过将网络段的入口和出口业务镜像到探针来实现。探针能够通过分析所镜像的入口业务和/或出口业务来执行各种监测任务。以这种方法,实施例提供对原始数据路径具有最小影响的非侵入式监测技术。
图1是示出按照一些实施例的网络的框图,其中能够实现非侵入式网络监测。在所示的实施例中,网络100包括控制平面110和转发平面120。控制平面110包括运行网络监测管理器组件135的网络装置130。网络装置130运行网络监测管理器组件135以执行网络100的非侵入式监测,如本文下面进一步详细描述的。转发平面120包括网络装置140A-D。控制平面元件(例如,网络装置130)能够配置转发平面120的网络装置140A-D以控制网络100中的业务选路并且执行其它类型的网络功能。例如,控制平面元件(例如网络装置130)可以实现软件定义网络(SDN)控制器的功能性,以控制网络100中的业务选路。在一个实施例中,控制平面元件(例如网络装置130)能够使用例如OpenFlow(例如,OpenFlow 1.3)的控制平面通信协议来配置转发平面元件(例如,网络装置140A-D)。在一个实施例中,控制平面元件(例如,网络装置135)还实现云管理器/协调器(orchestrator)的功能性以例示和管理网络中的虚拟机、虚拟交换机和其它虚拟资源。尽管控制平面110示出为具有单个网络装置130并且转发平面120示出为具有四个网络装置140A-D,但是应该理解,控制平面110和转发平面120能够各自具有任何数量的网络装置。
控制平面110通信地耦合到网络监测应用150。在一个实施例中,网络监测应用150将按需监测即服务(MaaS)提供给用户和/或其它应用。网络监测应用150可以提供允许用户或另一应用通过API来请求网络监测服务的应用编程接口(API)(例如,表述性状态转移(REST)API)。例如,所请求的网络监测服务可以是对验证部署在网络100中的服务链正如预期那样起作用的请求。当网络监测应用150(例如,通过API)接收对网络监测服务的请求时,网络监测应用150可以将所请求的网络监测服务分解成离散监测任务的集合。监测任务可以是例如网络功能测试/验证任务或网络剖析(profiling)任务。网络功能测试/验证任务验证部署在网络中的网络功能以与该网络功能的预期业务处理行为一致的方式来处理网络业务。网络功能测试/验证任务的示例正验证部署在网络100中的业务阻塞功能或业务传递功能是否如预期那样运作。网络剖析任务剖析流过网络100的网络业务。网络剖析任务的示例包括但不限于延迟测量任务、抖动测量任务和分组丢失测量任务。每个监测任务(例如,网络测试/验证任务和网络剖析任务)可以与应该在其上执行监测任务的监测区域(例如,网络段)关联。每个监测区域包括网络中的网络装置的子集(即一个或多个)。例如,如所示的,监测区域1(MZ1)包括单个网络装置140B,而监测区域2(MZ2)包括网络装置140B和网络装置140C。监测区域内的网络装置可以实现一个或多个网络功能(例如,业务阻塞功能或业务传递功能)。每个监测区域具有将入口业务携带到监测区域中的入口数据路径,以及将出口业务携带出监测区域的出口数据路径。与给定监测区域关联的监测任务监测流过给定监测区域的业务(例如,通过监测区域的入口数据路径进入监测区域并通过监测区域的出口数据路径离开监测区域的业务)。
响应于从网络监测应用150接收到在监测区域上执行监测任务的请求,网络装置130可以部署和/或配置探针160以在监测区域上实行监测任务。探针160可以是物理探针或虚拟探针。物理探针能够是连接到监测区域的现有网络装置,其可以配置成执行一个或多个监测任务。虚拟探针能够是按需执行一个或多个监测任务的软件实例。参考图2更详细地描述探针160的一般架构。网络装置130配置网络100(例如使用OpenFlow)以将入口业务的副本转发到监测区域中和/或将出口业务的副本转发出监测区域到探针160。网络装置130可以配置网络100以将进入和离开监测区域的所有业务转发到探针160或者可以选择所述业务的子集以转发到探针160(例如,属于特定流的业务)。这允许探针160能够观察正进入监测区域的业务和正离开监测区域的业务。例如,如所示的,将探针160A分接到MZ1的入口数据路径和出口数据路径中,指示探针160A能够观察到MZ1中的入口业务和离开MZ1的出口业务。而且,如所示的,探针160B被分接到MZ2的入口数据路径和出口数据路径中,指示探针160B能够观察到MZ2中的入口业务和离开MZ2的出口业务。
探针160可以通过分析到监测区域中的观察到的入口业务和/或离开监测区域的观察到的出口业务来执行多种监测任务。探针160可基于分析到监测区域中的观察到的入口业务和离开监测区域的观察到的出口业务来验证监测区域内的网络功能是否如预期那样来处理业务。能够将探针160视为将监测区域视为灰箱环境(例如,监测区域的预期的行为是已知的,但是对监测区域内实现的网络功能的访问是受限的)。而且,探针160可以基于分析观察到的入口业务和观察到的出口业务来测量和收集流过监测区域的业务的特性。例如,探针160能够测量和收集对于流过监测区域的业务的统计,例如延迟、抖动、分组丢失和其它类型的统计。在一个实施例中,能够基于分析与流过监测区域的业务关联的时间戳来测量延迟和抖动。在一个实施例中,能够通过使用计数器来计数流过监测区域的业务来测量分组丢失。探针160对通过监测区域的业务的原始数据路径具有最小影响,并且不要求直接访问监测区域的内部配置或状态(例如,监测区域内的网络功能的配置)。因此,探针160以非侵入式方式来监测网络100。探针160可以将监测任务的结果发送到网络装置130,网络装置130进而能够将结果报告到网络监测应用150。(例如,通过API)能够使这些结果对端用户或另一应用有用,以用于进一步的分析或校正动作(例如,如果监测任务在网络100中检测到异常)。
图2是示出按照一些实施例的探针的架构的框图。探针160配置成监测DUT 210(例如,监测区域)。探针160包括入口交换机220A和出口交换机220B。入口交换机220A和出口交换机220B能够被实现为单个物理交换机(其充当入口交换机220A和出口交换机220B两者)、实现为两个单独的物理交换机(例如,一个交换机充当入口交换机220A且另一交换机充当出口交换机220B)、实现为由网络100中的网络装置所运行的一个或多个虚拟交换机(例如Open vSwitches)、或者实现为探针160其本身内的交换功能性。入口交换机220A接收到DUT210中的入口业务的副本,因此允许它观察到DUT 210中的入口业务。出口交换机220B接收离开DUT 210的出口业务的副本,因此允许它观察离开DUT 210的出口业务。在一个实施例中,DUT 210表示正被监测的网络装置140。在另一实施例中,DUT 210表示包括形成网络100的段的多个互连网络装置140的监测区域。入口交换机220A和出口交换机220B能够将它们相应的观察到的业务重定向到一个或多个监测组件(例如验证组件240、延迟测量组件250和抖动测量组件260或其它类型的监测组件)中。如此,探针160能够包括到不同监测组件的多个并行数据路径。每个监测组件能够通过分析观察到的入口业务和/或观察到的出口业务来执行给定的监测任务。在一个实施例中,监测组件能够在配置成执行监测任务的硬件中被实现。例如,监测组件能够是配置以用于对于层4-7剖析的深度分组审查(DPI)的硬件。在一个实施例中,监测组件能够被实现为配置成执行监测任务的软件实例。在一个实施例中,软件实例能够在支持网络功能虚拟化(NFV)的网络装置上运行。在一个实施例中,软件实例可以在云环境中运行。实现为软件实例的监测组件能够按需而被虚拟地打开或关闭。当与该监测组件关联的监测任务未正被执行时,能够关闭从交换机220到监测组件的任何数据路径。作为示例而非限制来示出探针160的各种监测组件。应该理解,探针160能够实现其它类型的监测组件,并且探针160能够实现任何数量的监测组件230。探针160用虚线示出以指示探针160的各种组件(例如,入口交换机220A、出口交换机220B以及各种监测组件)不需要共处或由相同装置来实现。在一些实施例中,探针160的各种组件可以跨网络100以分布的方式来实现。包括一个或多个虚拟化组件(例如,在支持NFV的网络装置上运行的虚拟交换机或软件实例)的探针在本文中被称作虚拟探针。
图3A是示出按照一些实施例的配置成验证由DUT所实现的业务阻塞功能性的探针的框图。如所示的,探针160被分接到DUT 210的出口数据路径中。预期DUT 210实现阻塞集合A中的所有业务的阻塞功能(例如,防火墙或网络地址转化(NAT))。记号指示DUT 210要阻塞集合A中的业务。探针160配置成执行验证任务310,验证任务310验证DUT 210的实际业务处理行为与DUT 210的预期业务处理行为匹配。验证任务310可以是由探针160的验证组件240来执行的任务。作为示例,假设DUT 210接收两个非重叠的入口业务集合,集合A和集合B(标记为A⋃B)。按照DUT 210的预期业务处理行为,DUT 210应该阻塞集合A中的业务并且因此仅输出集合B中的业务。基于DUT 210的这种已知的预期业务处理行为,能够将探针160配置具有一个或多个监测规则315以验证DUT 210的实际业务处理行为与DUT 210的预期业务处理行为匹配。由于探针160被分接到DUT 210的出口数据路径中,因此它接收离开DUT 210的业务的副本。探针160可以验证DUT 210通过针对一个或多个监测规则315而匹配观察到的离开DUT 210的业务来如预期那样处理业务。在一个实施例中,监测规则315包括匹配字段和对应的动作字段。匹配字段包括用于匹配分组的匹配准则。在一个实施例中,匹配准则基于对分组中报头字段的审查来匹配分组。例如,匹配准则能够基于分组的五个报头字段(例如,协议(例如,TCP或UDP)、源IP地址、源端口、目的地IP地址和目的地端口)来匹配分组。匹配准则可以使用分组的字段的任何组合和其它字段来标识业务。动作字段包括要在分组与匹配准则匹配时执行的动作。当探针160在监测规则315的匹配字段中检测到与匹配准则匹配的分组时,探针160运行监测规则315的动作字段中的对应动作。在此示例中,探针160配置具有监测规则315,其具有与集合A中的业务以及触发警告的对应动作匹配的匹配准则。如果探针160观察到与集合A匹配的离开DUT 210的业务,则这意味着DUT 210没有完全阻塞集合A中的业务,并且因此不按照其预期业务处理行为来处理业务。在这种情况下,探针160触发DUT 210未如预期那样正处理业务的警告。
图3B是示出按照一些实施例的配置成验证由DUT所实现的业务传递功能性的探针的框图。如所示的,探针160被分接到DUT 210的入口数据路径和出口数据路径两者中。预期DUT 210实现传递集合A中的业务(并阻塞其它业务)的业务传递功能(例如,防火墙或NAT))。记号{A}指示DUT 210要传递集合A中的业务。探针160配置成执行验证任务320,验证任务320验证DUT 210的实际业务处理行为与DUT 210的预期业务处理行为匹配。验证任务320可以是由探针160的验证组件240来执行的任务。作为示例,假设DUT 210接收两个非重叠的入口业务集合,集合A和集合B(标记为A⋃B)。按照DUT 210的预期业务处理行为,DUT210应当仅传递集合A中的业务并且阻塞集合B中的业务。基于DUT 210的这种已知的预期业务处理行为,能够将探针160配置具有一个或多个监测规则325,以验证DUT 210的实际业务处理行为与DUT 210的预期业务处理行为匹配。由于探针160被分接到DUT 210的入口数据路径以及DUT 210的出口数据路径两者中,因此它接收进入DUT 210的业务的副本和离开DUT 210的业务的副本。探针160可以验证DUT 210通过针对一个或多个监测规则325而匹配进入DUT 210的观察到的业务和离开DUT 210的观察到的业务来如预期那样处理业务。在此示例中,探针160配置具有监测规则325,其留意对在DUT 210的入口端口(P1)观察到的集合A中的业务的总量进行计数的计数器(c1),并且还留意对在DUT 210的出口端口(P2)观察到的集合A中的业务的总量进行计数的计数器(c2)。如果在计数器c1和c2之间存在不匹配(即,c1不等于c2),则监测规则325还指定用于触发警告的动作。如果在c1和c2之间存在不匹配,则这意味着DUT 210没有传递集合A中的一些业务,并且因此不按照其预期业务处理行为来处理业务。在这种情况下,探针160触发警告以指示DUT 210未如预期那样正处理业务。
图4A是示出按照一些实施例的配置成验证由DUT所实现的业务阻塞功能性的探针的框图,其中所述探针使用布隆过滤器来合并监测规则。在探针160具有大量监测规则的情况下,针对所有监测规则来匹配业务能够在计算上是昂贵的(expensive)。这对用于监测网络业务的探针160的可缩放性施加限制。因此,在一个实施例中,探针160采用基于散列的群组成员资格(GM)数据结构(例如布隆过滤器、Cuckoo等)来合并监测规则。基于散列的GM数据结构是空间高效的概率性数据结构(其用于测试元素是否为集合中的成员)。误报(falsepositive)匹配是可能的,但是漏报(false negative)不是。因此,对GM数据结构的查询具有100%的再调用率(recall rate)。换句话说,查询返回“可能在集合中”或“绝对不在集合中”。在布隆过滤器的情况下,元素能够被添加到集合,但不被移除。其它GM数据结构(例如,Cuckoo)允许从集合中移除元素。一般来说,随着更多元素被添加到集合,误报的概率增加。使用基于散列的GM数据结构来合并监测规则提供更为可缩放和高效的方法以实现监测规则,同时仍维持可控准确度。在以下描述中,将描述使用布隆过滤器来合并监测规则的示例。然而,应该注意,监测规则能够使用不同于布隆过滤器的GM数据结构来进行合并。
空布隆过滤器是m位(全部设置为“0”)的位阵列。定义有k个不同的散列函数,每个散列函数通过统一的随机分布将元素映射或散列到m个阵列位置中的一个。为了添加元素,所述k个散列函数被应用在元素上以得到k个阵列位置。在这些位置的位被设置为“1”。为了针对元素进行查询(即,确定该元素是否在该集合中),将相同的k个散列函数应用在该元素上以得到k个阵列位置。如果在这些位置的位中的任何一个位被设置为“0”,则该元素肯定不在该集合中—如果它在该集合中,则当该元素被插入时,在这些位置的所有位会被设置为“1”。如果在这些位置的所有位被设置为“1”,则在插入其它元素期间,该元素在该集合中或所述位碰巧已被设置为“1”,这引起误报。在简单的布隆过滤器中,不存在在所述两种情况之间进行区分的方法,但更先进的技术能够解决这个问题。从布隆过滤器中移除元素是不可能的,因为不准许漏报。如果元素映射到k个位,则将那k个位中的每个位设置为“0”足以移除该元素,但是也可能引起移除碰巧映射到任何所移除的位上的其它元素。因此,将任何位设置为“0”可能引入漏报的概率。
布隆过滤器使用m位阵列和k个独立的散列函数来实现。业务的匹配准则通过对分组字段进行k-散列而被添加到布隆过滤器,所述字段标识业务并在位阵列中将所产生的阵列位置设置为“1”。在一个实施例中,将k-散列应用于分组报头的预定字段。例如,k-散列函数能够应用于通过在分组报头中连结协议的数值表示(例如,UDP=“1”,TCP=“2”等)、源IP地址(例如,192.168.0.50=“192168050”或任何源地址=“0000”)、源端口(例如,端口50=“50”或所有端口=“0”)、目的地IP地址(例如,192.168.0.51=“192168051”或任何目的地IP地址=“0000”)、以及目的地端口(例如,端口51=“51”或所有端口=“0”)来创建的数字串。每个k散列函数将把数字串映射到位阵列中的位置。通过将位阵列中的这些位置设置为“1”,将匹配准则添加到布隆过滤器。
如上面所提到的,布隆过滤器能够生成误报(例如,不在集合A中的分组可能被确定为匹配)。误报率能够被运算为,其中k是散列函数的数量,n是要合并的规则的数量,并且m是位阵列的大小。这些参数中的每个参数能够如期望那样来配置或预协商(例如,通过网络装置130和/或探针160)。
类似于图3A中所示的探针160,图4A中所示的探针160配置成执行验证任务410,该验证任务410验证DUT 210阻塞集合A中的业务。验证任务410可以是由探针160的验证组件240所执行的任务。探针160被分接到DUT 210的出口数据路径中,并因此接收离开DUT 210的业务的副本。探针160使用布隆过滤器来确定观察到的离开DUT 210的业务是否匹配集合A中的业务。为了布隆过滤器匹配集合A中的业务,匹配集合A中的业务的匹配准则应该被添加到布隆过滤器。通过对标识集合A中的业务的预定分组报头字段进行k-散列(使用k个散列函数412)并将位阵列413中所产生的位位置设置为“1”,匹配集合A中的业务的匹配准则能够被添加到布隆过滤器。对于其它业务集合的附加匹配准则能够以类似的方式被添加到相同布隆过滤器。以这种方法,布隆过滤器能够用来合并多个监测规则。
对于探针160接收的每个分组,探针160能够使用布隆过滤器来确定分组是否是匹配。这通过使用k个散列函数422对所接收的分组的预定分组报头字段进行k-散列来完成,这产生一个或多个位位置。如果所有这些位位置在位阵列413中设置为“1”,则这指示该分组是匹配。当探针160确定分组是匹配时,按照监测规则,运行该匹配的对应动作。在此示例中,布隆过滤器先前配置成匹配属于集合A的分组。探针160配置具有监测规则415以如果布隆过滤器检测到匹配(位阵列413中的“全1”)则触发警告。因此,如果探针160接收到集合A中的业务,则探针160将使用布隆过滤器来确定分组是匹配并触发警告。以这种方法,探针160能够验证DUT 210如预期那样处理业务。与不执行合并的探针160相比,业务监测性能被改进,因为探针160能够使用布隆过滤器来快速确定传入分组是否是匹配,而不需要针对监测规则的长列表来检查传入分组。
图4B是示出按照一些实施例的配置成验证DUT的业务传递功能性的探针的框图,其中探针使用布隆过滤器来合并监测规则。类似于图3B中所示的探针160,图4B中所示的探针160配置成执行验证任务420,该验证任务420验证DUT 210传递集合A中的业务。验证任务420可以是由探针160的验证组件240执行的任务。探针160被分接到DUT 210的入口数据路径和出口数据路径两者中。因此,探针160接收进入DUT 210的业务的副本和离开DUT 210的业务的副本两者。探针160使用布隆过滤器来确定观察到的进入DUT 210的业务是否匹配集合A中的业务,以及离开DUT 210的业务是否匹配集合A中的业务。如先前所讨论的,匹配准则能够通过对预定分组头部和字段进行k-散列(使用k个散列函数422)并将位阵列423中所产生的位位置设置为“1”而被添加到布隆过滤器。能够使用相同的布隆过滤器来匹配其它业务集合,从而允许合并多个匹配准则。
对于探针160在DUT 210的入口数据路径处观察到的每个分组,探针160能够使用布隆过滤器来确定该分组是否是匹配(使用与上面描述的那些技术类似的技术)。如果探针160确定该分组是匹配,则增加对应的计数器(c1)。类似地,对于探针160在DUT 210的出口数据路径处观察到的每个分组,探针160能够使用布隆过滤器来确定该分组是否是匹配。如果探针160确定该分组是匹配,则增加对应的计数器(c2)。如果在c1和c2之间存在不匹配(即,c1不等于c2),则探针160配置具有监测规则425以触发警告。以这种方法,探针160能够验证DUT 210如预期那样处理业务。与不执行合并的探针160相比,业务监测性能被改进,因为探针160能够使用布隆过滤器来快速确定分组是否是匹配,而不需要针对监测规则的长列表来检查传入分组。
图5是示出按照一些实施例的用于非侵入式网络监测的过程的流程图。在一个实施例中,流程图的操作可以由用作SDN控制器和/或云管理器/协调器的网络装置130(或网络装置集合)(例如,网络装置130)来执行。将参考其它图的示范实施例来描述此流程图中的操作。然而,应该理解,流程图的操作能够通过不同于参考其它图来讨论的那些实施例的实施例来执行,并且参考这些其它图来讨论的实施例能够执行不同于参考流程图来讨论的那些操作的操作。
在一个实施例中,当网络装置130接收到在网络100内的监测区域上执行监测任务的请求时,发起该过程(框510)。监测区域可以包括网络100的网络装置140的子集(例如,其实现例如业务阻塞功能或业务传递功能的网络功能)。监测区域具有将入口业务携带到监测区域中的入口数据路径和将出口业务携带出监测区域的出口数据路径。
网络装置130配置网络以将入口业务或出口业务镜像到网络中的可配置探针(框520)。网络装置130可利用OpenFlow或类似的通信协议来配置网络100中的网络装置140以将入口业务或出口业务镜像到可配置探针。在一个实施例中,可配置探针包括交换机(例如,入口交换机220A和出口交换机220B)。网络装置130可以配置网络以通过将网络100配置成将业务的副本转发到可配置探针的交换机来将业务镜像到可配置探针。在一个实施例中,网络装置130可以配置网络100以将进入和离开监测区域的所有业务的副本转发到可配置探针的交换机。在另一实施例中,网络装置130可以配置网络100以将进入和离开监测区域的业务的子集(例如,属于特定流的业务)转发到可配置探针的交换机。如本文所使用的,可配置探针可以指能够配置成执行监测任务的虚拟探针或物理探针。虚拟探针可以包括一个或多个虚拟交换机,所述虚拟交换机用于接收到监测区域中的所镜像的入口业务和/或离开监测区域的所镜像的出口业务。在一个实施例中,网络装置130可以发起网络中的所述一个或多个虚拟交换机的例示(例如,通过指挥网络100中的网络装置140例示所述一个或多个虚拟交换机)。在一个实施例中,虚拟交换机是Open vSwitches。通过配置网络以将入口业务或出口业务镜像到可配置探针,可配置探针能够观察到监测区域中的入口业务和离开监测区域的出口业务。
网络装置130配置可配置探针以在监测区域上执行监测任务(框525)。可配置探针配置成基于所镜像的入口业务或所镜像的出口业务的分析来执行监测任务。在一个实施例中,可配置探针包括各自执行给定监测任务的一个或多个监测组件。网络装置130可以配置可配置探针的一个或多个交换机220以将所镜像的入口业务和/或所镜像的出口业务转发到监测组件中的一个或多个。在一个实施例中,网络装置130配置可配置探针的所述一个或多个交换机220以在将业务转发到监测组件之前(例如,仅转发属于特定流的业务)来过滤业务。监测组件然后可以基于所镜像的入口业务和/或所镜像的出口业务的分析来执行它们相应的监测任务。在一个实施例中,监测任务是网络功能验证任务。网络功能验证任务的示例包括验证业务阻塞功能是否如预期那样运作并验证业务传递功能是否如预期那样运作。这些网络功能验证任务作为示例而非限制来提供。在其它实施例中,网络功能验证任务可以验证其它类型的网络功能。在一个实施例中,网络装置130获得在监测区域中实现的网络功能的预期业务处理行为的指示,并配置可配置探针以安装监测规则,该监测规则验证监测区域的所镜像的入口业务和监测区域的所镜像的出口业务是否与网络功能的预期业务处理行为一致。在一个实施例中,监测任务是网络剖析任务。网络剖析任务的示例包括延迟测量任务、抖动测量任务和分组丢失测量任务。这些网络剖析任务作为示例而非限制来提供。在其它实施例中,网络剖析任务可以剖析网络100中的业务的其它特性。在一个实施例中,网络装置130通过配置可配置探针以安装一个或多个监测规则来配置可配置探针以执行监测任务。在一个实施例中,网络装置130通过使用布隆过滤器合并多个监测规则来生成合并的监测规则。网络装置130然后配置可配置探针以安装所合并的监测规则。如上面所讨论的,所合并的监测规则可以允许更快的分组匹配。
当可配置探针完成执行监测任务时,可配置探针可以将监测任务的结果发送到网络装置130。网络装置130从可配置探针接收监测任务的结果(框530),其能够被报告给网络监测应用150以用于进一步的分析或校正动作(例如,如果监测任务在网络中检测到异常)。由于该过程使用可配置探针来监测网络100的段(例如,监测区域)并且不直接访问该段的内部配置或状态(例如,该段内的网络功能的配置),所以该过程允许非侵入式监测(具有对数据路径的最小影响)。而且,该过程允许可配置和灵活的监测,其中能够如需要那样来配置可配置探针,这取决于期望的监测任务。
图6A示出按照一些实施例的示范性网络内的网络装置(ND)之间的连接性以及ND的三个示范性实现。图6A通过A-B、B-C、C-D、D-E、E-F、F-G和A-G之间以及H与A、C、D和G的每个之间的线的方式来示出ND 600A-H及其连接性。这些ND是物理装置,以及这些ND之间的连接性能够是无线或有线的(常常称作链路)。从ND 600A、E和F延伸的附加线示出这些ND充当网络的入口和出口点(并且因此这些ND有时称作边缘ND;而其它ND可称作核心ND)。
图6A中的示范性ND实现中的两个是:1)专用网络装置602,其使用定制专用集成电路(ASIC)和专有操作系统(OS);以及2)通用网络装置604,其使用普通现货(COTS)处理器和标准OS。
专用网络装置602包括连网硬件610,所述连网硬件包括计算资源612(其典型包括一个或多个处理器的集合)、转发资源614(其典型包括一个或多个ASIC和/或网络处理器)和物理网络接口(NI)616(有时称作物理端口)以及非暂态机器可读存储介质618(已在其中存储了连网软件620)。物理NI是ND中的硬件,通过其进行网络连接(例如通过无线网络接口控制器(WNIC)无线地或者通过插入到与网络接口控制器(NIC)所连接的物理端口的线缆中),例如通过ND 600A-H之间的连接性所示出的那些。在操作期间,连网软件620可由连网硬件610来运行,以便例示一个或多个连网软件实例622的集合。连网软件实例622中的每个以及运行该网络软件实例的连网硬件610的该部分(如果它是专用于该连网软件实例的硬件和/或由该连网软件实例与连网软件实例622中的其它实例在时间上共享的硬件的时间片)形成单独虚拟网络元件630A-R。虚拟网络元件(VNE)630A-R中的每个包括控制通信与配置模块632A-R(有时称作本地控制模块或控制通信模块)和转发表634A-R,使得给定虚拟网络元件(例如630A)包括控制通信与配置模块(例如632A)、一个或多个转发表(例如634A)的集合以及运行虚拟网络元件(例如630A)的连网硬件610的该部分。
软件620能够包括代码作为部分连网软件实例622,所述代码在由连网硬件610运行时促使连网软件610执行本发明的一个或多个实施例的操作。
专用网络装置602常常在物理和/或逻辑上被认为包括:1)ND控制平面624(有时称作控制平面),包括运行控制通信与配置模块632A-R的计算资源612;以及2)ND转发平面626(有时称作转发平面、数据平面或介质平面),包括利用一个或多个转发表634A-R和物理NI616的一个或多个转发资源614。通过示例的方式,在ND是路由器(或者实现选路功能性)的情况下,ND控制平面624(运行控制通信与配置模块632A-R的计算资源612)典型负责参与控制要如何路由数据(例如分组)(例如,数据的下一跳和该数据的传出物理NI)并且将该选路信息存储在转发表634A-R中,以及ND转发平面626负责在物理NI 616上接收该数据,并且基于转发表634A-R将该数据转发出物理NI 616中的适当NI。
图6B示出按照一些实施例的用于实现专用网络装置602的示范性方法。图6B示出包括卡638(典型是可热插拔的)的专用网络装置。虽然在一些实施例中,卡638具有两种类型(作为ND转发平面626进行操作的一个或多个(有时称作线卡)、以及操作以实现ND控制平面624的一个或多个(有时称作控制卡)),但是备选实施例可将功能性组合到单个卡上,和/或包括附加卡类型(例如,一种附加类型的卡称作服务卡、资源卡或多应用卡)。服务卡能够提供专门处理(例如第4层至第7层服务(例如防火墙、网络地址转化、因特网协议安全性(Ipsec)、安全套接字层(SSL)/传输层安全性(TLS)、入侵检测系统(IDS)、对等网络(P2P)、IP上语音(VoIP)会话边界控制器、移动无线网关(网关通用分组无线电服务(GPRS)支持节点(GGSN)、演进分组核心(EPC)网关))。通过示例的方式,服务卡可用于端接IPsec隧道,并且运行伴随认证(attendant authentication)和加密算法。这些卡通过示出为底板636的一个或多个互连机制(例如耦合线卡的第一全网格以及耦合全部卡的第二全网格)来耦合在一起。
回到图6A,通用网络装置604包括硬件640,其包括一个或多个处理器642的集合(常常是COTS处理器)和网络接口控制器644(NIC;又称作网络接口卡)(包括物理NI 646)以及非暂态机器可读存储介质648(已在其中存储了软件650)。在操作期间,处理器642运行软件650,以便例示一个或多个应用664A-R的一个或多个集合。虽然一个实施例不实现虚拟化,但备选实施例可以使用不同形式的虚拟化—由虚拟化层654和软件容器662A-R所表示。例如,一个此类备选实施例实现操作系统级虚拟化,在这种情况下,虚拟化层654表示允许创建多个软件容器662A-R(可以每个用于运行应用664A-R的集合之一)的操作系统的内核(或在基本操作系统上运行的垫片(shim))。在此实施例中,多个软件容器662A-R(也称作虚拟化引擎、虚拟专用服务器或监狱(jail))每个都是用户空间实例(典型是虚拟存储器空间);这些用户空间实例彼此分离并与其中运行操作系统的内核空间分离;除非明确允许,否则在给定用户空间中运行的应用的集合不能访问其它过程的存储器。另一个此类备选实施例实现完全虚拟化,在这种情况下:1)虚拟化层654表示管理程序(有时称作虚拟机监测程序(VMM))或在主机操作系统的顶部上运行的管理程序;以及2)软件容器662A-R各自表示称作由管理程序运行并且可以包括访客操作系统的虚拟机的紧密隔离形式的软件容器。虚拟机是物理机器的软件实现,其运行程序,好像它们正运行于物理的非虚拟化机器上一样;并且应用一般不知道它们正运行于虚拟机上,与运行于“裸金属(bare metal)”主机电子装置上相反,尽管一些系统提供准虚拟化,其允许操作系统或应用为了优化目的而意识到虚拟化的存在。
一个或多个应用664A-R的一个或多个集合的实例化以及虚拟化层654和软件容器662A-R(如果实现的话),统称作软件实例652。应用664A-R的每个集合(对应于软件容器662A-R(如果实现的话))以及运行它们的硬件640的该部分(如果它是专用于该运行的硬件和/或由软件容器662A-R在时间上共享的硬件的时间片)形成单独虚拟网络元件660A-R。
虚拟网络元件660A-R执行与虚拟网络元件630A-R类似的功能性—例如,与控制通信和配置模块632A和转发表634A类似(硬件640的这种虚拟化有时称作网络功能虚拟化(NVF))。因此,NFV可用于将许多网络设备类型合并到工业标准高容量服务器硬件、物理交换机和物理存储装置上,其可位于数据中心、ND和顾客终端设备(CPE)中。然而,本发明的不同实施例可不同地实现软件容器662A-R的一个或多个。例如,虽然本发明的实施例通过与一个VNE 660A-R对应的每个软件容器662A-R来示出,但是备选实施例可在更精细级粒度来实现这种对应(例如,线卡虚拟机虚拟化线卡、控制卡虚拟机虚拟化控制卡等);应该理解,本文参考软件容器662A-R与VNE的对应所描述的技术也应用于其中使用此类更精细级的粒度的实施例。
在某些实施例中,虚拟化层654包括虚拟交换机,其提供与物理以太网交换机类似的转发服务。具体来说,此虚拟交换机在软件容器662A-R与NIC 644之间以及可选地在软件容器662A-R之间转发业务;另外,此虚拟交换机可实施VNE 660A-R(其根据策略不被准许彼此通信(例如通过重视(honoring)虚拟局域网(VLAN))之间的网络隔离。
软件650能够包括代码作为部分软件容器662A-R,所述代码在由处理器642运行时促使处理器642执行本发明的一个或多个实施例的操作。
图6A中的第三示范性ND实现是混合网络装置606,其在单个ND或ND内的单个卡中包括定制ASIC/专有OS和COTS处理器/标准OS。在此类混合网络装置的某些实施例中,平台VM(即,实现专用网络装置602的功能性的VM)可向混合网络装置606中存在的连网硬件提供准虚拟化。
不管ND的以上示范性实现,当正考虑由ND所实现的多个VNE中的单个VNE时(例如只有VNE之一是给定虚拟网络的部分)或者在只有单个VNE当前正由ND来实现的情况下,缩写术语“网络元件”(NE)有时用于表示该VNE。又在所有以上示范性实现中,VNE中的每个(例如VNE 630A-R、VNE 660A-R和混合网络装置606中的那些VNE)在物理NI(例如616、646)上接收数据,并且将该数据转发出物理NI(例如616、646)中的适当NI。例如,实现IP路由器功能性的VNE基于IP分组中的IP报头信息中的一些来转发IP分组;其中IP报头信息包括源IP地址、目的地IP地址、源端口、目的地端口(其中“源端口”和“目的地端口”在本文中表示协议端口,如与ND的物理端口相对)、传输协议(例如用户数据报协议(UDP)、传送控制协议(TCP)以及差分服务(DSCP)值。
图6C示出各种示范性方法,其中VNE可按照一些实施例来耦合。图6C示出在ND600A中实现的VNE 670A.1-670A.P(和可选的VNE 670A.Q-670A.R)以及ND 600H中的VNE670H.1。图6C中,VNE 607A.1-P在它们能够从外部ND 600A接收分组并且在ND 600A外部转发分组的意义上是彼此分离的;VNE 607A.1与VNE 607H.1耦合,并且因此它们在其相应ND之间传递分组;VNE 670A.2-670A.3可选地可在其自己之间转发分组而不用在ND 600A外部转发它们;以及VNE 670A.P可选地可以是包括VNE 607A.Q继之以VNE 670A.R的VNE链中的第一个(这有时称作动态服务链接,其中VNE系列中的每个VNE提供不同服务—例如一个或多个第4-7层网络服务)。虽然图6C示出VNE之间的各种示范性关系,但是备选实施例可支持其它关系(例如,更多/更少VNE、更多/更少动态服务链、具有一些共同VNE和一些不同VNE的多个不同动态服务链)。
例如,图6A的ND可形成因特网或专用网络的一部分;以及其它电子装置(未示出;例如端用户装置,包括工作站、膝上型计算机、上网本、平板、掌上型计算机、移动电话、智能电话、平板电话、多媒体电话、因特网协议上语音(VOIP)电话、终端、便携式媒体播放器、GPS单元、可佩戴装置、游戏系统、机顶盒、因特网使能的家用电器)可耦合到网络(直接地或者通过其它网络(例如接入网)),以便通过网络(例如因特网或者覆盖(例如隧穿通过)于因特网上的虚拟专用网络(VPN))彼此通信(直接地或者通过服务器)和/或访问内容和/或服务。此类内容和/或服务典型由属于服务/内容提供商的一个或多个服务器(未示出)或者参与对等网络(P2P)服务的一个或多个端用户装置(未示出)来提供,并且可包括例如公共网页(例如免费内容、店面(store front)、搜索服务)、专用网页(例如提供电子邮件服务的用户名/密码访问网页)和/或通过VPN的企业网络。例如,端用户装置(例如通过(有线或无线地)耦合到接入网络的顾客终端设备)可耦合到边缘ND,其(例如通过一个或多个核心ND)耦合到与充当服务器的电子装置所耦合的其它边缘ND。然而,通过计算和存储虚拟化,作为图6A中的ND进行操作的电子装置的一个或多个也可主控一个或多个此类服务器(例如在通用网络装置604的情况下,软件容器662A-R的一个或多个可作为服务器进行操作;同样的情况会对于混合网络装置606成立;在专用网络装置602的情况下,一个或多个此类服务器也可运行于由计算资源612所运行的虚拟化层上);在这种情况下,服务器说成是与该ND的VNE共存。
虚拟网络是提供网络服务(例如L2和/或L3服务)的物理网络(例如图6A中的网络)的逻辑抽象。虚拟网络能够实现为覆盖网络(有时称作网络虚拟化覆盖),其通过基础网络(例如,例如因特网协议(IP)网络的L3网络,其使用隧道(例如通用选路封装(GRE)、第2层隧穿协议(L2TP)、IPSec)来创建覆盖网络)来提供网络服务(例如第2层(L2,数据链路层)和/或第3层(L3,网络层)服务)。
网络虚拟化边缘(NVE)位于基础网络的边缘,并且参与实现网络虚拟化;NVE的面向网络侧使用基础网络来向其它NVE隧穿帧或者从其它NVE隧穿帧;NVE的面向外部侧向网络外部的系统发送数据或者从其接收数据。虚拟网络实例(VNI)是NVE(例如ND上的NE/VNE、其中NE/VNE通过仿真划分为多个VNE的ND上的该NE/VNE的一部分)上的虚拟网络的特定实例;一个或多个VNI能够在NVE(例如,作为ND上的不同VNE)上例示。虚拟接入点(VAP)是NVE上用于将外部系统连接到虚拟网络的逻辑连接点;VAP能够是通过逻辑接口标识符(例如VLAN ID)所标识的物理或虚拟端口。
网络服务的示例包括:1)以太网LAN仿真服务(与因特网工程任务组(IETF)多协议标签交换(MPLS)或以太网VPN(EVPN)服务类似的基于以太网的多点服务),其中外部系统通过基础网络借助于LAN环境跨网络互连(例如NVE提供对于不同的此类虚拟网络的分离L2VNI(虚拟交换实例)和跨基础网络的L3(例如IP/MPLS)隧穿封装);以及2)虚拟化IP转发服务(从服务定义角度来看与IETF IP VPN(例如边界网关协议(BGP)/MPLS IPVPN)类似),其中外部系统通过基础网络借助于L3环境跨网络互连(例如NVE提供对于不同的此类虚拟网络的分离L3 VNI(转发和选路实例)和跨基础网络的L3(例如IP/MPLS)隧穿封装)。网络服务还可包括服务质量能力(例如业务分类标记、业务调节和调度)、安全能力(例如,用于保护顾客终端免受网络始发攻击的过滤器,以避免错误形成的路由通知)和管理能力(例如完全检测和处理)。
图6D示出按照一些实施例的具有图6A的ND的每个上的单个网络元件的网络以及在这种直接方式内将传统分布式方式(通常由传统路由器使用)与用于维持可达性和转发信息的集中式方式(又称作网络控制)进行对比。具体来说,图6D示出具有与图6A的ND600A-H相同的连接性的网络元件(NE)670A-H。
图6D示出分布式方式672将用于生成可达性和转发信息的职责跨NE 670A-H分发;换言之,邻居发现和拓扑发现的过程被分发。
例如,在使用专用网络装置602的情况下,ND控制平面624的控制通信与配置模块632A-R典型包括可达性和转发信息模块,以实现一个或多个选路协议(例如,外部网关协议(例如边界网关协议(BGP))、内部网关协议(IGP)(例如开放式最短路径优先(OSPF)、中间系统到中间系统(IS-IS)、选路信息协议(RIP))、标签分发协议(LDP)、资源预留协议(RSVP)以及RSVP业务工程(TE):对LSP隧道的RSVP的扩展、通用多协议标签交换(GMPLS)信令RSVP-TE,其与其它NE进行通信以交换路由,并且然后基于一个或多个选路量度来选择那些路由。因此,NE 670A-H(例如运行控制通信与配置模块632A-R的计算资源612)通过分布式地确定网络内的可达性并且运算其相应转发信息来执行其参与控制要如何路由数据(例如分组)(例如数据的下一跳和该数据的传出物理NI)的职责。路由和相邻性存储在ND控制平面624上的一个或多个选路结构(例如选路信息库(RIB)、标签信息库(LIB)、一个或多个相邻性结构)中。ND控制平面624基于选路结构通过信息(例如相邻性和路由信息)来对ND转发平面626进行编程。例如,ND控制平面624将相邻性和路由信息编程到ND转发平面626上的一个或多个转发表634A-R(例如转发信息库(FIB)、标签转发信息库(LFIB)以及一个或多个相邻性结构)中。对于第2层转发,ND能够存储用于基于该数据中的第2层信息来转发数据的一个或多个桥接表。虽然上面示例使用专用网络装置602,但相同的分布式方式672能够在通用网络装置604和混合网络装置606上实现。
图6D示出集中式方式674(又称作软件定义连网(SDN)),其使进行关于从将业务转发到所选择的目的地的基础系统发送业务之处的决策的系统。所示出的集中式方式674具有生成集中式控制平面676(有时称作SDN控制模块、控制器、网络控制器、OpenFlow控制器、SDN控制器、控制平面节点、网络虚拟化权限(authority)或管理控制实体)中的可达性和转发信息的职责,并且因此邻居发现和拓扑发现的过程是集中式的。集中式控制平面676具有带有数据平面680(有时称作基础设施层、网络转发平面或转发平面(其不应该与ND转发平面混淆))的南向接口682,所述数据平面包括NE 670A-H(有时称作交换机、转发元件、数据平面元件或节点)。集中式控制平面676包括网络控制器678,所述网络控制器包括集中式可达性和转发信息模块679,其确定网络内的可达性,并且通过南向接口682(其可使用OpenFlow协议)向数据平面680的NE 670A-H分发转发信息。因此,网络智能在运行于典型与ND分离的电子装置上的集中式控制平面676中集中化。在一个实施例中,网络控制器678可以包括网络监测管理器组件681,其在由网络控制器678运行时促使网络控制器678执行本文上面描述的一个或多个实施例的操作。
例如,在专用网络装置602用于数据平面680中的情况下,ND控制平面624的控制通信与配置模块632A-R的每个典型包括控制代理,其提供南向接口682的VNE侧。在这种情况下,ND控制平面624(运行控制通信与配置模块632A-R的计算资源612)通过与集中式控制平面676进行通信以从集中式可达性与转发信息模块679接收转发信息(以及在一些情况下的可达性信息)的控制代理来执行其参与控制要如何路由数据(例如分组)(例如数据的下一跳和该数据的传出物理NI)的职责(应该理解,在本发明的一些实施例中,控制通信与配置模块632A-R除了与集中式控制平面676进行通信之外,还可在确定可达性和/或运算转发信息方面扮演某种角色—虽然比在分布式方式的情况下少;此类实施例一般被认为落入集中式方式674下,但也可被认为是混合方式)。
虽然上面示例使用专用网络装置602,但相同集中式方式674能够通过通用网络装置604(例如,VNE 660A-R的每个通过与集中式控制平面676进行通信以便从集中式可达性与转发信息模块679接收转发信息(以及在一些情况下的可达性信息)来执行其控制要如何路由数据(例如分组)(例如数据的下一跳和该数据的传出物理NI)的职责;应该理解,在本发明的一些实施例中,VNE 660A-R除了与集中式控制平面676进行通信之外,还可在确定可达性和/或运算转发信息方面扮演某种角色—虽然比在分布式方式的情况下少)和混合网络装置606来实现。实际上,SDN技术的使用能够增强通用网络装置604或混合网络装置606实现中典型使用的NFV技术,因为NFV能够通过提供基础设施(在其上能够运行SDN软件)来支持SDN,并且NFV和SDN均旨在利用商品服务器硬件和物理交换机。
图6D还示出集中式控制平面676具有到应用层686的北向接口684,其中驻留应用688。集中式控制平面676具有形成用于应用688的虚拟网络692(有时称作逻辑转发平面、网络服务或覆盖网络(其中数据平面680的NE 670A-H是基础网络))的能力。因此,集中式控制平面676维持所有ND和配置的NE/VNE的全局视图,并且它高效地将虚拟网络映射到基础ND(包括在物理网络通过硬件(ND、链路或ND组件)故障、添加或移除而改变时维持这些映射)。
虽然图6D示出与集中式方式674分离的分布式方式672,但是在本发明的某些实施例中,网络控制的努力可不同地分布或者两个进行组合。例如:1)实施例一般可使用集中式方式(SDN)674,但是将某些功能授权给NE(例如,分布式方式可用于实现故障监测、性能监测、保护切换、和邻居和/或拓扑发现的基元);或者2)本发明的实施例可经由集中式控制平面和分布式协议来执行邻居发现和拓扑发现,以及比较结果以产生它们不一致的异常(exception)。此类实施例一般被认为落入集中式方式674下,但是也可被认为是混合方式。
虽然图6D示出其中每个ND 600A-H实现单个NE 670A-H的简单情况,但是应该理解,参考图6D所描述的网络控制方式还对于其中ND 600A-H的一个或多个ND实现多个VNE(例如,VNE 630A-R、VNE 660A-R、混合网络装置606中的那些VNE)的网络起作用。备选地或附加地,网络控制器678还可仿真单个ND中的多个VNE的实现。具体来说,代替(或除了)实现单个ND中的多个VNE,网络控制器678还可将单个ND中的VNE/NE的实现作为虚拟网络692中的多个VNE(全部在虚拟网络692中的相同虚拟网络中、每个在虚拟网络692中的不同虚拟网络中、或者某种组合)来呈现。例如,网络控制器678可促使ND实现基础网络中的单个VNE(NE),并且然后在逻辑上划分集中式控制平面676内的该NE的资源以呈现虚拟网络692中的不同VNE(其中覆盖网络中的这些不同VNE正共享基础网络中的ND上的单个VNE/NE实现的资源)。
另一方面,图6E和图6F分别示出网络控制器678可将其作为虚拟网络692中的不同虚拟网络的一部分来呈现的NE和VNE的示范性抽象。按照一些实施例,图6E示出以下简单情况:其中ND 600A-H中的每个ND实现单个NE 670A-H(参见图6D),但是集中式控制平面676已将不同ND中的多个NE(NE 670A-C和G-H)抽象成(以表示)图6D的虚拟网络692之一中的单个NE 670I。图6E示出在这个虚拟网络中,NE 670I耦合到NE 670D和670F,其均仍然耦合到NE670E。
图6F示出按照一些实施例的情况,其中多个VNE(VNE 670A.1和VNE 670H.1)在不同ND(ND 600A和ND 600H)上实现并且彼此耦合,以及其中集中式控制平面676已抽象这多个VNE以使得它们表现为图6D的虚拟网络692之一内的单个VNE 670T。因此,NE或VNE的抽象能够跨越多个ND。
虽然本发明的一些实施例将集中式控制平面676实现为单个实体(例如运行于单个电子装置上的软件的单个实例),但是备选实施例可将功能性跨多个实体展开以用于冗余度和/或缩放性目的(例如运行于不同电子装置上的软件的多个实例)。
与网络装置实现类似,运行集中式控制平面676的电子装置并且因此还有包括集中式可达性与转发信息模块679的网络控制器678可按照多种方法来实现(例如专用装置、通用(例如COTS)装置或混合装置)。这些电子装置类似地会包括计算资源、物理NIC的集合或一个或多个物理NIC、和非暂态机器可读存储介质(已在其上存储了集中式控制平面软件)。例如,图7示出包括硬件740的通用控制平面装置704,硬件740包括一个或多个处理器742(其常常是COTS处理器)的集合和网络接口控制器744(NIC;又称作网络接口卡)(其包括物理NI 746)以及非暂态机器可读存储介质748(已在其上存储了集中式控制平面(CCP)软件750和网络监测管理器组件751)。
在使用计算虚拟化的实施例中,处理器742典型地运行软件以便例示虚拟化层754和软件容器762A-R(例如,通过操作系统级虚拟化,虚拟化层754表示允许创建多个软件容器762A-R(表示单独用户空间实例并且还被称作虚拟化引擎、虚拟专用服务器或监狱)的操作系统的内核(或在基本操作系统上运行的垫片(shim)),所述多个软件容器可以各自用于运行一个或多个应用的集合;通过完全虚拟化,虚拟化层754表示管理程序(有时称作虚拟机监测器(VMM))或在主机操作系统的顶部上运行的管理程序,并且软件容器762A-R各自表示称作由管理程序所运行的虚拟机并且可以包括访客操作系统的紧密隔离形式的软件容器;通过准虚拟化,通过虚拟机来运行的应用或操作系统可为了优化目的而意识到虚拟化的存在)。再次在其中使用计算虚拟化的实施例中,在操作期间,CCP软件750的实例(示出为CCP实例776A)在虚拟化层754上的软件容器762A内运行。在其中没有使用计算虚拟化的实施例中,主机操作系统的顶部上的CCP实例776A运行于“裸金属”通用控制平面装置704上。CCP实例776A以及虚拟化层754和软件容器762A-R(如果实现的话)的实例化,统称作软件实例752。
在一些实施例中,CCP实例776A包括网络控制器实例778。网络控制器实例778包括集中式可达性与转发信息模块实例779(其是向操作系统提供网络控制器678的上下文并且与各种NE进行通信的中间件层)和中间件层上的CCP应用层780(有时称作应用层)(提供各种网络操作所要求的智能,例如协议、网络状况感知和用户界面)。在更抽象级,集中式控制平面676内的此CCP应用层780与虚拟网络视图(网络的逻辑视图)一起工作,以及中间件层提供从虚拟网络到物理视图的转换。
网络监测管理器组件751能够由硬件740来运行以将本发明的一个或多个实施例的操作作为软件实例752的一部分来执行。
集中式控制平面676基于CCP应用层780运算和每个流的中间件层映射向数据平面680传送相关消息。流可被定义为分组(其报头匹配位的给定模式)的集合;在这个意义上,传统IP转发也是基于流的转发,其中流通过例如目的地IP地址来定义;然而,在其它实现中,用于流定义的位的给定模式可在分组报头中包含更多字段(例如10个或更多)。数据平面680的不同ND/NE/VNE可接收不同消息,并且因此接收不同转发信息。数据平面680处理这些消息并且对适当NE/VNE的转发表(有时称作流表)中的适当流信息和对应动作进行编程,以及然后NE/VNE将传入分组映射到转发表中表示的流,并且基于转发表中的匹配来转发分组。
例如OpenFlow的标准定义了用于消息的协议以及用于处理分组的模型。用于处理分组的模型包括报头解析、分组分类并且进行转发判定。报头解析描述如何基于众所周知的协议集合来解译分组。一些协议字段用于构建匹配结构(或关键字),其将用于分组分类中(例如,第一关键字字段可能是源媒体访问控制(MAC)地址,以及第二关键字字段可能是目的地MAC地址)。
分组分类涉及在存储器中运行查找,以便通过基于转发表条目的匹配结构或关键字而确定转发表中的哪一个条目(又称作转发表条目或流条目)最好地匹配分组来分类分组。可能的是,转发表条目中表示的许多流能够对应/匹配于分组;在这种情况下,该系统典型地配置成按照已定义的方案(例如选择匹配的第一转发表条目)从许多转发表条目中确定一个转发表条目。转发表条目包括匹配标准的特定集合(值或通配符的集合、或者分组的什么部分应该与具体值/值/通配符进行比较的指示,如通过匹配能力所定义—对于分组报头中的特定字段或者对于某个其它分组内容)以及数据平面要对接收匹配分组所采取的一个或多个动作的集合。例如,动作可以是将报头推送到分组上(对于使用具体端口的分组)、溢出分组,或者只是丢弃分组。因此,具有具体传送控制协议(TCP)目的地端口的IPv4/IPv6分组的转发表条目可包含规定应该丢弃这些分组的动作。
进行转发判定和执行动作基于在分组分类期间所标识的转发表条目通过运行分组上的匹配转发表条目中标识的动作集合而发生。
然而,当未知分组(例如,如OpenFlow用语中所使用的“缺失分组”或“匹配缺失”)到达数据平面680时,分组(或者分组报头和内容的子集)典型被转发到集中式控制平面676。集中式控制平面676然后将把转发表条目编程为数据平面680,以适应属于未知分组的流的分组。一旦特定转发表条目已由集中式控制平面676编程为数据平面680,则具有匹配凭证的下一分组将匹配该转发表条目,并且采取与该匹配条目关联的动作集合。
网络接口(NI)可以是物理或虚拟的;以及在IP的上下文中,接口地址是指派给NI的IP地址,无论它是物理NI还是虚拟NI。虚拟NI可与物理NI、与另一个虚拟接口关联,或者是独立的(例如环回接口、点对点协议接口)。(物理或虚拟)NI可以是编号的(具有IP地址的NI)或者未编号的(没有IP地址的NI)。环回接口(及其环回地址)是常常用于管理目的的(物理或虚拟)NE/VNE的特定类型的虚拟NI(和IP地址);其中此类IP地址称作节点环回地址。指派给ND的NI的IP地址称作该ND的IP地址;在更大粒度级,指派给NI(其被指派给ND上实现的NE/VNE)的IP地址能够称作该NE/VNE的IP地址。
前述详细描述的一些部分已经在计算机存储器内关于数据位的事务的符号表示和算法方面来呈现。这些算法描述和表示是数据处理领域的技术人员用于最有效地将其工作实质传达给本领域其它技术人员的方法。算法在这里,并且一般被认为是引起期望结果的自洽的事务序列。事务是要求物理量的物理操纵的那些事务。通常,尽管不一定,这些量采取能够被存储、转移、组合、比较和以其它方式操纵的电或磁信号的形式。主要出于常用的原因,有时将这些信号称作位、值、元素、符号、字符、术语、数或诸如此类被证明是方便的。
然而应该记住,所有这些和类似的术语要与适当的物理量关联,并且仅仅是应用于这些量的便签。除非具体声明,否则如从上面讨论中显而易见的,领会到在整个描述中,利用例如“处理”或“计算”或“运算”或“确定”或“显示”或诸如此类的术语的讨论涉及计算机系统或类似电子计算装置的动作和过程,其操纵在计算机系统的寄存器和存储器内表示为物理(电子)量的数据并将其变换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储、传送或显示装置内的物理量。
本文呈现的算法和显示并不固有地涉及任何具体计算机或其它设备。按照本文的教导,各种通用系统可以与程序一起使用,或者构建更专用的设备以执行所要求的方法事务可以证明是方便的。从上面的描述中可以看出各种这些系统所要求的结构。另外,没有参考任何具体编程语言来描述本发明的实施例。将领会到,可以使用各种编程语言来实现如本文所描述的本发明的实施例的教导。
在前面的说明书中,已经参考本发明的特定示范性实施例描述了本发明的实施例。将显而易见的是,可以在不偏离如在随附权利要求中阐述的本发明的更广泛的精神和范畴的情况下对其进行各种修改。相应地,说明书和附图被认为是说明性意义而不是限制性意义。
在整个描述中,已经通过流程图呈现了本发明的实施例。将领会到,这些流程图中描述的事务和事务的顺序仅仅意图为了说明性目的,而不是意图作为本发明的限制。本领域的普通技术人员会认识到,可以在不偏离如在随附权利要求中阐述的本发明的更广泛的精神和范畴的情况下对流程图做出变化。

Claims (22)

1.一种由网络中的网络装置实现的用于监测所述网络的段而不用直接访问所述段的内部配置或状态的方法,所述方法包括:
接收(510)在所述网络内的监测区域上执行监测任务的请求,所述监测区域包括所述网络的网络装置的子集,其中所述监测区域具有将入口业务携带到所述监测区域中的入口数据路径,以及将出口业务携带出所述监测区域的出口数据路径;
配置(520)所述网络以将所述入口业务或所述出口业务镜像到所述网络中的可配置探针;
配置(525)所述可配置探针以在所述监测区域上执行所述监测任务,其中所述可配置探针配置成基于所镜像的入口业务或所镜像的出口业务的分析来执行所述监测任务;以及
从所述可配置探针接收(530)所述监测任务的结果。
2.如权利要求1所述的方法,其中所述可配置探针包括交换机,并且其中配置所述网络以将所述入口业务或出口业务镜像到所述可配置探针包括配置所述网络以将所述入口业务或出口业务的副本转发到所述交换机。
3.如权利要求2所述的方法,其中所述可配置探针包括监测组件,并且其中配置所述可配置探针以执行所述监测任务包括配置所述交换机以将所述入口业务的所述副本或所述出口业务的所述副本转发到所述监测组件,其中所述监测组件配置成基于所述入口业务的所述副本或所述出口业务的所述副本的分析来执行所述监测任务。
4.如权利要求1所述的方法,其中所述监测任务是网络功能验证任务。
5. 如权利要求4所述的方法,还包括:
获得在所述监测区域中实现的网络功能的预期业务处理行为的指示;以及
配置所述可配置探针以安装监测规则,所述监测规则验证所述监测区域的所镜像的入口业务和所述监测区域的所镜像的出口业务是否与所述网络功能的所述预期业务处理行为一致。
6.如权利要求4所述的方法,其中所述网络功能验证任务验证业务阻塞功能或业务传递功能是否如预期那样运作。
7.如权利要求1所述的方法,其中所述监测任务是网络剖析任务。
8.如权利要求7所述的方法,其中所述网络剖析任务是以下中的任何一个:延迟测量任务、抖动测量任务、和分组丢失测量任务。
9. 如权利要求1所述的方法,还包括:
通过使用布隆过滤器合并多个监测规则来生成合并的监测规则;以及
配置所述可配置探针以安装所合并的监测规则。
10.如权利要求1所述的方法,其中所述可配置探针是虚拟探针。
11. 一种用于监测网络的段而不用直接访问所述段的内部配置或状态的网络装置(704),包括:
已在其上存储了网络监测管理器组件(751)的非暂态机器可读存储介质(748);以及
耦合到所述非暂态机器可读存储介质的一个或多个处理器(742)的集合,一个或多个处理器的所述集合配置成运行所述网络监测管理器组件,所述网络监测管理器组件配置成
接收在所述网络内的监测区域上执行监测任务的请求,所述监测区域包括所述网络的网络装置的子集,其中所述监测区域具有将入口业务携带到所述监测区域中的入口数据路径,以及将出口业务携带出所述监测区域的出口数据路径;
配置所述网络以将所述入口业务或所述出口业务镜像到所述网络中的可配置探针;
配置所述可配置探针以在所述监测区域上执行所述监测任务,其中所述可配置探针配置成基于所镜像的入口业务或所镜像的出口业务的分析来执行所述监测任务;以及
从所述可配置探针接收所述监测任务的结果。
12. 如权利要求11所述的网络装置,其中所述可配置探针包括交换机和监测组件,并且其中所述网络监测管理器组件还配置成
配置所述网络以将所述入口业务的副本或所述出口业务的副本转发到所述交换机,以及
配置所述交换机以将所述入口业务的所述副本或所述出口业务的所述副本转发到所述监测组件。
13.一种已在其上存储了计算机代码的非暂态机器可读存储介质,所述计算机代码在由网络中的网络装置的一个或多个处理器的集合运行时促使所述网络装置执行操作,所述操作包括:
接收(510)在所述网络内的监测区域上执行监测任务的请求,所述监测区域包括所述网络的网络装置的子集,其中所述监测区域具有将入口业务携带到所述监测区域中的入口数据路径,以及将出口业务携带出所述监测区域的出口数据路径;
配置(520)所述网络以将所述入口业务或所述出口业务镜像到所述网络中的可配置探针;
配置(525)所述可配置探针以在所述监测区域上执行所述监测任务,其中所述可配置探针配置成基于所镜像的入口业务或所镜像的出口业务的分析来执行所述监测任务;以及
从所述可配置探针接收(530)所述监测任务的结果。
14.如权利要求13所述的非暂态机器可读存储介质,其中所述计算机代码在由一个或多个处理器的所述集合运行时促使所述网络装置执行进一步操作,所述进一步操作包括:
配置所述网络以将所述入口业务的副本或所述出口业务的副本转发到所述可配置探针的交换机。
15.如权利要求14所述的非暂态机器可读存储介质,其中所述计算机代码在由一个或多个处理器的所述集合运行时促使所述网络装置执行进一步操作,所述进一步操作包括:
配置所述交换机以将所述入口业务的所述副本或所述出口业务的所述副本转发到所述可配置探针的监测组件。
16.如权利要求13所述的非暂态机器可读存储介质,其中所述监测任务是网络功能验证任务。
17. 如权利要求16所述的非暂态机器可读存储介质,其中所述计算机代码在由一个或多个处理器的集合所述运行时促使所述网络装置执行进一步操作,所述进一步操作包括:
获得在所述监测区域中实现的网络功能的预期业务处理行为的指示;以及
配置所述可配置探针以安装监测规则,所述监测规则验证所述监测区域的所镜像的入口业务和所述监测区域的所镜像的出口业务是否与所述网络功能的所述预期业务处理行为一致。
18.如权利要求16所述的非暂态机器可读存储介质,其中所述网络功能验证任务验证业务阻塞功能或业务传递功能是否如预期那样运作。
19.如权利要求13所述的非暂态机器可读存储介质,其中所述监测任务是网络剖析任务。
20.如权利要求19所述的非暂态机器可读存储介质,其中所述网络剖析任务是以下中的任何一个:延迟测量任务、抖动测量任务、和分组丢失测量任务。
21. 如权利要求13所述的非暂态机器可读存储介质,其中所述计算机代码在由一个或多个处理器的所述集合运行时促使所述网络装置执行进一步操作,所述进一步操作包括:
通过使用布隆过滤器合并多个监测规则来生成合并的监测规则;以及
配置所述可配置探针以安装所合并的监测规则。
22.如权利要求13所述的非暂态机器可读存储介质,其中所述可配置探针是虚拟探针。
CN201680067954.1A 2015-09-21 2016-09-14 用于测试和剖析网络服务功能的非侵入式方法 Active CN108353006B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/860,564 2015-09-21
US14/860,564 US9860152B2 (en) 2015-09-21 2015-09-21 Non-intrusive method for testing and profiling network service functions
PCT/IB2016/055474 WO2017051287A1 (en) 2015-09-21 2016-09-14 Non-intrusive method for testing and profiling network service functions

Publications (2)

Publication Number Publication Date
CN108353006A true CN108353006A (zh) 2018-07-31
CN108353006B CN108353006B (zh) 2021-09-03

Family

ID=56958976

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680067954.1A Active CN108353006B (zh) 2015-09-21 2016-09-14 用于测试和剖析网络服务功能的非侵入式方法

Country Status (4)

Country Link
US (1) US9860152B2 (zh)
EP (1) EP3353955B1 (zh)
CN (1) CN108353006B (zh)
WO (1) WO2017051287A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360419A (zh) * 2021-08-11 2021-09-07 云智慧(北京)科技有限公司 一种应用的数据处理方法、装置及设备

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9964590B2 (en) * 2015-02-27 2018-05-08 At&T Intellectual Property I, L.P. Configurable probe blocks for system monitoring
US10454789B2 (en) * 2015-10-19 2019-10-22 Draios, Inc. Automated service-oriented performance management
US10135702B2 (en) 2015-11-12 2018-11-20 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods, systems, and computer readable media for testing network function virtualization (NFV)
US9967165B2 (en) * 2015-12-07 2018-05-08 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods, systems, and computer readable media for packet monitoring in a virtual environment
US10374922B2 (en) * 2016-02-24 2019-08-06 Cisco Technology, Inc. In-band, health-based assessments of service function paths
US10079805B2 (en) * 2016-06-13 2018-09-18 Fujitsu Limited Bypassing a firewall for authorized flows using software defined networking
US10110462B1 (en) * 2016-09-16 2018-10-23 Sprint Communications Company L.P. False positive protection for Network Function Virtualization (NFV) virtual probe deployment
US10574595B2 (en) * 2017-09-28 2020-02-25 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. System and method for elastic scaling of virtualized network functions over a software defined network
US11005777B2 (en) 2018-07-10 2021-05-11 At&T Intellectual Property I, L.P. Software defined prober
US11398968B2 (en) 2018-07-17 2022-07-26 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing virtualized network functions and related infrastructure
US10880173B2 (en) * 2018-12-03 2020-12-29 At&T Intellectual Property I, L.P. Automated certification of network functions
US10986121B2 (en) 2019-01-24 2021-04-20 Darktrace Limited Multivariate network structure anomaly detector
US10764175B1 (en) 2019-03-19 2020-09-01 Cisco Technology, Inc. Validating resource isolation between network slices in a mobile network
US11012294B2 (en) 2019-04-17 2021-05-18 Nefeli Networks, Inc. Inline data plane monitor placement and operation for network function virtualization
US11397573B2 (en) 2020-02-17 2022-07-26 At&T Intellectual Property I, L.P. Creating and using native virtual probes in computing environments
EP4154473A1 (en) * 2020-05-18 2023-03-29 Telefonaktiebolaget LM Ericsson (publ.) Network monitoring
US11323354B1 (en) 2020-10-09 2022-05-03 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using switch emulation
US11483227B2 (en) 2020-10-13 2022-10-25 Keysight Technologies, Inc. Methods, systems and computer readable media for active queue management
US11296967B1 (en) * 2021-09-23 2022-04-05 Extrahop Networks, Inc. Combining passive network analysis and active probing
US11792289B2 (en) * 2021-11-22 2023-10-17 International Business Machines Corporation Live socket redirection
GB202201065D0 (en) * 2022-01-27 2022-03-16 Microsoft Technology Licensing Llc Session border controller with dynamic reporting
US11709746B1 (en) * 2022-01-28 2023-07-25 Keysight Technologies, Inc. Methods, systems, and computer readable media for smart network interface card testing
US11843606B2 (en) 2022-03-30 2023-12-12 Extrahop Networks, Inc. Detecting abnormal data access based on data similarity
US11962434B2 (en) 2022-07-08 2024-04-16 Keysight Technologies, Inc. Methods, systems, and computer readable media for capturing dropped packets at a switching fabric emulator
US11853254B1 (en) 2022-10-07 2023-12-26 Keysight Technologies, Inc. Methods, systems, and computer readable media for exposing data processing unit (DPU) traffic in a smartswitch

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472418B1 (en) * 2003-08-18 2008-12-30 Symantec Corporation Detection and blocking of malicious code
CN102340447A (zh) * 2011-09-06 2012-02-01 神州数码网络(北京)有限公司 一种远程端口镜像实现系统及方法
US20140056152A1 (en) * 2012-07-09 2014-02-27 International Business Machines Corporation Port mirroring in distributed switching systems
US20150085694A1 (en) * 2013-09-24 2015-03-26 International Business Machines Corporation Port Mirroring for Sampling Measurement of Network Flows

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003267275A1 (en) 2002-05-08 2003-11-11 Aran Communications Limited Telecommunications network subscriber experience measurement
US7602785B2 (en) 2004-02-09 2009-10-13 Washington University Method and system for performing longest prefix matching for network address lookup using bloom filters
US7609630B2 (en) * 2006-04-21 2009-10-27 Alcatel Lucent Communication traffic type determination devices and methods
JP4523964B2 (ja) * 2007-11-30 2010-08-11 富士通株式会社 負荷試験システム、負荷試験装置および負荷試験方法
US8442043B2 (en) 2008-12-29 2013-05-14 Cisco Technology, Inc. Service selection mechanism in service insertion architecture data plane
KR101472695B1 (ko) 2010-10-15 2014-12-12 닛본 덴끼 가부시끼가이샤 스위치 시스템, 모니터링 집중 관리 방법
US8817649B2 (en) * 2012-04-13 2014-08-26 Tektronix, Inc. Adaptive monitoring of telecommunications networks
JP2015524237A (ja) 2012-10-05 2015-08-20 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. ネットワーク管理
US9071529B2 (en) 2012-10-08 2015-06-30 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for accelerating forwarding in software-defined networks
US9246799B2 (en) 2013-05-10 2016-01-26 Cisco Technology, Inc. Data plane learning of bi-directional service chains
US9178812B2 (en) 2013-06-05 2015-11-03 Cisco Technology, Inc. Stacking metadata contexts for service chains
CN104639512B (zh) 2013-11-14 2018-08-21 华为技术有限公司 网络安全方法和设备
US9853877B2 (en) 2015-03-31 2017-12-26 Telefonaktiebolaget L M Ericsson (Publ) Method for optimized placement of service-chain-monitoring probes
US20160294625A1 (en) 2015-03-31 2016-10-06 Telefonaktiebolaget L M Ericsson (Publ) Method for network monitoring using efficient group membership test based rule consolidation
US20170048312A1 (en) * 2015-08-12 2017-02-16 Brocade Communications Systems, Inc. Sdn-based mirroring of traffic flows for in-band network analytics

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472418B1 (en) * 2003-08-18 2008-12-30 Symantec Corporation Detection and blocking of malicious code
CN102340447A (zh) * 2011-09-06 2012-02-01 神州数码网络(北京)有限公司 一种远程端口镜像实现系统及方法
US20140056152A1 (en) * 2012-07-09 2014-02-27 International Business Machines Corporation Port mirroring in distributed switching systems
US20150085694A1 (en) * 2013-09-24 2015-03-26 International Business Machines Corporation Port Mirroring for Sampling Measurement of Network Flows

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIAN ZHANG等: "Traffic Trace Artifacts due to Monitoring Via Port Mirroring", 《IEEE》 *
刘国萍等: "基于 sFlow 技术的通信网络流量异常监测方案", 《计算机工程》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360419A (zh) * 2021-08-11 2021-09-07 云智慧(北京)科技有限公司 一种应用的数据处理方法、装置及设备

Also Published As

Publication number Publication date
US20170085459A1 (en) 2017-03-23
WO2017051287A1 (en) 2017-03-30
EP3353955B1 (en) 2020-12-09
US9860152B2 (en) 2018-01-02
CN108353006B (zh) 2021-09-03
EP3353955A1 (en) 2018-08-01

Similar Documents

Publication Publication Date Title
CN108353006A (zh) 用于测试和剖析网络服务功能的非侵入式方法
US9699064B2 (en) Method and an apparatus for network state re-construction in software defined networking
CN110754064B (zh) 网络结构中的路由信息的验证
CN106105116B (zh) 添加用于is-is默认路由的备选路径的程序
CN107431657A (zh) 用于流分析的分组标记的方法
CN107005439A (zh) 用于在线服务链接的被动性能测量
US10027530B2 (en) System and method for troubleshooting SDN networks using flow statistics
US10243778B2 (en) Method and system for debugging in a software-defined networking (SDN) system
US11636229B2 (en) Scalable application level monitoring for SDN networks
CN105765946B (zh) 支持数据网络中的服务链接的方法和系统
CN108055878A (zh) 使用边界网关协议来向外部应用揭示最大分段标识符深度
US20220076066A1 (en) Using generative adversarial networks (gans) to enable sharing of sensitive data
CN108353024A (zh) 选路系统中经由隧穿的多播状态减少
US20170364794A1 (en) Method for classifying the payload of encrypted traffic flows
US9853877B2 (en) Method for optimized placement of service-chain-monitoring probes
CN109863725A (zh) 基于最大分段标识符深度的分段路由
CN107005481A (zh) 对于双向转发检测返回路径的控制
CN108475206A (zh) 在网络功能虚拟化架构中实现精细的粒度服务链
CN109076018A (zh) 利用is-is暴露最大节点和/或链路分段标识符深度的技术
CN106105114B (zh) 多归属is-is前缀的更好替换路径
CN106464522A (zh) 用于网络功能布局的方法和系统
CN111034123B (zh) 用于执行网络保证检查的系统、方法及计算机可读介质
CN108604997A (zh) 用于对差异化服务编码点(dscp)和显式拥塞通知(ecn)的监视进行配置的控制平面的方法和设备
WO2019012546A1 (en) EFFICIENT CHARGE BALANCING MECHANISM FOR SWITCHES IN A SOFTWARE-DEFINED NETWORK
CN108604999A (zh) 用于监视差异化服务编码点(dscp)和显式拥塞通知(ecn)的数据平面方法和设备

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