CN111683018A - 镜像丢弃的分组 - Google Patents

镜像丢弃的分组 Download PDF

Info

Publication number
CN111683018A
CN111683018A CN202010155716.4A CN202010155716A CN111683018A CN 111683018 A CN111683018 A CN 111683018A CN 202010155716 A CN202010155716 A CN 202010155716A CN 111683018 A CN111683018 A CN 111683018A
Authority
CN
China
Prior art keywords
network
packet
encapsulated
network packet
destination address
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.)
Pending
Application number
CN202010155716.4A
Other languages
English (en)
Inventor
巴拉克·加夫尼
阿维夫·克夫伊尔
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.)
Mellanox Technologies Ltd
Original Assignee
Tel Aviv Melos Technology Co ltd
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 Tel Aviv Melos Technology Co ltd filed Critical Tel Aviv Melos Technology Co ltd
Publication of CN111683018A publication Critical patent/CN111683018A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/208Port mirroring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/23Bit dropping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

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

Abstract

在一个实施方式中,一种网络设备,包括:端口,其用于充当入口端口和出口端口;存储器,其用于储存接收到的网络分组;交换结构;控制器,其用于监控出口端口的队列以及决定丢弃所接收到的网络分组中的至少一个网络分组,所述网络分组具有与第一网络节点相关联的第一目的地址;以及镜像电路,其用于用包括与第一目的地址不同的第二目的地址的封装报头来封装网络分组,以及在网络设备内所接收到的网络分组的处理流水线中先于出口端口分配的点处将经封装的网络分组反馈至所述处理流水线中,其中交换结构被配置用于响应于封装报头中的第二目的地址将经封装的网络分组转发至分组分析器。

Description

