CN103905433B - 分布式网络防火墙以及基于流的转发系统 - Google Patents
分布式网络防火墙以及基于流的转发系统 Download PDFInfo
- Publication number
- CN103905433B CN103905433B CN201410092922.XA CN201410092922A CN103905433B CN 103905433 B CN103905433 B CN 103905433B CN 201410092922 A CN201410092922 A CN 201410092922A CN 103905433 B CN103905433 B CN 103905433B
- Authority
- CN
- China
- Prior art keywords
- processing unit
- packet
- network equipment
- information
- data
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0209—Architectural arrangements, e.g. perimeter networks or demilitarized zones
- H04L63/0218—Distributed architectures, e.g. distributed firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
Abstract
一种由具有多个应用处理单元的网络装置执行的方法,包括:在网络装置接收第一数据包;基于关于第一数据包的一个或多个信息使用数学算法来计算第一值;以及使用所计算的第一值来识别网络装置中的多个应用处理单元的第一应用处理单元。网络装置包括:彼此通信连接的多个处理单元;其中多个处理单元的第一处理单元用于:基于关于第一数据包的一个或多个信息使用数学算法来计算第一值;以及使用所计算的第一值来识别多个处理单元的第二处理单元。
Description
技术领域
本申请主要涉及网络安全装置,比如防火墙和安全设备,更具体地,涉及具有用于监控网络的多个应用处理卡的网络安全装置。
背景技术
网络装置,比如高端分布式安全网关,用于保护网络免受各种攻击,进行入侵检测和预防,从而提供高性能数据包路由,以及其他应用服务。在某些情况下,此网络装置可以包括用于执行不同数据包处理功能的多个处理单元。这些处理单元可以由中心CPU管理,该中心CPU托管用于存储所有多个处理单元的所有信息的中心数据库。
本申请的发明人考虑使用具有使用分布式数据库的网络装置,而不是使用具有中心数据库的网络装置,来处理数据包可能是期望的。
发明内容
一种由具有多个应用处理单元的网络装置执行的方法,包括:在网络装置接收第一数据包;基于关于第一数据包的一个或多个信息使用数学算法来计算第一值;以及使用所计算的第一值来识别网络装置中的多个应用处理单元的第一应用处理单元。借助非限制性实例,网络装置可以是防火墙、网络安全网关或其他安全设备的任意一个。
可选地,一个或多个信息可以包括源IP地址、目的地IP地址、源端口标识符、目的地端口标识符、以及协议信息的一个或组合。
可选地,网络装置可以包括多个应用处理卡,多个应用处理单元可以是应用处理卡的一部分。
可选地,应用处理单元中的至少两个可以用于执行各自不同的数据包处理功能。
可选地,所述方法可以进一步包括至少部分基于关于第一数据包的一组信息来从所识别的第一应用处理单元检索数据,这组信息是用于计算第一值的一个或多个信息的超集。
可选地,用于检索数据的这组信息可以包括源IP地址、目的地IP地址、源端口、目的地端口、以及协议信息,并且其中用于识别第一应用处理单元的一个或多个信息可以包括这组信息的子集。
可选地,从所识别的第一应用处理单元检索数据的动作可以包括从与第一应用处理单元相关联的第一本地数据库检索数据。
可选地,所述方法可以进一步包括从所识别的第一应用处理单元接收数据,其中接收数据的动作可以由网络装置中的多个应用处理单元的与使用所计算的第一值识别的第一应用处理单元不同的第二应用处理单元执行。
可选地,应用处理单元可以具有与应用处理单元相关联的各本地数据库,并且所述方法可以进一步包括将关于第一数据包的数据存储在本地数据库的与所识别的第一应用处理单元相关联的一个本地数据库处。
可选地,本地数据库中的至少一个可以不具有数据副本。
可选地,所述方法可以进一步包括:在网络装置接收第二数据包;基于关于第二数据包的一个或多个信息来计算第二值;以及使用所计算的第二值来识别多个应用处理单元的第二应用处理单元。
可选地,所述方法可以进一步包括:检索存储在与所识别的应用处理单元相关联的本地数据库中的数据;以及至少部分基于检索的数据来创建表示数据包处理计划的数据包处理会话。
可选地,数据包处理会话可以由应用处理单元中的一个创建。
可选地,网络装置还可以包括多个I/O卡,并且所述方法可以进一步包括将数据包处理会话存储在I/O卡的接收第一数据包的一个的第一本地数据库中。
可选地,数据包处理会话还可以存储在I/O卡的输出第一数据包的另一个的第二本地数据库中。
可选地,网络装置可以用于在慢通道配置或快通道配置中执行数据包处理,在慢通道配置中处理第一数据包的同时可以执行计算第一值的动作和使用所计算的第一值来识别第一应用处理单元的动作。
一种网络装置包括:彼此通信连接的多个处理单元;其中多个处理单元的第一处理单元用于:基于关于第一数据包的一个或多个信息使用数学算法来计算第一值;以及使用所计算的第一值来识别多个处理单元的第二处理单元。
可选地,一个或多个信息可以包括源IP地址、目的地IP地址、源端口标识符、目的地端口标识符、以及协议信息的一个或组合。
可选地,所述网络装置可以进一步包括多个应用处理卡,多个应用处理单元可以是应用处理卡的一部分。
可选地,应用处理单元中的至少两个可以用于执行各自不同的数据包处理功能。
可选地,第一处理单元可以用于至少部分基于关于第一数据包的一组信息来从所识别的第一应用处理单元检索数据,这组信息是用于计算用于识别第二应用处理单元的第一值的一个或多个信息的超集。
可选地,用于检索数据的这组信息可以包括源IP地址、目的地IP地址、源端口、目的地端口、以及协议信息,并且其中用于识别第二应用处理单元的一个或多个信息可以包括这组信息的子集。
可选地,第一处理单元可以用于通过从与第二应用处理单元相关联的本地数据库检索数据来从所识别的第二应用处理单元检索数据。
可选地,所述网络装置可以进一步包括与处理单元相关联的各本地数据库,其中本地数据库中的与所识别的第二应用处理单元相关联的这个本地数据库用于存储关于第一数据包的数据。
可选地,本地数据库中的至少一个可以不具有数据副本。
可选地,第一处理单元可以用于:基于关于第二数据包的一个或多个信息来计算第二值;以及使用所计算的第二值来识别多个应用处理单元的第三应用处理单元。
可选地,第一处理单元可以用于:检索存储在与所识别的应用处理单元相关联的本地数据库中的数据;以及至少部分基于检索的数据来创建表示数据包处理计划的数据包处理会话。
可选地,所述网络装置可以进一步包括多个I/O卡,其中第一数据包在I/O卡的第一I/O卡处接收,并在I/O卡的第二I/O卡处输出,并且其中数据包处理会话存储在I/O卡中的接收第一数据包的第一I/O卡中,以及I/O卡的输出第一数据包的第二I/O卡中。
可选地,网络装置可以用于在慢通道配置或快通道配置中执行数据包处理,第一处理单元可以用于在慢通道配置中处理第一数据包的同时执行计算第一值的动作和使用所计算的第一值来识别第二处理单元的动作。
可选地,第一处理单元可以包括第一应用处理单元,第二处理单元可以包括第二应用处理单元。
可选地,第一处理单元可以包括I/O卡中的网络处理单元,第二处理单元可以包括应用处理卡中的应用处理单元。
根据实施例的以下详细描述,其他和进一步方面和特征将变得显而易见。
附图说明
附图示出了设计和实施例的实用性,其中类似元件用共同参考编号表示。这些附图不一定按比例绘制。为了更好的了解获得上述及其他优点和目的的方式,将呈现实施例的更具体的描述,在附图中示出了所述实施例。这些附图只描述了典型的实施例,并因此不被视为限制该范围。
图1示出了根据某些实施例的网络装置;
图2示出了图1的网络装置,特别示出了在慢通道配置中处理数据包的网络装置;
图3示出了图1的网络装置,特别示出了在快通道配置中处理数据包的网络装置;
图4示出了根据某些实施例的数据包处理的方法;
图5示出了图1的网络装置的分布式数据库配置;
图6示出了与分布式数据库配置对照的中心数据库配置;
图7示出了与分布式数据库配置对照的全同步数据库配置;
图8示出了分布式数据库中的数据包处理的实例;
图9示出了可以在图1的网络装置中实现的处理器间通信系统;以及
图10示出了计算机系统的实例,本文描述的实施例可以利用该计算机系统来实现。
具体实施方式
下文将参照图形描述各种实施例。应注意的是,图形不按比例绘制并且类似结构或功能的元件在所有图形中用类似参考编号表示。还应注意的是,图形仅旨在有利于描述实施例。图形不用作详尽描述本发明或限制本发明的范围。另外,所示的实施例不必具有所示的所有方面或优点。即使未如此示出,或未如此明确地所述,结合具体实施例描述的方面或优点不一定局限于此实施例且可以在任意其他实施例中实施。
图1示出了根据某些实施例的网络装置10。网络装置10包括多个I/O卡12a、多个应用处理卡14a,14b、以及耦合I/O卡12a和应用处理卡14a,14b的交换机架构16。每个I/O卡12包括用于接收数据包、传输数据包、或接收并传输数据包的多个网络端口18。在某些实施例中,每个I/O卡12可以是100G I/O卡。每个I/O卡12还包括一个或多个网络处理单元20。网络处理单元20经由交换机与网络端口18通信耦合。可选择地,交换机是可选的,I/O卡12可以不包括交换机。在这些情况下,网络端口18直接与网络处理单元20连接。虽然每个I/O卡12被示出具有两个网络处理单元20,但是应理解,I/O卡12只可以具有一个网络处理单元20,或两个以上网络处理单元20。在某些实施例中,网络处理单元20可以使用处理器,比如网络处理器、FPGA、ASIC、通用处理器等来实现。同样,在某些实施例中,网络处理单元20可以包括硬件、软件或这两者的组合。
如图中所示,每个应用处理卡14都包括多个应用处理单元30。每个应用处理单元30都用于执行一个或多个网络处理功能,比如防火墙功能、网络安全监控(比如入侵检测)、和/或网络安全防范,包括但不限于入侵防护、反病毒、URL阻塞、QoS等。应用处理卡14可以用于执行一个或多个数据包处理功能,包括但不限于负载平衡等。虽然每个应用处理卡14都被示出具有三个应用处理单元30,但在其他实施例中,应用处理卡14可以具有三个以下(例如一个)应用处理单元30,或三个以上应用处理单元30。在某些实施例中,应用处理单元30可以使用处理器,比如FPGA、ASIC、通用处理器等来实现。同样,在某些实施例中,应用处理单元30可以包括硬件、软件或这两者的组合。同样,在某些实施例中,不同应用处理单元30可以用于执行不同任务。在某些实施例中,每个应用处理卡14都可以包括多核CPU。同样,在某些实施例中,应用处理卡14中的不同应用处理单元可以使用各自不同的CPU来实现。
在某些实施例中,网络装置10的所有组件都可以容纳在外壳中,或者可以彼此实体连接在结构或建筑中,使得网络装置10可以在地理位置被部署成单个单元。在一个实现中,网络装置10可以包括具有用于可拆卸地与多个I/O卡12耦合的多个插槽,以及用于可拆卸地与多个应用处理卡14耦合的多个插槽的底架。在其他实施例中,网络装置10的一个或多个组件可以通过网络(例如,因特网)与网络装置10的剩余部分通信耦合。在这些情况下,网络装置10的组件可以部署在不同地理位置。
网络装置10用于在至少两个配置(即,慢通道配置及快通道配置)中处理数据包。图2示出了慢通道配置中通过网络装置10处理数据包。首先,数据包在I/O卡中的一个(I/O卡12a)的端口18之一处接收,将数据包传递至电路(其可以是交换机或导体),如箭头200a所表示的。然后将数据包传递至I/O卡12a的网络处理单元20,如箭头200b所表示的。网络处理单元20查找其本地数据库以查看是否事先为数据包建立会话。在某些实施例中,可以使用关于数据包的一个或多个信息来执行散列处理,并且散列值可以用于查找对应会话。如果不存在先前会话,则网络处理单元20向下游传递数据包以便在慢通道配置中进行处理。
如图中所示,数据包由网络处理单元20传递至交换机架构16,如箭头200c所表示的,然后交换机架构16将数据包传递至应用处理卡14中的一个(应用处理卡14a),如箭头200d所表示的。将数据包传递至应用处理卡14a中的电路(其可以是交换机或导体),该电路然后将数据包传递至应用处理卡14a中的应用处理单元30中的一个,如箭头200e所表示的。在某些实施例中,接收数据包的I/O卡12a可以使用关于数据包的一个或多个信息来计算散列值,并使用散列值来识别应用处理单元30以传输数据包。在一个实现中,关于数据包的一个或多个信息可以是包括源IP地址、目的地IP地址、源端口、目的地端口以及协议信息的5元组。在其他实施例中,关于数据包的一个或多个信息可以是上述信息的子集,或者可以具有其他类型的信息。
在应用处理单元30接收数据包之后,应用处理单元30可以执行会话查找以查看是否可以针对数据包找到会话。如果不存在找到的会话,则应用处理单元30处理数据包(例如,执行策略查找、反病毒检查和/或任意其他网络安全检查等),并创建会话202。在某些实施例中,可以基于策略、ALG、NAT等来执行会话的创建。
在创建会话202之后,应用处理单元30然后将数据包传递至交换机架构16,如箭头200f所表示的。交换机架构16然后将数据包传递至另一I/O卡12b,如箭头200g所表示的。I/O卡12b然后在I/O卡12处将数据包传递至网络端口18以便在I/O卡12b处从网络端口18输出,如箭头200h所表示的。
在某些实施例中,创建的会话202可以表示数据包处理计划。例如,在某些实施例中,会话202可以具有用于表示用于处理属于相同会话的数据包的不同参数的数据结构。会话202中的信息可以由一个或多个应用处理卡14(例如,由相同应用处理卡14中的一个或多个应用处理单元30,或由不同应用处理卡14中的应用处理单元30)确定。
在所示的实施例中,创建的会话202可以由应用处理卡14a传输至接收数据包的I/O卡12a,使得会话202可以存储在I/O卡12a的本地数据库(例如,与对应网络处理单元20相关联的本地数据库)处。创建的会话202还可以由应用处理卡14a传输至输出数据包的I/O卡12b,其中数据包可以存储在I/O卡12b的本地数据库(例如,与I/O卡12b中的对应网络处理单元20相关联的本地数据库)处。会话存储在I/O卡12a和I/O卡12b处,使得当数据包来自任意一个方向(例如,在I/O卡12b处接收以便在I/O卡12a处输出,或在I/O卡12a处接收以便在I/O卡12b处输出)时,会话信息在I/O卡12a处或在I/O卡12b处不管怎样都可用。如图中所示,创建的会话202还可以由应用处理卡14a传输至另一应用处理卡(例如,通过交换机架构16)以便存储在其他应用处理卡14b的数据库中。例如,应用处理卡14a可以基于I/O卡中使用的散列信息(例如,5元组)来识别应用处理卡14b。在某些实施例中,创建的会话202可以与值相关联,这个值可以使用关于数据包的信息来确定,其中这个值稍后可以被用作查找会话202的索引。例如,在某些实施例中,从数据包获得的5元组(例如,源IP地址、目的地IP地址、源端口、目的地端口、协议信息)可以用于确定值,比如散列值,然后可以存储创建的会话202,与散列值相关联。
在创建会话202之后,下次当网络装置10接收属于相同会话的数据包时,数据包可以在快通道中进行处理。图3示出了在快通道配置中通过网络装置10处理数据包。首先,数据包在I/O卡12中的一个(I/O卡12a)处的端口18之一处接收,并将数据包传递至电路(其可以是交换机或导体),如箭头200a所表示的。然后将数据包传递至I/O卡12a中的网络处理单元20,如箭头200b所表示的。网络处理单元20查找I/O卡12a的本地数据库以查看是否事先为数据包建立会话。如果不存在先前的会话,则网络处理单元20向下游传递数据包以便在慢通道配置中进行处理,如参照图2所讨论的。在图3中所示的所示实例中,存在所创建的先前会话202。因此,代替经由交换机架构16将数据包传递至应用处理卡14,在这种情况下,数据包根据由事先存储在I/O卡12a的本地数据库处的会话202规定的数据包处理计划由I/O卡12a处的一个或多个网络处理单元20处理。然后将数据包传递至交换机架构16(如箭头200c所表示的),该交换机架构16然后将数据包传递至I/O卡12b,如箭头200i所表示的。数据包然后在I/O卡12b处从端口18输出,如箭头200j所表示的。如图中所示,在快通道配置中,数据包不必经受应用处理卡14进行的处理以建立新会话,因此,快通道配置的处理速度比慢通道配置的处理速度快。
在某些情况下,数据包在I/O卡12b处可以从端口18接收,并沿相反的方向在快通道配置中从图3中所示的方向在I/O卡12a处的端口处传输。在这些情况下,因为会话202还存储在I/O卡12b的本地数据库中,所以I/O卡12b处的网络处理单元20可以查找I/O卡12b的本地数据库以查看是否事先为数据包建立会话。因此,数据包根据由事先存储在I/O卡12b的本地数据库处的会话202规定的数据包处理计划由I/O卡12b处的一个或多个网络处理单元20处理。然后将数据包传递至交换机架构16,该交换机架构16然后将数据包传递至I/O卡12a以便从I/O卡12a处的端口中输出。在其他实施例中,会话可以由I/O卡12a处理。在这些情况下,I/O卡12b处的网络端口18将数据包转发至I/O卡12a以便进行处理。
在某些情况下,当I/O卡12a接收新数据包时,可能会漏掉I/O卡12a处的会话202。在这些情况下,通过交换机架构16将数据包传递至应用处理卡14a处的应用处理单元30中的一个(例如,基于从关于新数据包的(例如在新数据包中的)一个或多个信息确定的散列值)。应用处理单元30可以确定存在会话,因为其存储在与应用处理单元30相关联的本地数据库中。在这些情况下,数据包仍然可以根据快通道配置进行处理。具体地,数据包根据事先创建的会话202进行处理,并通过交换机架构16从应用处理卡14a传递至I/O卡12b以便输出数据包,而不创建新会话。应用处理卡14a还可以将会话202副本发送回I/O卡12a以存储在与I/O卡12a相关联的本地数据库处,使得I/O卡12a中的网络处理单元20可以在将来访问事先漏掉的会话202。
同样,在某些情况下,会话202可以规定数据包由一个或多个应用处理单元30处理。在这些情况下,可以将数据包传递至一个或多个应用处理单元30以便进行快通道处理。例如,在某些实施例中,接收数据包的I/O卡12a可以执行会话查找。I/O卡12a可以发现数据包的会话,其中会话202规定数据包由某个应用处理单元30处理。然后根据会话202将数据包与会话ID一起转发至包括应用处理单元30的应用处理卡14。当应用处理单元30接收数据包和会话ID时,应用处理单元30通过会话ID来验证会话。如果发现会话,则应用处理单元30根据会话来处理数据包。在处理数据包之后,应用处理单元30将数据包传递至I/O卡12b以便输出数据包。
如上述实例中所示,创建会话202是有利的,因为会话202包含要对具体数据包做什么的所有信息。当数据包在慢通道配置中处理时,网络装置10收集需要对数据包做什么的信息。网络装置10建立会话202(包含在数据包上需要做什么的信息)。这样,未来数据包不需要经受慢通道处理,网络装置10可以查找会话以处理快通道配置中的未来数据包。
正如所讨论的,在慢通道数据包处理配置期间,创建会话202。在处理中,可以确定不同网络参数。可以存在表示不同网络参数的不同类型的RTO。借助非限制性实例,不同RTO类型可以分别表示流会话、VPN SA、应用层网关(ALG)门、锥形网络地址转换(NAT)映射、AD计数、syn攻击计数、具有通配符的门、IP作用进入等。
在某些实施例中,RTO可以以分布的方式存储在不同的应用处理单元30的不同本地数据库处。在这个配置中,每个应用处理单元30具有本地数据库,该本地数据库可以是假设全局数据库的子集。在分布式数据库配置中,因为不存在管理所有信息的中心管理,所以需要特殊技术来识别与某个应用处理单元30相关联的本地数据库以便存储,检索并对存储在其中的信息起作用。图4示出了处理数据包以识别分布式数据库配置中的应用处理单元30的方法400。首先,数据包由网络装置10接收(项目402)。接下来,基于关于数据包的一个或多个信息使用数学算法(例如,散列算法)来计算散列值(项目404)。在某些实施例中,计算散列值可以由应用处理单元30中的一个,或网络处理单元20中的一个,或者两者执行。借助非限制性实例,关于数据包的一个或多个信息可以是源IP地址、目的地IP地址、源端口、目的地端口以及协议信息中的一个或组合。在获得散列值之后,散列值可以用于识别应用处理单元30(项目406)。例如,在某些实施例中,散列值本身可以是应用处理单元30的识别。在其他实施例中,散列值可以被用作查找应用处理单元30的对应识别的索引。在所示的实施例中,散列值用于存储和/或查找存储在与网络装置10相关联的分布式数据库系统中(例如,以识别存储某个信息的应用处理单元30)。因此,散列值不同于会话查找散列值。
在某些实施例中,在应用处理单元30已经在分布式数据库系统中进行识别之后,所识别的应用处理单元30(例如,其对应本地数据库)然后可以用于存储关于数据包的信息。在其他实施例中,在已经识别应用处理单元30之后,可以检索已经存储在应用处理单元30的对应数据库中的信息。在进一步实施例中,在已经识别应用处理单元30之后,可以操作(例如,更新、删除等)存储在应用处理单元30的对应本地数据库中的信息。
应注意的是,因为每个应用处理单元30都具有与此相关联的对应本地数据库,所以可以通过确定应用处理单元30的识别、与应用处理单元30相关联的本地数据库的识别(其可以相同或不同)来完成识别应用处理单元30的动作。在某些实施例中,与对应应用处理单元30相关联的本地数据库可以被视为应用处理单元30的一部分。
在分布式数据库配置中,每个RTO都只存储在对应的一个应用处理单元30的本地RTO数据库中,该应用处理单元可以使用散列值,如图5中所示的散列值来进行唯一识别。在其他实施例中,每个RTO都可以存储在数个本地RTO数据库中(例如,出于冗余目的),但数量小于整个网络装置10的RTO数据库的总数,使得系统仍然可以被视为分布式数据库系统,而不是全同步数据库系统。
在图5中所示的分布式数据库系统中,一个应用处理单元30(在该实例中为“APP-P-3”)可以通过首先识别要从中检索信息的数据库来从另一应用处理单元30(在该实例中为“APP-P-2”)的本地数据库检索信息。这可以通过基于密钥,如参照图4的方法所讨论的密钥,使用散列算法来计算散列值而完成。例如,散列算法可以使用密钥中的值的子集,或密钥中的所有值来计算散列值。散列值然后可以用于识别要从中检索信息的数据库。在某些实施例中,散列值本身是数据库的识别。在其他实施例中,散列值可以是可用于查找数据库的识别的索引(比如,通过查找表)。因为应用处理单元30具有与此相关联的对应本地数据库,所以数据库的识别可以通过识别应用处理单元30来完成,反之亦然。在这些情况下,散列值可以表示数据库的识别,和对应应用处理单元30的识别。因此,在该说明书中,数据库的识别和应用处理单元30的识别可以相同,引用应用处理单元的识别可以指与应用处理单元对应的数据库的识别,反之亦然。
在识别要从中检索信息的数据库之后,密钥然后可用于从数据库检索信息。在某些实施例中,密钥的一部分可以用于计算散列值以识别数据库/应用处理单元30,全密钥用于从数据库查找所需的信息(例如,全密钥可以直接被用作索引,或可以进行散列处理以获得散列值,该散列值然后被用作索引)。
在某些实施例中,用于网络装置10的分布式数据库操作的上述密钥可以使用包括(1)源IP地址、(2)目的地IP地址、(3)源端口、(4)目的地端口以及(5)协议信息的5元组进行构建。5元组中的任意信息可以具有固定值、一系列值、或“通配符”标识符。在某些实施例中,如果所有5元组都是固定的,则5元组被用作密钥。此密钥可以用于查找关于会话、VPNSA等的信息。在其他实施例中,如果5元组中的值的子集是固定的,则只有5元组中的固定值(或固定值的子集)可以被用作密钥。例如,如果目的地IP地址是固定的,则目的地IP地址可以被用作密钥。此密钥可以用于查找关于锥形NAT、ALG门、基于目的地IP的会话限制等的信息。在另一实例中,如果源IP地址是固定的,则源IP地址被用作密钥。此密钥可以用于查找关于锥形NAT、ALG门、基于源IP的会话限制等的信息。在其他实施例中,在罕见的情况下,密钥可以不包含固定值(例如,5元组的每一个是一系列值或是通配符值)。在这些情况下,信息可以完全填充至所有本地RTO数据库(如全同步数据库配置中的信息)。
如上述实施例中所示,网络装置10的分布式数据库配置是有利的,因为其能力可以与应用处理单元30的数量一起线性扩展。同样,数据库操作开销保持不变,同时应用处理单元30的数量可以增加。此外,与中心数据库配置(其中所有信息存储在一个中心数据库如图6中所示的中心数据库中)和全同步数据库配置(其中每个RTO数据库都具有相同信息的副本,使得信息可以在每个应用处理单元30如图7中所示的应用处理单元30处进行本地检索)相比,此分布式数据库可能需要较少的资源来进行维护和同步。这是因为在网络装置10中,RTO信息由各应用处理单元30局部存储并管理。因此,与中心CPU记录所有应用处理单元中的所有信息以了解整个系统,并相应在网络装置10中分配工作的中心数据库不同,不需要任何中心管理。同样,网络装置10的分布式数据库配置是有利的,因为即使应用处理单元30向下,网络装置10也仍然可以是功能性的,原因是其他应用处理单元30可以继续基于先前描述的分布式数据库配置来执行数据库处理。这与中心数据库配置形成对比,在该配置中如果中心CPU向下,则整个系统变得是非功能性的。
在分布式数据库配置中,因为不存在管理一切的中心CPU,并且因为网络信息分别存储在各应用处理单元30的不同本地数据库处,所以网络装置10用于从不同本地数据库查找网络信息(例如,网络参数)。例如,在某些实施例中,当数据包由网络装置10接收时,对从数据包获得的5元组进行散列处理以获得散列值。散列值用于识别包含所需的网络信息的本地数据库。然后向托管所识别的(基于散列值)本地数据库以获取所需的网络信息的应用处理单元30发送询问(例如通过应用处理单元30或网络处理单元20)。借助非限制性实例,网络信息可以是计数、映射、会话计数、会话限制等。例如,对于会话设置,询问可以请求当前会话的计数。如果由数据库返回的当前会话的计数小于规定的最大值,则应用处理单元30可以为数据包设置会话。同样,在某些实施例中,会话计数可以在对应本地数据库中更新。
图8示出了涉及ALG门(例如,FTP)插入的分布式数据库配置中的RTO数据库操作的实例。最初,不为具体的数据库设置门。作为慢通道处理的一部分,可以确定需要创建门。在某些实施例中,门可以由应用处理单元30中的一个(在该实例中为“APP-P-3”)创建。同样,在某些实施例中,I/O卡可以使用5元组密钥(例如,密钥本身,或其散列值)来识别应用处理单元30。在所示的实例中,创建的门可以与由创建门的数据包得出的5元组密钥相关联。5元组密钥可以具有格式:[dst-ip,*,dst-port,src-port,protocol],其中“dst-ip”表示目的地IP地址,“dst-port”表示目的地端口,“src-port”表示源端口,“*”表示通配符。5元组密钥表示创建门的唯一门ID。接下来,5元组密钥(“dst-ip”)的一部分用于计算散列值以识别与存储创建门的应用处理单元30中的一个相关联的本地RTO数据库。在某些实施例中,计算散列值可以由APP-P-3执行。在实例中,所计算的散列值可以表示另一应用处理单元30(在该实例中为“APP-P-2”)的识别。在这些情况下,将门与全局唯一门一起从APP-P-3发送至APP-P-2以存储在APP-P-2的本地数据库处。
在某些实施例中,当新数据包出现时,网络装置10可以在由新数据包的APP-P-2托管的数据库中检索门信息。例如,在某些实施例中,当新数据包由网络装置10接收时,网络装置10不可能发现数据包的会话。网络装置10然后可以确定是否存在为数据包创建的门。如果存在门,则网络装置10可以创建会话。应用处理单元30(例如,APP-P-3)可以使用密钥的“dst-ip”部分(根据处理新接收的数据包确定的)来计算散列值。散列值然后用于识别在此处存储有门信息的数据库。在该实例中,所识别的数据库是与应用处理单元30“APP-P-2”相关联的本地数据库。应用处理单元30“APP-P-3”然后可以将检索消息与5元组密钥一起发送至APP-P-2。当APP-P-2从APP-P-3接收询问以及5元组密钥时,APP-P-2使用5元组密钥查找其RTO数据库以查看是否存在匹配。如果存在,则APP-P-2可以将门信息发送会APP-P-3,并且APP-P-3可以为数据包创建会话。
同样,在某些实施例中,可以操作存储在与应用处理单元30中的一个相关联的本地数据库处的门信息(例如,该门信息可以被更新、删除等)。例如,在某些实施例中,应用处理单元30(例如,APP-P-3)可以使用密钥的“dst-ip”部分来计算散列值。散列值然后用于识别存储有门信息的数据库。在该实例中,所识别的数据库是与应用处理单元30“APP-P-2”相关联的本地数据库。应用处理单元30“APP-P-3”然后将操作消息(例如,更新或删除消息)与门ID(其是全密钥)一起发送至APP-P-2。当APP-P-2从APP-P-3接收门ID时,APP-P-2查找其RTO数据库以查看是否存在匹配。如果存在,则APP-P-2可以执行请求的操作,在完成操作之后可以将确认消息发送回APP-P-3。
应注意的是,RTO信息不限于先前实例中描述的门信息,并且可以存在其他类型的RTO信息。例如,RTO信息可以包括关于流会话的信息,在此情况下,5元组可以被用作密钥(例如,在散列操作中)以识别具有流会话信息的数据库/对应应用处理单元30。
在另一实例中,RTO信息可以包括关于VPN SA的信息,在此情况下,5元组可以被用作密钥(例如,在散列操作中)以识别具有VPN SA信息的数据库/对应应用处理单元30。在其他实施例中,源IP地址和/或目的地IP地址可以被用作散列密钥来定位应用处理单元以执行RTO查找。
在另一实例中,RTO信息可以包括关于全门的信息,在此情况下,5元组可以被用作密钥(例如,在散列操作中)以识别具有全门信息的数据库/对应应用处理单元30。
在另一实例中,RTO信息可以包括关于会话限制(其是基于源IP的或者是基于目的地IP的)的信息,在此情况下,5元组中的源IP地址或目的地IP地址可以用于(例如,在散列操作中)识别具有会话限制信息的数据库/对应应用处理单元30。
在另一实例中,RTO信息可以包括关于AD计数的信息,在此情况下,5元组中的源IP地址或目的地IP地址可以用于(例如,在散列操作中)识别具有AD计数信息的数据库/对应应用处理单元30。
在又一实例中,RTO信息可以包括关于syn攻击(比如syn攻击计数)的信息,在此情况下,5元组中的源IP地址或目的地IP地址可以用于(例如,在散列操作中)识别具有syn攻击信息的数据库/对应应用处理单元30。
在另一实例中,RTO信息可以包括关于锥形NAT的信息(例如,映射信息)。在这些情况下,可以具有两个RTO条目,一个用于正向映射,另一个用于反向映射。原始源IP地址可以被用作密钥(例如,在第一散列操作中)以识别具有正向映射信息的数据库/对应应用处理单元30,“NATed”源IP地址可以被用作密钥(例如,在第二散列操作中)以识别具有反向映射信息的数据库/对应应用处理单元30。
在某些实施例中,除了会话RTO和SA RTO之外,具有相同目的地IP地址或源IP地址的所有RTO可以存储在相同本地RTO数据库中。同样,在某些实施例中,对于具有固定目的地IP地址和源IP地址的给定数据包,两个RTO数据库询问可以由应用处理单元30发出以检索数据包的所有相关RTO。例如,可以向通过对密钥中的目的地IP地址进行散列处理识别的应用处理单元30(例如,APP-P-1)发出一个询问,并且可以向通过对密钥中的源IP地址进行散列处理识别的另一个应用处理单元30(例如,APP-P-2)发出另一个询问。
如上述所讨论和所示的,网络装置10中的一个或多个网络处理单元20和一个或多个应用处理单元30用于彼此通过交换机架构16通信。在某些实施例中,网络装置10的交换机架构16可以包括用于使所有网络处理单元20和应用处理单元30互连的逻辑总线。在某些实施例中,网络装置10可以使用协议(例如,处理器间通信协议(IPCP),其是提供机构以在两个点之间传递消息的传输层协议)来支持该互连(图9)。协议可以支持P2P通信、P2MP通信、广播、同步通信、异步通信、可靠通信、不可靠通信的一个或组合。
计算机系统架构
如上所述,网络装置10包括一个或多个应用处理卡14中的多个应用处理单元30。在其他实施例中,应用处理单元30或应用处理卡14可以使用计算机系统来实现。图10是示出了计算机系统1200的实施例的框图,本文描述的实施例可以在其上实现。例如,在某些实施例中,计算机系统1200可以用于实现本文描述的应用处理卡14的一个或多个功能,或应用处理单元30的一个或多个功能。计算机系统1200包括用于传送信息的总线1202或其他通信机构,以及与总线1202耦合用于处理信息的处理器1204。处理器1204可以用于执行本文描述的各种功能。例如,在某些实施例中,处理器1204可以从用户接收输入以配置网络组件(例如,组件380)。
计算机系统1200还包括主存储器1206,比如随机存取存储器(RAM)或与总线1202耦合以存储信息和要由处理器1204执行的指令的其他动态存储设备。在执行要由处理器1204执行的指令期间,主存储器1206还可以用于存储临时变量或其他中间信息。计算机系统1200进一步包括只读存储器(ROM)1208或与总线1202耦合以存储处理器1204的静态信息和指令的其他静态存储设备。设置数据存储设备1210,比如磁盘或光盘,并耦合至存储信息和指令的总线1202。
计算机系统1200可以经由总线1202与显示器1212,比如阴极射线管(CRT)或LCD监视器耦合,以便向用户显示信息。包括字母数字和其他键的输入设备1214与总线1202耦合以向处理器1204传送信息和命令选择。另一类型的用户输入设备是向处理器1204传送方向信息和命令选择并控制显示器1212上的光标运动的光标控制装置1216,比如鼠标、轨迹球或光标方向键。该输入设备在两个轴,即第一轴(例如,x)和第二轴(例如,y)上通常具有两个自由度,从而允许设备指定面内的位置。
计算机系统1200可以用于根据本文描述的实施例执行各种功能。根据一个实施例,此用途由计算机系统1200响应于处理器1204执行包含在主存储器1206中的一个或多个指令的一个或多个序列来提供。可以将这些指令从另一个计算机可读介质读入主存储器1206,比如存储设备1210。执行主存储器1206中包含的指令序列使处理器1204执行本文描述的处理步骤。多处理布置中的一个或多个处理器还可以用于执行主存储器1206中包含的指令序列。在可选实施例中,硬接线电路可以用来代替软件指令或结合软件指令使用以实现本文描述的实施例的特征。因此,本文描述的实施例不限于硬件电路和软件的任意特定组合。
如本文所使用的术语“计算机可读介质”指的是参与向处理器1204提供指令以便执行的任意介质。此介质可以呈现许多形式,包括但不限于非易失性介质、易失性介质以及传输介质。非易失性介质例如包括光盘或磁盘,比如存储设备1210。非易失性介质可以被视为非瞬态介质的实例。易失性介质包括动态存储器,比如主存储器1206。易失性介质可以被视为非瞬态介质的另一实例。传输介质包括同轴电缆、铜线以及光纤,包括具有总线1202的电线。传输介质还可以呈现声波或光波的形式,比如在无线电波和红外线数据通信期间产生的声波或光波的形式。
计算机可读介质的共同形式例如包括软盘、伸缩盘、硬盘、磁带、或任意其他磁性介质、CD-ROM、任意其他光学介质、穿孔卡、纸带、具有孔图案的任意其他实体介质、RAM、PROM、EPROM、FLASH-EPROM、任意其他存储芯片或墨盒、如下文描述的载波、或计算机可从中读取的任意其他介质。
各种形式的计算机可读介质可以涉及将一个或多个指令的一个或多个序列输送至处理器1204以便执行。例如,指令最初可以由远程计算机的磁盘携带。远程计算机可以将指令加载到动态存储器中并使用调制解调器在电话线上发送指令。计算机系统1200本地的调制解调器可以在电话线上接收数据并使用红外线发射器来将数据转换为红外线信号。与总线1202耦合的红外线检测器可以接收红外线信号中携带的数据并将数据置于总线1202上。总线1202将数据输送至主存储器1206,处理器1204从该主存储器1206接收并执行指令。在由处理器1204执行之前或之后,由主存储器1206接收的指令可选可以存储在存储设备1210上。
计算机系统1200还包括与总线1202耦合的通信接口1218。通信接口1218向与局部网络1222连接的网络链路1220提供双向数据通信耦合。例如,通信接口1218可以是集成服务数字网络(ISDN)卡或调制解调器以向对应类型的电话线提供数据通信连接。再如,通信接口1218可以是局域网(LAN)卡以向兼容的LAN提供数据通信连接。还可以实现无线链路。在任意此实现中,通信接口1218发送并接收携带表示各种类型的信息的数据流的电信号、电磁信号或光学信号。
网络链路1220通常向其他设备提供通过一个或多个网络的数据通信。例如,网络链路1220可以向主机1224或装备1226比如辐射束源或与辐射束源操作耦合的交换机,提供通过局部网络1222的连接。在网络链路1220上传输的数据流可以包括电信号、电磁信号或光信号。通过各种网络的信号以及网络链路1220上并通过至并自计算机系统1200输送数据的通信接口1218的信号是传输信息的载波的示例性形式。计算机系统1200可以通过网络、网络链路1220以及通信接口1218发送消息并接收数据,包括程序代码。
应注意的是,当“数据包”在本申请中进行描述时,应理解其可以指从节点传输的原始数据包,或其副本。
应注意的是,术语“第一”、“第二”等用于指不同的事物,且不一定指事物的次序。
虽然已经示出并描述具体实施例,但应理解这些实施例非旨在限制要求保护的发明,对本领域技术人员来说显而易见的是,在不背离要求保护的本发明的精神和范围的情况下可以作出各种改变和修改。本说明书和附图相应地被认为是说明性的而不是限制意义上的。要求保护的发明旨在涵盖替代、修改和等同物。
Claims (29)
1.一种由具有多个应用处理单元的网络装置执行的方法,包括:
在网络装置接收第一数据包;
基于关于所述第一数据包的一个或多个信息使用数学算法来计算第一值;以及
使用所计算的第一值识别所述网络装置中的多个应用处理单元的第一应用处理单元;
所述网络装置还包括多个I/O卡,并且所述方法还包括:将数据包处理会话存储在所述I/O卡的接收所述第一数据包的一个第一本地数据库中,其中,所述数据包处理会话表示数据包处理计划。
2.根据权利要求1所述的方法,其中,所述一个或多个信息包括源IP地址、目的地IP地址、源端口标识符、目的地端口标识符、以及协议信息的一个或组合。
3.根据权利要求1所述的方法,其中,所述网络装置包括多个应用处理卡,所述多个应用处理单元是所述应用处理卡的一部分。
4.根据权利要求1所述的方法,其中,所述应用处理单元中的至少两个用于执行各自不同的数据包处理功能。
5.根据权利要求1所述的方法,还包括:至少部分基于关于第一数据包的一组信息从所识别的第一应用处理单元检索数据,所述组信息是用于计算所述第一值的一个或多个信息的超集。
6.根据权利要求5所述的方法,其中,用于检索数据的所述组信息包括源IP地址、目的地IP地址、源端口、目的地端口、以及协议信息,并且其中用于识别所述第一应用处理单元的一个或多个信息包括所述组信息的子集。
7.根据权利要求5所述的方法,其中,从所识别的第一应用处理单元检索数据的动作包括从与所述第一应用处理单元相关联的第一本地数据库检索数据。
8.根据权利要求1所述的方法,还包括:从所识别的第一应用处理单元接收数据,其中接收数据的动作由所述网络装置中的多个应用处理单元的与使用所计算的第一值识别的第一应用处理单元不同的第二应用处理单元执行。
9.根据权利要求1所述的方法,其中,所述应用处理单元具有与所述应用处理单元相关联的各本地数据库,并且所述方法还包括将关于所述第一数据包的数据存储在本地数据库的与所识别的第一应用处理单元相关联的一个本地数据库处。
10.根据权利要求9所述的方法,其中,所述本地数据库中的至少一个不具有所述数据的副本。
11.根据权利要求1所述的方法,还包括:
在网络装置接收第二数据包;
基于关于所述第二数据包的一个或多个信息来计算第二值;以及
使用所计算的第二值来识别多个应用处理单元的第二应用处理单元。
12.根据权利要求1所述的方法,还包括:
检索存储在与所识别的应用处理单元相关联的本地数据库中的数据;以及
至少部分基于检索的数据来创建表示数据包处理计划的数据包处理会话。
13.根据权利要求12所述的方法,其中,所述数据包处理会话由应用处理单元中的一个创建。
14.根据权利要求1所述的方法,其中,所述数据包处理会话还存储在I/O卡的输出第一数据包的另一个的第二本地数据库中。
15.根据权利要求1所述的方法,其中,所述网络装置用于在慢通道配置或快通道配置中执行数据包处理,在所述慢通道配置中处理所述第一数据包的同时执行计算第一值的动作和使用所计算的第一值来识别所述第一应用处理单元的动作。
16.一种网络装置,包括:
彼此通信连接的多个处理单元;
其中所述多个处理单元的第一处理单元用于:
基于关于第一数据包的一个或多个信息使用数学算法来计算第一值;以及
使用所计算的第一值来识别所述多个处理单元的第二处理单元;
所述的网络装置还包括多个I/O卡,其中,所述第一数据包在所述多个I/O卡的第一I/O卡处接收,并在所述多个I/O卡的第二I/O卡处输出,并且其中数据包处理会话存储在所述多个I/O卡中的接收所述第一数据包的第一I/O卡中,以及所述多个I/O卡的输出所述第一数据包的第二I/O卡中,其中,所述数据包处理会话表示数据包处理计划。
17.根据权利要求16所述的网络装置,其中,所述一个或多个信息包括源IP地址、目的地IP地址、源端口标识符、目的地端口标识符、以及协议信息的一个或组合。
18.根据权利要求16所述的网络装置,还包括多个应用处理卡,多个应用处理单元是所述应用处理卡的一部分。
19.根据权利要求16所述的网络装置,其中,所述处理单元中的至少两个用于执行各自不同的数据包处理功能。
20.根据权利要求16所述的网络装置,其中,所述第一处理单元用于至少部分基于关于第一数据包的一组信息来从所识别的第一应用处理单元检索数据,所述组信息是用于计算用于识别第二应用处理单元的第一值的一个或多个信息的超集。
21.根据权利要求20所述的网络装置,其中,用于检索数据的所述组信息包括源IP地址、目的地IP地址、源端口、目的地端口、以及协议信息,并且其中用于识别所述第二应用处理单元的一个或多个信息包括所述组信息的子集。
22.根据权利要求20所述的网络装置,其中,所述第一处理单元用于通过从与第二应用处理单元相关联的本地数据库检索数据来从所识别的第二应用处理单元检索数据。
23.根据权利要求16所述的网络装置,还包括与所述处理单元相关联的各本地数据库,其中所述本地数据库中的与所识别的第二应用处理单元相关联的本地数据库用于存储关于所述第一数据包的数据。
24.根据权利要求23所述的网络装置,其中,所述本地数据库中的至少一个不具有所述数据的副本。
25.根据权利要求16所述的网络装置,其中第一处理单元用于:
基于关于第二数据包的一个或多个信息来计算第二值;以及
使用所计算的第二值来识别所述多个应用处理单元的第三应用处理单元。
26.根据权利要求16所述的网络装置,其中第一处理单元用于:
检索存储在与所识别的应用处理单元相关联的本地数据库中的数据;以及
至少部分基于检索的数据来创建表示数据包处理计划的数据包处理会话。
27.根据权利要求16所述的网络装置,其中,所述网络装置用于在慢通道配置或快通道配置中执行数据包处理,所述第一处理单元用于在所述慢通道配置中处理所述第一数据包的同时执行计算所述第一值的动作和使用所计算的第一值来识别所述第二处理单元的动作。
28.根据权利要求16所述的网络装置,其中,所述第一处理单元包括第一应用处理单元,所述第二处理单元包括第二应用处理单元。
29.根据权利要求18所述的网络装置,其中,所述第一处理单元包括I/O卡中的网络处理单元,所述第二处理单元包括所述应用处理卡中的处理单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/843653 | 2013-03-15 | ||
US13/843,653 US9332075B2 (en) | 2013-03-15 | 2013-03-15 | Distributed network firewall and flow-based forwarding system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103905433A CN103905433A (zh) | 2014-07-02 |
CN103905433B true CN103905433B (zh) | 2017-08-01 |
Family
ID=50996587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410092922.XA Active CN103905433B (zh) | 2013-03-15 | 2014-03-13 | 分布式网络防火墙以及基于流的转发系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9332075B2 (zh) |
CN (1) | CN103905433B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9384033B2 (en) * | 2014-03-11 | 2016-07-05 | Vmware, Inc. | Large receive offload for virtual machines |
US9742682B2 (en) * | 2014-03-11 | 2017-08-22 | Vmware, Inc. | Large receive offload for virtual machines |
US9755981B2 (en) | 2014-03-11 | 2017-09-05 | Vmware, Inc. | Snooping forwarded packets by a virtual machine |
US10033616B1 (en) | 2014-03-27 | 2018-07-24 | Juniper Networks, Inc. | State synchronization for global control in a distributed security system |
EP3149992A1 (en) | 2014-05-28 | 2017-04-05 | Corning Optical Communications Wireless Inc. | MULTIPLE APPLICATION MODULES (MAMs) FOR MONITORING SIGNALS IN COMPONENTS IN WIRELESS DISTRIBUTION SYSTEMS, INCLUDING DISTRIBUTED ANTENNA SYSTEMS (DASs), AND RELATED SYSTEMS AND METHODS |
EP3243344A2 (en) | 2015-01-09 | 2017-11-15 | Corning Optical Communications LLC | Multiple application module or unit |
WO2017189406A1 (en) | 2016-04-27 | 2017-11-02 | Corning Optical Communications LLC | Multiple application modules (mam) and/or multiple application units (mau) for providing services in wireless distribution systems (wds), including distributed antenna systems (das), and related systems and methods |
WO2017210186A1 (en) | 2016-05-31 | 2017-12-07 | Corning Optical Communications LLC | Multiple application devices for providing services in wireless distribution systems (wds), including distributed antenna systems (das), and related systems and methods |
US10313926B2 (en) | 2017-05-31 | 2019-06-04 | Nicira, Inc. | Large receive offload (LRO) processing in virtualized computing environments |
US10742612B2 (en) * | 2017-10-16 | 2020-08-11 | Cisco Technology, Inc. | Determine payload integrity for traffic flowing across proxies |
US11290385B2 (en) | 2017-12-15 | 2022-03-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and traffic processing unit for handling traffic in a communication network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635702A (zh) * | 2008-07-21 | 2010-01-27 | 山石网科通信技术(北京)有限公司 | 应用安全策略的数据包转发方法 |
CN102770852A (zh) * | 2010-02-18 | 2012-11-07 | 株式会社日立制作所 | 信息通信处理系统、方法和网络节点 |
US8339959B1 (en) * | 2008-05-20 | 2012-12-25 | Juniper Networks, Inc. | Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090003375A1 (en) * | 2007-06-29 | 2009-01-01 | Martin Havemann | Network system having an extensible control plane |
US8000329B2 (en) * | 2007-06-29 | 2011-08-16 | Alcatel Lucent | Open platform architecture for integrating multiple heterogeneous network functions |
-
2013
- 2013-03-15 US US13/843,653 patent/US9332075B2/en active Active
-
2014
- 2014-03-13 CN CN201410092922.XA patent/CN103905433B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8339959B1 (en) * | 2008-05-20 | 2012-12-25 | Juniper Networks, Inc. | Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane |
CN101635702A (zh) * | 2008-07-21 | 2010-01-27 | 山石网科通信技术(北京)有限公司 | 应用安全策略的数据包转发方法 |
CN102770852A (zh) * | 2010-02-18 | 2012-11-07 | 株式会社日立制作所 | 信息通信处理系统、方法和网络节点 |
Also Published As
Publication number | Publication date |
---|---|
US20140280442A1 (en) | 2014-09-18 |
US9332075B2 (en) | 2016-05-03 |
CN103905433A (zh) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103905433B (zh) | 分布式网络防火墙以及基于流的转发系统 | |
WO2021135471A1 (zh) | 数据传输方法、装置、网卡及存储介质 | |
CN104202351B (zh) | 分布式虚拟安全装置以及使用虚拟机的基于流的转发系统 | |
US10142183B2 (en) | Snapshotting and instantiating a virtual topology | |
CN104247371B (zh) | 以信息为中心的网络中的基于名称的邻居发现和多跳服务发现 | |
US11627517B2 (en) | Network provisioning | |
CN102334111B (zh) | 为受管计算机网络提供逻辑联网功能 | |
US11178594B2 (en) | Systems and methods for routing data | |
US11240152B2 (en) | Exposing a subset of hosts on an overlay network to components external to the overlay network without exposing another subset of hosts on the overlay network | |
US10484279B2 (en) | Executing multiple virtual private network (VPN) endpoints associated with an endpoint pool address | |
US11082300B2 (en) | Transforming data based on a virtual topology | |
US20200153724A1 (en) | Hierarchical network configuration | |
CN106161335A (zh) | 一种网络数据包的处理方法和装置 | |
US9900238B2 (en) | Overlay network-based original packet flow mapping apparatus and method therefor | |
US20150113629A1 (en) | Monitoring network traffic | |
CN105681198B (zh) | 一种业务链处理方法、设备及系统 | |
CN107147580B (zh) | 一种隧道建立的方法及通信系统 | |
CN102780779A (zh) | 一种园区网出口p2p流量优化方法、装置及网关设备 | |
CN105163062B (zh) | 一种将社会资源接入到公共平台的系统及方法 | |
CN106027527A (zh) | 一种基于sdn环境的匿名通信方法 | |
CN104125244A (zh) | 一种分布式网络中转发信息的方法及系统 | |
KR101527377B1 (ko) | Sdn 기반의 서비스 체이닝 시스템 | |
CN105656786B (zh) | 一种基于快、慢表的路由器查表方法 | |
CA2949466C (en) | Communication apparatus, communication method, and communication system | |
CN109802879B (zh) | 一种数据流路由方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 215163 No. 181 Jingrun Road, Suzhou High-tech Zone, Jiangsu Province Patentee after: SHANSHI NETWORK COMMUNICATION TECHNOLOGY CO., LTD. Address before: 215163 3rd Floor, 7th Building, High-tech Software Park, 78 Keling Road, Suzhou Science and Technology City, Jiangsu Province Patentee before: HILLSTONE NETWORKS |
|
CP03 | Change of name, title or address |