CN104704791A - 用于有状态服务的应用的网络流量的重定向 - Google Patents

用于有状态服务的应用的网络流量的重定向 Download PDF

Info

Publication number
CN104704791A
CN104704791A CN201380052069.2A CN201380052069A CN104704791A CN 104704791 A CN104704791 A CN 104704791A CN 201380052069 A CN201380052069 A CN 201380052069A CN 104704791 A CN104704791 A CN 104704791A
Authority
CN
China
Prior art keywords
message
end points
fire compartment
compartment wall
network equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380052069.2A
Other languages
English (en)
Other versions
CN104704791B (zh
Inventor
哈利勒·A·贾布
雷·布莱尔
维克托·M·莫瑞诺
马西米兰诺·亚迪卡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN104704791A publication Critical patent/CN104704791A/zh
Application granted granted Critical
Publication of CN104704791B publication Critical patent/CN104704791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • H04L63/0218Distributed architectures, e.g. distributed firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0254Stateful filtering
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing

Landscapes

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

Abstract

这里呈现了用于在分布于任意数目的站点的任意数目的网络设备之间重定向的技术。在第一网络设备处从网络端点接收流的第一消息。在将端点映射到网络设备的目录中登记端点和第一网络设备之间的关系。在第一网络设备处存储流的状态。在第二网络设备处接收指示了第一端点的流的第二消息。确定第二网络设备未存储流的流状态。执行查询以接收指示端点和第一网络设备之间关系的信息。被接收的信息被存储于第二网络设备的缓存中。根据被存储的信息向第二消息提供服务。

Description

用于有状态服务的应用的网络流量的重定向
技术领域
本公开涉及利用有状态服务的网络环境,并具体涉及防火墙。
背景技术
现代网络在网络环境中部署多个防火墙。在部署多个防火墙时,进程需要处理其中数据流起始于一个防火墙,但是随后通过另一个防火墙发送或接收消息的情形。一些实现中使用了簇的解决方案,其中簇中的所有防火墙与簇主同步,而簇主相应地同步于它的簇成员。这允许所有的防火墙接收由簇中的每一个其他防火墙所处理的每个流的流状态。
作为示例,在部署有每一个直连于因特网的双数据中心时,所有的防火墙与簇主同步。就执行必须的同步所需的带宽而言,这样的系统费用很高。具体的,对网络中的每一个新的流都需要同步,在每秒多达百万计的流的真实世界部署中,这是很繁琐的。当部署跨越三个或更多站点时,利用三个或更多防火墙,这一问题被显著地放大。
附图说明
图1示出了示例性计算机网络,其中防火墙利用映射目录以实现多防火墙环境中网络流量的重定向。
图2示出了示例性计算机网络,其中防火墙利用映射目录以实现多防火墙环境中网络流量的重定向。
图3示出了多防火墙环境中对消息的重定向和针对网络流量的防火墙策略的应用的示例。
图4示出了多防火墙环境中对消息的重定向和针对网络流量的防火墙策略的应用的另一示例。
图5示出了多防火墙环境中对网络流量的防火墙策略的另一示例应用。
图6示出了多防火墙环境中对消息的重定向和对网络流量的防火墙策略的应用的另一示例。
图7示出了多防火墙环境中对消息的重定向和对网络流量的防火墙策略的应用的另一示例。
图8示出了多防火墙环境中对消息的重定向和对网络流量的防火墙策略的应用的进一步示例。
图9示出了多防火墙环境中对网络流量的防火墙策略的另一示例应用。
图10示出了多防火墙环境中对消息的重定向和对网络流量的防火墙策略的应用的进一步示例。
图11是示出了用于登记网络设备-端点映射、重定向消息、以及对网络流量应用有状态服务的示例步骤的流程图。
图12是示出了用于重定向消息以及对网络流量应用网络策略的示例步骤的流程图。
图13示出了示例性的映射目录。
图14是被配置为执行消息的重定向和对网络流量的有状态服务的应用的网络设备的示例性框图。
具体实施方式
概述
这里提出了用于分布于任何数目的站点的任何数目的网络设备之间的重定向的技术。在第一网络设备处从网络端点接收流的第一消息。端点和第一网络设备之间的关系被登记在将端点映射到网络设备的目录中。流的状态被存储于第一网络设备处。在第二网络设备处接收针对该流的第二消息,该第二消息指示第一端点。确定第二网络设备未存储该流的流状态。查询被执行以接收指示该端点和第一网络设备之间的关系的信息。所接收的信息被存储在第二网络设备处的缓存中。根据所存储的信息对第二消息应用服务。
示例性实施例
图1中所描述的为用于多防火墙环境中的网络流量的智能重定向的网络环境100。尽管当前示例针对多防火墙环境,但这里的技术可被应用于采用了有状态服务(stateful service)的其他网络环境,例如实现多负载均衡器的环境、实现广域网(WAN)优化的设备、提供网络地址转换服务的设备、和提供入侵检测的设备。可以在开放式系统互联模型(OSI)的第四层提供上述服务。另外的示例可以包括由诸如会话边界控制器之类在OSI模型的更高层运行的设备提供的服务。
与局域网(LAN)相连的是诸如虚拟机(VM)102之类的内部端点。尽管在图1中作为具体示例使用了虚拟机102,但诸如客户端和服务器之类的其它端点可以处于类似环境,并且通过与这里呈现的用于虚拟机类似的方式处理它们的流量。因此,一般地,虚拟机能够被视为网络端点的一个示例,但是术语“端点”意指包括物理设备(客户端或服务器)以及虚拟设备(例如虚拟机)。与LAN 101相连的还有被配置为执行网络流量的智能重定向的防火墙103a和103b,且其中的每个防火墙包括缓存104a,b。缓存104a,b存储转发信息,其将在下文参考图2-8而被详细解释。此外,防火墙103a,b包括流状态表108a,b,该流状态表包含被相应防火墙处理的流的流状态。
防火墙103a,b的每一个与因特网协议(IP)网络104相连,根据图1,该因特网协议网络为防火墙103a,b外部的网络。与IP网络105相连的为诸如服务器106之类的外部端点。
图1还示出了映射目录107,其中防火墙103a,b登记指示了哪些端点通过特定防火墙发送消息的信息。换言之,可以利用目录107存储将特定端点映射到特定防火墙的信息。具体的,防火墙103a,b能够在映射目录107中映射与网络端点的当前关系。作为示例,如以下将被更详细描述的,目录107被用于映射防火墙103a和虚拟机102之间的关系。具体的,目录107中的条目指示虚拟机102通过防火墙103a发送消息。虽然目录107被示出处于防火墙103a,b的外部并通过IP网络105与其余网络节点连接,但只要目录能够与防火墙103a,b通信,目录107可以位于任何网络节点处。实际上,目录107位于防火墙103a,b内部,并且通过LAN 101与防火墙103a,b通信可能是有利的。
如图1中所描述的,虚拟机102发送同步(SYN)消息130(诸如根据传输控制协议(TCP)的SYN数据包)以建立虚拟机102和服务器106之间的通信会话。将所述通信会话称为“流1(Flow 1)”。最初,防火墙103a检验以验证是否防火墙103a已经保持了流1的流状态。可以在防火墙103a内的流状态表108a中包含流状态。可选的,因为消息130为SYN消息,防火墙103b可以假设在流状态表108a中当前不存在流1的流状态。
在这种情形下,虚拟机102和随同的SYN消息130对防火墙103a是新的。相应的,防火墙103a发送消息111以确定是否另一防火墙(诸如防火墙103b)已经发现虚拟机102。换言之,防火墙103a利用目录107来确定是否虚拟机102之前被映射到另一防火墙。在这种情形下,目录107以消息112为响应,指示目录107不知道虚拟机102。相应的,防火墙103a向目录107发送登记防火墙103a和虚拟机102之间的关系的消息113。
消息113包含足够的信息以识别虚拟机102和防火墙103a。作为示例,消息113可以包括防火墙103a和虚拟机102的LAN地址的内部前缀,因为前缀足以在内部网络上识别这些网络实体。当然,可以使用其余识别信息,或网络实体的其余地址。随着在目录107内登记虚拟机102和防火墙103a的关系,其余防火墙能够确定虚拟机102之前被映射到防火墙103a,并还确定防火墙103a保持了数据流1的流状态。
最终,防火墙103a在流状态表108a中创建条目110来维护流1的流状态。
根据具体的实现方式,基于从诸如服务器106之类的外部节点发送的SYN消息来在目录107中登记条目可能不是有利的。如果不存在这样的安全性顾虑,或者其余考虑优先于这样的顾虑,可以基于从外部端点发送的SYN消息来进行在目录107的登记。
现在转到图2,移动了虚拟机102,以致从虚拟机102发送的消息现在在防火墙103b处接收,而非防火墙103a。这一改变可以是虚拟机102的物理移动、虚拟化服务器的利用、或诸如网络负载均衡的其余顾虑而导致的结果。当虚拟机102发送SYN消息220以启动一个新的流(被称为流2)时,防火墙103b立即确定其是否在流状态表108b中包含用于虚拟机102的流状态。因为虚拟机刚被移动,在防火墙103b中当前不存在用于虚拟机102的流状态,在缓存104b中也不存在另一防火墙之前已登记虚拟机102的指示。可选的,因为消息230为SYN消息,防火墙103b可以仅确定该数据流为新的流,并且因此当前未被防火墙103b或任何其余防火墙处理。
防火墙103b向目录107发送查询211以确定是否虚拟机102之前已经被登记。这一点很重要,因为即使消息230发起了新的流(流2),但来自其他流(例如,流1)的消息可能现在也将从虚拟机102通过防火墙103b来进行发送。相应的,防火墙103b能够确定那些流状态所保持的位置可能是必要的。由于参考如以上在图1中所描述的之前登记了虚拟机102,响应212将指示虚拟机之前与防火墙103a相关。在接收到响应212后,防火墙103b将条目210放于缓存104b,该条目指示虚拟机102之前被登记至防火墙103a。另外,防火墙103b通过消息213在目录107中将其自身与虚拟机102登记。最终,防火墙103b在流状态表108b中创建条目220以处理新的流2的状态。
相应的,在图2所描述的过程完成时,在目录107中虚拟机102被登记至防火墙103b,防火墙103b维护由消息220发起的流2的状态,缓存104b具有指示虚拟机102之前被登记至防火墙103a且防火墙103a保持了流1的状态的条目。
转到图3,从虚拟机102发送作为流1的一部分的消息330。防火墙103b首先检验流状态表108b来确定是否存在针对流1的条目。换言之,由于该消息为已经建立的流的一部分,消息330并非SYN消息。因为不存在数据流1的条目,防火墙103b检验缓存104b并发现虚拟机102之前已经与防火墙103a登记。相应的,防火墙103b向防火墙103a转发消息330。如果将所述消息作为IP分组发送,可以根据IP-in-IP封装转发消息。在接收到消息330后,防火墙103a检验流状态表108b,并确定它在条目110中确实维护了流1的状态。相应的,防火墙103a将适当服务(在此情形中,防火墙策略)应用到该消息(在此情形中,将该消息转发至服务器106)。
现在参考图4,示出了流状态能够从一个防火墙被转移到另一防火墙的附加过程。在某些条件下,将状态从一个防火墙转移至另一个防火墙可能是有利的。作为示例,从一个防火墙向另一个防火墙转移数据流的状态,而非持续用另一防火墙处的防火墙策略应用来转发消息,可能是更有效率的。
图4的过程起始于类似于图3的方式。从虚拟机102向防火墙103b发送作为流1的一部分的消息430。当消息达到防火墙103b时,检验流状态表108b以确定是否防火墙103b保持了流1的状态。当确定当前防火墙103b未保持流1的状态时,检验缓存104b以确定虚拟机102是否之前与另一防火墙登记。缓存104b中的条目210指示之前在防火墙103a处登记了虚拟机102。为了防止消息430的处理中的任何延迟,将消息430转发至防火墙103a,在防火墙103a它最终被转发至服务器106。
同时,可以确定应当将流1的流状态转移至防火墙103b。可以基于阻止以后将消息从防火墙103b向防火墙103a转发的效率作出这一确定。作为示例,可以确定流1可能将在较长时间内继续活跃。可以基于在流1中传送的消息类型而作出这一确定。可选的,缓存104b可包括计数器,每次当被查询以确定虚拟机102之前是否被登记到不同的防火墙时,计数器增加。如果计数器达到特定阈值,可确定防火墙103a处的虚拟机102的流状态应当被转移至防火墙103b。
无论应用何种机制来确定流状态的转移是否恰当,过程进行如下。防火墙103b向防火墙103a发送请求流1的流状态的消息440。防火墙103a通过包括流1的流状态的消息450向防火墙103b向应。当已经接收到流1的流状态,防火墙103b在流状态缓存108b中为流1创建新的条目421。当成功创建条目421,防火墙103b向防火墙103a发送确认消息460,该消息460向防火墙103a指示流状态表108a中的条目112可以被标记为旧的或被删除而不需顾虑流1的流状态将会丢失。相应的,当虚拟机102发送用于流1的消息470时,鉴于流状态表108b中的条目421的存在,防火墙103b将能够立即处理该消息并将消息470转发至服务器106。
现在转到图5,这里描述了与图4中类似的过程,但作为立即将消息530转发至防火墙103a的替换,消息530被存储于防火墙103b且同时流1的流状态从防火墙103a被转移到防火墙103b。相应的,一旦在防火墙103b处确定流1被保持于防火墙103a,请求将流1的流状态转移至防火墙103b的消息540从防火墙103b被发送至防火墙103a。防火墙103a通过包含流1的流状态的消息550进行响应。接收到消息550后,防火墙103b在流状态表108b为流1创建新的条目521。在成功创建条目521后,防火墙103b向防火墙103a发送消息560,该消息向防火墙103a指示流状态条目110可以被标记为旧的或被删除而不需顾虑流1的流状态将会丢失。
现在转到图6-8,提供了到来的流量如何被处理的描述。图6起始于虚拟机102初始与防火墙103a被登记的假设,但与之前的图2-5不同的是,虚拟机102尚未移动和与防火墙103b被登记。服务器106发送作为流1的一部分的消息630,在防火墙103b处接收消息。接收消息630后,防火墙103b检验流状态表108b以确定其当前是否在维护流1的状态。当确定防火墙103b未保持流1的流状态时,从防火墙103b向目录107发送消息211以确定是否消息630的最终目的地(即,虚拟机102)之前是否与不同的防火墙被登记。目录107通过消息212响应,该消息212指示虚拟机102已经与防火墙103a被登记。作为响应,防火墙103b在缓存104b创建指示虚拟机已经与防火墙103a被登记的条目610。另外,防火墙103b将消息630向防火墙103a转发以用于防火墙103a处的处理,并最终转发至虚拟机102。
参考图7,示出了一个场景,其中已经完成了图2的过程,并且接收了来自于服务器106的流1的新消息。具体的,图7描述了其中防火墙103a保持了流1的流状态、虚拟机102已经被移动、并且当前在目录107中被登记于防火墙103b处的情形。防火墙103b保持了流2的流状态,并且在缓存104b中具有指示虚拟机102之前被登记至防火墙103a的条目。相应的,当服务器106发送作为流1的一部分且目的地地址为虚拟机102的消息730时,防火墙103b将首先检验它是否保持消息730的流状态。当认识到它未保持流1的流状态时,防火墙103b搜索缓存104b,缓存指示虚拟机之前被登记至防火墙103a。相应的,防火墙103b将消息730转发至防火墙103a。
在接收消息730后,防火墙103a查询流状态表108a。在发现条目110后,防火墙103a确定它保持了流1的流状态,并且因此对消息730应用适当策略。根据示例,消息730最终被转发至虚拟机102.
现在转到图8,示出了与图7类似的场景,但是作出流1的流状态应当从防火墙103a被转移至103b的确定。相应的,当在防火墙103b接收作为流1的一部分的消息830时,从流状态缓存108b确定防火墙103a保持流1的流状态。响应于这一确定,将消息830转发至防火墙103a。在接收被转发的消息830后,防火墙103a从流状态缓存108a确定它保持了流1的流状态。因此,防火墙103a对消息830应用适当策略,导致消息830被转发至虚拟机102。
当防火墙103a对消息830应用策略时,防火墙103b已确定数据流1的流状态最好保持于防火墙103b处。相应的,防火墙103b向防火墙103a发送消息840,请求流1的流状态。防火墙103a通过包含流1的流状态的消息850进行响应。在接收消息850后,防火墙103b在流状态表108b中创建条目821以存储流1的流状态。一旦条目821被创建,防火墙103b发送消息860,该消息被配置为向防火墙103a指示流状态表108a中的流状态表条目110可以被标记为旧的或被删除而不需顾虑流1的流状态将会丢失。
现在参考图9,描述了与图8中所描述的类似的过程,除了作为流1的一部分的消息930被存储于防火墙103b处,同时向防火墙103a请求流1的流状态。具体地,当在防火墙103b接收到消息930时,从流状态表108b确定防火墙103b未保持流1的流状态。相应的,防火墙103b存储消息930并向防火墙103a发送请求流1的流状态的消息940。防火墙103a通过包括流1的流状态的消息950作为响应。在接收消息950后,防火墙103b在流状态表108b中创建条目921以存储流1的流状态。一旦条目921被创建,防火墙103b发送消息960向防火墙103a指示流状态表108a中的流状态表条目110可以被标记为旧的或被删除,而不需顾虑流1的流状态将会丢失。
现在参考图10,描述了当诸如虚拟机102的端点已经移动了两次或更多次时的多防火墙环境中的网络流量的重定向。在图10的示例中,虚拟机102首先与防火墙103a登记。随后,根据以上参考图2所描述的过程,虚拟机102在防火墙103b处登记。最后,虚拟机102再次移动,并再次登记,同样根据以上参考图2所描述的过程,这一次与防火墙103c登记。
在第二次移动之后,虚拟机102发送作为流1的一部分的消息1030,并且消息在防火墙103c被接收。首先,防火墙103c检验流状态表108c,并确定在防火墙103c未保持流1的流状态。之后,防火墙103c检验缓存104c。根据当虚拟机102与防火墙103c被登记时所保存的条目310,虚拟机102之前与防火墙103b被登记。相应的,防火墙103c向防火墙103b转发消息1030。
一旦在防火墙103b处接收到消息1030,流状态表108b被查询并且确定防火墙103b同样未保存流1的状态。相应地,检验缓存104b,其中当虚拟机102之前与防火墙103b被登记时所创建的条目210指示虚拟机102之前还与防火墙103a被登记。防火墙103b继续向防火墙103a转发消息1030。
一旦在防火墙103a处接收到消息1030,确定流状态表108a保持流1的流状态。相应地,将适当策略应用于消息1030,结果是它由防火墙103a被转发至服务器106。
现在转到图11,其中描述了流程图1100,该流程图示出了根据这里所提供的技术的流量重定向的方法。如这里所描述的其余示例一样,图11的流程图为在多防火墙环境的背景下,但是这里的这些技术可以被应用于实现有状态服务的其余环境。在步骤1110,在第一网络设备处接收端点发起的消息。被接收的消息可以为用于建立端点和网络设备外部的服务器之间的流的SYN消息。在接收消息后,在步骤1120中,在目录中登记端点和第一网络设备之间的关系。该关系可以指示从端点至网络设备的最近通信在第一网络设备处被接收,并且因此,第一网络设备为与应用有状态服务的端点最近的网络设备。
在步骤1130中,在第一网络设备处存储端点的流状态。这一状态允许网络设备对由端点根据之前发送的SYN消息建立的流应用服务。第一网络设备可以在流状态表中存储状态。
在步骤1140,在第二网络设备处接收指示该端点的第二消息。这里所使用的,“第二消息”中的“第二”被用于区别来自于上面所讨论的端点发起的消息,并且不需要第二消息为在该端点发起的消息之后被接收的下一个消息。一般地,第二消息可以为相同流的任何以后的消息,诸如在初始会话建立握手之后的消息。该消息可能是从端点发出的,并且因此,将在消息的源地址中指示端点。可选的,该消息可能是在第二网络设备处从外部服务器接收的,并且因此,将在消息的目的地地址中指示端点。
在步骤1150中,第二网络设备确定它未存储与第二消息相关的流的流状态。作为示例,第二网络设备处的流状态表可能未存储与该端点相关的任何状态。可选的,第二网络设备处的流状态表可能存储与该端点相关的状态,但是这些状态为用于除了与第二消息相关的流之外的数据流。
第二网络设备不保持与第二消息相关的流的状态。因此,在步骤1160,第二网络设备执行查询以接收允许对第二消息应用适当服务的信息。根据一些示例,对位于第二网络设备处的缓存进行这一查询,以确定第二网络设备是否已经存储指示该端点和诸如第一网络设备的另一网络设备之间的先前关系的信息。可选的,如果在第二网络设备的缓存中不包含与该端点相关的任何条目,查询可以被发送至目录。
在步骤1170,被查询的信息被存储于第二网络设备的缓存中。如果第二网络设备刚从目录接收到消息,第二网络设备在位于第二网络设备的缓存中创建新的条目。可选的,如果在缓存中已经存储了该消息,在第二网络设备的缓存中维护将该端点与之前的网络设备相关的信息。
最后,在步骤1180,根据所存储的信息对第二消息应用服务。可以通过众多方式执行服务的应用。作为示例,可以向保持第二消息的状态的网络设备转发第二消息,诸如以上参考图3和7所描述的。可选的,与第二消息相关的流的流状态可以如以上参考图5和9所描述的被转发至第二网络设备。根据其余示例,第二消息可以被转发至另一网络设备(例如,第二防火墙),同时将流状态复制到第二网络设备用于如以上参考图4和8所描述的进一步处理。另外,服务的应用可以命令第二消息如以上参考图10所描述的被转发至多个网络设备。
现在转到图12,这里描述了示出防火墙对所接收的消息应用防火墙服务的过程的更详细的流程图1200。这一过程起始于步骤1210,当时防火墙接收指示端点的消息。在步骤1220中,防火墙确定是否它是否保持了与被接收的消息相关的流的流状态。如果防火墙保持了被接收的消息的流状态,在步骤1230中防火墙应用适当的防火墙策略。
可选的,如果防火墙未保持与消息相关的流的状态,在步骤1240中,防火墙查询它的本地缓存以确定是否它已经存储了指示与另一防火墙的之前关系的信息。如果缓存包含了与另一防火墙之前关系的记录,在步骤1280中将该消息转发至此防火墙,并且当在该新的防火墙处接收到该消息时,过程将再次开始于步骤1210。
如果在缓存中不存在指示与另一防火墙的之前关系的条目,在步骤1250中。当前防火墙将查询映射目录来搜索与另一防火墙的之前关系。在步骤1260中,如果防火墙从映射目录接收指示该端点和另一防火墙之间的之前映射的响应,那么在步骤1270中,防火墙在它的缓存中存储这一信息。随着映射被存储,在步骤1280中,该消息被转发至来自目录的响应中所指示的防火墙,并且在该新的防火墙处接收到所转发的消息时,过程将再次开始于步骤1210。
在另一方面,如果在步骤1260中未接收映射,在步骤1290中,在流状态表中创建新的流以对此流进行处理。随后,在步骤1230中应用适当的防火墙策略。可选的,如果消息从防火墙外侧发起的,那么该消息可被丢失。
现在参考图13,其中示出了示例性映射目录。目录包含两栏;第一栏1310包括指示网络上的内部端点的信息。作为示例,栏1310中的第一条目1330a包括内部端点的因特网协议版本4(Ipv4)前缀,第二条目1340a包括端点的媒介访问控制(MAC)地址,并且第三条目1350a包括内部端点的因特网协议版本6(Ipv6)的内部前缀。网络设备栏1320包括与每一个端点相关的防火墙的地址。三条条目1330a,b和c共享相同的安全服务网络(SSN)地址,并且因此,所有的端点被映射到相同的网络设备。
最后,转到图14,其中描述了被配置为执行这里所描述的流量控制技术的网络设备(例如,防火墙设备)的示例框图。网络设备1400包含网络接口(例如,端口)1410,处理器1420,总线1430和存储器1440。为了简化,网络接口1410可以被统称为网络接口单元。存储器1440包含用于操作系统1441和诸如防火墙服务之类的有状态服务1442的软件指令。存储器1440还包括缓存103和流状态表108。
存储器1440可以包含只读存储器(ROM),随机存取存储器(RAM)、磁盘存储介质设备、光存储介质设备、闪存设备、电的、光的、或其余物理/有形的(例如,非易失性)存储器存储设备。处理器1420为代理设备逻辑执行指令的例如微处理器或者微控制器。因此,一般地,存储器1440可以包含一个或多个编码有软件的有形的(非易失性)计算机可读存储介质(例如,存储器设备),该软件包括计算机可执行指令,并且当执行软件时(通过处理器1420),并且具体是有状态服务软件1442被执行时,可操作以执行这里的图1-12中所描述的操作。
总言之,上面所介绍的示例提供了允许对分布于任意数目的站点的任意数目的网络设备间的网络流量的智能重定向的方法和系统。与例如多防火墙网络的其它实现方式不同的是,这里描述的示例提供了多防火墙间的数据流的处理而无需站点之间的状态同步。不需要流量的对称性并且允许跨站点的活动/活动防火墙部署。当与基于映射-查询的系统组合时,映射数据库基于内部前缀的登记,并且结果是降低了站点间控制平面流量的数据。从活动防火墙增加和移除站点相当简单,并且不会造成破坏。
相比其余可能的多防火墙系统,这些技术可以节省大量带宽。作为示例,这里介绍的技术仅对具有在不同的防火墙处保持的流状态的数据流进行重定向。通过选择重定向的时间,能够节省额外的大量带宽。另外,可以实现上面所描述的技术,而不考虑使用多少站点和多少防火墙。
另外,当在IP上使用这些技术,技术的传输是不可知的。
上述说明仅意图通过示例的方式来进行。

Claims (32)

1.一种方法,包括:
在第一网络设备处从网络端点接收流的第一消息;
在将端点映射至网络设备的目录中登记端点和所述第一网络设备之间的关系;
在所述第一网络设备处存储所述流的流状态;
在第二网络设备处接收所述流的第二消息,所述第二消息指示所述端点;
确定所述第二网络设备未存储所述流的流状态;
查询以获取指示所述端点和所述第一网络设备之间关系的信息;
将所述信息存储于所述第二网络设备的缓存中;以及
根据所存储的信息对所述第二消息应用服务。
2.如权利要求1的方法,其中查询包括查询所述目录以获取指示所述端点和所述第一网络设备之间的关系的信息。
3.如权利要求1的方法,其中查询包括查询所述缓存以获取指示所述端点和所述第一网络设备之间的关系的信息。
4.如权利要求1的方法,其中登记所述关系包括登记指示所述第一网络设备对被传送到所述端点或从所述端点传送的消息应用服务的信息。
5.如权利要求1的方法,其中在所述缓存中存储所述信息包括存储指示所述第一网络设备对被传送到所述端点或从所述端点传送的的消息应用服务的信息。
6.如权利要求1的方法,其中接收所述第二消息包括接收在所述第二消息的目的地地址中指示所述端点的到来消息。
7.如权利要求6的方法,其中根据所存储的信息应用服务包括:将所述第二消息转发至所述第一网络设备并在所述第一网络设备处应用所述服务。
8.如权利要求6的方法,其中应用服务包括:将所述流状态从所述第一网络设备复制到所述第二网络设备并在所述第二网络设备处应用所述服务。
9.如权利要求8的方法,还包括从所述第一网络设备中删除所述流状态。
10.如权利要求1的方法,其中接收所述第二消息包括接收在所述第二消息的源地址中指示所述端点的外发消息。
11.如权利要求10的方法,其中应用策略包括向所述第一网络设备转发所述第二消息并在所述第一网络设备处对所述第二消息应用所述策略。
12.如权利要求10的方法,其中应用所述服务包括:
向所述第一网络设备转发所述第二消息并且在所述第一网络设备处应用策略;以及
将所述流状态从所述第一网络设备复制到所述第二网络设备。
13.如权利要求12的方法,还包括从所述第一网络设备中删除所述流状态。
14.如权利要求12的方法,还包括:
在所述第二网络设备处接收所述流的、指示所述端点的第三消息;
确定所述第二网络设备保持了所述流的状态;以及
在所述第二网络设备处对所述第三消息应用服务。
15.如权利要求1的方法,其中接收所述第二消息包括接收不是同步消息的消息。
16.如权利要求1的方法,其中登记包括登记所述端点和第一防火墙设备之间的关系,其中存储包括存储于该第一防火墙处;接收包括在第二防火墙设备处接收所述第二消息;确定包括确定该第二防火墙未存储所述流的流状态;查询包括查询以获取指示所述端点和所述第一防火墙之间的关系的信息;存储包括在所述第二防火墙的缓存中存储所述信息;并且其中应用服务包括应用防火墙策略。
17.一种装置,包括:
网络接口单元,该网络接口单元被配置为使能网络上的通信;
存储器,该存储器用于存储策略数据且具有被分配以用作流状态表的第一部分;以及
处理器,该处理器被耦合至所述网络接口单元和存储器,并且被配置为:
接收针对网络端点的端点发起的消息;
在将虚拟机映射至网络设备的目录中登记与所述端点的关系;
在所述流状态表中存储所述端点的流状态;
根据由外部网络设备从所述目录接收的信息,从所述外部网络设备接收第二消息;以及
根据所述策略数据对所述第二消息应用服务。
18.如权利要求17的装置,其中所述处理器被配置为由从所述外部网络设备接收的第二消息获取在所述第二消息中指示所述端点的目的地地址。
19.如权利要求17的装置,其中所述处理器被配置为由从所述外部网络设备接收的第二消息获取在所述第二消息中指示所述端点的源地址。
20.如权利要求17的装置,其中所述存储器被配置为以防火墙策略数据的形式存储策略数据;并且
其中所述处理器被配置为从外部防火墙设备接收所述第二消息并根据存储的防火墙策略数据应用防火墙策略。
21.一种装置,包括:
网络接口单元,该网络接口单元被配置为使能网络上的通信;
存储器,该存储器用于存储策略数据且具有被分配为用作缓存的部分;
处理器,该处理器被耦合至所述网络接口单元和存储器,且被配置为:
接收指示网络的消息;
查询将端点映射至网络设备的目录,以接收指示所述端点和外部网络设备之间的先前登记的关系的信息;
在所述缓存中存储所接收的信息;以及
将所述消息转发至所述外部网络设备以用于所述外部网络设备处的服务的应用。
22.如权利要求21的装置,其中所述处理器被配置为从所述消息获取指示所述端点的目的地地址。
23.如权利要求21的装置,其中所述处理器被配置为从所述消息获取指示所述端点的源地址。
24.如权利要求21的装置,其中所述处理器被配置为:
查询所述目录以接收指示所述端点和外部防火墙之间的先前登记的关系的信息;以及
将所述消息转发至所述外部防火墙以用于所述外部防火墙处的防火墙策略的应用。
25.一种编码有指令的计算机可读有形存储介质,当所述指令被处理器执行时,使得所述处理器:
接收网络端点发起的消息;
在目录中登记与该端点的关系;
存储所述端点的流状态;
根据由外部网络设备从所述目录接收的信息,从所述外部网络设备接收第二消息;
对所述第二消息应用服务。
26.如权利要求25的计算机可读有形存储介质,其中所述指令还使得所述处理器由从所述外部网络设备接收的第二消息中获取所述第二消息中指示所述端点的目的地地址。
27.如权利要求25的计算机可读有形存储介质,其中所述指令还使得所述处理器由从所述外部网络设备接收的第二消息中获取所述第二消息中指示所述端点的源地址。
28.如权利要求25的计算机可读有形存储介质,其中所述指令还使得所述处理器:
从外部防火墙设备接收所述第二消息;以及
根据所存储的防火墙策略数据应用防火墙策略。
29.一种编码有指令的计算机可读有形存储介质,当所述指令被处理器执行时,使得所述处理器:
接收指示网络端点的消息;
查询目录并接收指示该端点和外部网络设备之间的先前登记的关系的信息;
在缓存中存储所接收的信息;
将所述消息转发至所述外部网络设备以用于所述外部网络设备处的服务的应用。
30.如权利要求29的计算机可读有形存储介质,其中所述指令还使得所述处理器从所述消息获取所述消息中指示所述端点的目的地地址。
31.如权利要求29的计算机可读有形存储介质,其中所述指令还使得所述处理器从所述消息获取所述消息中指示所述端点的源地址。
32.如权利要求29的计算机可读有形存储介质,其中所述指令还使得所述处理器:
查询所述目录以接收指示所述端点和外部防火墙之间的先前登记的关系的信息;
将所述消息转发至所述外部防火墙以用于所述外部防火墙处的防火墙策略的应用。
CN201380052069.2A 2012-10-05 2013-09-30 用于有状态服务的应用的网络流量的重定向的方法和装置 Active CN104704791B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/645,694 US9461965B2 (en) 2012-10-05 2012-10-05 Redirecting of network traffic for application of stateful services
US13/645,694 2012-10-05
PCT/US2013/062527 WO2014055383A1 (en) 2012-10-05 2013-09-30 Redirecting of network traffic for application of stateful services

Publications (2)

Publication Number Publication Date
CN104704791A true CN104704791A (zh) 2015-06-10
CN104704791B CN104704791B (zh) 2017-10-31

Family

ID=49328661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380052069.2A Active CN104704791B (zh) 2012-10-05 2013-09-30 用于有状态服务的应用的网络流量的重定向的方法和装置

Country Status (4)

Country Link
US (1) US9461965B2 (zh)
EP (1) EP2904758B1 (zh)
CN (1) CN104704791B (zh)
WO (1) WO2014055383A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667682B (zh) * 2018-03-21 2020-11-06 北京天融信网络安全技术有限公司 基于安全网关深度包检测的连接同步方法、装置及介质
DE102019217624A1 (de) * 2019-11-15 2021-05-20 Robert Bosch Gmbh Industrielles Steuerungssystem in der Automatisierungstechnik mit unabhängig voneinander agierenden Modulen

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018914A1 (en) * 2001-07-20 2003-01-23 Lebin Cheng Stateful packet forwarding in a firewall cluster
CN101383688A (zh) * 2007-09-06 2009-03-11 凹凸科技(中国)有限公司 数据通信装置及保持数据通信装置高可用性的方法
CN101409714A (zh) * 2008-11-18 2009-04-15 华南理工大学 一种基于虚拟机的防火墙系统
US20090249438A1 (en) * 2008-03-27 2009-10-01 Moshe Litvin Moving security for virtual machines
CN101958903A (zh) * 2010-10-09 2011-01-26 南京博同科技有限公司 一种基于soc及并行虚拟防火墙的高性能防火墙实现方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880089B1 (en) 2000-03-31 2005-04-12 Avaya Technology Corp. Firewall clustering for multiple network servers
US7131140B1 (en) 2000-12-29 2006-10-31 Cisco Technology, Inc. Method for protecting a firewall load balancer from a denial of service attack
US7792113B1 (en) 2002-10-21 2010-09-07 Cisco Technology, Inc. Method and system for policy-based forwarding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018914A1 (en) * 2001-07-20 2003-01-23 Lebin Cheng Stateful packet forwarding in a firewall cluster
CN101383688A (zh) * 2007-09-06 2009-03-11 凹凸科技(中国)有限公司 数据通信装置及保持数据通信装置高可用性的方法
US20090249438A1 (en) * 2008-03-27 2009-10-01 Moshe Litvin Moving security for virtual machines
CN101409714A (zh) * 2008-11-18 2009-04-15 华南理工大学 一种基于虚拟机的防火墙系统
CN101958903A (zh) * 2010-10-09 2011-01-26 南京博同科技有限公司 一种基于soc及并行虚拟防火墙的高性能防火墙实现方法

Also Published As

Publication number Publication date
US9461965B2 (en) 2016-10-04
US20140101321A1 (en) 2014-04-10
WO2014055383A1 (en) 2014-04-10
EP2904758A1 (en) 2015-08-12
CN104704791B (zh) 2017-10-31
EP2904758B1 (en) 2019-03-20

Similar Documents

Publication Publication Date Title
US11405351B2 (en) Source-aware technique for facilitating LISP host mobility
US10291552B2 (en) Method for providing an information centric network with a software defined network and controller of the software defined network
JP7004405B2 (ja) 仮想ネットワークにおける分散型フロー状態p2p設定のためのシステムおよび方法
US10320683B2 (en) Reliable load-balancer using segment routing and real-time application monitoring
EP3231160B1 (en) Stateful load balancing in a stateless network
KR101664922B1 (ko) 정책 시행 포인트의 분산을 위한 시스템 및 방법
JP5608794B2 (ja) 複数の仮想マシンを管理するための階層システム、方法、及びコンピュータプログラム
JP6080313B2 (ja) 仮想ネットワークを実装及び管理するシステム及び方法
US9203753B2 (en) Traffic optimization using network address and port translation in a computer cluster
WO2014154087A1 (en) A gateway and its method of transfering data
TWI532353B (zh) 社群虛擬網路連線建立方法及網路通信系統
CN104704791A (zh) 用于有状态服务的应用的网络流量的重定向
CN108881024B (zh) 一种组播流量转发方法及装置
WO2013023465A1 (zh) 身份位置分离与传统网络互联互通方法、ilr和asr
US9763135B1 (en) Load balancing with mobile resources

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