镜像丢弃的分组
技术领域
本发明涉及镜像分组,尤其涉及镜像在网络设备中丢弃的分组。
背景技术
作为网络设备设计的一部分,可能出于各种原因而丢弃分组,包括在分组经过大部分处理和决策,有时包括调度之后,可能会做出丢弃分组的决定的情况。
在一种场景中,如果分组在队列头部等待的时间太长,则它们可能会被丢弃。例如,在无损网络中,流量控制可能会导致队列无法发送分组,并且在一些情况下,这可能会造成网络锁定。为了解决上述问题,可能会排空队列。
在另一场景中,分组可能在网络设备中花费了太多时间。例如,通常由于拥塞,分组可能在网络设备中驻留太久,这使其可能不再相关。因此,期望网络设备丢弃这样的分组。
在一些情况下,应用于网络设备中每个出口端口的生成树和/或VLAN过滤逻辑可能会阻止分组的转发。在其他情况下,网络设备中发生的错误可能会导致分组变得非法——这一点由无效的循环冗余校验(cyclic redundancy check,CRC)证明,从而导致非法分组被丢弃。
源于当前网络设备之外的“坏”CRC可能导致分组被丢弃。例如,在直通场景中,可能存在即使网络设备尚不知道CRC但分组却开始被网络设备传输的情况,因此在分组的一部分已经被传输之后,分组可能以无效状态到达。
最大传输单元(maximum transmission unit,MTU)违规可能导致分组被丢弃,例如,当分组大于链路上允许的大小时。
丢弃的分组可以被镜像到分组分析器,以便了解分组为什么被丢弃。例如,授予Balasubramaniam Chandra的美国专利8,095,683描述了一种通过扩展端口镜像来镜像丢弃的分组的系统。网络设备,诸如防火墙和路由器等,在数据传输期间由于各种安全问题、拥塞和分组中的错误而丢弃某些分组。丢弃的分组通过扩展端口镜像而在用户指定的目的端口得到镜像。继而,可以通过外部流量分析器进一步分析所镜像的分组。分析可以帮助找出防火墙规则与防火墙处安全策略之间的任何不匹配。此外,该分析还有助于找出在转发设备(诸如路由器、网桥、交换机、防火墙等)处丢弃的分组中有用数据的损失程度。
Hegge等人的美国专利公开2001/0055274描述了一种具有多个镜像端口的网络交换机,数据被复制到这些端口以用于诸如联网监控等目的。响应于数据流的类型、网络管理员设置的镜像策略以及分发机制,对数据流加以标识并将其复制到合适的镜像端口。附接至每个镜像端口的监控设备能够监控特定类型的流量。镜像端口被收集成这样的端口的组。一个给定的端口一次只能是一个组的成员。镜像策略必须标识特定类型的流被复制到的组。
发明内容
根据本公开的实施方式提供了一种网络设备,包括:多个端口,其被配置用于充当用于从网络接收网络分组的入口端口和用于转发所述网络分组中的至少一些网络分组的出口端口;交换结构,其被配置用于至少根据所接收到的网络分组的目的地址将所述入口端口与所述出口端口选择性地连接起来;控制器,其被配置用于监控所述出口端口的队列以及决定丢弃所接收到的网络分组中的至少一个网络分组,该网络分组具有与第一网络节点相关联的第一目的地址;以及镜像电路,其被配置用于封装所述网络分组从而产生具有包括与所述第一目的地址不同的第二目的地址的封装报头的经封装的网络分组,以及在所述网络设备内所接收到的网络分组的处理流水线中先于出口端口分配的点处将所述经封装的网络分组反馈至该处理流水线中,其中所述交换结构被配置用于至少基于所述封装报头中的所述第二目的地址将所述经封装的网络分组转发至分组分析器。
进一步根据本公开的实施方式,所述镜像电路被配置用于在所述网络分组已经被分配至为将流量转发至所述第一网络节点而分配的所述出口端口之一后封装所述网络分组。
再进一步根据本公开的实施方式,所述设备包括存储器,其中所述镜像电路被配置用于在所述网络分组的至少一些数据已经从所述存储器读取至为将流量转发至所述第一网络节点而分配的所述出口端口之一后封装所述网络分组。
另外,根据本公开的实施方式,所述控制器被配置用于决定排空包括所述网络分组中的多个网络分组的队列之一,从而导致丢弃包括所述网络分组的所述多个网络分组。
此外,根据本公开的实施方式,所述分组分析器安置在所述网络设备之外,所述交换结构被配置用于将所述经封装的网络分组分配至所述出口端口之一,所分配的出口端口被配置用于经由网络将所述经封装的网络分组转发至所述分组分析器。
进一步根据本公开的实施方式,所述分组分析器安置在所述网络设备之外,所述交换结构被配置用于将所述经封装的网络分组分配至所述出口端口之一,所分配的出口端口被配置用于将所述经封装的网络分组转发至所述分组分析器,所述分组分析器直接连接至所述网络设备。
再进一步根据本公开的实施方式,所述设备包括处理单元,其中所述分组分析器被包含在所述处理单元中,所述交换结构被配置用于响应于至少读取所述封装报头中的所述第二目的地址将所述经封装的网络分组传送至所述处理单元中的所述分组分析器。
另外,根据本公开的实施方式,所述设备包括处理单元,其中所述处理单元运行与所述分组分析器连接的代理,所述交换结构被配置用于响应于至少读取所述封装报头中的所述第二目的地址将所述经封装的网络分组传送至所述处理单元中的所述代理。
此外,根据本公开的实施方式,所述镜像电路被配置用于将元数据包含在所述经封装的网络分组的封装报头中。
进一步根据本公开的实施方式,所述元数据包括以下各项中的一个或多个:入口端口标识、入口优先级、入口时间戳、出口时间戳、网络分组填充的填充计数、分组交换网络标识、第一目的地址的出口端口的标识、网络分组是单播分组还是多播分组、出口队列、入口缓冲区填充水平、出口缓冲区填充水平、旗标、镜像原因,以及镜像代理标识。
根据本公开的另一实施方式还提供了一种镜像方法,包括:在网络设备中从网络接收网络分组;转发所述网络分组中的至少一些网络分组;储存所接收到的网络分组;至少根据所接收到的网络分组的目的地址将入口端口与出口端口选择性地连接起来;监控所述出口端口的队列;决定丢弃所接收到的网络分组中的至少一个网络分组,所述网络分组具有与第一网络节点相关联的第一目的地址;封装所述网络分组从而产生具有包括与所述第一目的地址不同的第二目的地址的封装报头的经封装的网络分组;在所述网络设备内所接收到的网络分组的处理流水线中先于出口端口分配的点处将所述经封装的网络分组反馈至所述处理流水线中;以及至少基于所述封装报头中的所述第二目的地址将所述经封装的网络分组转发至分组分析器。
再进一步根据本公开的实施方式,所述封装在所述网络分组已经被分配至为将流量转发至所述第一网络节点而分配的所述出口端口之一后进行。
另外,根据本公开的实施方式,所述封装在所述网络分组的至少一些数据已经从存储器读取至为将流量转发至所述第一网络节点而分配的所述出口端口之一后进行。
此外,根据本公开的实施方式,所述方法包括决定排空包括所述网络分组中的多个网络分组的队列之一,从而导致丢弃包括所述网络分组的所述多个网络分组。
进一步根据本公开的实施方式,所述分组分析器安置在所述网络设备之外,所述方法还包括:将所述经封装的网络分组分配至所述出口端口之一,以及经由所述网络将所述经封装的网络分组转发至所述分组分析器。
再进一步根据本公开的实施方式,所述分组分析器安置在所述网络设备之外,所述方法还包括:将所述经封装的网络分组分配至所述出口端口之一,以及将所述经封装的网络分组转发至所述分组分析器,所述分组分析器直接连接至所述网络设备。
另外,根据本公开的实施方式,所述分组分析器被包含在所述网络设备的处理单元中,所述方法进一步包括响应于至少读取所述封装报头中的所述第二目的地址将所述经封装的网络分组传送至所述处理单元中的所述分组分析器。
此外,根据本公开的实施方式,所述网络设备的处理单元运行与所述分组分析器连接的代理,所述方法进一步包括响应于至少读取所述封装报头中的所述第二目的地址将所述经封装的网络分组传送至所述处理单元中的所述代理。
进一步根据本公开的实施方式,所述方法包括将元数据包含在所述经封装的网络分组的封装报头中。
再进一步根据本公开的实施方式,所述元数据包括以下各项中的一个或多个:入口端口标识、入口优先级、入口时间戳、出口时间戳、网络分组填充的填充计数、分组交换网络标识、第一目的地址的出口端口的标识、网络分组是单播分组还是多播分组、出口队列、入口缓冲区填充水平、出口缓冲区填充水平、旗标、镜像原因,以及镜像代理标识。
附图说明
通过以下详细描述并结合附图将会理解本发明,其中:
图1是根据本发明的实施方式构建并操作的网络设备的框图视图;
图2是图1的网络设备中处理逻辑的第一部分的框图视图;
图3是图2的处理逻辑的第二部分的框图视图;
图4是图2的处理逻辑的备选第二部分的框图视图;
图5是包括图1的网络设备内的分组转发方法中的示例性步骤的流程图;
图6是包括图1的网络设备内的分组镜像方法中的示例性步骤的流程图;以及
图7A至图7B示出了根据本发明的实施方式,网络分组在封装之前和之后的示意图。
具体实施方式
概述
如上所述,作为网络设备设计的一部分,可能出于各种原因而丢弃分组,包括在分组已经经过大部分处理和决策,有时包括调度之后,可能会做出丢弃分组的决定的情况。
在分组已经经过网络设备中的大部分处理流水线后对分组进行镜像带来了挑战,因为分组可能已经被分配至出口端口并且在一些情况下分组数据可能已经从存储器读取以便传输该分组。简单地更改转发决策以在处理流水线后期进行镜像可能实际上是不可能的。因此,从操作者的角度来看,在处理流水线的后期阶段将分组丢弃的背后原因是比较难理解的。
在本发明的实施方式中,可以将丢弃的分组镜像至分组分析器,即使在网络设备的处理流水线的后期,例如,在分组已经被分配至出口端口之后,或者在一些分组数据已经从存储器读取以便传输该分组的情况下。镜像可以使网络操作者能够理解为什么分组会被丢弃——即使在处理流水线的后期,并且可能有助于消除导致分组被丢弃的根本原因。
镜像可以由用封装报头封装每个待丢弃的分组的网络设备来执行,该封装报头包括分组分析器节点的目的地址。包含于报头中的目的地址可以是目的MAC地址,或者目的IP地址,仅供举例说明。封装可以通过通常安置在出口端口区域中或网络设备中任何其他适当位置的镜像电路来执行。
网络设备将每个经封装分组反馈至网络设备的处理流水线中的较早阶段,例如,反馈至在分配出口端口之前的阶段。继而,网络设备的正常流水线处理至少响应于封装报头中包含的目的地址而将经封装分组转发到分组分析器节点。具体地,所述封装使得网络设备的交换结构根据封装报头中分组分析器节点的目的地址进行转发,而不是根据分组的原始接收者的目的地址进行转发,包括更改到新的出口端口。
使用上述技术,有可能将分组镜像到网络中的任何位置,而不一定镜像到本地连接的分析器,也不一定镜像到专门用于分组分析器节点的端口。
在一些实施方式中,网络设备向经封装分组添加相关元数据,以辅助分组分析器节点。
在一些实施方式中,网络设备的控制器或处理单元运行分组分析器或连接到分组分析器的代理。在这些实施方式中,镜像电路用具有目的地址的封装报头来封装分组,该目的地址由交换结构解译为与控制器或处理单元相关联。继而,交换结构将分组转发到网络设备内的控制器或处理单元。
系统描述
现参考图1,其为根据本发明的实施方式构建并操作的网络设备10的框图视图。网络设备10可以是任何用于转发分组的适当网络设备,例如但不限于第1层交换机或第2层交换机,或者路由器。网络设备10包括多个端口12、处理电路13、交换结构14、控制器16、镜像电路18和存储器20。网络设备10可以包括处理单元,诸如参考图4更详细描述的中央处理器(CPU)15。为了简单起见,没有示出其他可能包括在网络设备10中的标准元件。
端口12可以被配置成充当用于从网络21接收网络分组的入口端口12-1,以及用于转发至少一些接收到的网络分组(因为一些接收到的网络分组可能在网络设备10中被丢弃)的出口端口12-2。因此,每个端口12具有入口端口部件(Rx)12-1和出口端口部件(Tx)12-2。在图1的示例性实施方式中,为简单起见,图1左侧示出了入口端口部件12-1,且图1右侧示出了出口端口部件12-2。
每个入口端口12-1可以执行以下功能中的一个或多个:接收网络分组、终止来自外部设备的物理链路。
处理电路13可以至少执行以下功能中的一个或多个:数据链路层功能、转发表查找、向交换结构14转发网络分组。
交换结构14被配置用于至少根据接收到的网络分组的目的地址将入口端口12-1与出口端口12-2选择地性地连接起来以及执行排队功能。下面参考图2至图6更详细地描述交换结构14。
控制器16被配置用于执行以下功能中的一个或多个:执行路由协议,维护转发表,以及监控出口端口的队列并响应于队列监控来决定丢弃接收到的网络分组中的一个或多个网络分组。下面参考图2至图6更详细地描述控制器16。
每个出口端口可以执行以下功能中的一个或多个:将传入的网络分组储存在队列中、在传出链路上传输网络分组,以及执行数据链路和物理(Phy)层功能。
镜像电路18被配置用于将待丢弃的网络分组镜像到分组分析器节点34。如图1中所示,分组分析器节点34被安置在网络21中。分组分析器节点34可以被安置在任何合适的位置,例如但不限于直接连接到网络设备10(诸如连接到端口12之一)和/或作为软件程序在控制器16中运行。下面参考图2至图6更详细地描述镜像电路18和分组分析器34。
存储器20被配置用于储存在网络设备10中的各个处理阶段(例如但不限于在网络分组处于各个队列和其他缓冲阶段时)接收到的网络分组。存储器20可以实现成单一项,或者相同或不同类型的易失性存储器中的不止一个存储器。
端口12、处理电路13、交换结构14、控制器16和镜像电路18的功能可以使用单个物理组件实现,或者备选地使用多个物理组件实现。这些物理组件可以包括硬连线或可编程器件,或者两者的组合。在一些实施方式中,至少一些上述功能可以由可编程处理器在适当软件的控制下完成。该软件可以以电子形式,例如通过网络,下载到网络设备10。备选地或附加地,所述软件可以储存在有形、非暂时性计算机可读存储介质中,诸如光、磁或电子存储器中。
现参考图2,其为图1的网络设备10中处理逻辑的第一部分的框图视图。图2示出了Rx 0逻辑24-0接收到的分组(未示出)在处理流水线26中进行处理。为Rx 0逻辑24-0接收的分组服务的处理流水线26的一部分被标记为26-0,并且为Rx 1逻辑24-1接收的分组服务的处理流水线26的一部分被标记为26-1。Rx 0逻辑24-0通常执行上文参考图1描述的入口端口12-1的功能。处理流水线26通常执行上文参考图1描述的处理电路13的功能,包括检索目的地址并将其映射到出口端口。交换逻辑28通常执行参考图1描述的交换结构14的功能,至少根据每个接收到的网络分组的目的地址将入口端口12-1与出口端口12-2选择性地连接起来,以及将网络分组转发到Tx 0逻辑30-0。Tx 0逻辑30-0通常执行上文参考图1描述的出口端口功能,至少根据每个网络分组中的目的地址将网络分组转发到第一网络节点32。箭头38示出了网络分组从Rx 0逻辑24-0到Tx 0逻辑30-0的处理路径。
在图2的示例中,对Tx 0逻辑30-0的队列进行监控的控制器16确定应当丢弃队列中的一个或多个网络分组,或者应当排空整个队列。在排空队列之前,控制器16命令镜像电路18(图1)执行待丢弃的网络分组到分组分析器节点34的镜像,所述分组分析器节点34经由网络21连接到Tx 1逻辑30-1。所述镜像可以包括将所有待丢弃的网络分组镜像到分组分析器节点34,或者仅对待丢弃的网络分组中的一些分组进行镜像。
镜像电路18用封装报头(框40)来封装待丢弃的网络分组中的一个或多个网络分组,其中每个待丢弃的网络分组被封装在其自己的封装报头中。封装报头包含与分组分析器节点34相关联的目的地址以及可选的元数据,该元数据可由分组分析器节点34用来确定是什么引起了导致丢弃网络分组的问题。在说明书和权利要求书中使用的术语“封装”在其所有语法形式下包括向包含报头(即,接收到的分组报头)和净荷的分组添加附加报头(例如,封装报头),使得经封装的分组包括封装报头、接收到的分组报头和分组净荷。
在处理流水线26中出口端口分配之前的阶段,镜像电路18将经封装的网络分组反馈到处理流水线26中,例如,反馈到入口端口12-1之一,诸如Rx 1逻辑24-1(经由箭头44)。例如,Rx 1逻辑24-1被选择作为反馈点。然而,经封装的分组可以被反馈到任何合适的入口端口12-1,或者处理流水线26中处于处理流水线26在出口端口分配之前的阶段中的任何合适的点。
现参考图3,其为图2的处理逻辑的第二部分的框图视图。经封装的网络分组由Rx1逻辑24-1接收,并且继而由处理流水线26-1处理。Rx 1逻辑24-1和处理流水线26-1通常相应地执行上文参考图1描述的入口端口12-1的功能和处理电路13的功能。在由处理流水线26-1处理之后,经封装的网络分组由交换逻辑28选择性地转发到Tx 1逻辑30-1,所述Tx 1逻辑30-1经由网络21将经封装的网络分组转发到分组分析器节点34。箭头48示出了网络分组从Rx 1逻辑24-1到分组分析器节点34的处理路径。在一些实施方式中,分组分析器节点34可以直接连接到网络设备10,使得经封装的网络分组不需要经由网络21行进到达分组分析器节点34。
现参考图4,其为图2的处理逻辑的备选第二部分的框图视图。在一些实施方式中,CPU 15运行分组分析器或连接到分组分析器的代理(位于网络设备10中,本地连接到网络设备10,或者经由网络21连接到网络设备10)。在这些实施方式中,镜像电路18(图1)用具有目的地址的封装报头来封装一个或多个待丢弃的网络分组,该目的地址由交换逻辑28解译为与CPU 15相关联。镜像电路18根据上文参考图1描述的方法来反馈经封装的网络分组。
这里提到的关于分组分析器和代理的功能可以由控制器16或者除了CPU 15之外的任何其他合适的处理单元来执行,其中代理和/或分组分析器在控制器16或其他处理单元上运行。
如果经封装的网络分组被反馈到Rx 1逻辑24-1(举例而言),则经封装的网络分组由Rx 1逻辑24-1接收,并且继而由处理流水线26-1处理。Rx 1逻辑24-1和处理流水线26-1通常执行上文参考图1描述的入口端口12-1的功能和处理电路13的功能。在由处理流水线26-1处理之后,经封装的网络分组由交换逻辑28选择性地转发到网络设备10内的控制器16。箭头50示出了网络分组从Rx1逻辑24-1到控制器16的处理路径。在一些实施方式中,代理可以在将经封装的网络分组转发到分组分析器之前添加另一层封装(可选地使用元数据)。
现参考图5,其为包括图1的网络设备10的操作方法中示例性步骤的流程图60。入口端口12-1被配置用于接收(框62)网络分组。一些网络分组具有包含第一网络节点32(图2至图4)的目的地址的分组报头。交换结构14(图1)被配置用于至少根据接收到的网络分组的目的地址而将入口端口12-1与出口端口12-2选择性地连接起来(框64)。交换结构14被配置用于至少根据每个网络分组的目的地址将网络分组分配(框66)到出口端口12-2,以及开始将分组数据读取到相关出口端口12-2。包括第一网络节点32的目的地址的网络分组被分配到与第一网络节点32相关联的出口端口12-2。该出口端口12-2被配置用于至少根据每个分组的目的地址将至少一些网络分组转发(框68)到相关网络节点。上述过程还可以用于经封装的网络分组,其中转发经封装的分组是至少根据封装报头中的目的地址而不是根据添加该封装报头之前原始分组的报头中的目的地址进行的。
现参考图6,其为包括图1的网络设备10中的分组镜像方法中示例性步骤的流程图70。同时参考图1。
控制器16被配置用于监控(框72)出口端口12-2的队列,以及决定(框74)丢弃接收到的网络分组中的一个或多个网络分组。控制器16可以被配置用于决定排空包括多个网络分组的队列之一,从而导致丢弃多个网络分组。
镜像电路18被配置用于接收(框76)丢弃具有与第一网络节点32(图2)相关联的第一目的地址的网络分组的决定。镜像电路18被配置用于从存储器20检索(框78)具有第一目的地址的网络分组。镜像电路18还通常被配置用于确定应当对哪个网络分组进行镜像。
镜像电路18可选地被配置用于生成(框80)用于向每个检索到的网络分组的封装报头添加的元数据。元数据可以包括以下一项或多项:由检索到的网络分组所使用的入口端口的入口端口标识;该入口端口的入口端口优先级;检索到的网络分组的入口时间戳;检索到的网络分组的出口时间戳;检索到的网络分组的填充的填充计数;分组交换网络标识;检索到的网络分组被分配到的出口端口的出口端口标识;检索到的网络分组是单播分组还是多播分组;检索到的网络分组的出口队列标识;入口缓冲区填充水平;出口缓冲区填充水平;旗标;镜像原因;以及镜像代理标识(例如,分组分析器节点34的内部标识)。旗标可以包括下列各项中的任何一个或多个:时间戳字段有效,分组被截断,原始分组大小有效,出口端口字段有效,分组序列号字段有效,入口端口字段有效,出口端口字段是链路聚合(linkaggregation,LAG),入口端口字段是LAG。
镜像电路18被配置用于封装(框82)检索到的网络分组(或每个所述检索到的网络分组)从而产生具有封装报头的经封装的网络分组(或多个网络分组),所述封装报头包括与第一网络节点32(图2)的第一目的地址不同的第二目的地址。镜像电路18可选地被配置用于将生成的元数据包含在经封装的网络分组的封装报头中。
在一些实施方式中,镜像电路18被配置用于在网络分组已经被分配到为向第一网络节点32转发流量而分配的出口端口12-2之一后封装网络分组。在一些实施方式中,镜像电路18被配置用于在网络分组的至少一些数据已从存储器20读取到为向第一网络节点32转发流量而分配的出口端口12-2之一后封装网络分组。
镜像电路18被配置用于在网络设备10内接收到的网络分组的处理流水线26中先于出口端口12-2分配的点处将经封装的网络分组反馈(框84)至所述处理流水线26(图2至图4)中。在一些实施方式中,镜像电路18被配置用于将经封装的网络分组反馈到入口端口12-1之一(例如,图2的Rx 1逻辑24-1)。
交换结构14被配置用于(框86)至少基于(每个经封装的分组的)封装报头中的第二目的地址,并根据在处理流水线26中作出的决策,将经封装的网络分组转发到分组分析器节点34。
如图3中所示,当分组分析器节点34被安置在网络设备10之外时,交换结构14被配置用于将经封装的网络分组分配到出口端口12-2中与分组分析器节点34的第二目的地址相关联的一个出口端口。所分配的出口端口12-2被配置用于将经封装的网络分组转发(框88)到分组分析器节点34。在一些实施方式中,与分组分析器节点34的第二目的地址相关联的出口端口12-2不是专用于分组分析器节点34。例如,可能存在将出口端口12-2与分组分析器节点34连接起来的附加网络元件。
当分组分析器被包括在CPU 15(或控制器16)中时,交换结构14被配置用于响应于至少读取(每个经封装的分组的)封装报头中的第二目的地址来将经封装的网络分组传输(框89)到CPU 15(或控制器16)中的分组分析器。
现参考图7A至图7B,其示出了根据本发明的实施方式,在封装之前和之后的网络分组90的示意图。图7A示出了包括具有目的地址94(例如,第一网络节点32的目的地址1)的报头92和分组净荷96的网络分组90。图7B示出了网络分组90现在已经由封装报头98封装,所述封装报头98包括目的地址100(例如,分组分析器节点34的目的地址2)和元数据102。
为清晰起见,在单独的实施方式的上下文中描述的本发明各个特征也可以组合在单一实施方式中提供。反之,为简洁起见,在单一实施方式的上下文中描述的本发明各个特征也可以单独地提供或以任何适当的子组合形式提供。
上述实施方式是作为示例引用的,且本发明不受上述的具体表示和描述的限制。相反,本发明的范围包括上述各个特征的组合和子组合,以及本领域技术人员在阅读以上描述时所想到的,且未在现有技术中公开的变化和修改。

