CN107431642B - 用于控制交换机以捕获和监视网络流量的系统和方法 - Google Patents

用于控制交换机以捕获和监视网络流量的系统和方法 Download PDF

Info

Publication number
CN107431642B
CN107431642B CN201680017120.XA CN201680017120A CN107431642B CN 107431642 B CN107431642 B CN 107431642B CN 201680017120 A CN201680017120 A CN 201680017120A CN 107431642 B CN107431642 B CN 107431642B
Authority
CN
China
Prior art keywords
network
switch
controller
forwarding
packet
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.)
Expired - Fee Related
Application number
CN201680017120.XA
Other languages
English (en)
Other versions
CN107431642A (zh
Inventor
V·埃玛蒂
S·拉玛萨布兰玛尼恩
S·肯尼
杨梅
S·D·摩迪
G·M·梅尔
R·巴杰派
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.)
Big Switch Networks LLC
Original Assignee
Big Switch Networks LLC
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 Big Switch Networks LLC filed Critical Big Switch Networks LLC
Publication of CN107431642A publication Critical patent/CN107431642A/zh
Application granted granted Critical
Publication of CN107431642B publication Critical patent/CN107431642B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management

Landscapes

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

Abstract

公开了一种分组转发网络可以包括在耦合到转发网络的终端主机之间转发网络流量的交换机。分析网络可以连接到转发网络。控制器可以控制转发网络中的交换机以实现期望的转发路径。控制器可以配置交换机以形成交换机端口组。控制器可以识别连接到分析网络的端口组。控制器可以选择被转发的分组的子集,且可以控制所选交换机将所述子集复制到识别出的端口组。控制器可以在交换机和端口组之间建立网络隧道。以这种方式,控制器可以控制交换机执行高效的流量监视,而不管交换监视网络连接到转发网络上的位置,并且不会干扰通过转发网络的正常分组转发操作。

Description

