一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

有状态过滤系统和方法与流程

2022-02-25 20:50:49 来源:中国专利 TAG:


1.本发明在其某些实施方式中涉及用于过滤分组的方法和系统。


背景技术:

2.已经知道以高性能处理分组和/或帧的若干联网系统。


技术实现要素:

3.本发明在其某些实施方式中寻求提供用于过滤分组的改进方法和系统。在示例性实施方式中,这样的方法和系统是“有状态的”;即,该方法和系统至少部分地基于先前处理的分组和/或帧来执行分组和/或帧的过滤。
4.联网设备领域的技术人员将理解,通常可能需要在“简单”和更高性能的联网设备之间进行选择,而不是“更智能”但性能较低的联网设备。在此类设备中可能有用的特性之一是能够保留有关流经设备的流的状态相关信息;这种状态相关信息将允许基于这些流的历史在设备中做出决定。在本发明的示例性实施方式中,为高性能设备提供了一种机制,从而允许向设备添加状态相关(“有状态”)能力。
5.术语“过滤器”,以其各种语法形式,在本文中用于指设备、系统或方法做出关于是否应将穿过该设备或系统或由该方法处理的分组丢弃的决定。为了描述和说明的简单起见,任何系统或设备在本文中都可以被称为“设备”。在示例性实施方式中参照过滤来描述本发明。
6.然而,本发明的发明人认识到,本发明的示例性实施方式不限于过滤。即使没有过滤发生,如本文所述,关于数据流的“学习”本身可能是有用的(在某些示例性实施方式中)。例如,并且在不限制前述一般性的情况下,获得关于有多少数据流穿过设备的信息可能是有用的。此外,在不限制前述内容的一般性的情况下,了解以下信息可能是有用的:哪些流穿过设备;哪些流不穿过设备。此类信息无论是准确获得还是近似获得(如下所述)都可能是有用的。
7.在示例性实施方式中,在过滤的情况下,提供了一种联网设备,其能够做出关于是否应该丢弃穿过该设备的分组的有状态决定。具体地,作为非限制性示例,来自特定流的第一分组将照常穿过设备。
8.在一个特定的非限制性示例中,特定流可能非常重要,因此可能具有两条不同的路径(例如,作为进一步的非限制性示例,与流相关联的一条卫星路径和一条陆线路径)。这是因为流的重要性;如果通过一条路径发送的分组没有到达,那么通过另一条路径发送的分组预计会到达。如本发明的示例性实施方式中所提供的,如果这样的分组经由第一路径到达,则将丢弃经由第二路径到达的随后的分组将是有帮助的。在某些示例性实施方式中,一旦流的分组经由第一路径到达,经由第二路径到达的整个流将被丢弃;如果使用老化技术来停止丢弃分组,并且该老化发生得足够快(例如,作为特定的非限制性示例,这个示例在各种特定实施方式中可能是可变的,几个10秒),则该方法可以成功地工作,以便不会丢
弃更多所需的分组。
9.在一个特定的示例性实施方式中(并且如下面参照附图进一步描述的),安全机制(例如在现有联网设备中已知的安全机制)可用于实现上述流处理。作为非限制性示例,传入帧或分组的源地址可以由流标识符代替。然后可以使用安全机制查找流标识符。如果在安全查找中未找到流标识符,则将其视为尚未看到该流的分组的指示,并且该分组被正常处理。另一方面,如果在安全查找中找到流标识符,则这被视为已经看到该流的分组的指示,并且该分组被丢弃。如下文进一步描述,本发明的发明人相信所描述的安全查找的使用与本发明之前的本领域已知的“相反”,因此与本发明之前的本领域已知的非常不同。
10.因此根据本发明的示例性实施方式提供一种对分组进行过滤的方法,该方法包括接收多个分组,所述多个分组中的每个分组包括源地址,并且对于所述多个分组中的每一个分组,通过执行以下操作来处理所述一个分组:修改所述一个分组的源地址以至少包括所述一个分组所属于的流的标识符。
11.进一步根据本发明的示例性实施方式,处理一个分组还包括执行以下确定:至少部分地基于所述一个分组所属于的流的标识符,确定所述一个分组所属于的流的另一分组先前是否已被处理;基于所述一个分组所属于的流的另一分组先前已被处理,对所述一个分组进行操作,以及基于所述分组所属于的流的另一分组先前未被处理,传递所述一个分组以进行进一步处理。
12.更进一步地,根据本发明的示例性实施方式,对所述一个分组进行操作包括丢弃所述一个分组。
13.另外,根据本发明的示例性实施方式,对所述一个分组进行操作包括对所述一个分组进行计数。
14.此外,根据本发明的示例性实施方式,至少对所述一个分组的处理由网络元件执行。
15.进一步根据本发明的示例性实施方式,所述网络元件包括以下中的至少一项:网桥;路由器;和交换机。
16.更进一步地,根据本发明的示例性实施方式,网络元件包括网桥,并且至少对一个分组的处理由修改的网桥管道执行。
17.另外,根据本发明的示例性实施方式,传递所述一个分组以供进一步处理包括将所述一个分组传递到用于路由的路由器。
18.此外,根据本发明的示例性实施方式,所述一个分组所属于的流的标识符至少部分地基于所述一个分组的序列号。
19.进一步根据本发明的示例性实施方式,传递一个分组还包括学习所述一个分组所属于的流作为先前通过记录所述流处理的流。
20.更进一步地,根据本发明的示例性实施方式,所述确定包括至少部分地基于所述一个分组所属于的流是否是已经被学习为先前已经被处理的流的流。
21.另外,根据本发明的示例性实施方式,该方法还包括将所述至少一个流的记录移除为先前已被处理的流。
22.此外,根据本发明的示例性实施方式,自所述一个流已被记录为先前已被处理的流以来在经过一段时间后进行移除。
23.根据本发明的另一个示例性实施方式,还提供了一种用于对分组进行过滤的网络元件,该网络元件包括接收电路,其被配置为接收多个分组,所述多个分组中的每个分组包括源地址,以及分组处理电路,其被配置为对于所述多个分组中的每一个分组,通过执行以下操作来处理所述一个分组:修改所述一个分组的源地址以至少包括所述一个分组所属于的流的标识符。
24.进一步根据本发明的示例性实施方式,分组处理电路还被配置为通过执行以下操作来处理所述一个分组:至少部分地基于所述一个分组所属于的流的标识符,确定所述一个分组所属于的流的另一分组先前是否已被处理,基于所述一个分组所属于的流的另一分组先前已被处理,对所述一个分组进行操作,并基于所述分组所属于的流的另一分组先前未被处理,传递所述一个分组以进行进一步处理。
25.更进一步地,根据本发明的示例性实施方式,对所述一个分组进行操作包括丢弃所述一个分组。
26.另外,根据本发明的示例性实施方式,对所述一个分组进行操作包括对所述一个分组进行计数。
27.此外,根据本发明的示例性实施方式,所述网络元件包括以下中的至少一项:网桥;路由器;和交换机。
28.进一步根据本发明的示例性实施方式,网络元件包括网桥,并且至少对一个分组的处理由修改的网桥管道执行。
29.更进一步地,根据本发明的示例性实施方式,所述一个分组所属于的流的标识符至少部分地基于所述一个分组的序列号。
30.另外,根据本发明的示例性实施方式,传递一个分组还包括学习所述一个分组所属于的流作为先前通过记录所述流处理的流。
31.此外,根据本发明的示例性实施方式,所述确定包括至少部分地基于所述一个分组所属于的流是否是已经被学习为先前已经被处理的流的流。
32.进一步根据本发明的示例性实施方式,传递所述一个分组还包括将所述至少一个流的记录移除为先前已被处理的流。
33.更进一步地,根据本发明的示例性实施方式,自所述一个流已被记录为先前已被处理的流以来在经过一段时间后进行移除。
附图说明
34.本发明结合附图,从以下详细描述中将更全面地理解和领会本发明,其中:
35.图1a是根据本发明的示例性实施方式构造和操作的用于处理分组的系统的简化框图;
36.图1b是根据本发明的示例性实施方式的图1的系统的一部分的简化框图;
37.图2是图1a和图1b的系统中的分组处理的简化示例性框图;以及
38.图3是图1a和图1b的系统的示例性操作方法的简化流程图。
具体实施方式
39.现在参考图1a,其是根据本发明的示例性实施方式构造和操作的用于处理分组的
系统的简化框图;以及参考图1b,其是根据本发明的示例性实施方式的图1a的系统的一部分的简化框图。
40.图1a的系统,一般用100表示,是用于处理分组或帧的系统;作为非限制性示例,该系统可以包括在交换机中。图1a的系统,一般用100表示,可以包括在适当的交换机、路由器或网络接口控制器(nic)中。一般而言,交换机、路由器或nic在本文中可被称为“网络元件”。作为非限制性示例,可从mellanox technologies ltd.商购的可能是合适网络元件的系统包括:频谱系统,例如sn2700系统;和connectx-5系统。取决于所使用的特定术语,本领域技术人员可能将系统100(不包括下面讨论的可选路由器140)视为网桥。
41.图1a的系统的各种组件可以例如在专用集成电路(asic)中实现;为了确保足够的系统性能,这样的实现可能是可取的。在各种示例性实施方式中,图1a的系统的带宽和分组负载要求可能非常高(例如,作为非限制性示例,数据太比特和每秒数十亿个分组)。本发明的发明人相信asic实现将适合处理这样的负载;通常(作为非限制性示例)软件实现不会如此强大。类似地(参考下面关于老化的讨论),可能会处理10微秒数量级的系统反应时间,可能超过10秒的数千个流;这将是支持asic实现的另一个考虑因素。进一步的此类考虑(也参考以下讨论)包括:大量签名计算;处理表格,这可能有用地发生在asic的一个或多个静态随机存取存储器(sram)中;高性能缓冲;并且,在某些示例性实施方式中,提供多于两个或四个输入/输出端口(在本发明的发明人看来,两个或四个是本发明之前已知系统的多个更典型的)。
42.图1a的系统包括物理接收硬件(rx 5phy)105,其接收输入(例如,作为非限制性示例,输入帧/分组145)。接收到的输入的数据部分(例如传入帧/分组145的数据部分)被在数据路径上传递,该数据路径包括缓冲器110。
43.通常并行地,接收到的输入的报头部分(例如输入帧/分组145的报头部分)被传递到报头路径。
44.报头路径包括处理引擎115;以及排队和调度单元125。处理引擎115和排队和调度单元125一起被配置为将分组/帧放入队列中,并调度分组/帧进行传输,如网桥和交换机领域中已知的。
45.一旦分组的数据部分和报头部分都被处理,报头部分和数据部分被发送到物理发送硬件(tx phy)135,其执行分组/帧的物理传输。
46.现在简要描述图1a的系统的示例性操作模式,具体参考图1b。图1b示出了图1a的处理引擎115的非限制性示例性实施方式。图1b的系统一般用150表示。图1b的系统在本文中也可称为“管道”。
47.接收输入帧/分组153(对应于图1a的输入帧/分组145);图1b的系统的另外的框涉及输入帧/分组153的一部分(在图1b的示例性实施方式的给定实现中可能是适当的或需要的任何部分)的处理。
48.在签名确定框155中,确定传入分组的签名;签名用作流标识符。签名的一些非限制性示例包括:
49.1.传入分组的以下字段的哈希:sip(源ip);dip(目的地ip);协议类型;sport(源端口)和dport(目的地端口)。这种哈希,如本领域公知的(例如,作为非限制性示例,crc16)可用于将更大(更多位)值映射到更小(更少位)值;在这种情况下,较小的值可以包括mac地
址大小的值。可以理解的是,通常mac地址的长度是48位;在某些示例性实施方式中,vlanid(通常为12位)或bridgeid(通常为16位)可以连接到mac地址,产生更大的字段。或者,可以使用任何适当的哈希,包括专有哈希。
50.2.单独的sip(在ipv4中是32位字段)。
51.3.sip与sport联接。
52.4.整个分组的哈希。
53.5.sip的哈希;dip;协议类型;sport;dport;和序列号(例如,作为非限制性示例,tcp序列号)。包含序列号的选项可能有助于避免在哈希整个分组时可能产生的开销;在某些示例性实施方式中,整个分组的哈希和序列号都可能有助于过滤流中的单个分组。
54.地址替换框160使用签名确定框155确定的签名来替换报头中的地址,例如源mac(smac)地址。通常,分组/帧处理不需要(在特定情况下)smac地址,因此可以覆盖smac地址而不会导致操作问题。特别地,本领域技术人员将理解,当可选路由器140存在于图1a的示例性实施方式中时,不需要执行否则将使用smac地址的功能,因为可以由路由器140执行替代功能。
55.应当理解,签名确定框155本身以及由此执行的操作可以包括本发明的示例性实施方式,即使没有图1a和图1b的系统的其他组件。
56.在框165中,使用安全机制(例如传统的网桥安全机制,但对签名进行操作,如地址替换框160中所替换的那样),用于查找以确定是否在系统150的安全列表(未示出)中找到了签名;并且在框170中发生学习机制,其中签名(如果在框165中未找到)被“学习”并添加到安全列表中。
57.可以理解,在本发明之前的技术中,安全机制用于允许在安全查找中找到的分组被发送,并且禁止在安全查找中未找到的分组被发送。在本发明的示例性实施方式中,应用安全机制,其实际上与本发明之前的本领域中已知的内容“相反”。如果在框165的安全机制查找15中找到传入帧/分组153的签名(如在框160中替换的),则这被视为传入帧/分组153所属于的流(或,在示例性实施方式中,传入帧/分组153的副本)先前已经穿过系统150的指示;在这种情况下,传入帧/分组153被丢弃(框180)。相比之下,如果在框165的安全机制查找中未找到传入帧/分组153(如框160中替换的)的签名,则这被视为传入帧/分组153所属于的流(或者,在示例性实施方式中,传入帧/分组153的副本)没有先前穿过系统150的指示;在这种情况下,传入的帧/分组被传递(可能通过额外的约定框,未示出)用于传输到物理传输框175(为了方便而示出,并且不一定实际上包括在系统150中)。
58.关于asic实现的上述讨论,特别是关于框170,在示例性实施方式中,框170可以在asic、用软件编程的常规处理器或任何适当组合中实现,而无需(在本发明的发明人看来)损害了图1a和图1b的系统的性能。
59.可以理解,为了避免通过丢弃所有相关帧/分组而永久“阻塞”给定流的情况,应向安全机制提供老化机制,以便在一定时间后安全条目应被抹去。
60.一般而言,在图1b中描绘的管线中,以下元件(在示例性实施方式中)不同于在管线中发现的元件或除了该元件之外的元件,其被(本发明的发明人)认为是在本发明之前已经存在:框155;框160;和框165。图1b中描绘的管线因此可以被称为“修改的管线”或“修改的网桥管线”。
61.现在另外参考图2,图2是图1a和图1b的系统中的分组处理的简化示例框图,有助于理解图1a和图1b的系统的操作。
62.图2描绘了通常接收的分组/帧200;这样的分组15包括源mac(smac)地址205和目的地mac(dmac)地址210。诸如上面参考地址替换框160描述的操作215用签名220替换smac地址205,从而产生修改的分组250。
63.上面提到的签名通常是对分组的一部分进行数学运算的结果。这种运算的一个特定的非限制性示例是众所周知的crc16函数的实现;本领域技术人员将理解可以使用其他适当的函数。
64.图1a和图1b的设备可以配置有链路聚合(lag),其(在示例性实施方式中)包括分组类型可以从其到达图1a和图1b的系统(100、150)的所有端口,但预计这种类型的分组不会通过它离开所述设备。分组到达的端口通常称为“入口端口”,而分组离开的端口通常称为“出口端口”。一般而言,管理系统提供对于给定类型的分组哪些预期是入口端口以及哪些预期是出口端口的定义。一般而言,网桥领域的系统能够应用各种安全策略。作为非限制性示例,这种策略(基于smac或另一个源指示)通常是基于端口的。因此,第一端口上的传入分组不会被理解为与第二端口上的传入分组受相同的安全策略约束。使用lag可以克服这种情况,为了这些目的,它允许将多个端口视为单个端口(单个lag)。
65.在本描述中,所指的lag类型是接收(rx lag)。
66.总结以上讨论,图1a和图1b的设备在示例性实施方式中被配置为执行l2安全查找(其本身是众所周知的操作);在图1a和图1b的设备中,当安全查找发生时,安全查找发生在签名220(图2)上,这与此类已知操作不同。如果在l2安全查找中没有发现签名220,则不发生特殊处理,并且所讨论的帧/分组继续进行发送(图1b的tx phy 175)。然而,如果在l2安全查找中发现签名220,则丢弃所讨论的帧/分组(图1b中的框180);因此,仅发送给定流的第一个帧/分组,丢弃其他帧/分组。
67.在给定量的时间“老化”发生后,20l2安全查找表中的旧条目将被删除。作为非限制性示例,时间量可以取决于l2安全表的大小和分组到达率。这种给定时间量(这将取决于图1a和图1b的系统的特定实现)的典型示例的范围可以从几十微秒到几毫秒,甚至更多。通常,给定的时间量将根据实际系统的特定特性而变化,例如网络速度、分组到达频率等;在实践中,网络管理员可能会决定给定的时间量,以实现所需的系统性能。注意,在本发明的发明人看来,提到的这种给定的时间量明显短于本领域已知的。通过非限制性示例,可以通过以下方式实现这种非常快速的老化:
68.1.将计时器与每个l2安全表条目相关联,并在计时器到期时清除条目(或简单地使该条目无效)。
69.2.对整个l2安全表进行时钟计时;当时钟计时时,每个条目的计数器(初始设置,例如,为零)增加(例如,加一);当给定条目的计数器超过阈值时,给定条目被清除或无效。
70.可以理解,一般而言,参考图1b的系统的以上描述,对于给定分组的安全性查找(框165)在对先前分组的学习查找(框170)已经完成之后发生可能是重要的。可以使用众所周知的机制(例如,当对先前分组的学习查找完成时发送ack10,然后才允许对给定分组的安全查找完成)来实现此目的。
71.现在参考图3,其是图1a和图1b的系统的示例性操作方法的简化流程图。参考图
1a、图1b和图2的以上描述将最好地理解图3的描述。
72.接收到的分组的签名(例如,由图1b的签名确定框155,如上所述)确定并写入到分组的smac字段(步骤302)。
73.发出基于签名的安全查找(步骤305)。如果在安全查找中发现签名(步骤310),则丢弃该分组(步骤315),并且继续处理下一个分组(步骤330)。相反,如果在安全查找中未找到签名,则对当前分组继续进行分组处理。如上所述,这种安全处理与本发明的发明人所相信的本领域公知的内容“相反”。
74.在步骤320中,发出学习查找,从而将当前分组的签名添加到在步骤305的安全查找中使用的安全表。而图3的流程图将步骤320描述为在步骤310之后发生,应当理解,(如上所述)步骤320在步骤305之前发生可能是有利的。
75.正常分组处理继续(步骤325),然后下一个分组被处理(步骤330)。
76.可以理解,如果需要,本发明的软件组件可以以rom(只读存储器)形式实现。如果需要,软件组件通常可以使用传统技术在硬件中实现。还可以理解,软件组件可以被实例化,例如:作为计算机程序产品或在有形介质上。在某些情况下,可以将软件组件实例化为可由适当计算机解释的信号,尽管在本发明的某些实施方式中可能排除这种实例化。
77.应当理解,为了清楚起见,在单独实施方式的上下文中描述的本发明的各种特征也可以在单个实施方式中组合提供。相反,为了简洁起见,在单个实施方式的上下文中描述的本发明的各种特征也可以单独提供或以任何合适的子组合提供。
78.本领域技术人员将理解,本发明不限于上文具体示出和描述的内容。相反,本发明的范围由所附权利要求及其等效物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献