Claims (15)

1.一种网络设备,包括:
多个端口,其被配置用于充当用于从网络接收网络分组的入口端口和用于转发所述网络分组中的至少一些网络分组的出口端口;
交换结构,其被配置用于至少根据所接收到的网络分组的目的地址将所述入口端口与所述出口端口选择性地连接起来;
控制器,其被配置用于监控所述出口端口的队列以及决定丢弃所接收到的网络分组中的至少一个网络分组,所述网络分组具有与第一网络节点相关联的第一目的地址;以及
镜像电路,其被配置用于:
封装所述网络分组从而产生具有封装报头的经封装的网络分组,所述封装报头包括与所述第一目的地址不同的第二目的地址;以及
在所述网络设备内所接收到的网络分组的处理流水线中先于出口端口分配的点处,将所述经封装的网络分组反馈至所述处理流水线中,其中所述交换结构被配置用于至少基于所述封装报头中的所述第二目的地址将所述经封装的网络分组转发至分组分析器。
2.根据权利要求1所述的设备,其中所述镜像电路被配置用于在所述网络分组已经被分配至为将流量转发至所述第一网络节点而分配的所述出口端口之一后封装所述网络分组。
3.根据权利要求1所述的设备,还包括存储器,其中所述镜像电路被配置用于在所述网络分组的至少一些数据已经从所述存储器读取至为将流量转发至所述第一网络节点而分配的所述出口端口之一后封装所述网络分组。
4.根据权利要求1所述的设备,其中所述控制器被配置用于决定排空包括所述网络分组中的多个网络分组的所述队列之一,从而导致丢弃包括所述网络分组的所述多个网络分组。
5.根据权利要求1所述的设备,其中所述分组分析器安置在所述网络设备之外,所述交换结构被配置用于将所述经封装的网络分组分配至所述出口端口之一,所分配的出口端口被配置用于经由所述网络将所述经封装的网络分组转发至所述分组分析器。
6.根据权利要求1所述的设备,其中所述分组分析器安置在所述网络设备之外,所述交换结构被配置用于将所述经封装的网络分组分配至所述出口端口之一,所分配的出口端口被配置用于将所述经封装的网络分组转发至所述分组分析器,所述分组分析器直接连接至所述网络设备。
7.根据权利要求1所述的设备,还包括处理单元,其中所述分组分析器被包含在所述处理单元中,所述交换结构被配置用于响应于至少读取所述封装报头中的所述第二目的地址而将所述经封装的网络分组传送至所述处理单元中的所述分组分析器。
8.根据权利要求1所述的设备,还包括处理单元,其中所述处理单元运行与所述分组分析器连接的代理,所述交换结构被配置用于响应于至少读取所述封装报头中的所述第二目的地址而将所述经封装的网络分组传送至所述处理单元中的所述代理。
9.一种镜像方法,包括:
在网络设备中从网络接收网络分组;
转发所述网络分组中的至少一些网络分组;
储存所接收到的网络分组;
至少根据所接收到的网络分组的目的地址,将入口端口与出口端口选择性地连接起来;
监控所述出口端口的队列;
决定丢弃所接收到的网络分组中的至少一个网络分组,所述网络分组具有与第一网络节点相关联的第一目的地址;
封装所述网络分组从而产生具有封装报头的经封装的网络分组,所述封装报头包括与所述第一目的地址不同的第二目的地址;
在所述网络设备内所接收到的网络分组的处理流水线中先于出口端口分配的点处,将所述经封装的网络分组反馈至所述处理流水线中;以及
至少基于所述封装报头中的所述第二目的地址将所述经封装的网络分组转发至分组分析器。
10.根据权利要求9所述的方法,其中所述封装在所述网络分组已经被分配至为将流量转发至所述第一网络节点而分配的所述出口端口之一后进行。
11.根据权利要求9所述的方法,其中所述封装在所述网络分组的至少一些数据已经从存储器读取至为将流量转发至所述第一网络节点而分配的所述出口端口之一后进行。
12.根据权利要求9所述的方法,还包括决定排空包括所述网络分组中的多个网络分组的队列之一,从而导致丢弃包括所述网络分组的多个网络分组。
13.根据权利要求9所述的方法,其中所述分组分析器安置在所述网络设备之外,所述方法还包括:将所述经封装的网络分组分配至所述出口端口之一;以及经由所述网络将所述经封装的网络分组转发至所述分组分析器。
14.根据权利要求9所述的方法,其中所述分组分析器安置在所述网络设备之外,所述方法还包括:将所述经封装的网络分组分配至所述出口端口之一;以及将所述经封装的网络分组转发至所述分组分析器,所述分组分析器直接连接至所述网络设备。
15.根据权利要求9所述的方法,其中所述分组分析器被包含在所述网络设备的处理单元中,进一步包括响应于至少读取所述封装报头中的所述第二目的地址而将所述经封装的网络分组传送至所述处理单元中的所述分组分析器。
CN202010155716.4A 2019-03-10 2020-03-09 镜像丢弃的分组 Pending CN111683018A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/297,666 2019-03-10
US16/297,666 US10999366B2 (en) 2019-03-10 2019-03-10 Mirroring dropped packets