用于控制交换机以捕获和监视网络流量的系统和方法
本申请要求于2015年2月10日提交的美国专利申请No.14/618,635的优先权,该申请的内容整体上通过引用并入本文。
技术领域
本发明涉及通信网络,更具体而言涉及具有由控制器控制的网络交换机的通信网络。
背景技术
基于分组的网络(诸如互联网和连接到互联网的本地数据网络)包括网络交换机。网络交换机用于将分组从分组源转发到分组目的地。这些分组有时可以被称为帧。
使用一个供应商的装备来控制另一个供应商的交换机会是困难的或不可能的。这是因为,一个供应商的交换机装备可能使用与另一个供应商的交换机装备不同的操作系统和控制过程集合。为了解决与控制不同类型的交换机平台相关联的挑战,已经开发出了跨平台协议。这些协议允许对否则将不兼容的交换机的集中控制。
跨平台控制器客户端可以包括在网络中的交换机上。控制器客户端能够经网络路径与对应的控制器服务器进行通信。因为控制器客户端可以在各种交换机硬件上实现,所以单个控制器有可能控制否则可能是不兼容的交换机设备。
常常期望监视流经网络的网络流量。常规的网络监视常常利用介于网络交换机之间的一个或多个网络分接头。网络分接头包括直接耦合到监视设备并复制在网络交换机之间流动的网络流量的监视器端口。被复制的网络流量经由监视器端口提供给监视设备。但是,随着网络的规模和复杂性增加,使用这种布置监视网络会具有挑战性。例如,为了监视多个网络位置处的网络流量,必须在每个网络位置提供网络分接头和对应的监视设备,这增加了成本并导致网络监视资源的低效使用。
因此,可以期望能够为网络提供改进的网络流量监视能力。
发明内容
分组转发网络可以包括交换机,其执行网络转发操作,以在耦合到分组转发网络的终端主机之间转发网络流量(例如,网络分组)。流量分析网络可以耦合到分组转发网络,用于对由转发网络转发的网络分组执行网络流量监视操作。
控制器可以控制转发网络中的交换机,以实现期望的网络转发路径,其用于在终端主机之间转发网络分组。控制器可以配置网络中的交换机,以形成一个或多个交换机端口组(例如,链路聚合组)。例如,控制器可以向交换机提供链路聚合映射信息,该信息识别链路聚合组和对应的交换机端口。控制器可以识别连接到流量分析网络的交换机中至少一个以上的一组交换机端口。控制器可以控制转发网络的所选交换机,以将在转发网络的终端主机之间转发的网络分组的至少一部分复制到所识别的一组交换机端口,而不干扰转发网络的分组转发操作。
控制器可以定义监视会话(例如,在终端主机之间转发的网络分组的子集),在该会话上使用流量分析网络执行网络流量监视操作(例如,要监视的网络流量的所选源和/或目的地地址等)。控制器可以为监视会话定义所选目的地(例如,特定的流量分析网络或系统,以及连接到流量分析网络的交换机端口的对应组)。控制器可以控制网络中的至少一个交换机,以通过复制网络分组的所选子集来生成镜像网络分组,并且可以控制交换机将镜像网络分组转发到连接到流量分析网络的所识别的一组交换机端口。
例如,控制器可以控制所选交换机通过为转发表提供流表条目来实现期望的网络转发路径,并且可以控制所选交换机通过为交换机上与转发表分离的镜像表提供流表条目来生成并转发镜像网络分组。镜像表条目可以包括在要被监视的所转发的网络分组的所选子集上匹配的匹配字段。控制器可以向位于所选交换机和连接到流量监视网络的交换机端口组之间的居间交换机提供至少一个转发流表条目。转发流表条目可以具有在由所选交换机生成的镜像网络分组上匹配的匹配字段,以及指示居间交换机将由所选交换机生成的镜像网络分组转发到所识别的一组交换机端口的动作字段。
如果期望,那么镜像表条目可以指示所选交换机使用所选隧道标识符来封装镜像网络分组,并且居间交换机可以向所识别的一组交换机端口转发具有所选隧道标识符的分组。控制器可以控制交换机,以在交换机和任何期望数量的流量监视网络之间实现任何期望数量的网络隧道。如果期望,那么控制器可以指示交换机复制、封装和转发要捕获的网络流量的入口和出口版本。以这种方式,控制器可以控制交换机执行高效且健壮的网络流量监视操作,而不管流量监视网络连接到转发网络上什么地方(并且不管对网络的任何潜在改变),并且不干扰通过网络的正常分组转发操作。
通过附图和以下详细描述,本发明的其它特征及其性质和各种优点将更加显然。
附图说明
图1是根据本发明的实施例的、包括控制器和分组转发系统的说明性网络的图。
图2是示出根据本发明的实施例的、如何使用运行分组处理引擎的基于微处理器的装备来实现分组转发系统的图。
图3是根据本发明的实施例的分组转发系统和相关联的控制器的图,其中分组转发系统包括控制单元和相关联的交换集成电路(switching integrated circuit)。
图4是根据本发明的实施例的网络的图,其中分组转发系统具有主和从控制器,并且其中控制器服务器可以在远程计算装备上或在分组转发系统中的线路卡上实现。
图5是根据本发明的实施例的、可以经网络连接通信的控制器服务器和控制器客户端的图。
图6A是根据本发明的实施例的、可以由分组处理系统使用的类型的说明性转发流表(flow table)的图。
图6B是根据本发明的实施例的、可以由分组处理系统使用的类型的说明性转发流表的图,其示出了可以基于流表的流表条目执行的分组转发的三种说明性类型。
图7是根据本发明的实施例的、在分组处理系统中处理分组所涉及的说明性步骤的流程图。
图8是根据本发明的实施例的、包括控制器的说明性分组转发网络的图,其中控制器控制具有组织成端口组的交换机端口并具有连接到流量监视网络的端口组的交换机。
图9是根据本发明的实施例的、具有用于在终端主机之间转发分组的网络转发表和用于捕获转发分组的子集以供使用流量监视网络进行分析的镜像表的说明性交换机的图。
图10是根据本发明的实施例的、可以由控制器配置的交换机的说明性链路聚合表的图,其中链路聚合表用于将镜像分组路由到连接到流量监视网络的链路聚合组。
图11是根据本发明的实施例的说明性镜像表的图,其中镜像表由交换机用于捕获由网络转发的分组的所选子集以供使用流量监视网络进行分析。
图12是根据本发明的实施例的说明性转发流表的图,其中转发流表可以由交换机用于将捕获的网络分组路由到连接到流量监视网络的链路聚合组。
图13是根据本发明的实施例的说明性流程图,该流程图示出交换机如何被控制,以将网络分组的镜像副本封装并转发到连接到流量监视网络的一组端口,而无需中断通过网络的正常分组转发。
图14是根据本发明的实施例的说明性流程图,该流程图示出转发网络上的分接交换机如何去封装接收到的网络分组的镜像副本,以便经一组交换机端口将网络分组的镜像副本转发到流量监视网络。
图15是根据本发明的实施例的说明性镜像表的图,其中镜像表由交换机用于捕获网络流量,以经对应的一组交换机端口转发到监视网络,而无需封装捕获的网络流量。
图16是根据本发明的实施例的说明性流程图,该流程图示出交换机如何可以捕获网络流量,以便经对应的一组交换机端口转发到监视网络,而无需封装捕获的网络流量。
图17是根据本发明的实施例的说明性镜像表的图,其中镜像表由交换机用于捕获网络分组流的入口和出口版本,以供使用流量监视网络进行分析。
图18是根据本发明的实施例的说明性流程图,该流程图示出网络中的交换机如何被控制,以封装网络分组的镜像入口和出口副本并将其转发到流量监视网络,而不中断正常的分组转发。
图19是根据本发明的实施例的说明性步骤的流程图,所述步骤可以由控制器执行,用于控制网络中的交换机,以将网络流量的所选子集的副本转发到连接到流量监视网络的所选交换机端口组,而无需中断正常的分组转发。
具体实施方式
网络(诸如互联网以及耦合到互联网的本地和区域网络)依赖基于分组的交换机。这些交换机(有时在本文被称为网络交换机、分组处理系统或分组转发系统)可以基于地址信息转发分组。作为示例,交换机可以包括路由器、防火墙、负载平衡器或其它分组转发系统。以这种方式,由分组源发送的数据分组可以被输送到分组目的地。在网络方面,分组源和目的地有时被称为终端主机。终端主机的示例是个人计算机、服务器及其它计算装备,诸如使用有线或无线技术访问网络的便携式电子设备。
网络交换机的能力范围从相对小的以太网交换机和无线接入点到包括多个线路卡、冗余电源和监管能力的基于大型机架的系统。网络包括来自多个供应商的装备并不罕见。来自不同供应商的网络交换机可以互连,以形成分组转发网络,但是由于其操作系统和控制协议之间的不兼容性而可能难以以集中的方式进行管理。
这些潜在的不兼容性可以通过将常见的跨平台控制模块(有时在本文被称为控制器客户端)结合到每个网络交换机中来克服。集中的跨平台控制器服务器可以经相应的网络链路与每个控制客户端交互。跨平台控制器服务器和对应的控制器客户端的使用允许集中管理潜在不同的网络交换装备。
利用一种说明性配置(其有时在本文作为示例被描述),集中控制由一个或多个控制器服务器(诸如图1的控制器服务器18)提供。控制器服务器18可以在独立的计算机上、在计算机集群上、在分布在多个位置的一组计算机上、在嵌入在网络交换机内的硬件上或者在其它合适的计算设备12上实现。控制器服务器18可以作为单个进程在单个计算机上运行,或者可以为了冗余而分布在多个主机上。分布式布置的使用可以帮助向网络10提供针对意外网络分区(例如,两个校园之间的网络链路被中断的情况)的弹性。
在分布式控制器布置中,控制器节点可以使用控制器内协议交换信息。例如,如果新的终端主机连接到仅连接到第一控制器节点的网络硬件(例如,交换机),那么该第一控制器节点可以使用控制器内协议来向其它控制器节点通知新终端主机的存在。如果期望,那么交换机或其它网络部件可以连接到多个控制器节点。其中单个控制器服务器被用来控制相关联的交换机的网络的布置有时在本文作为示例进行描述。
图1的控制器服务器18可以搜集关于网络10的拓扑的信息。例如,控制器服务器18可以通过网络发送链路层发现协议(LLDP)探测分组,以发现网络10的拓扑。控制器服务器18可以使用关于网络拓扑的信息和关于网络装备的能力的信息来确定用于流经网络的分组的适当路径。一旦已经识别出适当的路径,控制器服务器18就可以向网络10中的硬件发送对应的设置数据,以确保分组如期望的那样流经网络。诸如这些的网络配置操作可以在系统建立操作期间执行、在后台连续地执行,或者响应于新发送的数据分组(即,尚未针对其建立预先存在的路径的分组)的出现而执行。
控制器服务器18可以被用来实现网络配置规则20。规则20可以指定哪些服务可用于各种网络实体。作为示例,规则20可以指定网络10中的哪些用户(或用户的类型)可以访问特定的服务器。例如,规则20可以在计算装备12的数据库中维护。
在相应网络交换机14处的控制器服务器18和控制器客户端30可以使用网络协议栈来经网络链路16进行通信。
每个交换机(例如,每个分组转发系统)14可以具有输入-输出端口34(有时被称为网络交换机接口)。电缆可以被用来将装备连接到端口34。例如,终端主机(诸如个人计算机、web服务器和其它计算装备)可以被插入到端口34中。端口34还可以被用来将交换机14中的一个连接到其它交换机14。
分组处理电路系统32可以用于将分组从端口34中的一个转发到端口34中的另一个,并且可以用于对传入的分组执行其它合适的动作。分组处理电路系统32可以使用一个或多个集成电路(诸如专用高速交换机电路)来实现,并且可以充当硬件数据路径。如果期望,那么在控制单元24上运行的分组处理软件26可以用于实现软件数据路径。
控制单元24可以包括用于存储和运行控制软件的处理和存储器电路(例如,一个或多个微处理器、存储器芯片以及其它控制电路系统)。例如,控制单元24可以存储和运行软件(诸如分组处理软件26),可以存储流表28,并且可以被用来支持控制器客户端30的操作。
控制器客户端30和控制器服务器18可以符合网络交换机协议(诸如OpenFlow协议(参见例如OpenFlow交换机规范版本1.0.0))。控制器客户端30当中的一个或多个客户端也可以符合其它协议(例如,简单网络管理协议)。使用OpenFlow协议或其它合适的协议,控制器服务器18可以向控制器客户端30提供确定交换机14如何处理来自输入-输出端口34的传入分组的数据。
利用一种合适的布置,来自控制器服务器18的流表数据可以存储在流表(诸如流表28)中。流表28的条目可以用于配置交换机14(例如,分组处理电路系统32和/或分组处理软件26的功能)。在典型的场景中,流表28充当用于流表条目的高速缓冲存储装置,并且这些流表条目的对应版本被嵌入在由分组处理电路系统32的电路系统维护的设置内。但是,这仅仅是说明性的。流表28可以充当用于交换机14中的流表条目的专用存储装置,或者可以被省略,这有利于分组处理电路系统32内的流表存储资源。一般而言,可以使用任何合适的数据结构(例如,一个或多个表、列表等)存储流表条目。为了清晰,流表28的数据(无论是在控制单元24中的数据库中维护还是嵌入在分组处理电路系统32的配置内)在本文中被称为形成流表条目(例如,流表28中的行)。
存储确定交换机14如何处理传入分组的数据的流表28的示例仅仅是说明性的。如果期望,那么任何分组转发决定引擎可以代替流表28或作为流表28的附加被使用,以帮助分组转发系统14做出关于如何转发网络分组的决定。作为示例,分组转发决定引擎可以指示分组转发系统14基于网络分组的属性(例如,基于网络协议报头)将网络分组转发到预定端口。
如果期望,那么交换机14可以使用运行控制软件并省略图2的分组处理电路系统32的通用处理平台来实现。这种类型的配置在图2中示出。如图2的说明性布置所示,计算装备12上的控制器服务器18可以经网络链路16与交换机(分组转发系统)14上的控制器客户端30进行通信。控制器服务器18可以例如将流表条目传送到在流表28中维护的控制器客户机30。分组处理软件40可以使用网络接口38来转发和以其它方式处理分组(例如,使用端口34发送和接收的分组)。网络接口38可以使用插入到交换机14中的系统板的一个或多个网络接口卡来实现(作为示例)。
网络交换机(诸如图1的网络交换机14)可以使用耦合到一个或多个高速交换集成电路(“交换机IC”)的控制电路系统来实现。这种类型的配置在图3中示出。如图3所示,计算装备12上的控制器服务器18可以经由路径16与网络交换机14通信。交换机14可以包括处理电路系统24和一个或多个相关联的交换机IC 32(诸如交换机IC 32-1至交换机IC 32-N)。控制电路系统24可以例如基于微处理器和存储器。交换机IC 32-1...32-N可以是能够以高速处理分组处理任务的专用交换电路。作为示例,控制电路系统24可以基于500MHz微处理器,并且交换机IC 32-1...32-N可以能够处理来自48个输入-输出端口34的数据,每个输入-输出端口34具有1-10Gbps(作为示例)的相关联的数据速率。
可用于实现图1的网络交换机14的另一种说明性交换机体系架构在图4中示出。在图4的示例中,交换机14(例如,或其它分组转发系统)可以包括主处理器(诸如处理器24-1)和一个或多个相关联的从处理器(诸如从处理器24-2)。交换机IC 32和从处理器(诸如处理器24-2)可以在线路卡(诸如线路卡48)上实现。一个或多个线路卡(诸如线路卡50)可以包含处理电路系统(例如,微处理器和存储器)。线路卡48和50可以使用背板52互连。
利用图4中所示类型的布置,可以使用线路卡的处理资源来实现控制器服务器。例如,控制器服务器可以在线路卡50上实现,如图4的控制器服务器18-B所示。如果期望,那么控制器服务器可以在计算装备12(例如,如图4的控制器服务器18-A)上实现。控制器服务器18-A或控制器服务器18-B可以与使用处理器(诸如处理器24-1和/或24-2)来实现的控制器客户端30进行通信。控制器服务器18-A与控制器客户端之间的通信可以经网络连接16发生。控制器服务器18-B与控制器客户端之间的通信可以经背板52(例如,经使用诸如TCP/IP的协议的网络连接)发生。
如图5所示,控制器服务器18和控制器客户端30可以使用网络协议栈(诸如网络协议栈58和网络协议栈60)经网络路径66进行通信。堆栈58和60可以是例如Linux TCP/IP栈或VxWorks操作系统中的TCP/IP栈(作为示例)。路径66可以是例如支持交换机14和外部装备之间的网络连接的路径(例如,图1的网络路径16),或者可以是支持交换机14中的背板52中的网络连接的路径,如图4所示。其中路径66是诸如路径16的网络路径的布置有时在本文中作为示例进行描述。
控制协议栈56充当网络协议栈58与控制软件54之间的接口。控制协议栈62充当网络协议栈60与控制软件64之间的接口。在操作期间,当控制器服务器18与控制器客户端30通信时,控制协议栈56生成并解析控制协议消息(例如,激活端口或将特定流表条目安装到流表28中的控制消息)。通过使用图5中所示类型的布置,在控制器服务器18与控制器客户端30之间的链路上形成网络连接。控制器服务器18和控制器客户端30可以使用经互联网协议(IP)网络连接的传输控制协议(TCP)或用户数据报协议(UDP)进行通信。当控制器服务器18和控制器客户端30之间经网络连接进行通信时可以使用的控制协议的示例包括SNMP和OpenFlow协议栈版本1.0.0(作为示例)。
流表28包含具有多个字段(有时被称为报头字段)的流表条目(例如,表中的行)。分组中已经由交换机14接收的字段可以与流表中的字段进行比较。每个流表条目可以具有相关联的动作。当分组中的字段与流表条目中的字段之间存在匹配时,可以对于那个流表条目采用对应的动作。
说明性流表在图6A-6B中示出。如图6A中所示,表28可以具有流表条目(行)68。每个流表条目可以与报头70、动作72和统计信息74相关联。报头70可以各自包括多个报头字段76。每个流表条目中的动作指示,当在分组中的字段与那个流表条目的报头中的对应字段之间检测到匹配时,交换机14要对分组执行什么动作。当期望获得关于交换机14的性能的信息时,交换机14可以在流表28的统计信息部分中维护统计数据(计数器值),这些统计数据可以被控制器服务器18查询。
报头70中的报头字段(以及每个传入分组中的对应字段)可以包括以下字段:入口端口(即,通过其接收分组的交换机14中的物理端口的身份)、以太网源地址、以太网目的地地址、以太网类型(Ethertype)、虚拟局域网(VLAN)标识(有时被称为VLAN标签)、VLAN优先级、IP源地址、IP目的地地址、IP协议、IP ToS(服务类型)位、运输源端口/Internet控制消息协议(ICMP)类型(有时被称为源TCP端口)以及运输目的地端口/ICMP代码(有时被称为目的地TCP端口)。如果期望,那么可以使用其它字段。例如,可以使用网络协议字段和协议端口字段。
每个流表条目(流条目)都与零个或多个动作相关联,这些动作规定交换机如何处理匹配的分组。如果不存在转发动作,那么分组优选地被丢弃。当在分组字段和流表条目中的报头字段之间检测到匹配时,交换机14可以采取的动作可以包括以下动作:转发(例如,ALL是在所有接口(不包括传入的接口)上发送出分组,CONTROLLER是封装并向控制器服务器发送分组,LOCAL是将分组发送到交换机的本地联网堆栈,TABLE是执行流表28中的动作,IN_PORT是将分组从输入端口中发送出去,NORMAL是使用例如,传统的2级、VLAN和3级处理利用交换机支持的缺省转发路径处理分组,以及FLOOD是沿最小转发树(不包括传入的接口)洪泛分组)。交换机14可以采取的附加动作包括:通过连接到端口的队列转发分组的入队动作,复制动作(例如,在所识别的端口处提供复制的网络流量)和丢弃动作(例如,丢弃与没有指定动作的流表条目匹配的分组)。修改字段动作也可以被交换机14支持。可以采取的修改字段动作的示例包括:设置VLAN ID、设置VLAN优先级、剥离VLAN报头、修改VLAN标签、修改以太网源MAC(介质访问控制)地址、修改以太网目的地MAC地址、修改IPv4源地址、修改IPv4ToS位、修改运输目的地端口。
图6B是具有三个流表条目的说明性流表。条目包括具有通配符(例如,“*”符号)的字段。当通配符存在于特定字段中时,所有传入的分组将被认为对于该字段形成“匹配”,而不管传入的分组中该字段的特定值如何。附加的字段可以匹配附加的分组信息(例如,网络分组的分组报头信息)。
图6B表的第一行的条目指示流表条目在其中操作的交换机执行以太网交换。特别地,具有匹配的以太网目的地地址的传入的分组被转发到端口3。
图6B的表的第二行表的条目说明了交换机如何可以被配置为执行互联网路由(即,分组是基于它们的目的地IP地址被转发的)。
图6B的表的第三行包含说明交换机如何可以被配置为执行防火墙操作的条目。当接收到目的地IP端口值为80的分组时,那个分组被丢弃(即,交换机被配置为充当阻止端口80的流量的防火墙)。
图6B中所示类型的流表条目可以在系统建立操作期间由控制器服务器18加载到交换机14中,或者可以响应于控制器服务器18处来自交换机(诸如交换机14)的分组的接收和处理而实时地从控制器服务器18提供给交换机14。在具有众多交换机14的网络中,每个交换机可以被提供有适当的流表条目,以形成通过网络的路径(例如,实现期望的网络转发和配置规则或策略的路径)。
在处理在输入-输出端口34上接收的分组时可由交换机14执行的说明性步骤在图7中示出。在步骤78,交换机14在其一个端口(例如,图1的输入-输出端口34中的一个)上接收分组。
在步骤80,交换机14将接收到的分组的字段与那个交换机的流表28中的流表条目的字段进行比较,以确定是否存在匹配。流表条目中的一些字段可以包含完整的值(例如,完整的地址)。其它字段可以包含通配符(即,标有“无关”通配符“*”的字段)。还有其它字段可以具有部分完整的条目(例如,部分通配的部分地址)。一些字段可以使用范围(例如,通过将TCP端口号限制到1到4096之间的值),并且实际上使用该范围来实现一种类型的部分通配。在接收到的分组与流表条目之间进行逐字段的比较时,交换机14可以考虑流表条目中的每个字段是否包含没有任何通配的完整值、具有通配的部分值或通配符(即,完全通配的字段)。
如果在步骤80的操作期间确定在分组的字段与流表条目的对应字段之间不存在匹配,那么交换机14可以经链路16将分组发送到控制器服务器18(步骤84)。
如果在步骤80的操作期间确定在分组与流表条目之间存在匹配,那么交换机14可以执行与那个流表条目相关联的动作,并且可以更新那个流表条目的统计字段中的计数器值(步骤82)。然后,处理可以循环回到步骤78,使得另一个分组可以被交换机14处理,如由线86所指示的。
随着网络的复杂性和规模的增长,对于网络分析和监视存在越来越大的关注和需求。一般期望在不中断正常网络操作(例如,不降低网络性能或影响正常网络流量转发)的情况下执行这种网络分析。但是,在高效利用网络分析资源的同时将网络分析设备添加到网络中会带来挑战。图8是示出交换机的网络(诸如转发网络102)的交换机如何可以由交换机控制器(诸如控制器18)来控制以允许网络102中的网络流量由对应的分析网络监视的图。例如,控制器18可以控制转发网络102中的交换机,以复制网络流量(例如,通过网络被路由的网络分组的子集)并将复制的流量转发到分析网络进行监视,而不干扰由转发网络102执行的正常网络转发操作。
如图8所示,分析网络(诸如分析网络104)(有时在本文被称为监视网络)可以由一条或多条网络路径连接到转发网络102。例如,分析网络104内的交换机(未示出)和/或其它网络设备(例如,一个或多个监视设备106)可以经由一条或多条网络路径耦合到转发网络102中的一个或多个交换机或其它网络设备。在图8的示例中,监视网络104通过多条网络路径连接到转发网络102中的交换机SW1。
分析网络104中的交换机可以由对应的控制器(未示出)和/或由转发网络102中的控制器18控制,或者可以在没有对应控制器的情况下操作。分析网络104可以包括对应的分组转发设备(例如,交换机)和一个或多个网络分析设备(诸如监视设备106(例如,第一监视设备106-1、第二监视设备106-2等))。分析网络104可以对转发网络102执行网络监视操作(例如,对由转发网络102中的交换机转发的网络分组的网络流量监视操作)。
网络102可以包括在网络终端主机EH(例如,第一终端主机EH1、第二终端主机EH2、第三终端主机EH3等)之间转发网络流量的分组转发设备(例如,如图1和2中所示的分组转发系统14),诸如交换机SW1、SW2、SW3、SW4、SW5。网络102有时可以在本文被称为转发网络、分组转发网络、生产网络或生产转发网络,而分析网络104有时可以在本文被称为监视网络。网络102可以经由网络102内任何数量的期望的网络位置耦合到任何期望数量的不同分析网络104(例如,交换机SW3可以具有耦合到对应分析网络的一个或多个端口和/或可以具有耦合到分析网络104的端口,交换机SW1和SW3可以都具有耦合到分析网络104的端口,交换机SW5可以具有连接到不同分析网络的多个端口,等等)。
网络102的交换机SW1、SW2、SW3、SW4和SW5可以由控制器18控制,并且有时可以被称为客户端交换机(例如,交换机SW1、SW2、SW3、SW4和SW5可以包括经由控制路径66与控制器18通信的控制器客户端)。图8的示例仅仅是说明性的。一般而言,转发网络102可以包括耦合到任何期望数量的终端主机EH的任何期望数量和布置的交换机SW。任何数量的控制器18可以被用于控制转发网络102的交换机。如果期望,那么网络102可以包括不经由控制路径66与控制器18通信的交换机(例如,因为交换机不包括控制器客户端),这种交换机可以被称为非客户端交换机(为了清晰,未示出)。如果期望,那么非客户端交换机可以包括与不同控制器(即,不是控制器18)进行通信的控制器客户端。
网络102和104的每个交换机可以包括对应的物理端口(例如,图1的端口34),其它网络元件(诸如其它交换机或终端主机)可以经由网络链路(路径)耦合到该物理端口。例如,交换机SW1可以包括端口P1、P2、P3、P4、P5、P6和P7,交换机SW3可以包括端口P1、P2、P3、P4、P5和P6,交换机SW4可以包括端口P1、P2、P3,等等。转发网络102中的一个或多个交换机端口可以耦合到监视网络104(例如,耦合到网络104中的交换机和/或监视设备106)。在图8的示例中,交换机SW1的端口P1、P2、P3和P4耦合到监视网络104,而交换机SW1的端口P5可以耦合到交换机SW4,端口P6耦合到交换机SW2,并且端口P7耦合到终端主机EH7。类似地,交换机SW2的端口P1、P2和P3可以分别耦合到交换机SW1、SW3和SW5。控制器18可以识别转发网络102的哪些交换机端口连接到监视网络104,并且当为转发网络102中的交换机生成网络转发规则(例如,流表条目)时,可以使用关于哪些交换机端口连接到监视网络104的信息。
监视设备106(诸如监视设备106-1和106-2)可以耦合到分析网络104内的交换机(为了清晰,未示出)。监视设备106可以各自包括用于监视与转发网络102相关联的网络性能和网络流量的对应网络分析工具(有时在本文中被称为监视工具),诸如网络性能监视器(例如,监视网络102中的网络转发效率和/或监视网络102的错误或缺陷的工具)、网络可视性分析工具、网络容量分析工具、网络中断分析工具、网络入侵检测工具、网络流量记录工具、特定于应用的监视工具(例如,IP语音(VOIP)性能监视工具)、网络调试工具,或用于基于分接的网络流量流来分析生产网络102的部分或全部的其它网络分析工具。例如,网络分析工具可以在充当分析网络104的终端主机的计算装备上实现(例如,监视设备106可以充当分析网络104的终端主机)。
在一种合适的布置中,转发网络102可以在基于机架的系统的一个或多个网络机架中实现(例如,使用线路卡的资源或网络机架的其它计算装备)。在这种布置中,网络102可以包括所谓的机架顶部交换机,其用来在其它交换机与网络102的部分之间传送流量,并且耦合到终端主机以及核心交换机,该核心交换机耦合到每个机架顶部交换机而不耦合到终端主机(例如,在网络102在基于机架的系统中形成的情况下,交换机SW1、SW3和SW5可以是机架顶部交换机,而交换机SW2和SW4可以是核心交换机)。例如,基于机架的系统中的机架顶部交换机有时被称为叶片交换机(例如,图8的交换机SW1、SW3和SW5可以是叶片交换机),而耦合到每个叶片交换机的交换机(例如,核心交换机)有时被称为主干(spine)交换机(例如,交换机SW2和SW4可以是主干交换机)。主干交换机可以是不连接到任何终端主机的核心交换机(例如,如图8所示),或者可以具有连接到终端主机的一个或多个端口。
如果期望,那么分析网络104可以使用基于机架的系统的一个或多个机架(例如,转发网络102在其上实现的一个或多个网络机架或者单独的网络机架)来实现。这个示例仅仅是说明性的并且,一般而言,任何期望的网络布置都可以被用来实现转发网络102和分析网络104。
控制器18可以控制网络102中的交换机SW,以在终端主机EH之间发送的网络分组上执行期望的网络转发操作。例如,控制器18可以向网络102中的交换机提供流表条目,以实现用于网络分组的期望转发路径(例如,在网络102内的或网络102外部的网络内的终端主机EH处生成的网络分组或去往该终端主机EH的网络分组)。作为示例,控制器18可以向交换机SW3提供流表条目,其控制网络分组如何通过网络102被转发(例如,诸如图6A和6B中所示的流表条目)。
控制器18可以控制网络102中的交换机SW通过捕获在转发网络102中使用交换机SW转发的网络流量(例如,网络分组)的期望子集来“分接”网络102中的网络流量流。网络102中的交换机SW可以通过复制网络分组的子集并将复制的分组转发到分析网络104来“捕获”网络分组的子集。由此,网络102中的交换机SW可以提供由控制器18控制的网络分组复制功能(诸如分组镜像功能)。控制器18可以识别使用交换机SW转发的网络分组的特定子集以便捕获(有时在本文中被称为网络监视会话或监视会话)。
分组复制操作可以由交换机SW独立于分组转发操作来执行。交换机可以通过复制期望的网络分组并将复制的网络分组转发到分析网络104来执行分组镜像,而不会干扰网络102的终端主机之间正常的网络流量流(例如,被复制的网络分组或未被复制的其它网络分组的网络流量流)。例如,交换机SW3可以被控制,以复制在交换机SW3处接收的一些或全部网络分组,并将复制的网络分组转发到分析网络104(例如,经由居间交换机SW1和SW2或者经由居间交换机SW4和SW1),而无需中断那些网络分组向期望目的地的转发。由此,网络流量的期望子集可以由分析网络104“分接”并且可以由分析网络104监视,同时允许转发网络102继续终端主机EH之间的正常分组转发操作。
网络102中的交换机SW处的分组镜像可以通过提供指引交换机复制网络流量并将复制的网络流量提供给连接到分析网络104的一个或多个交换机端口的流表条目来实现。如果期望,那么控制器18可以提供用于对交换机SW执行网络转发操作(例如,如图6A和6B中所示)的流表条目,并且可以提供用于执行流量镜像(例如,镜像到分析网络)的单独的流表条目。例如,交换机SW可以分别存储用于执行网络转发操作和执行分组镜像的分开的流表。如果期望,那么控制器18可以为分组转发流表提供第一组流表条目并且为镜像流表(例如,与分组转发流表分离的流表)提供第二组流表条目,其中镜像流表用于执行分组镜像,以将接收到的网络分组的副本提供给监视网络104。
图9是交换机130(诸如生产网络102(图8)的给定交换机SW)的说明性框图。交换机130可以是例如具有耦合到一个或多个终端主机EH的端口的交换机,诸如图8的交换机SW1、SW3或SW5(例如,在转发网络的边缘处的被耦合到网络的终端主机的所谓的“边缘”交换机),或者可以是具有耦合到其它交换机而不耦合到终端主机的端口的交换机,诸如交换机SW2或SW4(例如,所谓的“核心”交换机)。如果期望,交换机130可以具有连接到分析网络104(例如,诸如交换机SW1)的一个或多个端口。
如图9所示,交换机130可以包括网络端口,诸如端口P1、P2、P3等。交换机130可以包括用于通过网络102路由网络分组(例如,从分组源到分组目的地)的流表,诸如网络转发(流)表132(例如,诸如图2、6A和6B的流表28的流表)。交换机130可以将经对应端口接收的网络分组与流表132匹配,并且可以根据流表132中的匹配条目的动作字段转发匹配的网络分组。网络转发流表132可以包括开放系统互连模型(OSI)第2层(L2)转发表(例如,具有与传入的分组的以太网地址报头匹配的条目的表)、第3层(L3)转发表(例如,具有匹配传入的分组的IP地址报头的条目的表)和/或在任何期望的网络分组属性上匹配的转发表。一般而言,网络转发流表132可以包括用于匹配指引交换机130将网络分组路由到网络102中的适当分组目的地的传入网络分组的任何期望字段。
交换机130可以包括与流表132分离并且用于捕获网络102中的一个或多个网络分组流以进行监视的分组镜像表,诸如镜像表134。镜像表134可以包括镜像表条目,其具有在网络分组的期望集合上匹配的匹配字段和指定匹配分组的副本要转发到监视网络104的对应动作字段。如果期望,那么交换机130可以包括多个镜像表134。
交换机130可以包括交换电路系统,诸如交换架构136。交换架构136可以被配置为将网络分组路由到适当的端口(例如,基于在流表模块132中做出的确定)或者将复制的网络分组路由到适当的端口,使得网络分组被转发到网络102的期望部分,并且使得复制的网络分组被路由到监视网络104。在其中一个交换机端口处接收的网络分组可以由流表模块132处理,以确定如何转发网络分组。由流表132执行的操作可以由控制器18控制(例如,基于为表132生成的流表条目)。流表132中的条目可以由控制器18基于用于网络102的期望网络策略(例如,期望的分组路由规则、访问控制列表或其它网络策略)来生成,其中所述策略用于控制整个网络102中的正常网络分组转发。
镜像流表134可以由控制器18生成并且可以提供给交换机130,用于使用一个或多个对应的分析网络(诸如网络104)在网络102上执行流量监视操作。镜像表134可以与流表132中的流表条目并发地、在流表条目132之后、在流表条目132之前、在网络102建立期间、当控制器18的管理员或用户期望对网络执行网络监视操作时或者在任何其它期望的时间提供。镜像表134可以包括与从流表132接收的网络分组匹配的流表条目(例如,网络分组可以首先在流表132上匹配,随后可以在调试表134上匹配)或者在将网络分组提供给转发表132之前与从交换机端口接收的网络分组匹配的流表条目,等等。
在交换机130上实现的镜像表134可以在本文中被定义为在接收到的网络分组上匹配的分组镜像条目的流表(例如,专门为执行分组镜像操作而生成的流表条目),其中镜像表条目的动作字段指定匹配分组要被复制并且分组的副本要被转发到网络流量监视网络(诸如网络104)。与流表132相反,镜像表134不包含与网络分组本身通过网络102(例如,从分组源终端主机到分组目的地终端主机)的转发相关联的动作字段。镜像表134可以在入口网络分组(例如,在被提供给交换架构136的输入之前从交换机端口接收的分组)上匹配和/或在出口网络分组(例如,由交换架构84输出的、用于从交换机130传输的分组)上匹配。
镜像表134可以与流表132分开且不同。模块132和134可以使用相应的专用电路系统来实现,可以使用共享的专用电路系统来实现,或者可以使用处理电路系统上的软件来实现。例如,这些模块可以使用图1的分组处理软件26和/或分组处理电路系统32来实现,并且可以基于由控制器18提供的控制消息(例如,流表条目)来执行功能。
网络102中的交换机SW上的交换机端口可以包括物理或逻辑交换机端口。如果期望,那么一组交换机端口可以充当用于第2层转发的逻辑交换机端口。例如,交换机可以实现将链路聚合组(LAG)指派给交换机的端口组的链路聚合。链路聚合组(有时在本文中被称为LAG、LAG组、端口组或各组端口)可以由网络元件(诸如网络102中的交换机SW)的任何期望的端口集合形成。网络102中的端口集合可以被指派(例如,使用控制器18)给不同的LAG组。
在图8的示例中,控制器18可以配置交换机SW,以从物理交换机端口的相应组实现逻辑组,诸如LAG组LAG1、LAG2、LAG3和LAG4。例如,LAG组LAG1可以包括交换机SW1的端口P1和P2,LAG组LAG2可以包括交换机SW1的端口P3和P4,LAG组LAG3可以包括交换机SW3的端口P3和P4,并且LAG组LAG4可以包括交换机SW5的端口P2和P3。这个示例仅仅是说明性的。由控制器18识别的每个LAG组可以包括来自任何期望数量的交换机SW的任何期望数量的交换机端口(例如,一个交换机端口、多于一个交换机端口、三个交换机端口、四个交换机端口等)(例如,来自单个交换机的端口(诸如LAG组LAG1、LAG2、LAG3和LAG4),或者来自多个交换机的端口(诸如包括来自两个交换机SW3和SW5的端口P5的LAG组))。如果期望,那么交换机SW可以包括与不同的LAG组相关联的不同端口(例如,交换机SW3可以具有与两个LAG组LAG1和LAG2都相关联的端口)。
在网络102中实现的每个LAG组可以将网络102中的交换机SW与其它网络元件连接。作为示例,交换机SW可以具有连接到其它交换机的LAG组、连接到终端主机的LAG组,并且网络102中的一个或多个交换机SW可以包括连接到监视网络104的LAG组(例如,交换机SW具有耦合到监视网络104中的相应监视设备106的第一和第二LAG组LAG1和LAG2)。如果期望,那么控制器18可以使用网络102中的LAG组来识别交换机SW和/或外部网络(诸如分析网络104)之间的连接,并且可以基于网络102中的LAG组来控制通过网络的分组转发(例如,可以向交换机SW提供指示交换机将接收到的分组转发到网络中期望的LAG组的流表条目132)。
如图9所示的交换机130可以包括链路聚合映射模块(诸如LAG映射模块138),其维护识别链路聚合组与对应的交换机端口之间的映射的数据库或表。例如,当执行(网络分组或网络分组的镜像副本的)分组转发时,网络转发表132和/或镜像表134可以从LAG映射模块138而不是交换机端口识别链路聚合组。如果期望,那么交换机130可以执行优化(诸如链路聚合组的交换机端口之间的流量平衡),以最大化通过网络的分组转发效率。在链路聚合组可用于在网络102中转发的场景中,转发表条目132和/或镜像表条目134可以指示交换机分别将网络分组和/或网络分组的副本转发到链路聚合组。在图8的示例中,镜像表134中的条目可以指示交换机SW3将去往监视网络104的复制的网络分组发送到链路聚合组LAG1和/或LAG2。
图10是包括用于图8的交换机SW1的端口组(例如,链路聚合)映射的潜在链路聚合模块138的说明性图。如图10所示,链路聚合表138包括链路聚合表条目140。表条目140识别出交换机SW1的交换机端口P1和P2映射到链路聚合组LAG1。当转发模块132确定网络分组应当被转发到链路聚合组LAG1时和/或当镜像模块134确定网络分组的副本应当被转发到链路聚合组LAG1时(例如,当期望利用连接到LAG组LAG1的监视工具106-1监视在交换机SW1处接收的流量时),使用链路聚合表138的对应条目140来确定网络分组应当被转发到交换机端口P1或P2中的一个。类似地,当转发模块132确定网络分组应当被转发到链路聚合组LAG2时和/或当镜像模块134确定网络分组的副本应当被转发到链路聚合组LAG2时(例如,诸如当期望利用连接到LAG组LAG2的监视工具106-2监视在交换机SW1处接收的流量时),LAG映射表138的第二条目被用来确定网络分组应当被转发到交换机端口P3和P4中的一个。如果期望,那么由控制器18为交换机确定的每个链路聚合组可以响应于端口故障而由那个交换机更新(例如,如果特定LAG组的给定端口发生故障,那么可以使用来自那个LAG组的其它端口转发路由到那个LAG组的流量,而无需中断分组转发,并且,如果期望,那么可以生成给映射138的新条目)。
控制器18可以为LAG映射表138生成条目(例如,基于网络102的拓扑和对应的网络转发规则)并且可以向交换机SW(例如,经控制路径66)提供条目。控制器18可以为网络102中的每个交换机SW生成不同的相应的LAG表条目,使得每个交换机可以维护对应的LAG映射表138,LAG映射表138识别那个交换机或网络102中的其它交换机的一个或多个端口被指派给期望的LAG组。控制器18可以维护并存储识别在转发网络102中的交换机SW上实现的所有LAG组的信息,并且可以使用该信息来生成用于交换机的期望流表条目和镜像表条目。例如,控制器18可以识别连接到监视网络104的所有LAG组(有时在本文中被称为分接端口组、分接LAG组、监视端口组或监视LAG组),用于对网络102执行流量监视操作(例如,控制器18可以将LAG组LAG1和LAG2识别为分接端口组)。
返回到图9,如果期望,那么交换机130可以包括网络分组封装模块,诸如封装引擎142。为了确保镜像分组(例如,为了网络监视目的而在交换机处复制的网络分组)不影响通过网络102的网络流量转发的执行,如果期望,交换机SW可以在那个交换机与网络102中连接到监视网络104的交换机(例如,交换机SW1)之间生成隧穿(tunneling)路径(网络隧道)。例如,可以在那个交换机与连接到监视网络104的交换机的分接LAG组(例如,交换机SW1的分接LAG组LAG1)之间生成隧穿路径。网络102中连接到监视网络104的交换机SW(例如,交换机SW1)有时在本文中可以被称为分接头点(tap point)、分接头或分接头交换机。网络隧穿路径可以例如是虚拟局域网隧道或任何其它期望的网络隧道。这种隧道可以在交换机130处使用封装引擎142形成,以封装复制的(镜像的)网络流量。分接头交换机(例如,交换机SW1)上的解封装引擎可以在将复制的流量转发到监视网络104进行分析之前解封装并由此恢复复制的网络流量。网络102中的封装引擎和解封装引擎可以使用封装方法(诸如通用路由封装(GRE)、多协议标签交换(MPLS)、虚拟局域网(VLAN)封装技术、用于为网络隧道封装数据的其它技术等)。
在转发网络102的交换机SW上实现的封装和解封装引擎可以由控制器18来控制和配置。在图8的示例中,控制器18可以控制在分接交换机SW1上的封装引擎142和对应的解封装引擎,以形成穿过网络102中封装分组的交换机与分接交换机SW1之间的交换机的网络隧道。例如,控制器18可以控制客户端交换机SW3,以复制从终端主机EH1(例如,在端口P1处)接收的网络分组并且使用封装引擎142将复制的分组发送到客户端交换机SW1(例如,通过在交换机SW2或SW4之上建立网络隧道)。封装和复制的分组可以在交换机SW1处被解封装,并且解封装的复制的分组可以经由所选端口组(例如,基于由控制器18提供给交换机的转发表132和镜像表134)被转发到网络104中的分析工具106。
如果期望,控制器18的用户(例如,网络管理员)可以使用分析网络104来识别要捕获和监视的网络流量(例如,用户可以向控制器104提供识别网络监视会话以进行分析的用户输入)。控制器18可以在网络监视会话中识别(例如,基于用户输入)转发网络102中的网络流量的子集,以复制到分析网络104。例如,控制器18可以识别针对其捕获流量以进行分析的网络源和目的地。
作为示例,控制器18可以识别出终端主机EH1和EH3之间的所有网络流量都要提供给分析网络104进行监视(例如,被定义为终端主机EH1和EH3之间发送的所有流量的网络分析或监视会话)。控制器18可以随后识别捕获的流量将需要被转发到其以进行分析的交换机端口组(例如,LAG组)(例如,连接到监视网络104的LAG组LAG1和LAG2)。控制器18可以为转发网络102的交换机中的镜像表134生成镜像流表条目,其指示交换机实现期望的监视会话(例如,其指示交换机将终端主机EH1和EH3之间的所有流量的副本转发到连接到监视网络104的LAG组)。如果期望,那么控制器18可以指示网络102中的多个交换机生成用于捕获的期望网络流量的副本。例如,控制器18可以为交换机SW3和SW5生成镜像表条目,其指示两个交换机都将终端主机EH1和EH3之间的网络流量的副本转发到连接到分析网络104的端口组。以这种方式,控制器18可以健壮地控制在网络中的多个点处的网络流量流监视(例如,在网络中不同点之间的流变化的情况下,允许在不同点处监视相同流)。
为了允许监视网络104和转发网络102在给定的时间执行多个监视会话而不干扰正常的网络转发操作,控制器18可以向网络102中的交换机与分接交换机(例如,交换机SW1)之间的网络隧道指派隧道标识符(标签)。交换机可以使用对应的隧道标识符来封装复制的网络分组。如果期望,那么控制器18可以为与每个不同的网络监视会话(例如,在控制器18期望一次监视多个网络流量流的场景中,与要由监视网络104捕获的网络流量的每个所选子集)相关联的网络隧道生成唯一的隧道标识符(ID)。
作为示例,控制器18可以建立第一监视会话,以捕获由交换机SW4接收的所有流量,并且可以通过指示交换机SW4使用第一隧道ID(例如,使用提供给交换机SW4的镜像表条目134)封装复制的流量而在交换机SW4与分接交换机SW1之间建立第一网络隧道。控制器18可以建立第二监视会话,以通过指示交换机SW5使用第二隧道ID(例如,使用提供给交换机SW5的镜像表条目134)封装复制的流量来捕获由交换机SW5接收的所有流量。控制器18可以通过向网络102中的居间交换机提供用于转发表132的对应流表条目来实现期望的网络隧道。封装的复制分组的隧道ID可以被居间交换机用来实现期望的第一和第二网络隧道。例如,网络102中的居间交换机可以接收转发表条目132,其指示交换机匹配第一和第二隧道ID上的接收分组,并将匹配的分组转发到与第一和第二隧道相关联的分接端口组(例如,转发到交换机SW1的期望的LAG组)。在实现多个分接交换机的场景中,隧道ID可以允许居间交换机基于接收到的封装的分组的隧道ID将封装的分组转发到期望的分接交换机。
图11是可以提供给转发网络102的交换机用于监视网络流量的潜在镜像流表134的说明性图。在图11中示出了用于镜像表134的匹配字段的一种可能组合。在图11的示例中,可以将镜像表条目144和146提供给至少(连接到终端主机EH1的)交换机SW3和(连接到终端主机EH3的)SW5,用于捕获终端主机EH1和EH3之间的网络流量(如图8所示)。这个示例仅仅是说明性的并且,一般而言,可以捕获任何期望的网络流量(例如,镜像表134可以在任何期望的网络分组字段或属性上匹配)。
在图11的示例中,表134的每个条目(例如,流表条目144和146)可以包括源IP地址匹配字段、目的地IP地址匹配字段和附加的匹配字段(诸如结合图6A描述的报头字段76)。特别地,控制器18可以生成具有终端主机EH1的IP地址IP1作为源IP地址匹配字段和终端主机EH3的目的地IP地址IP3作为目的地IP地址匹配字段的第一镜像表条目144。条目144可以具有通配的附加匹配字段,并且由此可以在从终端主机EH1发送到终端主机EH3的任何第3层网络流量上匹配。条目144可以具有动作字段,其指示条目144在其上实现的交换机将具有源IP地址IP1和目的地IP地址IP3的网络分组复制到LAG组LAG1并使用对应的隧道ID(例如,使用封装引擎142)封装复制的流量。隧道ID可以特定于与条目144和146相关联的网络监视会话(例如,在控制器18处识别出的用于捕获终端主机EH1和EH3之间的所有流量的网络监视会话)。
类似地,控制器18可以生成第二镜像表条目146,其指示交换机复制具有源IP地址IP3和目的地IP地址IP1的所有网络流量、将复制的流量转发到LAG组LAG1,并且使用与那个监视会话相关联的隧道ID封装复制的分组。隧道ID可以是例如VLAN ID标签,并且对于镜像表条目144和146可以是相同的。作为示例,隧道ID ID1可以被用来封装与对应的监视会话相关联的镜像流量。如果期望,那么在转发网络102上实现的附加的监视会话可以被提供有不同的隧道ID,使得网络102中的交换机可以在不同的监视会话之间区分开(例如,使得与不同分析网络或监视设备集合相关联的镜像流量可以被转发到网络102的适当的端口组)。
控制器18可以向交换机SW3和SW5(以及可选地向网络102中的其它交换机)提供条目144和146。控制器18可以为网络转发表132提供流表条目,其指示网络102中的居间交换机(例如,交换机SW3和SW4之间的交换机,诸如交换机SW1、SW2和/或SW4)将使用所选网络隧道ID封装的流量转发到监视网络104(例如,使得复制和封装的网络流量可以继续被转发到网络104,而无需中断从其中复制镜像分组的对应网络分组的转发)。
图12是用于转发表132的流表条目的说明性图,流表条目可以由控制器18为实现期望的监视会话(例如,为了沿着对应的网络隧道将封装和镜像的网络流量转发到监视网络104)而生成。如图12中所示,控制器18可以生成与使用隧道ID ID1封装的所有网络流量(诸如使用图11的镜像表条目在交换机SW3和SW5处生成的封装和镜像的网络流量)匹配的转发表条目148。转发表条目148指示它在其上实现的交换机将所有匹配的流量(例如,来自与隧道ID ID1相关联的监视会话的所有流量)转发到连接到监视网络104的LAG组LAG1。以这种方式,镜像并隧道传输的流量可以被路由到分析网络104,而不会干扰网络中正常的分组路由操作。
如果期望,那么流表132可以包括与不同监视会话相关联的多个条目(行)。每个监视会话可以与具有相应隧道ID的对应网络隧道集合相关联(例如,该集合的每个网络隧道可以具有公共的隧道ID)。在这种场景中,表132中的条目可以在不同的隧道ID上匹配,使得来自不同会话的封装和镜像的流量被转发到期望的监视设备和/或分析网络。
考虑示例,其中,除了与捕获终端主机EH1和EH3之间的所有流量的隧道ID ID1相关联的监视会话,控制器18还识别附加的监视会话,以捕获由终端主机EH4产生的所有流量的,用于使用监视设备106-2上的监视工具进行分析。在这种场景中,控制器18可以生成用于交换机SW5的附加的镜像表条目,其指示交换机SW5复制具有与终端主机EH5相关联的源地址字段的所有流量(或者例如经连接到终端主机EH5的端口接收的所有流量)、使用第二隧道(诸如隧道ID ID50)封装复制的流量,并且将封装的复制的流量转发到LAG组LAG2。控制器18可以向网络102中的交换机(例如,网络102中的所有交换机或者仅网络102中在交换机SW5和交换机SW1之间的那些居间交换机)提供对应的转发表条目149,其指示交换机将使用隧道ID ID50封装的镜像流量转发到LAG组LAG2(例如,连接到所选监视设备106-2的端口组)。以这种方式,来自第一监视会话的镜像流量可以被转发到与第一端口组LAG1相关联的监视设备106-1并且来自第二监视会话的镜像流量可以被转发到与第二端口组LAG2相关联的监视设备106-2,而无需在除隧道标识符之外的镜像流量的任何字段上匹配。
图13是示出控制器18如何可以控制网络102中的交换机以使用与镜像表(诸如图11的镜像表134)相关联的分组监视会话来捕获所选网络流量的说明性流程图。在图13的示例中,控制器18选择监视会话,该监视会话识别出图8的终端主机EH1和EH3之间的所有流量将被捕获用于使用监视设备106-1进行监视,并且控制器18向网络102中的交换机提供对应的镜像表条目(例如,图11的条目144和146)和转发流表条目(例如,图12的条目148),用于实现所选的监视会话。
终端主机EH3可以生成要发送到终端主机EH1的网络分组152。分组152可以例如包括报头,其具有与终端主机EH3相关联的源地址字段(例如,源硬件/MAC地址字段、源IP地址字段等)(例如,源IP地址IP3)和与终端主机EH1相关联的目的地地址字段(例如,目的地硬件地址字段、目的地IP地址字段等)(例如,目的地IP地址IP1)。在步骤154,可以向交换机SW5(例如,交换机SW5的端口P1)提供网络分组152。
交换机SW5可以将分组152与转发表132和镜像表134进行比较。转发表132可以包括在分组152上匹配并指示交换机SW5将分组152转发到交换机SW2(例如,基于分组的目的地地址字段)的条目。镜像表134可以包括在分组152上匹配的条目(例如,因为对应的监视会话被生成,以捕获终端主机EH1和EH3之间的所有流量)。交换机SW5可以复制(镜像)分组152,以生成镜像的(复制的)分组A,并且可以使用隧道ID ID1封装镜像分组A,以生成封装的镜像分组A(例如,已使用隧道ID ID1封装的分组152的镜像的副本)。以这种方式,控制器18可以控制交换机SW5建立与交换机SW5和分接交换机SW1之间的隧道ID ID1相关联的网络隧道。镜像表134的匹配条目可以指示交换机SW5将封装的镜像分组A(有时在本文中被称为分组EA,因为它与镜像分组A的封装版本对应)转发到交换机SW1的LAG组LAG1用于监视。
在步骤156,分组152和封装的镜像分组A(分组EA)可以被转发到交换机SW2。这个示例仅仅是说明性的并且,给定图8的网络拓扑,如果期望,那么分组152和封装的镜像分组A中的一个或两个可以被转发到交换机SW4。
交换机SW2可以将分组152和分组EA与流表132中的对应转发表条目进行比较(例如,在这种场景中,控制器18可以将与监视会话相关联的镜像表条目发送到仅交换机SW3和SW5)。作为示例,流表132可以包括在分组152上匹配并且指示交换机SW2将分组152路由到交换机SW3的条目。流表132可以包括附加条目(诸如图12的条目148),其在分组EA的隧道ID1上匹配并且指示交换机SW2将分组EA转发到交换机SW1的LAG组LAG1(例如,基于存储在LAG映射模块138上的信息)。以这种方式,控制器18可以控制居间交换机SW2实现并维护与交换机SW5和分接交换机SW1之间的隧道ID ID1相关联的网络隧道,而不需要解封装分组EA(例如,使得交换机可以充分地区分正常网络流量(诸如分组152)和捕获的流量(诸如封装的镜像分组A),并且使得交换机可以路由封装的镜像分组A,而不会中断网络分组152的正常转发)。
在步骤158,交换机SW2可以将分组152提供给交换机SW3,并且可以将分组EA转发到交换机SW1。交换机SW3可以将分组152与其转发表132和镜像表134进行比较。转发表132可以包括在分组152上匹配并且指示交换机SW3将分组152转发到终端主机EH1(例如,通过在分组152的目的地地址字段上匹配)的条目。镜像表134可以包括在分组152上匹配的条目(例如,因为对应的监视会话被生成,以捕获终端主机EH1和EH3之间的所有流量)。交换机SW3可以复制(镜像)分组152,以生成镜像分组B并且可以使用与所选监视会话对应的隧道ID ID1封装镜像分组B,以生成封装的镜像分组B(例如,已经使用隧道ID ID1进行封装但是与在交换机SW5处生成的封装的镜像分组A分开的分组152的镜像副本)。以这种方式,控制器18可以控制交换机SW3建立与交换机SW3和分接交换机SW1之间的隧道ID ID1相关联的附加网络隧道(例如,与所选监视会话相关联的附加网络隧道)。镜像表134的匹配条目可以指示交换机SW3将封装的镜像分组B(有时在本文中被称为分组EB,因为它与镜像分组B的封装版本对应)转发到交换机SW1的LAG组LAG1用于监视。
在步骤160,交换机SW3可以向目的地终端主机EH1提供分组152,并且可以向交换机SW2提供分组EB。交换机SW2可以将分组EB与流表132中的对应转发表条目进行比较。流表132可以将分组EB与图12的条目148匹配,因为镜像分组B是使用分组EA的相同隧道ID1来封装的(例如,以这种方式,单个流表条目可以被用来在同一个监视会话中路由来自多个交换机的多个镜像分组,由此节省交换机上的存储空间)。以这种方式,控制器18可以控制居间交换机SW2实现并维护与交换机SW3和分接交换机SW1之间的隧道ID ID1相关联的网络隧道,而不需要解封装分组EB。在步骤162,分组EB可以被转发到交换机SW1。
图14是示出分组EA和EB如何可以由网络分接交换机SW1从图12的交换机SW2路由到监视网络104的说明性流程图(例如,当实现与图11的镜像表134对应的所选监视会话时)。交换机SW1可以在步骤158接收分组EA。交换机SW2可以将分组EA与流表132中的对应的转发表条目进行比较。流表132可以将分组EA与条目148匹配。分接交换机(例如,交换机SW1)上的流表132可以进一步包括在封装的镜像分组上匹配并且指示交换机使用解封装引擎168对封装的镜像分组进行解封装的条目。解封装引擎168可以从分组EA中检索分组A(例如,如由图13中的交换机SW5接收的分组152的镜像副本)。交换机SW1中的流表132可以指示交换机SW1将分组A转发到LAG组LAG1(例如,LAG组LAG1的端口P1或P2中的一个)。
在步骤166,交换机SW1可以将分组A转发到分析网络104(例如,转发到第一监视设备106-1)。类似地,交换机SW1可以在步骤162接收分组EB。交换机SW1可以使用解封装引擎168解封装分组EB,以检索分组B,并且可以在步骤170将分组B(如由图13中的交换机SW3接收的分组152的镜像副本)转发到分析网络104(例如,基于由控制器18提供的交换机SW1上的流表132中的条目的指示)。以这种方式,网络中不同点处的给定网络分组的多个副本可以被提供给分析网络104用于所选监视会话,而不影响正常的网络转发(例如,终端主机EH1和EH3之间的分组152的正常转发)。分析网络104可以随后对镜像分组执行任何期望的流量分析和监视操作。
如果期望,那么转发网络102中的一些交换机可以具有耦合到终端主机的端口和耦合到分析网络104的端口。在图8的示例中,交换机SW1可以同时耦合到终端主机EH7和分析网络104。在这些场景中,交换机可以执行分组镜像操作而不封装镜像分组(由此节省处理资源和交换机内的存储)。
图15是可以提供给连接到监视网络104的交换机的镜像流表条目的说明性图,其中镜像流表条目用于镜像从连接到那个交换机的终端主机接收的网络流量。如图15中所示,控制器18可以为图8的交换机SW1上的镜像表134生成镜像表条目200。控制器18可以选择监视会话,以捕获由终端主机EH7生成的所有流量并使用分析网络104上的监视设备106-2监视所捕获的流量。由此,镜像表条目200可以在从终端主机EH7接收的所有分组上匹配(例如,具有终端主机EH7的源硬件地址MAC7的分组)并且可以将匹配的分组复制到所选的一组交换机端口(例如,LAG组LAG2)。
图16是示出具有连接到分析网络104的第一组端口和连接到终端主机的第二组端口的交换机(例如,连接到监视设备106和终端主机EH7的图8的SW1)如何可以使用图15中所示类型的镜像表条目镜像网络流量的说明性流程图。
如图16中所示,终端主机EH7可以生成去往网络102中任何期望的终端主机的分组202。分组202可以具有与终端主机EH7相关联的源地址字段。在步骤204,交换机SW1可以从终端主机EH7接收分组202。交换机SW1可以将分组202与镜像表134上的条目200匹配(例如,因为分组202具有在条目200上匹配的源硬件地址字段MAC7)并且可以生成分组202的副本206,以转发到LAG组LAG2。例如,交换机SW1可以使用LAG映射模块138来确定镜像分组206要经由端口P3或P4中的一个被转发到LAG组LAG2,并且由此可以经LAG组LAG2的端口P3或P4中的一个路由镜像分组206(例如,基于哪个端口优化通过交换机SW1的流量流)。以这种方式,控制器18的用户仅需要指定一组端口(例如,LAG2),而不是识别将复制的分组发送给每个交换机的特定最佳端口(例如,使用端口组而不是各个端口来确定用于交换机的流表条目可以允许控制器18的网络管理员对网络的更高效的灵活性和控制)。
交换机SW1可以将分组202与转发流表132匹配,以确定分组202将被转发到网络中的其它地方(例如,基于分组202的目的地地址字段等)。在步骤206,交换机SW1可以将分组202转发到相关联的分组目的地,并且可以将镜像分组206转发到分析网络104的监视设备106-2,以执行网络分析操作。以这种方式,交换机SW1不需要为镜像分组封装或生成网络隧道,因为镜像分组没有为了到达期望的分析网络104而穿过转发网络102中的任何其它网络交换机(例如,由此相对于使用封装的场景提高了网络中的转发效率)。
如果期望,那么转发网络102中的每个交换机SW可以将接收到的分组的出口和/或入口版本复制到监视网络104。例如,交换机SW上的镜像表134可以指示交换机复制接收到的分组的入口版本(例如,在如图9所示向交换架构136提供分组之前的接收到的分组)和/或可以指示交换机复制接收到的分组的出口版本(例如,在分组已经从交换架构136输出之后的接收到的分组)。复制的分组的入口和/或出口版本可以被封装并路由到网络102中的期望端口组,用于转发到监视网络104。
图17是可以由控制器18提供给交换机SW的可能的镜像表条目的说明性图,其中镜像表条目用于将接收到的网络分组的入口和出口版本都复制到监视网络。在图17的示例中,控制器18生成用于交换机SW3的镜像表条目220和222,以实现监视会话,以捕获终端主机EH1和EH2之间的流量。如图17中所示,控制器18可以生成第一镜像流表条目220,其在具有终端主机EH1的目的地硬件地址MAC1和终端主机EH2的源硬件地址MAC2的分组上匹配并且指示交换机SW3复制在条目220上匹配的分组的入口版本、利用与那个监视会话相关联的所选隧道ID封装复制的分组,并且将封装的复制分组转发到LAG组LAG1。控制器18可以生成第二镜像流表条目222,其在具有目的地地址MAC1和源地址MAC2的分组上匹配并且指示交换机SW3复制在条目222上匹配的分组的出口版本、利用所选隧道ID封装复制的分组,并且将封装的复制分组转发到LAG组LAG1。以这种方式,接收到的分组的入口和出口版本都可以被转发到监视网络进行分析。
这个示例仅仅是说明性的。如果期望,那么控制器18可以向交换机提供镜像表条目,其指示交换机仅向监视网络发送分组的入口或出口副本中的一个,或者指示交换机将分组的出口和入口副本都发送到监视网络。如果期望,那么控制器18可以指示交换机缺省地将分组的入口和出口副本都发送到监视网络,除非控制器18的用户另有指示。如果期望,那么复制的分组的入口和出口版本可以被封装并转发到不同的分接端口组(例如,入口副本可以经由LAG1发送到监视设备106-1,而出口副本可以经由LAG2发送到监视设备106-2),和/或不同的隧道ID可以用于入口和出口副本。相对于其中分组的入口或出口版本中仅一个被复制的场景,以这种方式,可以向监视网络104提供对转发网络102中的网络流量的更健壮的捕获,其考虑了在交换机内可能发生的流量的任何改变。
图18是示出网络交换机SW3如何可以基于镜像表条目(诸如图17的镜像表条目220和222)复制接收到的分组的入口和出口版本的说明性流程图。例如,控制器18的用户可以识别监视会话,以捕获终端主机EH1和EH2之间的所有流量。如图18中所示,终端主机EH2可以生成分组230并且可以在步骤232将分组230提供给交换机SW3。
交换机SW3可以将分组230与交换机SW3上的对应流表132和镜像表134匹配。交换机SW3可以使用交换架构136将分组230路由到终端主机EH1(例如,基于流表132中的条目)。在向交交换架构230提供分组230之前,交换机SW3可以复制分组230,并且可以使用封装引擎142封装复制的分组,以生成封装的镜像入口分组233,并且可以将分组233转发到LAG组LAG1(例如,基于镜像表条目220的指示)。在使用交换架构136路由分组230之后,交换机SW3可以再次复制分组230并且可以使用封装引擎142封装复制的分组,以生成封装的镜像出口分组231,并且可以将分组231转发到LAG组LAG1(例如,基于镜像表条目222的指示)。可以使用相同的隧道ID来封装镜像分组231和233,因为两个镜像分组都是为相同的监视会话生成的。
在步骤234,交换机SW3可以将封装的镜像入口分组233和封装的镜像出口分组231转发到交换机SW1上的LAG组LAG1(例如,经由居间交换机SW2),并且可以将分组230转发到目的地终端主机EH1。以这种方式,分组的入口和出口版本都可以被复制到监视网络,用于执行网络监视操作,而不影响分组230从源终端主机EH2到目的地终端主机EH1的转发。
图19是可以由控制器(诸如图8的控制器18)执行的说明性步骤的流程图,所述步骤用于建立网络流量监视会话并将与该会话相关联的网络流量复制到监视网络104以进行分析,而不会中断通过网络102的正常分组转发。
在步骤300,控制器18可以控制转发网络102中的交换机SW实现期望的网络转发路径。例如,控制器18可以识别与网络102相关联的网络拓扑信息、网络策略和/或网络转发规则(例如,如由网络管理员在给控制器18的用户输入中提供的)并且可以生成用于交换机SW上的转发表132的流表条目,该流表条目实现识别出的网络策略和转发规则(例如,诸如图6A和6B中所示的条目的条目)。
控制器18可以识别(定义)转发网络102中的一组或多组交换机端口,并且可以将交换机端口组标识符指派给所识别的各组交换机端口。例如,控制器18可以识别端口的一个或多个LAG组,诸如LAG组LAG1、LAG2、LAG3和LAG4,如图8中所示。控制器18可以基于提供给控制器18的用户输入来识别LAG组(例如,由指定哪些端口要属于对应LAG组的网络管理员),或者可以自动识别LAG组而不需要用户输入(例如,基于网络拓扑信息)。控制器18可以维护识别每个LAG组的交换机端口的LAG组映射信息,并且可以提供LAG组映射信息(例如,如图10中所示),用于在交换机SW的LAG映射模块138上实现。
在步骤302,控制器18可以识别(选择)用于被监视的流量的一个或多个目的地(汇聚点)(例如,用于捕获被监视的流量的一个或多个监视设备或网络)。例如,控制器18可以选择利用其监视网络流量的分析网络104和/或一个或多个监视设备106。控制器18可以识别连接到为被监视流量识别出的目的地中的每一个目的地的一个或多个端口组(例如,如在处理步骤300时定义的)。例如,控制器18可以将网络102中的一个或多个交换机SW上的分接LAG组识别为连接到为被监视流量识别出的汇聚点。在图8的示例中,控制器18可以识别出LAG组LAG1连接到分析网络104中的监视设备106-1,并且LAG组LAG2连接到分析网络104中的监视设备106-2。被监视流量的目的地可以由控制器18的网络管理员(例如,使用控制器18的用户输入)指定。
在步骤304,控制器18可以识别(选择)用于捕获和分析转发网络102中的网络流量的监视会话。监视会话可以识别转发网络102上的网络流量的特定子集,以进行捕获和分析。例如,监视会话可以识别特定的网络分组目的地、虚拟网络、物理端口、网络分组源和/或任何其它网络流量属性,以用于捕获网络流量进行分析。在图11-14的示例中,控制器18可以选择监视会话,该监视会话识别转发网络102中的终端主机EH1和EH3之间的所有流量要被捕获以进行监视。在图15和16的示例中,控制器18可以选择监视会话,该监视会话识别出由终端主机EH7生成的所有流量要被捕获进行监视。在图17和18的示例中,控制器18可以选择监视会话,该监视会话识别从源终端主机EH2到目的地终端主机EH1的所有流量的入口和出口版本都要被捕获进行监视。
一般而言,所选监视会话可以识别要捕获的网络分组的子集的网络流量属性,以及网络分组的出口和/或入口版本是否要被捕获和/或多少交换机要被用于复制要捕获的网络分组的子集。可以基于由网络管理员提供给控制器18的用户输入来选择监视会话。如果期望,那么控制器18可以在监视会话中自动地包括捕获的分组的出口和入口版本,除非网络管理员另有规定。如果期望,那么控制器18可以识别用于在给定时间捕获来自转发网络102的许多不同部分的流量的多个监视会话。
如果期望,那么控制器18可以生成镜像表条目,以在每个叶片/边缘交换机上镜像并封装匹配的网络分组,而不管该分组是否是由那个交换机从网络102中的终端主机或另一个叶片/边缘交换机接收的。这可以允许控制器18的用户查看并分析来自每个叶片/边缘交换机的网络流量。但是,控制器18的用户可能期望仅查看和分析已经从第一跳边缘交换机(例如,直接从终端主机EH接收网络分组而无需任何居间交换机的交换机)镜像的网络分组。如果期望,那么控制器18可以生成用于镜像表134的条目,其指示交换机仅在接收网络分组的输入交换机端口直接耦合到终端主机EH时镜像并封装那些网络分组(例如,使得只有在相对于终端主机的第一跳上到达给定叶片交换机的网络分组被复制到监视网络104)。换句话说,通过向交换机提供仅在直接从终端主机EH接收的网络分组上匹配的镜像表条目,控制器18可以控制网络102中的交换机仅镜像直接从终端主机EH接收的网络分组,而不需要穿过任何居间交换机。如果期望,那么控制器18的用户可以向控制器18提供用户输入,以指示控制器18实现这种镜像表条目,由此允许关于哪些交换机镜像期望的网络流量的用户灵活性。
控制器18可以知道哪些交换机端口耦合到终端主机以及哪些交换机端口耦合到其它交换机。例如,交换机可以具有控制MAC学习在那个端口被启用还是禁用的每端口设置。如果朝着(由同一个控制器18管理的)另一个交换机的链路在端口上被检测到(例如,使用LLDP),那么那个端口被识别为内部端口(例如,不直接耦合到终端主机的端口),并且在那个端口上禁用MAC学习。如果在端口上没有检测到交换机-交换机链路,那么该端口被认为是面向终端主机的端口,并且在那个端口上启用MAC学习。由控制器18生成的镜像表条目可以基于哪些端口是面向终端主机的端口的知识来生成,并且由此,如果期望,那么可以在从面向终端主机的端口接收的分组上匹配(例如,在从启用MAC学习的端口接收的分组上匹配的镜像表条目可以被用来控制仅从直接耦合到终端主机的交换机进行的转发)。
在图8的示例中,交换机SW5可以具有耦合到附加的叶片交换机SW6的第六交换机端口P6,SW6耦合到附加的终端主机(未示出)。控制器18可以在接收到对应的用户命令时生成用于交换机上的镜像表134的条目,以指示该交换机仅对来自具有终端主机EH2的目的地地址(例如)的终端主机EH的第一跳流量进行镜像。考虑示例,其中交换机SW6从其对应的终端主机中的一个接收具有终端主机EH2的目的地地址的网络分组。在这种场景中,交换机SW6可以镜像并封装接收到的网络分组(它们是在相对于对应终端主机的第一跳上被接收的),并且可以将接收到的网络分组和封装的镜像分组都传递到交换机SW5。虽然在交换机SW5处从交换机SW6接收的转发(未封装的)网络分组具有终端主机EH2的目的地地址,但是在相对于终端主机的第一跳上没有接收到所接收的网络分组(因为交换机SW5没有直接耦合到生成网络分组的终端主机的输入端口),因此将不会在生成的镜像表条目上匹配。换句话说,交换机SW5可以将从交换机SW6接收的网络分组转发到交换机SW4,而无需镜像网络分组。以这种方式,控制器18的用户可以监视仅在网络102中相对于终端主机的第一跳上镜像的流量。这个示例仅仅是说明性的,并且不用来限制本发明。
在步骤306,控制器18可以识别用于交换机和识别出的(一个或多个)被监视流量目的地之间的识别出的监视会话的网络隧道。例如,控制器18可以为每个识别出的监视会话识别之间的网络隧道集合,并且可以识别要用于每个监视会话的对应隧道ID(例如,VLAN标识符)。以这种方式,可以为要被捕获的(与第一监视会话相关联的)第一流量子集指派第一隧道ID,用于封装捕获的流量并将其隧穿到对应的目的地,而要被捕获的(与第二监视会话相关联的)第二流量子集可以被指派与第一隧道ID不同的第二隧道ID,用于封装捕获的流量并将其隧穿到对应的目的地。
在步骤308,控制器18可以生成用于交换机SW上的转发表132的转发表条目,并且可以基于为捕获的流量选择的目的地、所选的监视会话和识别出的网络隧道生成用于交换机SW上的镜像表134的镜像表条目。例如,控制器18可以生成如图11中所示的镜像表条目,使得终端主机EH1和EH3之间的流量被捕获并复制到连接到目的地监视设备106-1的端口组LAG1,并且使得使用对应的隧道ID ID1来封装复制的流量。类似地,控制器18可以生成如图12中所示的转发表条目,使得已经提供有隧道ID ID1的镜像和封装的流量被转发到LAG组LAG1(例如,用于网络上的居间交换机的转发表条目)。控制器18可以生成镜像表条目和转发表条目,以针对每个识别出的监视会话实现到识别出的监视目的地的识别出的网络隧道。以这种方式,可以使用控制器18在任何给定的时间建立和维护多个监视会话。
在步骤310,控制器18可以将生成的镜像表条目和转发表条目提供给网络102中的交换机SW,以实现(一个或多个)期望的监视会话和对应的网络隧道。控制器18可以向网络102中的每个交换机提供不同的监视表条目和转发表条目(例如,基于每个交换机是否是对应的监视会话的一部分),或者可以向网络102中的所有交换机提供相同的条目。以这种方式,转发网络102中的网络流量的任何期望子集可以以健壮且高效的方式在网络中任何期望的点被复制和监视,而不会中断正常的分组转发操作。相对于其中未识别端口组的示例,通过识别连接到监视网络的端口组并指示交换机将分组的副本转发到识别出的端口组,网络可以更高效地大规模地监视网络流量,并且可以更高效地处理端口故障切换场景(例如,在其中给定端口组的一个或多个端口出现故障的场景中,流量仍然可以通过该端口组的其它端口被路由到监视网络)。这种布置可以允许用户或网络管理员识别要执行的监视操作,而不需要物理地分接到要监视的网络的期望部分。
根据一个实施例,提供了一种使用控制转发网络中的交换机的控制器的方法,所述转发网络执行分组转发操作以在耦合到所述转发网络的终端主机之间转发网络分组,所述方法包括:利用所述控制器,识别所述转发网络中连接到网络流量分析网络的交换机中的至少一个交换机上的一组交换机端口;以及利用所述控制器,控制所述转发网络的所选交换机将在所述转发网络的终端主机之间转发的网络分组的至少一部分复制到所识别的一组交换机端口,而不干扰所述转发网络的分组转发操作。
根据另一个实施例,该方法包括利用所述控制器,配置所述交换机中的至少一个交换机由所识别的一组交换机端口的交换机端口形成链路聚合组。
根据另一个实施例,配置所述交换机中的至少一个交换机形成链路聚合组包括:向所述交换机中的至少一个交换机提供链路聚合映射信息。
根据另一个实施例,该方法包括利用所述控制器,控制所述转发网络的附加的所选交换机将在所述转发网络的终端主机之间转发的网络分组的所述部分复制到所识别的一组交换机端口,而不干扰所述转发网络的分组转发操作。
根据另一个实施例,该方法包括利用所述控制器,控制所述转发网络中的交换机在所选交换机与所述转发网络中的至少一个交换机之间建立第一网络隧道。
根据另一个实施例,该方法包括利用所述控制器,控制所述转发网络中的交换机在所述附加的所选交换机与所述交换机中的至少一个交换机之间建立第二网络隧道。
根据另一个实施例,该方法包括利用所述控制器,控制所选交换机通过使用所选的隧道标识符封装所述网络分组的所述部分的第一复制版本来建立所述第一网络隧道;以及利用所述控制器,控制所述附加的所选交换机通过使用所选的隧道标识符封装所述网络分组的所述部分的第二复制版本来建立所述第二网络隧道。
根据另一个实施例,所选的隧道标识符包括虚拟局域网(VLAN)标识符。
根据另一个实施例,该方法包括利用所述控制器,向所选交换机提供至少一个镜像流表条目,其中所述至少一个镜像流表条目包括在所述网络分组的所述部分上匹配的匹配字段和动作字段,所述动作字段指示所选交换机通过复制所述网络分组的所述部分来生成镜像网络分组并且指示所选交换机将生成的镜像网络分组转发到所识别的一组交换机端口。
根据另一个实施例,该方法包括利用所述控制器,向位于所选交换机和所述网络中的至少一个交换机之间的居间交换机提供至少一个转发流表条目,其中所述至少一个转发流表条目具有在由所选交换机生成的镜像网络分组上匹配的匹配字段和指示居间交换机将由所选交换机生成的镜像网络分组转发到所识别的一组交换机端口的动作字段。
根据另一个实施例,所述镜像流表条目指示所选交换机通过复制所述网络分组的所述部分的入口版本来生成镜像入口网络分组,并指示所选交换机通过复制所述网络分组的所述部分的出口版本来生成镜像出口网络分组,并且其中所述至少一个镜像流表条目指示所选交换机将生成的镜像出口网络分组和生成的镜像入口网络分组转发到所识别的一组交换机端口。
根据一个实施例,提供了一种使用控制网络中的交换机的控制器的方法,其中所述网络具有耦合到所述交换机的终端主机,所述方法包括:利用所述控制器,控制所述网络中的交换机实现用于在终端主机之间转发网络分组的网络转发路径;利用所述控制器,配置所述网络中的交换机形成多个交换机端口组;利用所述控制器,识别所述多个交换机端口组中的连接到网络流量监视系统的交换机端口组;利用所述控制器,选择在其上使用网络流量监视系统执行网络流量监视操作的在终端主机之间转发的所述网络分组的子集;利用所述控制器,控制所述网络中的所述交换机中的至少一个交换机通过复制所述网络分组的所选子集来生成镜像网络分组;以及利用所述控制器,控制所述至少一个交换机将所述镜像网络分组转发到所识别的一组交换机端口。
根据另一个实施例,选择在其上执行网络监视操作的所述网络分组的子集包括:识别要在其上执行所述网络流量监视操作的终端主机之间转发的所述网络分组的源网络地址和目的地网络地址中的至少一个。
根据另一个实施例,该方法包括利用所述控制器,识别连接到附加的网络流量监视系统的所述多个交换机端口组中的附加交换机端口组;利用所述控制器,选择在其上执行所述网络流量监视操作的在终端主机之间转发的所述网络分组的附加子集;利用所述控制器,控制所述网络中的至少一个附加交换机通过复制所述网络分组的所选附加子集来生成附加的镜像网络分组;以及利用所述控制器,控制所述至少一个附加交换机将附加的镜像网络分组转发到所识别的附加交换机端口组。
根据另一个实施例,所述交换机端口组和所述附加交换机端口组二者都包括所述网络中给定交换机的物理端口。
根据另一个实施例,该方法包括利用所述控制器,控制所述至少一个交换机通过为所述至少一个交换机上的转发表提供流表条目来实现网络转发路径;以及利用所述控制器,控制所述至少一个交换机通过为所述至少一个交换机上的与转发表分开的镜像表提供流表条目来生成并转发镜像网络分组。
根据另一个实施例,该方法包括利用所述控制器,识别所述至少一个交换机与所识别的一组交换机端口之间的网络隧道;以及利用所述控制器,指示所述至少一个交换机使用与所述网络隧道相关联的隧道标识符来封装镜像网络分组。
根据另一个实施例,该方法包括利用所述控制器,为所述网络中的附加交换机上的转发表提供流表条目,其指示所述附加交换机将具有隧道标识符的匹配网络分组转发到所识别的一组交换机端口。
根据一个实施例,提供了一种操作控制器的方法,所述控制器控制网络中的交换机,所述网络具有耦合到所述交换机的端口的终端主机,所述方法包括:利用所述控制器,配置所述网络中的第一交换机由所述第一交换机的端口集合形成链路聚合组,其中所述链路聚合组连接到分组监视网络;利用所述控制器,控制所述网络中的第二交换机通过复制在所述终端主机之间转发的网络分组集合并将复制的所述网络分组集合转发到链路聚合组来捕获所述网络分组集合,而不干扰终端主机之间的所述网络分组集合的转发。
根据另一个实施例,该方法包括利用所述控制器,控制所述网络中的第三交换机通过复制在所述终端主机之间转发的附加的网络分组集合并将复制的所述附加的网络分组集合转发到链路聚合组来捕获所述附加的网络分组集合,而不干扰所述终端主机之间的所述附加的网络分组集合的转发。
根据另一个实施例,该方法包括利用所述控制器,控制所述网络中的第二交换机通过复制在所述终端主机之间转发的附加的网络分组集合并将复制的所述附加的网络分组集合转发到链路聚合组来捕获所述附加的网络分组集合,而不干扰所述终端主机之间的所述附加的网络分组集合的转发。
根据另一个实施例,该方法包括利用所述控制器,控制所述网络中的第三交换机通过复制网络分组集合并将在所述第三交换机处复制的网络分组集合转发到链路聚合组来捕获所述网络分组集合,而不干扰所述终端主机之间的所述网络分组集合的转发。
根据另一个实施例,该方法包括利用所述控制器,配置所述网络中的第一交换机和第三交换机中的至少一个由附加的端口集合形成附加的链路聚合组,其中所述链路聚合组连接到分组监视网络和附加分组监视网络中的一个;以及利用所述控制器,控制所述网络中的第二交换机和第四交换机中的至少一个通过复制在所述终端主机之间转发的附加的网络分组集合并将复制的所述附加的网络分组集合转发到附加的链路聚合组来捕获所述附加的网络分组集合,而不干扰所述终端主机之间的所述附加的网络分组集合的转发。
根据另一个实施例,控制所述网络中的第二交换机捕获网络分组集合包括:识别与所述网络分组集合相关联的网络分组属性集合;以及为所述第二交换机上的镜像表生成流表条目,所述流表条目具有在所述网络分组属性集合上匹配的匹配字段以及指示所述第二交换机复制所述网络分组集合并指示所述第二交换机将复制的所述网络分组集合转发到所述链路聚合组的动作字段。
根据另一个实施例,所述流表条目指示所述第二交换机复制所述网络分组集合的入口版本并将复制的所述网络分组集合的入口版本转发到所述链路聚合组,其中所述流表条目指示所述第二交换机复制所述网络分组集合的出口版本并将复制的所述网络分组集合的出口版本转发到所述链路聚合组,并且其中,响应于在所述控制器处接收的用户输入,所述流表条目指示所述第二交换机仅复制和转发所述网络分组集合的入口版本和出口版本中的一个。
根据另一个实施例,所述流表条目指示所述第二交换机只有当经所述第二交换机的交换机端口接收所述网络分组集合时才复制所述网络分组集合,其中所述交换机端口经没有任何其它交换机的网络路径直接耦合到终端主机。
上述仅仅是说明本发明的原理,并且在不背离本发明的范围和精神的情况下,本领域技术人员可以进行各种修改。

Claims (18)

1.一种使用控制转发网络中的交换机的控制器的方法,其中所述转发网络执行分组转发操作以在耦合到所述转发网络的终端主机之间转发网络分组,所述方法包括:
利用所述控制器,识别在所述转发网络中的交换机中的连接到网络流量分析网络的至少一个交换机上的一组交换机端口;
利用所述控制器,控制所述转发网络的所选交换机将在所述转发网络的终端主机之间转发的网络分组的至少一部分复制到所识别的一组交换机端口;
利用所述控制器,控制所述所选交换机通过为所述所选交换机上的转发表提供流表条目来实现网络转发路径;以及
利用所述控制器,控制所述所选交换机通过为镜像表提供流表条目来生成和转发镜像网络分组,其中所述镜像表与所述所选交换机上的转发表分开。
2.如权利要求1所述的方法,还包括:
利用所述控制器,配置所述交换机中的至少一个交换机由所识别的一组交换机端口的交换机端口形成链路聚合组,
其中配置所述交换机中的至少一个交换机形成链路聚合组包括:
向所述交换机中的至少一个交换机提供链路聚合映射信息。
3.如权利要求1所述的方法,还包括:
利用所述控制器,控制所述转发网络的另一所选交换机将在所述转发网络的终端主机之间转发的网络分组的所述至少一部分复制到所识别的一组交换机端口,而不干扰所述转发网络的分组转发操作。
4.如权利要求3所述的方法,还包括:
利用所述控制器,控制所述转发网络中的交换机在所选交换机与所述转发网络中的交换机中的至少一个之间建立第一网络隧道。
5.如权利要求4所述的方法,还包括:
利用所述控制器,控制所述转发网络中的交换机在所述另一所选交换机与所述交换机中的至少一个交换机之间建立第二网络隧道;
利用所述控制器,控制所选交换机通过使用所选的隧道标识符封装所述网络分组的所述至少一部分的第一复制版本来建立所述第一网络隧道;以及
利用所述控制器,控制所述另一所选交换机通过使用所选的隧道标识符封装所述网络分组的所述至少一部分的第二复制版本来建立所述第二网络隧道。
6.如权利要求1所述的方法,还包括:
利用所述控制器,向所选交换机提供至少一个镜像流表条目,其中所述至少一个镜像流表条目包括在所述网络分组的所述至少一部分上匹配的匹配字段和动作字段,所述动作字段指示所选交换机通过复制所述网络分组的所述至少一部分来生成镜像网络分组并且指示所选交换机将生成的镜像网络分组转发到所识别的一组交换机端口。
7.如权利要求6所述的方法,还包括:
利用所述控制器,向位于所选交换机和所述转发网络中的至少一个交换机之间的居间交换机提供至少一个转发流表条目,其中所述至少一个转发流表条目具有在由所选交换机生成的镜像网络分组上匹配的匹配字段和指示居间交换机将由所选交换机生成的镜像网络分组转发到所识别的一组交换机端口的动作字段。
8.如权利要求6所述的方法,其中所述镜像流表条目指示所选交换机通过复制所述网络分组的所述至少一部分的入口版本来生成镜像入口网络分组,并指示所选交换机通过复制所述网络分组的所述至少一部分的出口版本来生成镜像出口网络分组,并且其中所述至少一个镜像流表条目指示所选交换机将生成的镜像出口网络分组和生成的镜像入口网络分组转发到所识别的一组交换机端口。
9.一种使用控制网络中的交换机的控制器的方法,其中所述网络具有耦合到所述交换机的终端主机,所述方法包括:
利用所述控制器,控制所述网络中的交换机实现用于在终端主机之间转发网络分组的网络转发路径;
利用所述控制器,配置所述网络中的交换机形成多个交换机端口组;
利用所述控制器,识别所述多个交换机端口组中的连接到网络流量监视系统的交换机端口组;
利用所述控制器,选择在其上使用网络流量监视系统执行网络流量监视操作的在终端主机之间转发的所述网络分组的子集;
利用所述控制器,控制所述网络中的所述交换机中的至少一个交换机通过复制所述网络分组的所选子集来生成镜像网络分组;
利用所述控制器,控制所述至少一个交换机将所述镜像网络分组转发到所识别的一组交换机端口;以及
利用所述控制器,控制所述至少一个交换机通过为所述至少一个交换机上的转发表提供流表条目来实现网络转发路径;以及
利用所述控制器,控制所述至少一个交换机通过为所述至少一个交换机上的与转发表分开的镜像表提供流表条目来生成并转发镜像网络分组。
10.如权利要求9所述的方法,其中选择在其上执行网络流量监视操作的所述网络分组的子集包括:
识别要在其上执行所述网络流量监视操作的终端主机之间转发的所述网络分组的源网络地址和目的地网络地址中的至少一个。
11.如权利要求9所述的方法,还包括:
利用所述控制器,识别所述多个交换机端口组中的连接到附加的网络流量监视系统的附加交换机端口组;
利用所述控制器,选择在其上执行所述网络流量监视操作的在终端主机之间转发的所述网络分组的附加子集;
利用所述控制器,控制所述网络中的至少一个附加交换机通过复制所述网络分组的所选附加子集来生成附加的镜像网络分组;以及
利用所述控制器,控制所述至少一个附加交换机将附加的镜像网络分组转发到所识别的附加交换机端口组。
12.如权利要求9所述的方法,还包括:
利用所述控制器,识别所述至少一个交换机与所识别的一组交换机端口之间的网络隧道;以及
利用所述控制器,指示所述至少一个交换机使用与所述网络隧道相关联的隧道标识符来封装镜像网络分组;
利用所述控制器,为所述网络中的附加交换机上的转发表提供流表条目,其指示所述附加交换机将具有隧道标识符的网络分组转发到所识别的一组交换机端口。
13.一种操作控制器的方法,所述控制器控制网络中的交换机,所述网络具有耦合到所述交换机的端口的终端主机,所述方法包括:
利用所述控制器,配置所述网络中的第一交换机由所述第一交换机的端口集合形成链路聚合组,其中所述链路聚合组连接到分组监视网络;以及
利用所述控制器,控制所述网络中的第二交换机通过复制在所述终端主机之间转发的网络分组集合并将复制的所述网络分组集合转发到链路聚合组来捕获所述网络分组集合,而不干扰终端主机之间的所述网络分组集合的转发,其中控制所述网络中的第二交换机捕获网络分组集合包括:
识别与所述网络分组集合相关联的网络分组属性集合;以及
为所述第二交换机上的镜像表生成流表条目,所述流表条目具有在所述网络分组属性集合上匹配的匹配字段以及指示所述第二交换机复制所述网络分组集合并指示所述第二交换机将复制的所述网络分组集合转发到所述链路聚合组的动作字段。
14.如权利要求13所述的方法,还包括:
利用所述控制器,控制所述网络中的第三交换机通过复制在所述终端主机之间转发的附加的网络分组集合并将复制的所述附加的网络分组集合转发到链路聚合组来捕获所述附加的网络分组集合,而不干扰所述终端主机之间的所述附加的网络分组集合的转发。
15.如权利要求13所述的方法,还包括:
利用所述控制器,控制所述网络中的第二交换机通过复制在所述终端主机之间转发的附加的网络分组集合并将复制的所述附加的网络分组集合转发到链路聚合组来捕获所述附加的网络分组集合,而不干扰所述终端主机之间的所述附加的网络分组集合的转发。
16.如权利要求13所述的方法,还包括:
利用所述控制器,控制所述网络中的第三交换机通过复制网络分组集合并将在所述第三交换机处复制的网络分组集合转发到链路聚合组来捕获所述网络分组集合,而不干扰所述终端主机之间的所述网络分组集合的转发。
17.如权利要求13所述的方法,还包括:
利用所述控制器,配置所述网络中的第一交换机和第三交换机中的至少一个由附加的端口集合形成附加的链路聚合组,其中所述附加的链路聚合组连接到分组监视网络和附加分组监视网络中的一个;以及
利用所述控制器,控制所述网络中的第二交换机和第四交换机中的至少一个通过复制在所述终端主机之间转发的附加的网络分组集合并将复制的所述附加的网络分组集合转发到附加的链路聚合组来捕获所述附加的网络分组集合,而不干扰所述终端主机之间的所述附加的网络分组集合的转发。
18.如权利要求13所述的方法,其中所述流表条目指示所述第二交换机复制所述网络分组集合的入口版本并将复制的所述网络分组集合的入口版本转发到所述链路聚合组,其中所述流表条目指示所述第二交换机复制所述网络分组集合的出口版本并将复制的所述网络分组集合的出口版本转发到所述链路聚合组,并且其中,响应于在所述控制器处接收的用户输入,所述流表条目指示所述第二交换机仅复制和转发所述网络分组集合的入口版本和出口版本中的一个。
CN201680017120.XA 2015-02-10 2016-02-02 用于控制交换机以捕获和监视网络流量的系统和方法 Expired - Fee Related CN107431642B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/618,635 2015-02-10
US14/618,635 US9813323B2 (en) 2015-02-10 2015-02-10 Systems and methods for controlling switches to capture and monitor network traffic
PCT/US2016/016225 WO2016130365A1 (en) 2015-02-10 2016-02-02 Systems and methods for controlling switches to capture and monitor network traffic