Publications (1)

Publication Number Publication Date
CN111683018A true CN111683018A (zh) 2020-09-18

Family

ID=69784224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010155716.4A Pending CN111683018A (zh) 2019-03-10 2020-03-09 镜像丢弃的分组

Country Status (3)

Country Link
US (1) US10999366B2 (zh)
EP (1) EP3709584B1 (zh)
CN (1) CN111683018A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10834006B2 (en) 2019-01-24 2020-11-10 Mellanox Technologies, Ltd. Network traffic disruptions
US11909609B1 (en) * 2019-07-17 2024-02-20 F5, Inc. Methods for managing insertion of metadata into a data stream to assist with analysis of network traffic and devices thereof
US20230075971A1 (en) * 2021-09-09 2023-03-09 Hewlett Packard Enterprise Development Lp Dropped traffic rerouting for analysis
US11962481B2 (en) 2022-05-26 2024-04-16 Mellanox Technologies, Ltd. Method and system to mirror telemetry data

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041042A (en) * 1997-05-27 2000-03-21 Cabletron Systems, Inc. Remote port mirroring system and method thereof
US20040003094A1 (en) * 2002-06-27 2004-01-01 Michael See Method and apparatus for mirroring traffic over a network
US20050114522A1 (en) * 2003-11-26 2005-05-26 Lavigne Bruce E. Remote mirroring using IP encapsulation
US20050220091A1 (en) * 2004-03-31 2005-10-06 Lavigne Bruce E Secure remote mirroring
US20070208838A1 (en) * 2006-03-01 2007-09-06 Cisco Technology, Inc. Method and system for mirroring dropped packets
CN101953124A (zh) * 2008-02-15 2011-01-19 思科技术公司 在数据通信网络中构造绕过多条不可用链路的修复路径
CN104025525A (zh) * 2012-12-14 2014-09-03 英特尔公司 网络元件关于分组丢弃的通知
CN105191235A (zh) * 2013-03-20 2015-12-23 马维尔国际贸易有限公司 针对慢速和快速端口的直通处理
US20160087916A1 (en) * 2014-09-22 2016-03-24 Dell Products L.P. Event-based packet mirroring
CN106982179A (zh) * 2016-12-30 2017-07-25 中国银联股份有限公司 一种网络流量控制方法以及交换机设备
US20170339074A1 (en) * 2016-05-18 2017-11-23 Marvell Israel (M.I.S.L) Ltd. Egress flow mirroring in a network device
CN107431642A (zh) * 2015-02-10 2017-12-01 大交换机网络股份有限公司 用于控制交换机以捕获和监视网络流量的系统和方法
CN107690778A (zh) * 2015-05-29 2018-02-13 微软技术许可有限责任公司 使用镜像探测分组测量网络的性能
US20180091387A1 (en) * 2016-09-27 2018-03-29 Mellanox Technologies Tlv Ltd. Network monitoring using selective mirroring
EP3334104A1 (en) * 2016-12-08 2018-06-13 Alcatel Lucent A network element and packet forwarding network element with traffic mirroring function, and corresponding method

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347637A (en) 1989-08-08 1994-09-13 Cray Research, Inc. Modular input/output system for supercomputers
US6041058A (en) 1997-09-11 2000-03-21 3Com Corporation Hardware filtering method and apparatus
US20010055274A1 (en) 2000-02-22 2001-12-27 Doug Hegge System and method for flow mirroring in a network switch
CN1286038C (zh) 2003-10-17 2006-11-22 中兴通讯股份有限公司 基于双环形队列、非中断式pci通信方法
US7974196B2 (en) 2006-03-21 2011-07-05 Cisco Technology, Inc. Method and system of using counters to monitor a system port buffer
US8208380B1 (en) 2006-11-22 2012-06-26 Marvell Israel (M.I.S.L) Ltd. Lossless system support using circular buffer allocation
US8605588B2 (en) 2007-05-08 2013-12-10 Cisco Technology, Inc. Packet drop analysis for flows of data
US8861374B2 (en) 2012-03-30 2014-10-14 Cisco Technology, Inc. Methods and apparatus for compensating for time-based sampling by sample packet elimination during export of sampled packets
US9077619B2 (en) * 2012-09-18 2015-07-07 Cisco Technology, Inc. Exporting real time network traffic latency and buffer occupancy
US9411644B2 (en) 2014-03-07 2016-08-09 Cavium, Inc. Method and system for work scheduling in a multi-chip system
JP6733147B2 (ja) 2015-10-07 2020-07-29 富士通株式会社 通信システム、中継方法、及び中継プログラム
US10033607B2 (en) 2015-10-13 2018-07-24 Nxp Usa, Inc. Packet loss debug system and method
US10230810B1 (en) * 2016-03-18 2019-03-12 Barefoot Networks, Inc. Storing packet data in mirror buffer
US10243971B2 (en) 2016-03-25 2019-03-26 Arbor Networks, Inc. System and method for retrospective network traffic analysis
US10387074B2 (en) 2016-05-23 2019-08-20 Mellanox Technologies Tlv Ltd. Efficient use of buffer space in a network switch
JP2018074511A (ja) 2016-11-02 2018-05-10 富士通株式会社 パケットキャプチャ方法及びパケットキャプチャシステム
US10397144B2 (en) 2016-12-22 2019-08-27 Intel Corporation Receive buffer architecture method and apparatus
US10277518B1 (en) * 2017-01-16 2019-04-30 Innovium, Inc. Intelligent packet queues with delay-based actions

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041042A (en) * 1997-05-27 2000-03-21 Cabletron Systems, Inc. Remote port mirroring system and method thereof
US20040003094A1 (en) * 2002-06-27 2004-01-01 Michael See Method and apparatus for mirroring traffic over a network
US20050114522A1 (en) * 2003-11-26 2005-05-26 Lavigne Bruce E. Remote mirroring using IP encapsulation
US20050220091A1 (en) * 2004-03-31 2005-10-06 Lavigne Bruce E Secure remote mirroring
US20070208838A1 (en) * 2006-03-01 2007-09-06 Cisco Technology, Inc. Method and system for mirroring dropped packets
CN101953124A (zh) * 2008-02-15 2011-01-19 思科技术公司 在数据通信网络中构造绕过多条不可用链路的修复路径
CN104025525A (zh) * 2012-12-14 2014-09-03 英特尔公司 网络元件关于分组丢弃的通知
CN105191235A (zh) * 2013-03-20 2015-12-23 马维尔国际贸易有限公司 针对慢速和快速端口的直通处理
US20160087916A1 (en) * 2014-09-22 2016-03-24 Dell Products L.P. Event-based packet mirroring
CN107431642A (zh) * 2015-02-10 2017-12-01 大交换机网络股份有限公司 用于控制交换机以捕获和监视网络流量的系统和方法
CN107690778A (zh) * 2015-05-29 2018-02-13 微软技术许可有限责任公司 使用镜像探测分组测量网络的性能
US20170339074A1 (en) * 2016-05-18 2017-11-23 Marvell Israel (M.I.S.L) Ltd. Egress flow mirroring in a network device
US20180091387A1 (en) * 2016-09-27 2018-03-29 Mellanox Technologies Tlv Ltd. Network monitoring using selective mirroring
EP3334104A1 (en) * 2016-12-08 2018-06-13 Alcatel Lucent A network element and packet forwarding network element with traffic mirroring function, and corresponding method
CN106982179A (zh) * 2016-12-30 2017-07-25 中国银联股份有限公司 一种网络流量控制方法以及交换机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RAVI PARIHAR等: "Support vector machine through detecting packet dropping misbehaving nodes in MANET", 2017 INTERNATIONAL CONFERENCE OF ELECTRONICS, COMMUNICATION AND AEROSPACE TECHNOLOGY (ICECA), 18 December 2017 (2017-12-18) *
钟友军;余新胜;张庆松;: "万兆网络中拥塞控制和排队调度实现与优化", 电子设计工程, no. 24 *