Publications (2)

Publication Number Publication Date
CN107431642A CN107431642A (zh) 2017-12-01
CN107431642B true CN107431642B (zh) 2021-03-12

Family

ID=55442864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680017120.XA Expired - Fee Related CN107431642B (zh) 2015-02-10 2016-02-02 用于控制交换机以捕获和监视网络流量的系统和方法

Country Status (4)

Country Link
US (1) US9813323B2 (zh)
EP (1) EP3248331B1 (zh)
CN (1) CN107431642B (zh)
WO (1) WO2016130365A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016045098A1 (zh) * 2014-09-26 2016-03-31 华为技术有限公司 交换机、控制器、系统及链路质量检测方法
US10673744B2 (en) * 2015-09-23 2020-06-02 Extreme Networks, Inc. Methods, systems, and computer readable media for advanced distribution in a link aggregation group
US10979334B1 (en) * 2015-10-02 2021-04-13 MyDigitalShield, Inc. Systems and methods for monitoring network traffic
US10719341B2 (en) 2015-12-02 2020-07-21 Nicira, Inc. Learning of tunnel endpoint selections
US10069646B2 (en) 2015-12-02 2018-09-04 Nicira, Inc. Distribution of tunnel endpoint mapping information
US10164885B2 (en) * 2015-12-02 2018-12-25 Nicira, Inc. Load balancing over multiple tunnel endpoints
US9578050B1 (en) 2016-01-29 2017-02-21 International Business Machines Corporation Service delivery controller for learning network security services
US10757121B2 (en) * 2016-03-25 2020-08-25 Cisco Technology, Inc. Distributed anomaly detection management
US10511508B2 (en) * 2016-05-05 2019-12-17 Keysight Technologies Singapore (Sales) Pte. Ltd. Network packet forwarding systems and methods to push packet pre-processing tasks to network tap devices
JP6505172B2 (ja) 2016-08-25 2019-04-24 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation 仮想ネットワーク環境で仮想スイッチを利用してロードバランシングを処理する方法およびシステム
JP6505171B2 (ja) * 2016-08-25 2019-04-24 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation 仮想ネットワーク環境でループバックインタフェースを利用してdsrロードバランシングを処理する方法およびシステム
TWI641251B (zh) * 2016-11-18 2018-11-11 財團法人工業技術研究院 網路流量監控方法與系統
CN108429652A (zh) * 2017-02-14 2018-08-21 中兴通讯股份有限公司 基于sdn的远端流镜像控制方法、实现方法及相关设备
US10764209B2 (en) * 2017-03-28 2020-09-01 Mellanox Technologies Tlv Ltd. Providing a snapshot of buffer content in a network element using egress mirroring
US11102063B2 (en) * 2017-07-20 2021-08-24 Vmware, Inc. Methods and apparatus to cross configure network resources of software defined data centers
CN109309615B (zh) * 2017-07-27 2020-07-07 华为技术有限公司 传输数据的方法和设备
US10601704B2 (en) * 2017-07-31 2020-03-24 Cisco Technology, Inc. Asymmetric routing minimization
US10419327B2 (en) 2017-10-12 2019-09-17 Big Switch Networks, Inc. Systems and methods for controlling switches to record network packets using a traffic monitoring network
TWI664838B (zh) 2017-12-14 2019-07-01 財團法人工業技術研究院 在一網路中監測傳輸量的方法及裝置
CN108093048B (zh) * 2017-12-19 2021-04-02 北京盖娅互娱网络科技股份有限公司 一种用于获取应用交互数据的方法与装置
US11245644B2 (en) * 2018-01-19 2022-02-08 Super Micro Computer, Inc. Automatic multi-chassis link aggregation configuration
JP6992611B2 (ja) * 2018-03-09 2022-01-13 株式会社デンソー 中継装置
CN108777679B (zh) * 2018-05-22 2021-09-17 深信服科技股份有限公司 终端的流量访问关系生成方法、装置和可读存储介质
US20190394143A1 (en) * 2018-06-20 2019-12-26 Hewlett Packard Enterprise Development Lp Forwarding data based on data patterns
US10873476B2 (en) * 2018-12-31 2020-12-22 Big Switch Networks Llc Networks with multiple tiers of switches
US10862794B2 (en) 2019-01-31 2020-12-08 Dell Products L.P. Automated link aggregation group configuration system
US10999366B2 (en) * 2019-03-10 2021-05-04 Mellanox Technologies Tlv Ltd. Mirroring dropped packets
CN112152867B (zh) * 2019-06-28 2022-03-22 中国电信股份有限公司 流量矩阵测量方法、系统以及存储介质
US11233730B2 (en) * 2019-07-09 2022-01-25 Nvidia Corporation Network routing using aggregated links
DE102019210224A1 (de) * 2019-07-10 2021-01-14 Robert Bosch Gmbh Vorrichtung und Verfahren für Angriffserkennung in einem Rechnernetzwerk
US11252064B2 (en) * 2020-07-01 2022-02-15 Hewlett Packard Enterprise Development Lp System and method for monitoring ingress/egress packets at a network device
CN111913782A (zh) * 2020-07-29 2020-11-10 上海云轴信息科技有限公司 一种基于隧道技术实现虚拟机流量镜像的方法与设备
JP2022029306A (ja) * 2020-08-04 2022-02-17 富士通株式会社 ネットワークスイッチ,制御プログラムおよび制御方法
US11463340B2 (en) 2020-12-31 2022-10-04 Forescout Technologies, Inc. Configurable network traffic parser
CN113259198A (zh) * 2021-05-14 2021-08-13 优刻得科技股份有限公司 监测网络的方法、转发平面装置、存储介质和系统
WO2023244853A1 (en) * 2022-06-17 2023-12-21 Aviatrix Systems, Inc. High-performance communication link and method of operation
CN115001857B (zh) * 2022-07-19 2022-11-04 济南慧天云海信息技术有限公司 一种基于网闸的安全隔离与数据包分发方法、分发系统
US11743191B1 (en) 2022-07-25 2023-08-29 Vmware, Inc. Load balancing over tunnel endpoint groups

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001245335A1 (en) 2000-02-22 2001-09-03 Top Layer Networks, Inc. System and method for flow mirroring in a network switch
US6944678B2 (en) 2001-06-18 2005-09-13 Transtech Networks Usa, Inc. Content-aware application switch and methods thereof
EP1289191A1 (en) * 2001-09-03 2003-03-05 Agilent Technologies, Inc. (a Delaware corporation) Monitoring communications networks
US20030105881A1 (en) 2001-12-03 2003-06-05 Symons Julie Anna Method for detecting and preventing intrusion in a virtually-wired switching fabric
US6917986B2 (en) 2002-01-07 2005-07-12 Corrigent Systems Ltd. Fast failure protection using redundant network edge ports
US7734752B2 (en) 2002-02-08 2010-06-08 Juniper Networks, Inc. Intelligent integrated network security device for high-availability applications
US7120834B1 (en) 2002-03-29 2006-10-10 Marvell International Ltd. Fast port failover in a network switch
US7529180B1 (en) 2002-03-29 2009-05-05 Marvell International Ltd. Switch failover for aggregated data communication links
US6907039B2 (en) 2002-07-20 2005-06-14 Redback Networks Inc. Method and apparatus for routing and forwarding between virtual routers within a single network element
US20040139236A1 (en) 2003-01-09 2004-07-15 Pankaj Mehra Virtual switch
US7710867B1 (en) * 2003-05-23 2010-05-04 F5 Networks, Inc. System and method for managing traffic to a probe
US7801125B2 (en) 2004-10-22 2010-09-21 Cisco Technology, Inc. Forwarding table reduction and multipath network forwarding
JP4317828B2 (ja) 2005-03-15 2009-08-19 富士通株式会社 ネットワーク監視装置およびネットワーク監視方法
JP2006268149A (ja) 2005-03-22 2006-10-05 Toshiba Corp スキャナ装置およびこのスキャナ装置を備えた文書管理システム
DE102006023715A1 (de) 2006-05-19 2007-11-22 Abb Patent Gmbh Netzwerkanalyseeinrichtung
US20080189769A1 (en) 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
US8711852B2 (en) * 2007-09-24 2014-04-29 Ciena Corporation Systems and methods for port mirroring with network-scoped connection-oriented sink
US8711713B2 (en) * 2007-09-24 2014-04-29 Ciena Corporation Systems and methods for flow mirroring with network-scoped connection-oriented sink
US8248928B1 (en) * 2007-10-09 2012-08-21 Foundry Networks, Llc Monitoring server load balancing
US8300523B2 (en) 2008-07-28 2012-10-30 Cisco Technology, Inc. Multi-chasis ethernet link aggregation
US7860100B2 (en) 2008-10-01 2010-12-28 Cisco Technology, Inc. Service path selection in a service network
US8098572B2 (en) * 2009-02-03 2012-01-17 Google Inc. Interface monitoring for link aggregation
US8321938B2 (en) 2009-02-12 2012-11-27 Raytheon Bbn Technologies Corp. Multi-tiered scalable network monitoring
US8264955B2 (en) 2009-06-12 2012-09-11 Polytechnic Institute Of New York University Internet protocol fast reroute for shared risk link group failure recovery
US8832222B2 (en) 2009-10-05 2014-09-09 Vss Monitoring, Inc. Method, apparatus and system for inserting a VLAN tag into a captured data packet
DE102010005795B3 (de) 2010-01-27 2011-06-01 Autoliv Development Ab Schalenelement für die Schlosskappe eines Gurtschlosses, Gurtschloss und Verfahren zur Herstellung eines Schalenelementes
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
EP2572473B1 (en) 2010-05-19 2014-02-26 Telefonaktiebolaget L M Ericsson (PUBL) Methods and apparatus for use in an openflow network
US8837493B2 (en) 2010-07-06 2014-09-16 Nicira, Inc. Distributed network control apparatus and method
US8520540B1 (en) * 2010-07-30 2013-08-27 Cisco Technology, Inc. Remote traffic monitoring through a network
US8625435B2 (en) * 2010-09-17 2014-01-07 Verizon Patent And Licensing Inc. Generating and allocating performance monitoring traffic
US8565108B1 (en) 2010-09-28 2013-10-22 Amazon Technologies, Inc. Network data transmission analysis
US20130195110A1 (en) 2010-10-14 2013-08-01 Eiichirou Kojima Communication system, control device, method for setting processing rules, and program
US8819235B2 (en) 2010-10-20 2014-08-26 International Business Machines Corporation Multi-adapter link aggregation for adapters with hardware based virtual bridges
US9001827B2 (en) * 2010-12-17 2015-04-07 Big Switch Networks, Inc. Methods for configuring network switches
US20120250679A1 (en) 2011-03-29 2012-10-04 Amazon Technologies, Inc. Network Transpose Box and Switch Operation Based on Backplane Ethernet
US8670450B2 (en) * 2011-05-13 2014-03-11 International Business Machines Corporation Efficient software-based private VLAN solution for distributed virtual switches
US8964563B2 (en) 2011-07-08 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Controller driven OAM for OpenFlow
US8705551B2 (en) 2011-07-27 2014-04-22 Fujitsu Limited Method and system for management of flood traffic over multiple 0:N link aggregation groups
US9319459B2 (en) 2011-09-19 2016-04-19 Cisco Technology, Inc. Services controlled session based flow interceptor
US8995272B2 (en) 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
WO2013118873A1 (ja) 2012-02-10 2013-08-15 日本電気株式会社 制御装置、通信システム、通信方法およびプログラム
US8806606B2 (en) 2012-02-28 2014-08-12 Verizon Patent And Licensing Inc. Service aggregation in a cloud services center
US8693478B2 (en) 2012-03-16 2014-04-08 Cisco Technology, Inc. Multiple shortest-path tree protocol
US9184995B2 (en) 2012-04-11 2015-11-10 Gigamon Inc. Traffic visibility in an open networking environment
US8885492B2 (en) * 2012-07-10 2014-11-11 Cisco Technology, Inc. Methods and apparatus for analyzing network traffic in a network including a plurality of network analyzers
US9225549B2 (en) 2012-08-06 2015-12-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Multi-chassis link aggregation in a distributed virtual bridge
US8891516B2 (en) 2013-01-15 2014-11-18 International Business Machines Corporation Extended link aggregation (LAG) for use in multiple switches
US9344344B2 (en) * 2014-01-25 2016-05-17 Cisco Technology, Inc. Portable system for monitoring network flow attributes and associated methods

Also Published As

Publication number Publication date
CN107431642A (zh) 2017-12-01
US20160234091A1 (en) 2016-08-11
EP3248331B1 (en) 2019-09-25
WO2016130365A1 (en) 2016-08-18
US9813323B2 (en) 2017-11-07
EP3248331A1 (en) 2017-11-29

Similar Documents

Publication Publication Date Title
CN107431642B (zh) 用于控制交换机以捕获和监视网络流量的系统和方法
EP3072264B1 (en) Method for performing network service insertion
CN106605392B (zh) 用于使用控制器在网络上进行操作的系统和方法
CN106797351B (zh) 使用控制器执行逻辑网络转发的系统和方法
US9008080B1 (en) Systems and methods for controlling switches to monitor network traffic
US10270645B2 (en) Systems and methods for handling link aggregation failover with a controller
KR101572771B1 (ko) 가상 스위치를 통한 네트워크 트래픽 제어 시스템 및 방법
US9130870B1 (en) Methods for determining network topologies
US9413614B1 (en) Systems and methods for determining network topologies
US10142160B1 (en) System and methods for managing network hardware address requests with a controller
JP2017516417A (ja) コントローラにスイッチモデリングインターフェイスを使用してネットワークスイッチを制御するためのシステム及び方法
US10291533B1 (en) Systems and methods for network traffic monitoring
WO2013126195A1 (en) System and methods for managing network packet forwarding with a controller
US9548900B1 (en) Systems and methods for forwarding network packets in a network using network domain topology information
US11582102B2 (en) Systems and methods for integrating network switch management with computing resource management
US9356838B1 (en) Systems and methods for determining network forwarding paths with a controller
US9264295B1 (en) Systems and methods for forwarding broadcast network packets with a controller
US11582067B2 (en) Systems and methods for providing network connectors
US10873476B2 (en) Networks with multiple tiers of switches

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210312