Also Published As

Publication number Publication date
EP3709584A1 (en) 2020-09-16
US20200287967A1 (en) 2020-09-10
US10999366B2 (en) 2021-05-04
EP3709584B1 (en) 2023-08-16

Similar Documents

Publication Publication Date Title
CN111683018A (zh) 镜像丢弃的分组
US7366101B1 (en) Network traffic synchronization mechanism
EP3484108B1 (en) Method of data delivery across a network
US8917741B2 (en) Method of data delivery across a network
US9130774B2 (en) Data mirroring in a service
US11374858B2 (en) Methods and systems for directing traffic flows based on traffic flow classifications
US7746781B1 (en) Method and apparatus for preserving data in a system implementing Diffserv and IPsec protocol
US7936770B1 (en) Method and apparatus of virtual class of service and logical queue representation through network traffic distribution over multiple port interfaces
US8625427B1 (en) Multi-path switching with edge-to-edge flow control
CN108462646B (zh) 一种报文处理方法及装置
US20130308644A1 (en) Filtering and route lookup in a switching device
US20050089038A1 (en) Network routing apparatus
US7911953B1 (en) Multilink traffic shaping
WO2007088525A2 (en) Method and system for internal data loop back in a high data rate switch
US11818022B2 (en) Methods and systems for classifying traffic flows based on packet processing metadata
US9143448B1 (en) Methods for reassembling fragmented data units
US10547532B2 (en) Parallelization of inline tool chaining
CN114095448A (zh) 一种拥塞流的处理方法及设备
US20060187922A1 (en) Packet communication device
US7043544B2 (en) Processor with multiple-pass non-sequential packet classification feature
CN109547361B (zh) 一种用于fcf设备的报文处理方法及系统
US7801149B1 (en) Packet forwarding using intermediate policy information
CN117880198A (zh) 基于流修剪的拥塞管理
JP2003318984A (ja) Pdu観測方法、コネクションレス型データ通信装置、およびpdu観測装置

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220419

Address after: Israel Yuekeni Mourinho

Applicant after: Mellanox Technologies, Ltd.

Address before: Israel Lai Ananna

Applicant before: Mellanox Technologies TLV Ltd.