CN105745886A - 在两个实体之间提供快速路径 - Google Patents

在两个实体之间提供快速路径 Download PDF

Info

Publication number
CN105745886A
CN105745886A CN201380079059.8A CN201380079059A CN105745886A CN 105745886 A CN105745886 A CN 105745886A CN 201380079059 A CN201380079059 A CN 201380079059A CN 105745886 A CN105745886 A CN 105745886A
Authority
CN
China
Prior art keywords
sdn
safety device
network
stream
switch
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
CN201380079059.8A
Other languages
English (en)
Other versions
CN105745886B (zh
Inventor
G·H·库珀
J·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.)
McAfee LLC
Original Assignee
McAfee 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 McAfee LLC filed Critical McAfee LLC
Publication of CN105745886A publication Critical patent/CN105745886A/zh
Application granted granted Critical
Publication of CN105745886B publication Critical patent/CN105745886B/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/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • 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/70Virtual switches
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

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

Abstract

本发明组合软件定义网络(SDN)概念与安全概念。SDN和安全之间的协调提供无数的有利使用情况。一个示例性使用情况涉及通过一旦安全装置判断安全装置不再需要检测网络流量,路由网络流量以绕过安全装置,使用SDN,以网络速度提供快速路径。另一示例性使用情况涉及安全区域的远程提供。

Description

在两个实体之间提供快速路径
优先权数据
本申请是2013年9月23日提交的美国临时专利申请序列No.61/881,357的非临时版本,在此通过整体引用结合于此。
技术领域
此处所描述的各实施例一般涉及计算领域,更具体而言,涉及使用软件定义网络(softwaredefinednetwork:SDN)控制器在两个实体之间提供快速路径和/或在SDN环境中提供安全区域。
背景技术
软件定义网络(SDN)是一种用于分隔网络中的控制平面以及数据平面的机构。如前所述,数据平面生活在交换结构中。控制平面是以标准编程语言编写的在标准操作系统上运行的程序。标准协议(例如,OpenFlow,或任何合适的SDN协议)将两者连接在一起。由于多种原因,SDN是有趣的。逻辑边界的创建纯粹在控制平面中。虚拟化平台可以(完全)以软件来创建拓扑,从而简化了虚拟应用程序和虚拟机“运动”,而网络装置变得依赖于SDN,因为必须在SDN控制平面中提供装置的位置。可以在交换决策中考虑应用程序特定或非本地因素。SDN控制平面允许维护全局状态信息或应用程序特定的信息,例如,全局链路状态和服务质量,从而在相同结构上提供有线电视+因特网。此外,通过使用L2+SDN,还可以更有效率地进行L3路由。
OpenFlow是通过SDN的概念,通过网络,给予对网络交换机或路由器的转发平面的访问的许多通信协议或其他计算机接口机制中的一个。开放网络基础(ONF),一个用户领导的专用于软件定义网络(SDN)的推广和采用的组织,管理OpenFlow标准。ONF将OpenFlow定义为在SDN架构的控制和转发层之间定义的第一标准通信接口。OpenFlow允许对诸如交换机和路由器(两者都是物理和虚拟的(基于系统管理程序的))之类的网络设备的转发平面的直接访问和操纵。需要诸如OpenFlow之类的协议将网络控制移动到专有的网络交换机之外并进入控制硬件和开源并被本地管理的软件之内。其他SDN协议可包括:Frenetic编程语言、VMWarevSphereClient、TRI,等等。
OpenFlow或其他合适的SDN协议允许通过交换机的网络的网络分组的路径由在多个路由器(例如,“OpenFlow交换机”)上运行的软件确定。可以提供OpenFlow控制器(或一般而言,SDN控制器),以管理在路由器上运行的OpenFlow交换机(或某种其他合适的网络元件)。这种控制与转发的分离允许比使用访问控制列表(ACL)和路由协议可行的更复杂的流量管理。
许多网络交换机和路由器厂家都宣告支持OpenFlow的打算或正在生产对OpenFlow支持的交换机。某些网络控制平面实现使用该协议来管理网络转发元件。OpenFlow可以用于诸如传输层安全性(TLS)之类的安全信道上的交换机和控制器之间。
附图简述
为提供对本发明以及其特征和优点的比较完整的理解,将参考与附图一起进行的下面的描述,其中,相同参考编号表示相同部件,其中:
图1是根据本发明的一实施例的示例安全装置、示例SDN控制器,以及SDN交换机的简化框图;
图2是示出了与本发明的一些实施例相关联的潜在活动的简化流程图;
图3A是示出了本发明的一个或多个实施例的布线的简化框图;
图3B是示出了对应于3A中的布线的本发明的一个或多个实施例的数据流的简化框图;
图4是示出了根据本发明的一些实施例的使用SDN来实施一个或多个安全策略的简化框图;
图5A-B示出了已被注释的屏幕快照,示出了根据本发明的一些实施例的使用SDN来绕过的防火墙(FW)的结果;
图6A-D是示出了根据本发明的一些实施例的使用SDN的安全策略的不同的示例性实现的简化框图;
图7是示出了根据本发明的一些实施例的以网络速度提供“超级快速路径”的简化框图;
图8A-B是示出了根据本发明的一些实施例的在分公司使用SDN的安全策略的不同的示例性实现的简化框图;
图9是示出了根据本发明的一些实施例的在两个服务器之间提供绕过具有SDN控制器和集成的SDN交换机的安全装置或在路由中具有该安全装置的路由的简化框图;
图10是示出了根据本发明的一些实施例的在位于同一交换机上的两个服务器之间提供绕过在使用SDN控制器的另一交换机上的安全装置或在路由中具有该安全装置的路由的简化框图;
图11A是示出了根据本发明的一些实施例的在从客户端到服务器的路由中使用代理的简化框图;
图11B是示出了根据本发明的一些实施例的绕过代理并重写序列和确认(Ack)编号的简化框图;
图12是根据一实施例的耦合到示例处理器的存储器的框图;以及
图13是根据一实施例的按点对点(PtP)配置排列的示例计算系统的框图。
具体实施方式
软件定义网络(SDN)涉及具有提供数据平面(流)并使用例如,OpenFlow协议或任何合适的协议来定义控制平面(即,拓扑和路由)的交换机硬件。一般而言,SDN包括在物理或虚拟交换机和SDN应用程序(虚拟化层)之间进行接口的一个或多个控制器,诸如OpenFlow之类的SDN协议用于允许在交换机和控制器之间进行通信。
本发明组合软件定义网络(SDN)概念与安全概念。SDN和安全之间的协调提供无数的有利使用情况。一个示例性使用情况涉及通过一旦安全装置判断安全装置不再需要检测网络流量,路由网络流量以绕过安全装置,使用SDN,以网络速度提供快速路径。另一示例性使用情况涉及安全区域的远程提供。
图1是根据本发明的一实施例的用于SDN环境中的示例性安全装置、示例性SDN控制器,以及示例性SDN交换机的简化框图。一般而言,SDN交换机102(或可由处理器执行的SDN交换模块)使用接口硬件104来通过使用流表106路由现有的数据流。如此处所使用的术语“数据流”描述网络流量,即,在网络的两个点之间,例如,源到目的地,服务器到客户端,客户端到服务器,等等,传输的分组。术语“数据流”可以与“数据连接”或“流”(通常用在网络交换术语中)互换地使用。“数据流”的示例包括因特网协议(IP)流、用户数据报协议(UDP)流、因特网控制消息协议(ICMP),以及传输控制协议(TCP)流。流可以对应于根据以太网协议(例如,802.11)、IPV6传输的分组分组,或开放系统互连(OSI)模型的各层中的任何一层,包括(1)物理层、(2)数据链路层,(3)网络层、(4)传输层,(5)对话层,(6)表示层,以及(7)应用层内的任何其他协议也是预想的。例如,数据流可包括HTTP/1.1连接,该连接包括多个事务是单一流、两个位置之间的IPSec隧道是单一流、单一客户端和单一服务器之间的一组DNS事务可以形成一个或多个流,取决于事务的时间,多个客户端和服务器之间的DNS事务形成许多流。一般而言,流是一组运动着的分组,所有的这些分组都匹配N元组的分组参数,可以根据OSI模型中的对应的一层或多层内的参数,标识并处理这些分组参数。流可以在两个方向运动,即,从点A到点B以及从点B到点A。流的在两个方向的交换/路由(即,流在网络中经过的路径)可以是非对称的,即,不需要在两个方向经过相同路径。由于SDN可以在OSI模型的所有层中应用,因此,术语“交换”和“路由”(或与这些相关的其他术语)可互换地使用,来指通过网络中的网络元件传输分组的机制。
为了路由新的数据流,SDN交换机102将信息传递到SDN控制器108,以确定应该如何路由新流。SDN交换机102和SDN控制器108使用合适的SDN协议,例如,OpenFlow协议,进行通信,该SDN协议在SDN控制器108和诸如SDN交换机102之类的(物理)SDN交换机之间提供接口。
然后,SDN控制器108提供控制逻辑110,该控制逻辑110配置SDN环境中的一个或多个SDN交换机,以适当地路由新的数据流。例如,控制逻辑110应用合适的路由/交换算法,该算法为,例如,流表106,确定条目,以便SDN环境中的一个或多个SDN交换机适当地路由新的数据流(例如,根据最短的/最佳路径路由算法)。换言之,控制逻辑110使用SDN环境中的一个或多个SDN交换机来控制SDN环境中的网络流量或数据流的路由。例如,由控制逻辑110应用的算法可包括由诸如Quagga之类的外部软件选择的“最佳路径”路由算法。控制逻辑110,例如,通过为流表106提供一个或多个条目,来更新流表106。在某些实施例中,控制逻辑110包括用于确定用于配置一个或多个SDN交换机的流表,诸如SDN交换机102的流表106,的一个或多个流表条目的逻辑。
在本发明的上下文内,此处可互换地使用交换和路由来作为涉及分组从网络的一个点到网络的另一点的移动的术语。有关如何移动分组的决策(例如,用于决定如何转发分组的流表)可以在OSI模型的任何层操作。SDN控制器可以具有控制逻辑,该控制逻辑具有用于为OSI模型的任何层生成流条目的路由或交换算法。相应地,本发明的SDN概念可以通过更新OSI模型的各层中的任何一层中的网络路由/交换元件的流表,来控制这些分组的交换或路由。与OSI模型的特定层相关的任何具体示例都旨在示出了SDN概念与安全模型的组合,而不旨在将本发明限制到那些具体示例。
事实上,SDN控制器108(即,控制平面)是从(物理)SDN交换机(即,数据平面)虚拟化并抽象的。利用此抽象,SDN控制器108可以根据外部信息(除路由算法、负载平衡算法,等等以外)提供/重新配置控制逻辑110。外部信息可包括来自安全装置114的一个或多个安全策略。为此,安全装置114可以将一个或多个安全策略传输到SDN控制器108,而SDN控制器108根据接收到的一个或多个安全策略,重新配置控制逻辑110。结果,控制逻辑110,一旦由SDN控制器108重新配置,将根据一个或多个安全策略,更改SDN环境中的路由。具体地,控制逻辑110更新诸如流表106之类的流表,以确保SDN环境符合一个或多个安全策略。这提供了通过重新配置SDN交换机来动态地实现安全策略的方式,在某些情况下,允许安全策略以远程方式应用。
耦合安全装置和SDN控制器可以在网络中实现安全模型。一般而言,安全模型规定并实施一个或多个安全策略。安全策略可以涉及为网络提供安全模型的一个或多个不同的方面。一个或多个安全策略可以指定下列各项中的一项或多项:安全区域、安全区域的添加/移除、安全区域的会员资格、网络访问权限、数据访问权限、安全装置在两个协作实体之间的路径中的插入,以及安全装置从两个协作实体之间的路径中的移除。一个示例方面包括要求特定数据流被安全装置检测的策略(对于两个协作实体之间的的网络流量的两个方向或对于一个方向)。另一示例方面包括规定特定数据流不需要被安全装置检测的策略(对于两个协作实体之间的网络流量的两个方向或对于另一方向)。另一示例方面包括定义一个或多个安全区域,其中,不同的安全区域可以具有不同的网络或数据访问权限。另一示例方面包括定义用于在安全区域之间隔离网络或数据的一个或多个安全区域。另一示例方面包括要求从一个安全区域到另一安全区域的数据流(在网络流量的两个或一个方向)被安全装置检测的策略。另一示例方面包括规定从一个安全区域到另一安全区域的数据流不需要被安全装置检测的策略。
可以与SDN一起使用各种安全装置。具体而言,可以通过路由实施一个或多个安全策略的安全装置可以与SDN一起使用,以在SDN环境中实现安全策略。一般而言,安全装置扫描或检测OSI模型的一层或多层内的分组标头和/或有效负载。例如,安全装置可以基于分组的特征,根据安全模型,过滤或处理分组。安全装置可以以物理安全设备中实现或提供,术语“安全装置”可以与此处的“安全设备”可互换地使用。安全装置可包括下列各项中的一项或多项,但是,这些示例不限于:
·对经过防火墙的网络流量执行深度分组检测的防火墙;
·用于监视和标识SDN环境中的恶意网络流量的入侵预防系统;
·用于通过监视、检测、以及阻止敏感数据经过SDN环境,来检测潜在数据破坏的数据丢失预防系统;
·用于在客户端和服务器(或协作实体)之间过滤数据的web安全装置或代理;
·扫描潜在数据破坏的数据丢失预防装置;
·为安全过滤电子邮件并移除垃圾邮件(不希望有的电子邮件)的电子邮件网关;
·对在网络流量内传输的文件执行静态或动态分析的安全分析设备;
·扫描流量以收集网络上的用户的身份的身份装置;
·动态地了解应用程序使用并由此创建并实施安全策略的应用程序防火墙;
·监视流量并向系统管理员呈现状态显示的网络监视设备;
·根据安全策略来影响流性能的流量整形(trafficshaping)装置;以及
·选择性地加密或解密特定网络流的加密网关。
图2是示出了与诸如如图1所示的本发明的一些实施例相关联的潜在活动的简化流程图。在至少一个实施例中,有对应于图2的活动的一组操作。设备,例如,图1的SDN控制器108,或其一部分,可以使用该组操作。设备可以包括用于执行编码在存储器——例如,存储器1270——中的这样的操作的装置,包括例如图12的处理器1200。在一个实施例中,设备,例如,图13的计算系统1300,通过让存储器,例如,存储器1332和存储器1334,包括被配置成,与处理器,例如,处理元件1370和处理元件1380一起协作,导致设备执行图2的操作组(或此处所公开的任何操作)的计算机代码来转换。
在框202,设备,例如,SDN控制器,提供用于配置SDN环境的控制逻辑。例如,图1的SDN控制器108提供控制逻辑110。使用SDN环境中使用一个或多个SDN交换机路由网络流量由控制逻辑来控制。在某些实施例中,控制逻辑包括被配置成实现特定网络拓扑的一个或多个路由算法(例如,根据特定路由协议,和/或实施一个或多个安全区域)。在某些实施例中,控制逻辑包括一个或多个路由算法,它们被配置成实施SDN环境中的两个节点(或一般而言,两个协作实体)之间的特定路由,例如,用于特定数据流或数据连接。一个或多个路由算法优选地向SDN交换机中的流表提供条目,以允许SDN交换机适当地路由网络流量。
在框204,设备(例如,SDN控制器108的接收方)从SDN控制器处的安全装置接收对于SDN环境的一个或多个安全策略。一个或多个安全策略可包括可以通过路由实施的一个或多个网络安全策略。在一种情况下,安全策略可以指定安全装置被插入到特定数据流/连接经过的路径中。在另一种情况下,安全策略可以指定特定网络节点属于一个或多个安全区域之中的一个安全区域,以实施特定级别的安全,例如,相对于网络和/或数据访问。
在框206,响应于接收到一个或多个安全策略,例如SDN控制器之类的设备,重新配置用于根据从安全装置接收到的一个或多个安全策略来控制SDN环境的控制逻辑。例如,控制逻辑可以以一个或多个策略作为输入,并确定诸如SDN交换机102的流表106之类的流表的一个或多个条目,以通过路由实施一个或多个安全策略。
参考下列图形来描述图2中所示出的流的变化。
组合安全装置功能与SDN
通过组合安全装置功能(例如,防火墙功能)与SDN功能,系统提供多个优点。例如,安全装置,例如,防火墙,察觉到“隐藏”在控制平面中的拓扑(例如,虚拟化的拓扑),SDN控制器可以执行一些简单的防火墙功能,例如,防火墙只用于深度扫描,而只基于IP地址和/或TCP或UDP端口号的防火墙(有时叫做“基本防火墙”)可以以交换机速度运行。这准许防火墙看起来以交换速度转发分组,例如,用于防火墙的“UDP分组速率”量度现在处于开关速度。系统也可以为长连接提供“超级快速路径”,其中,防火墙协作地与SDN交换一起工作,以在防火墙中开始连接,在交换机中结束连接,如此,对于连接的一部分,绕过防火墙。在另一种情况下,系统支持动态分区,例如,在防火墙可以使用从端点安全系统中获取的信息或网络导纳准则(networkadmittancecriteria)以将一些设备(例如,自带设备(BYOD)机器)置于它们自己的“区域”的情况下,无论它们正巧在交换结构中的哪里,并专门地扫描,限制和/或路由它们的流量。
将安全装置功能与SDN功能集成具有多个行业意义。集成的系统使防火墙性能与能够的一样快。进一步地,集成系统使SDN控制平面内的防火墙装置看见虚拟拓扑。在SDN网络中,这使得基于(单一)防火墙策略在区域边界处应用防火墙成为可能。此外,此集成系统将我们带到虚拟化技术的SDN框架中。
通常,包括SDN的网络包括一个或多个网络安全装置(或安全设备,在本发明中,两个术语可互换地使用)(例如,防火墙、入侵预防系统(IPS)、内容过滤网关设备(web网关、电子邮件网关)、数据丢失预防设备、静态和/或动态威胁分析设备、路由器和交换机ACL等等)。在某些情况下,可以将基本防火墙集成到SDN中(例如,使用OpenFlow),然而,这些系统不能始终高效地工作,并可能要求相对于网络安全设备的重复的功能。
网络安全设备(即,安全装置)被部署在网络中的拓扑阻塞点,迫使流量经过它们。在软件定义网络(SDN)中,SDN必须模仿阻塞点,从而经过网络安全设备路由所有流量。考虑在相邻交换机端口上,但是,在不同的SDN区域的两个计算机,A和B。从A到B的连接必须由SDN在“拉管(trombone)”(慢路径)中经过多个交换机被路由,以到达网络安全设备。
本发明演示了网络安全装置如何与SDN控制器协作地工作,以共享负载,在深度扫描完成之后,使用OpenFlow或其他合适的协议实现“超级快速路径”。这样的解决方案提供更高效系统。修改控制器,以接受安全区域的定义。安全区域之间的流量被路由到网络安全设备,例如,到防火墙,用于深度扫描。对于带有大量的数据的连接,所述深度扫描在连接的初期完成,否则,安全设备上策略可能限制扫描。此时,网络安全设备通知SDN控制器,并且连接被直接重新路由,以便绕过网络安全设备。
本发明说明了在深度扫描完成之后如何可以从连接中移除网络安全设备,准许流量在通信端口之间直接流动,从而提供最佳吞吐量。在上文的示例中,移除经过多个交换机的“拉管”,流量在同一交换机上从A流动到B。
在典型的情况下,传输单位是10-100MB,在前200K的传输的数据之后,完成深度扫描。如此,此处所公开的各实施例可以提高所有流量的性能,正在传输的小部分流量除外。
本发明示出了如何通过使用软件定义网络(例如,OpenFlow)技术,完全绕过网络安全设备。这通过准许绕过安全设备的从源到目的地的替换的交换路径,来改善性能。由于安全设备昂贵并集中,因此,这可能减少流量经过的交换机的数量,连接速度可能提高。
应该强调的是,除了只使通信更快之外,SDN还可对应用程序或网络安全进行改善。常规安全装置必须处于网络阻塞点,以便保证所需的(例如,区域间的)流量经过安全装置。由于阻塞点处的所有流量都必须经过安全装置,因此,变得很难实现和/或实现起来昂贵。SDN提供将安全装置分布到网络拓扑中的多个位置的可能性。这去除了创建网络阻塞点的必要性,并可以简化或改善网络设计。进一步地,可以将安全装置分布到拓扑中的方便的位置,或许更靠近执行计算的位置,让SDN基础结构确保给每一这样的装置供应不超过它能够处理的流量。相反,对于低带宽应用程序,SDN基础结构可以通过将来自远的位置的流量路由到较小数量的安全设备,来简化安全装置配置。
所公开的各实施例改善了数据中心或使用SDN的其他网络中的诸如入侵预防系统,防火墙,数据丢失预防和应用程序网关之类的网络安全装置/设备的效率。一些实施例提供将SDN技术与小型办公网络安全解决方案捆绑,准许对小网络中的安全区域进行远程控制。
SDN概念可以作为完整的解决方案被集成到产品中,以便产品在已经部署了诸如OpenFlow(或某种其他SDN协议)之类的SDN的站点很好地运转;并在没有部署SDN的站点提供SDN能力。例如,考虑将OpenFlow交换机和OpenFlow控制器集成到安全装置中的全功能防火墙产品。如果消费者部署额外的OpenFlow交换机,则防火墙能够控制那些“箱外(offbox)”交换机,导致防火墙看起来具有无限的出入端口。如果消费者部署外部SDN控制器,则防火墙利用此控制器实现API以执行其功能。此示例对于除OpenFlow之外的其他SDN协议同样成立。
利用SDN,变得更好,更快
例如,防火墙与SDN控制器集成,通过允许快速路径以网络速度运行,提供更好的效率。区域的远程定义(例如,分公司控制、被管理的安全服务提供者(MSSP))是可以的。安全装置可以配置针对对等通信的扫描。SDN可以启用联合威胁管理(UTM)、集成无线,可以应用例如针对混入机器(drop-inmachine)的防病毒(AV)(拉管到防火墙)。联合威胁管理针对小企业,替换交换机以实现SDN是合算的。SDN在虚拟基础结构内,例如,在虚拟数据中心,也是有效的,并且成本低。SDN对于,例如,实时电子策略编制器(ePO)或其他集中式安全管理系统,为虚拟环境优化的安全系统,启用数据的广播域收集。此外,SDN还启用不受对等的共享的影响的动态主机配置协议(DHCP)池。
示例:通过交换机的快速路径,绕过安全装置
常常在网络中提供防火墙(或任何合适的安全装置)以提供安全。需要防火墙的安全应用的网络流量通过用于检查的(集中式)防火墙,被从点A路由到点B。通过网络的(集中式)防火墙的从点A到点B的路径,在某些情况下,需要经过多台交换机或路由器,由于网络的中心辐射本质,形成“网络拉管”或“流量拉管”。当从点A到点B的所有流量都必须通过防火墙被路由时,“拉管效果”效率很低,并会导致网络的延迟和带宽问题。
在一示例性使用情况下,SDN环境包括例如,作为防火墙来操作的安全装置,该安全装置被插入到从点A到点B的路径中,以提供安全。防火墙与SDN控制器集成。根据需要,将防火墙插入到流中,以符合安全模型。控制平面执行基本防火墙功能,或任何安全装置/应用。防火墙执行对网络流量的深度扫描。控制平面实现“快速路径”,这是提供交换机速度防火墙的特征。在其他实施例中,防火墙和SDN控制器使用应用程序编程接口(API)来进行通信,而并非被集成到同一装置中。
图3A是示出了本发明的一个或多个实施例的布线的简化框图。图3B是示出了本发明的一个或多个实施例的数据流的简化框图。在此情况下,点A(例如,浏览器主机)通过一个或多个SDN交换机(为简明起见,只示出了单一SDN交换机306)以通信方式连接到点B304。SDN控制器308中的控制逻辑可以实现一个或多个安全策略,以配置SDN交换机306通过安全装置310(也连接到SDN交换机306)将数据流从点A302路由到点B304。SDN控制器308可以通过SDN交换机306的SDN端口进行通信,使用OpenFlow协议来配置或重新配置SDN交换机306的流表,以确保数据流通过安全装置310路由。例如,SDN控制器308可以提供控制逻辑,以通过插入(2)个流,以启用从点A302到安全装置310的路由312a;以及从安全装置310到点B304的路由312b,以及用于颠倒流的合适的路由,来在点A302和点B304之间路由流量。这提供了由路由312a和312b组成的路由。
值得注意的是,本发明讨论了提供从点A302到点B304(或任何两个协作实体)或从点B304到点A302的数据流的路由。点A302和点B304之间的数据流在两个方向经过相同路径也是可能的(对称)。从点A302到点B304的数据流在从点B304到点A302的相反方向上不经过相同路径也是可能的(非对称)。例如,SDN控制器308中的控制逻辑可以实现这样的安全策略:该安全策略规定从点A302到点B304的数据流经过安全装置310,但从点B304到点A302的数据流不经过安全装置310和/或反之亦然。在一个示例中,可以在从客户端到服务器的网络流量的路径中插入代理,但在从服务器到客户端的网络流量的路径中不插入。
基于其对连接的扫描,安全装置310可以判断数据流被策略允许(例如,通过检查由点A请求的URL是否是被批准的URL),点A302和点B304之间的数据流的其余部分不必(或不再需要)由安全装置310进一步检测。相应地,安全装置310通过移除以前添加来用以实现路由312a和312b的流,并插入实现路由314的流,以便数据流通过SDN交换机306,直接从点A302流到点B304,来通知SDN控制器308实现绕过安全装置的快速路径314。为此,安全装置310可以向SDN控制器308传输一个或多个安全策略,包括指出数据流不再需要由安全装置进行扫描的信息。响应于接收到一个或多个安全策略,SDN控制器308通过重新配置控制逻辑,该控制逻辑包括,使用SDN控制器308,在点A302和点B304之间提供第二路由(快速路径314),实现一个或多个安全策略,其特征在于,第二路由绕过安全装置310。由于安全装置通常将其处理时间(即,处理数据分组所需的时间)与点A302和点B304之间的等待时间相加,因此,快速路径314(第二路由)可以比第一路由312a和312b快得多。
当安全装置310被绕过时,数据流不再经过一个或多个网络链路。例如,数据流将不经过链路316(即,由指向安全装置310的箭头表示的路径)。如果在链路316放置流量监视器,则一旦SDN控制器配置数据流经过快速路径314,流量监视器将不会观察到数据流的其余部分。在某些情况下,当数据流经过快速路径314时,数据流不再经过的一个或多个网络链路的带宽有利地减少。
值得注意的是,实现绕过安全装置310的路由的决策可以应用于点A302和点B304之间的数据流的一个方向,但不应用于两个方向。在某些实施例中,实现绕过安全装置的路由的决策可以应用于点A302和点B304之间的数据流的两个方向。
示例:示出了路由和分区的爱丽丝(Alice)和鲍勃(Bob)之间的数据流
图4是示出了根据本发明的一些实施例的使用SDN来实施一个或多个安全策略的简化框图。更具体而言,图示示出了根据一个或多个安全策略的安全区域和路由的提供。图示示出了爱丽丝402(SDN环境中的网络节点),鲍勃404(SDN环境中的另一网络节点)。爱丽丝402位于SDN交换机406上或以通信方式连接到SDN交换机406,而鲍勃404位于SDN交换机408上或以通信方式连接到SDN交换机408。SDN控制器410(包括一个或多个SDN控制器)被配置成与SDN交换机406和SDN交换机408进行通信并配置它们,其中,SDN控制器410中的控制逻辑被配置成,例如,使用SDN协议,向SDN交换机406和SDN交换机408中的流表提供条目。提供安全装置412以将一个或多个安全策略传递到SDN控制器410。
在一个实施例中,爱丽丝402是试图将文件传输到鲍勃404的来宾主机,鲍勃404是固有主机。在本发明的上下文内,来宾主机可以是其安全凭据未被验证的主机计算机/机器,如此,来宾主机的网络/数据访问权限或特权通常比其安全凭据已经被验证的固有主机的网络/数据访问权限更受限制。
当分组从爱丽丝402流向鲍勃404时,分组可以正常地通过SDN交换机406和SDN交换机408传输。然而,安全装置412可以,例如,使用爱丽丝402和鲍勃404的IP地址、物理端口,和/或媒体访问控制(MAC)地址,判断爱丽丝402和鲍勃404属于不同的区域,并指示SDN控制器410在爱丽丝402和鲍勃404之间的路径中插入安全装置412。
由于爱丽丝402是来宾主机,因此,示例性安全策略可以使用SDN控制器,指定,爱丽丝402应该被置于带有特定安全级别的来宾区域或其自己的区域(例如,区域A414)。由于鲍勃404是固有主机,因此,鲍勃404可能已经位于特定区域,例如,区域B416。另一示例性安全策略可以使用SDN控制器,指定从爱丽丝402(或区域A414中的任何主机)到鲍勃404(或区域B416中的任何主机)的数据流应该经过安全装置412。SDN控制器410可能已经被配置有这样的一个或多个安全策略,控制逻辑已经被配置成实现那些安全策略。在某些情况下,安全装置412可以将那些一个或多个安全策略提供到SDN控制器410,以根据一个或多个安全策略,重新配置SDN控制器410中的控制逻辑。安全装置可以适当地提供一个或多个安全策略,以根据安全需要,配置和/或重新配置控制逻辑。
在一个实施例中,一个或多个安全策略包括指出来宾主机和固有主机之间的数据流需要被安全装置(例如,安全装置412)扫描的信息。响应于从安全装置412接收到一个或多个安全策略,SDN控制器410重新配置控制逻辑,以便SDN环境确保来自爱丽丝402的数据流将以此顺序经过下列元件以最终到达鲍勃404:(1)SDN交换机406,(2)安全装置412,(3)SDN交换机406(可选,在安全装置412不能直接访问SDN交换机408的情况下发生),以及(4)SDN交换机408。事实上,SDN控制器410被配置成在来宾主机和固有主机之间提供路由,其中响应于接收到一个或多个安全策略,路由经过安全装置,以便提高安全性。SDN控制器410实现路由/交换算法,以为至少SDN交换机406生成流表条目,以在到达鲍勃404之前将来自爱丽丝402的数据流路由到安全装置412。
在一个实施例中,一个或多个安全策略包括指出来宾主机和固有主机之间的数据流不必进一步被安全装置扫描(或不再需要扫描)的信息。响应于从安全装置412接收到一个或多个安全策略,SDN控制器410重新配置控制逻辑,以便来自爱丽丝402的数据流将以此顺序经过下列元件以到达鲍勃404:(1)SDN交换机406,以及,(2)SDN交换机408。事实上,SDN控制器410被配置成在来宾主机和固有主机之间提供更快的路由,其特征在于,响应于接收到一个或多个安全策略,更快的路由绕过安全装置412。SDN控制器410实现路由算法,以为至少SDN交换机406生成流表条目,以将来自爱丽丝402的数据流直接路由到SDN交换机408。
在一个实施例中,使用SDN控制器410提供控制逻辑以实现一个或多个安全区域包括通过配置SDN交换机406和SDN交换机408中的流表,来在SDN环境中配置安全区域,用于传输网络流量,其中安全区域为网络以及数据访问提供不同级别的安全。适当的路由可以确保网络流量根据对于特定安全区域的网络/数据访问权限,流向合适的网络。
安全区域一般被用作定义适用于企业网络内的特定业务单元的一组网络/数据访问权限的方式。例如,可以为来宾提供安全区域。可以为系统管理员提供一个安全区域。可以为审计员提供安全区域。一个或多个主机可以属于安全区域,其中,一个或多个主机将具有对应于该安全区域的一组网络/数据访问权限。在安全模型的上下文内,安全区域可以涉及网络隔离,以便网络流量被限制而不能在各区域,内联网,或因特网之间流动。安全区域也可以涉及对各区域之间的网络流量的特定限制/策略。例如,安全策略可以指定从安全区域X到安全区域Y的数据流必须是加密的。另一安全策略可以指定,从安全区域Y到任何其他安全区域的数据流必须经过数据丢失预防系统。
在一个实施例中,一个或多个安全策略包括添加、移除,和/或修改安全区域的信息。通过应用以一个或多个安全策略作为输入的合适的路由算法,SDN控制器410可以重新配置控制逻辑以根据一个或多个安全策略,实现安全区域的添加/修改/移除。例如,一个或多个安全策略包括指出来宾主机(例如,爱丽丝402)属于特定安全区域的信息。响应于接收到一个或多个安全策略,SDN控制器(SDN控制器410)可以重新配置控制逻辑以实现那些策略。例如,SDN控制器可以响应于接收到一个或多个安全策略,将特定安全区域添加到SDN环境中,和/或将来宾主机添加到特定安全区域(或现有的安全区域)中。
快速路径的演示
图5A-B示出了已被注释的屏幕快照,示出了根据本发明的一些实施例的使用SDN来绕过的防火墙(FW)的结果。在图3A中给出了示出了此演示的布线图,在图3B中给出了示出了该演示的流程图。其他实施例也是可以的。包括多个窗口的屏幕快照示出了示例演示,其中,浏览器主机(被示为浏览器510)与服务器建立数据连接以访问网页。防火墙活动被示为防火墙和SDN控制器520,该SDN控制器520是可任选地与SDN控制器集成的防火墙。SDN交换机的流表被示为流表530。流量监视器(嗅探器)被示为流量监视器540。回头参考图3B,流量监视器可以监视链路316上的流量,其中,箭头指向安全装置310。在检测到安全装置不再需要扫描流量时,响应于安全装置发出“FASTPATH(快速路径)”请求,要求SDN控制器配置不同的路由以提高效率以及连接速度,连接被通过快速路径路由。
当浏览器主机尝试与主机进行连接时,由防火墙扫描来自浏览器主机的网络流量。如防火墙和SDN控制器520所示,防火墙检测到连接(“新连接[10.79.1.1:58352]->[10.79.11.10:80]”,并对于分组,使用深度分组检查(DPI),并看见URL(“DPI给出URL:http://www.test.com/favicon.ico”)。防火墙批准连接,并判断不再需要DPI,并将快速路径安全策略提供到SDN控制器(“FASTPATH:fromvlan:l10.79.1.1.:58352->vlan:1110.79.11.10:80replaceMACs:[5e:88:f6:08:76:49<=>00:16:3e:50:f0:fe]”)SDN控制器采取安全策略,并相应地重新配置SDN交换机的流表,以便防火墙被绕过(如流表530所示,流表被如此更新)。在流量监视器540中检查防火墙处的分组转储示出了在实现快速路径之后防火墙不再看见HTTP连接。防火墙事实上被绕过。
示例:通过SDN的更好的路由
在本发明内,说明了多个说明性示例,其中,当绕过安全装置时,提供快速路径、更快的路径,或超级快速路径(统称为“更快的路径”)。在某些实施例中,与经过安全装置的慢路径相比,更快的路径和/或超级快速路径具有较短等待时间。在某些实施例中,绕过安全装置的路径不一定是更快的路径,但是,简单地“更好的路径”。例如,更好的路径可能被使用得较少,当数据流被转向更好的路径时,改善了总的网络使用(即使更好的路径比经过安全装置的慢路径慢一些)。在另一个示例中,更好的路径可能更加便宜,当数据流被转向更好的路径时,用于传输数据流的总成本降低。可以预想,SDN控制器可以使用任何合适的量度和/或通过应用程序编程接口(API)访问的用于重新配置控制逻辑的外部信息来提供更好的路径(即,与慢路径相比,更希望的路径)。
示例性系统
网络安全设备/装置(例如,安全装置)可以执行下列各项中的一项或多项:
·检测新流并将连接与该流相关联
·重新组合,扫描并检测流内的攻击
·可能重写流的分组
·判断流不再需要被网络安全设备直接扫描或处理
·与软件定义网络(SDN)控制器进行通信,使用被传递到SDN控制器的一个或多个安全策略,流不再需要被指向网络安全设备或安全模型的任何其他方面
与网络安全设备一起协作的软件定义网络(SDN)控制器可以执行下列各项中的一项或多项:
·配置一个或多个SDN交换机的流表,以与网络安全设备一起协作
·当网络安全设备确定流不再需要被扫描时,修改交换机的流表
·更新SDN控制器的控制逻辑,以实现从网络安全设备接收到的一个或多个安全策略
软件定义网络交换机(例如,SDN交换机)可以执行下列功能中的一项或多项,其中一些在OpenFlow交换机规范1.3.2(由开放网络基金会(OpenNetworkingFoundation)于2013年4月25日发布;布线协议0x04)中概述:
·通过一控制SDN控制器或一备份控制SDN控制器,就其流表,被配置;
·基于其流表,将分组从交换机的一个端口转发到交换机的一个或多个端口;
·基于其流表,从一个或多个交换机端口,丢弃带有特定分组特征的分组;
·基于其流表,替换带有特定特征的分组中的零个或多个字段(即,可能重写分组中的一个或多个字段,例如,为使地址解析协议(ARP)正常地工作);
·重写某些分组中的序列号,以实现TCP拼接(在上文引用的OpenFlow交换机规范中未概述);
·实现字节边界,跟踪数据流的某些部分,如果流表条目只适用于如在OSI模型中的任何一个或多各层中测量到的一定的字节数的数据流(或其他合适的数据单位);以及
·将流信息或流分组转发到SDN控制器和/或备份SDN控制器。
示例:使用SDN来实现各种示例性路径/路由
图6A-D是示出了根据本发明的一些实施例的使用SDN的安全策略的不同的示例性实现的简化框图。可以使用此处所公开的并且示出的方法中的任何一个来在SDN环境中实现这些安全策略。SDN控制器配置和/或重新配置控制逻辑,以便SDN环境中的SDN交换机可以被配置成实现那些安全策略。
具体地,图6A示出了一般示例性系统,包括两个网络:因特网602(在图6A-C中,表示为云),和内部网络604(例如,企业网络,可以限制来宾或不受信任的主机的访问的网络,内联网,安全级别被提升的网络)。固有主机608和来宾主机610位于内部网络604。根据安全需要,提供了与SDN控制器集成的安全装置606。SDN控制器使用诸如OpenFlow之类的合适的SDN协议来与网络连接,以在SDN环境中配置路由,以便可以在网络中实现一个或多个安全策略。尽管此图示示出了与SDN控制器(例如,OpenFlow控制器)集成的安全装置606,但是,预想,可以分开地提供SDN控制器(不与安全装置606集成)。检查路径(慢路径)经过安全装置606。快速路径绕过安全装置606。
图6B示出了一示例性安全策略,其中,SDN环境中的SDN交换机将来自固有主机608的数据流路由到因特网602,而没有检查,即,通过快速路径,而将来自来宾主机610的数据流路由到因特网602而不进行检查。图示演示了通过交换机的基本防火墙功能,SDN(例如,OpenFlow)控制器重新配置控制平面以允许固有主机608和来宾主机610通过快速路径连接到因特网。602
图6C示出了一示例性安全策略,其中,从固有主机608到因特网602的数据流(或从因特网602到固有主机608)首先由安全装置606扫描,直到不再需要扫描。然后,数据流下降到安全装置被绕过的快速路径。图形演示防火墙中的深度扫描,并后退到快速路径。取决于实现,可以基于数据流内的边界,实施通过快速路径的路由或通过安全装置的慢的路径。
图6D示出了一示例性安全策略,其中,SDN(例如,OpenFlow)控制器可以准许来宾主机610访问因特网602(绕过安全装置606),但是,从来宾主机610到固有主机608的数据流被安全装置606扫描,以提高安全性。此图进一步演示了自带设备(BYOD)的自动分区。来宾主机610由SDN控制器检测;来宾主机610和固有主机608之间的交互通过扫描设备(例如,防火墙、IPS)路由,以便提高安全性。虽然未示出,如果安全装置判断不再需要扫描,或判断来宾主机610可以被安全地添加到其中不再需要由安全装置606进行扫描的不同的安全区域(例如,来宾主机610被添加到与固有主机608相同的区域),SDN控制器可以重新配置控制逻辑以提供快速路径。
示例:超级快速路径
图7是示出了根据本发明的一些实施例的以网络速度提供“超级快速路径”716的简化框图。系统示出了经过慢路径,经过(按此顺序)交换机702a、交换机702b、交换机702c、交换机702d、交换机702e、交换机702f以便由安全装置706扫描的从爱丽丝701到鲍勃704的网络流量。此路径被称作“拉管”路径,因为它流出到安全设备,然后,退回接近于它产生的位置,像拉管的滑道。一般而言,安全装置706(例如,网络安全设备)可以使用自定义硬件来实现“快速路径”714,以绕过对分组的扫描,并简单地转发分组,而不检测它们。然而,经过交换机702a-f中的全部的“拉管”路径仍在起作用。SDN控制器与安全装置706的协调允许“快速路径”714被替换为“超级快速路径”716,该超级快速路径716将来自爱丽丝701的网络流量从交换机702a路由到交换机702f,而绕过交换机702b、交换机702c、交换机702d、交换机702e,以及安全装置706。此“超级快速路径”716具有其自己的路由,该路由可以由SDN控制器中的控制逻辑提供。
通过安全设备的“快速路径”714,即,跳过网络安全设备的处理允许设备的网络位置处的高分组速率,但是仍要求路由与以前相同。SDN(例如,OpenFlow)控制器集成准许“超级快速路径”716,其中,“超级快速路径”716具有其自己的路由。当新连接启动时,SDN将路由切换到经过安全设备。当安全设备结束连接时,它将连接交回SDN(例如,OpenFlow)控制器,到“快速路径”714。但是现在控制器不需要在连接中安全设备。它可以使用最佳路由来传输数据,快速路径流量现在可以经过“超级快速路径”716以最佳网络速度流动。
示例:后退到慢路径;受限流切换(Hand-Off)
除能够经过快速路径,或超级快速路径提供从点A到点B的数据流之外,还可以通过修改现有的SDN协议,例如,OpenFlow,或通过提供实现字节边界的新协议,来添加字节边界。SDN交换机还可以具有跟踪流内的字节边界的能力。字节边界可以准许诸如HTTP/1.1或SMB之类的多事务性的协议的快速路径,该快速路径可以得益于数据流的特定事务内的快速路径,但是,必须在随后的事务开始时返回到防火墙,以便进行深度分组检查(DPI)。
在一个实施例中,来自安全装置的对于SDN环境的一个或多个安全策略指出特定字节数的网络流量(或任何其他合适的数据单位,诸如协议数据单位,如在OSI模型的任何一层或多层测量到的)可以绕过安全装置。此外,SDN环境中的一个或多个SDN交换机还被配置成在特定字节数的网络流量绕过安全装置之后,将网络流量路由回经过安全装置。
在一个实施例中,来自安全装置的对于SDN环境的一个或多个安全策略指出特定字节数的网络流量(或任何其他合适的数据单位,如在OSI模型的任何一层或多层测量到的)必须经过安全装置。此外,SDN环境中的一个或多个SDN交换机还被配置成在经过安全装置路由特定字节数的网络流量之后,路由一个或多个后面的字节数的网络流量,以便安全装置被绕过。
从广义来说,来自安全装置的对于SDN环境的一个或多个安全策略可以指出可以绕过安全装置或必须经过安全装置的任何特定量的网络数据。特定量的网络数据可通过在开放系统互连层中的任何一层测量到的特定数量的数据单位、特定数量的字节,或特定数量的协议数据单位来度量。然后,SDN环境中的一个或多个SDN交换机被配置成:(1)在所述特定量的网络流量绕过所述安全装置之后,通过所述安全装置来路由随后的网络流量,或(2)在通过所述安全装置路由所述特定量的网络流量之后,路由所述随后的网络流量,以便所述安全装置被绕过。
为允许SDN交换机提供流的“受限切换”的特征,SDN控制器可以在SDN环境中插入合适的不同优先权的一个或多个流条目,以通过特定路径路由特定字节数的流,然后,一旦计数了特定数量的字节,重新经过安全装置来路由流。相应地,可以向SDN交换机提供具有特定数量的字节与其相关联的一个或多个流条目。在接收到具有特定数量的字节流条目之后,一个或多个SDN交换机可以开始计数流的字节的数量,以针对特定数量的字节,实现特定路径。
当前SDN技术没有计数流中的字节(或其他数据单位或协议数据单位)的能力。可以向SDN交换机提供该能力(例如,对大于一个值的序列号的测试,或维护一个用于计数数据有效负载的字节的计数器)。然后,可以在安全装置中部分地检查流,对于如此多字节的TCP流量,交给交换机(即,流表条目取决于已经通过TCP协议,使用对于特定TCP流的特定流表条目,路由的字节的数量),然后,继续在安全装置中检查。其他实施例可以使用其他协议(例如,流控制传输协议(SCTP)、文件传输协议(FTP)、HTTP上的穿隧协议),例如,在于OSI模型的任何一层或多层中的不同的协议下测量字节的数量或其他数据单位的数量的情况下。示例包括判断不需要检查来自服务器的响应(例如,GIF图像)的(web)代理,代理可以使用长度字段来确定可以穿过交换机的字节的数量。将利用此信息编程该流,并且一旦如此多的字节穿过流,则交换机可在随后修改流,以开始向安全装置发送分组。除TCP之外的其他协议的示例包括GRE隧道内的因特网协议流量,在SCTP上分层的协议,在如此编码的任何协议中的抽象语法符号表示法1(ASN.1)编码的数据。其他实施例计数除字节之外的其他协议数据单位(PDU)或数据单位,或网络流量单位,例如,包含通过实时传输协议(RTP)传输的并由会话启动的协议(SIP)控制的语音数据的分组的数量、在OSI层传输的分组数量、比特数、四位字节数量、编码的单位的数量、解码的单位的数量、帧的数量等等。数据单位是可度量的信息或数据的单位,其中,度量或单位是在给定层的协议中规定的。
在一个示例中,浏览器软件使用HTTP/1.1来通过单一数据流,每个连接,请求多个事务。浏览器发送此(简化的)HTTP/1.1请求:
HTTPGET/mainpage.htmlHTTP/1.1\r\n
Connection:Keep-Alive\r\n
\r\n
在此HTTPGET事务请求中,“保持连接”原语准许服务器对于多个事务,使连接保持活跃。\r\n表示换行序列(CR后面跟着NL)。然后,HTTP服务器以下列内容作出响应:
HTTP/1.1200OK\r\n
Content-Length:1000000\r\n
\r\n
<onemillionbytesofcontentfrom/mainpage.html>
此时,安全设备经由SDN控制器使用超级快速路径进行连接是有利的,如此处所描述的。然而,HTTP/1.1准许相同数据流上的第二事务在此页面之后来临(即,在一百万字节之后)。例如,在从服务器接收到一百万字节的/maintain.html之后,浏览器可以接下来请求相同数据流上的第二事务:
<onemillionthbyteisreceived>
HTTPGET/dangerouspage.htmlHTTP/1.1\r\n
Connection:Keep-Alive\r\n
\r\n
如果前一事务已经在SDN控制器中被发送到超级快速路径,则此第二事务不再经过安全装置,如此,它不能被扫描。
为准许数据流中的早期的事务被通过SDN发送到超级快速路径,但是仍扫描稍后的事务,安全装置指示SDN控制器在SDN交换机中使用字节统计数据流。SDN控制器利用包含字节统计的流来编程交换机,导致它们在处理完固定数量的字节的数据(这里,一百万字节)之后失效。然后,将流上的后续数据传输回SDN控制器,该SDN控制器可以插入流,以允许通过慢路径,经过安全装置,对下一事务进行检测。
下表示出了数据的流以及从慢路径到快速路径,以及回到慢路径的变迁。
示例:用于小型办公室/家庭办公室(SOHO),办公大楼网络中的SDN
图8A-B是示出了根据本发明的一些实施例的在分公司813(或家庭办公室,或小型到中等大小的商业/企业办公室、校园,建筑物,等等)处使用SDN的安全策略的不同的示例性实现的简化框图。如图8A所示,防火墙802(可任选地与SDN控制器集成)可以通过配置SDN控制器的控制逻辑,将其本身插入在位于分公司的两个对等伙伴((来宾)主机(例如,爱丽丝804)和(固有)主机(例如,鲍勃806))之间,以导致SDN交换机808经过防火墙802将来自爱丽丝804的网络流量路由到鲍勃806。作为示例,防病毒扫描器810可以扫描对等流量。在需要时,可以从安全操作中心(SOC)812远程配置防火墙802和SDN环境。当不再需要扫描时,防火墙802可以提供指出从爱丽丝804到鲍勃806的数据流的其余部分的路由不再应该经过防火墙802的安全策略。然后,SDN控制器可以相应地配置SDN交换机808。SDN控制器也可以对于某些数据流,将防火墙802插入在爱丽丝804和企业网络811之间,但不将防火墙802插入在鲍勃806和企业网络811之间。在某些实施例中,因特网替换企业网络811,并在小企业和内联网之间提供防火墙和SDN控制器802,以便防火墙和SDN策略被本地地或通过内联网配置。
图8B示出了分公司823的分公司网络安全设备812(可任选地,与SDN控制器集成)。分公司网络安全设备812通过配置SDN交换机822,为分公司823实现一个或多个安全区域(例如,收款机814、帐户816、定购站(orderstation)818,以及消费者820)。分公司网络安全设备812可使用户能够从安全操作中心(SOC)824动态地并且远程地创建并管理区域。
此特点的一个巨大的优点是在世界的另一侧创建区域(远程地)。通常,安全区域是通过对业务职能的分析创建的。这在远程(例如,分公司)网络中特别难,因为它们小,并且远离网络安全运营商。SDN概念会有帮助。小的分公司具有小的交换基础结构。将它替换为低成本的SDN交换机。将SDN控制器放置在分支机构防火墙中。现在,系统管理员可以坐在SOC824中,并作为防火墙策略的一部分,定义分公司823中的安全区域。如果分公司823较大,则优点也会较大。例如,零售商店可能要求更多交换机替换,但是,没有安全风险地提供网络的消费者可访问的部分的能力可能值得投资。在某些实施例中,因特网替换企业网络826,并在小企业和内联网之间提供防火墙和SDN控制器812,以便防火墙和SDN策略被本地地或通过内联网配置。
示例:SDN交换机位于安全装置的前面
入侵预防系统(IPS)、防火墙(Fw)、数据丢失预防(DLP)系统有时具有集成的交换机,此示例性实现将交换机替换为SDN交换机。SDN交换机可以使用内部VLAN,来区别交换机的每一端口,然后,安全装置将路由流量。另外,SDN控制器还将被集成到安全装置中,允许通过重新编程流,实现通过交换机的数据的快速路径。
图9是示出了根据本发明的一些实施例的在两个服务器908a和908b之间提供绕过具有SDN控制器904和集成的SDN交换机906的安全装置的路由的简化框图。在此情况下,安全装置902(可任选地)与SDN控制器904集成。安全装置902可以与SDN交换机906(SDN环境的一个或多个SDN交换机中的一个,替换常规交换机)集成,其中SDN交换机906被配置成使用内部虚拟局域网来区别SDN交换机906的表示不同的安全区域的端口。
在某些实施例中,诸如SDN交换机906之类的一个或多个SDN交换机中的至少一个被配置成重写网络流量的分组的零个或多个字段,以向安全装置指出分组最初被接收到的交换机端口或安全区域,和/或指示分组绕过安全装置。SDN交换机906在到达服务器908b之前通过安全装置902路由来自服务器908a的数据流。SDN交换机906响应于来自安全装置902的一个或多个安全策略,将来自服务器908c的数据流路由到908d,并绕过安全装置902。安全策略指示SDN控制器904相应地配置SDN交换机906。
示例:避免SDN网格中的拉管路径
图10是示出了根据本发明的一些实施例的在位于同一交换机上的两个服务器之间提供绕过在使用SDN控制器的另一交换机上的安全装置的简化框图。安全装置1002(例如,IPS/FW/DLP)位于SDN网络中的某处,SDN控制器1004通过安全装置1002将来自服务器1006a的流量路由到1006b。服务器1006a和1008b被示为被在同一个交换机上,即,架顶式(ToR)交换机1008a,而安全装置1002位于不同的交换机上,即,ToR交换机1008b。为了使流量被安全装置1002扫描,来自服务器1006a的数据流通过架顶式(ToR)交换机1008a在慢路径上流动,然后,到架顶式交换机1008b,到达安全装置1002。在扫描之后,数据流流动到ToR交换机1008b到ToR交换机1008a,到达服务器1006b。
在某个点,安全装置1002可以判断流量可以在“快速路径”上,并通过向SDN控制器1004提供安全策略,使用SDN控制器1004编程本地交换机(ToR交换机1008a和ToR交换机1008b),以优化流量。注意,安全装置1002可以是物理装置或虚拟安全装置(VSA)。在网格内可以存在多个VSA,它们可以是基于当前工作负荷自动地预设(例如,通过弹性安全)。图形中的带有编号的流可以被注释为如下:
1)通过SDN网格向安全装置1002路由的流
2)安全装置1002检测流,并且可以确定使流经过快速路径
3)安全装置1002向SDN控制器1004的向北行驶(northbound)的接口发送对快速路径的请求
4)SDN控制器1004修改受影响的交换机的流表
5)SDN交换机(例如,ToR交换机1008a)为流建立优化的路由
响应于接收到指出数据流不再必须流过安全装置1002的安全策略,数据流的其余部分可以从服务器1006a流到ToR交换机1008a,并直接到服务器1006b,绕过ToR交换机1008b和安全装置1002。
示例:TCP拼接
某些安全措施要求连接由代理或安全网关处于中间,该代理或安全网关在代理处端接源连接,并将往返于第二连接的数据转发到计划的目的地。希望对代理应用快速路径技术,但是,代理的本质使得这样做难以进行,处于用户模式和操作系统的内核模式下的快速路径中的代理除外,诸如Linux或FreeBSD。图11A是示出了根据本发明的一些实施例的在从客户端到服务器的路由中使用(web)代理的简化框图,而图11B是示出了根据本发明的一些实施例的绕过(web)代理并重写序列和确认编号的简化框图。由于代理通常端接流的两端,并可以重写流内的分组,由此,改变分组的长度和数量,流中的TCP序列号和确认编号被代理更改。当前SDN技术不包括修改流的TCP序列和确认编号的能力。可以向SDN交换机提供修改序列和确认编号的能力。然后,代理(例如,web网关)将能够在确定流被允许之后(例如,在读取URL之后),将流转移到SDN交换机。然后,SDN交换机将有效地充当端接数据流的实体。这将允许通过代理的流的快速路径。此技术同样适用于利用透明代理的各实施例和利用显式的(即,非透明的)代理的各实施例。
下列信息中的一项或多项将被交给交换机:客户端流的TCP序列,客户端流的TCP确认,服务器流的TCP序列,以及服务器流的TCP确认。然后,交换机将使用合适的序列和Ack(客户端/服务器和服务器/客户端)之间的△(delta),来计算在分组穿过交换机时要被添加到序列和确认编号的偏移。此情况不限于紧相邻的交换机,可以向SDN网格中的任何交换机发生转移。在某些实施例中,SDN控制器可以计算偏移,并将偏移提供到SDN交换机。在其他实施例中,安全装置可以计算偏移,并将偏移提供到SDN控制器。SDN交换机可以被编程为丢弃分组,或以在客户端或者服务器流条目的TCP序列之前发生的TCPACK分组作出响应。
在一个实施例中,如图11A所示,具有(web)代理1104的安全装置1102实现检测从客户端1110到服务器1112的流量的安全策略,并将策略提供到SDN控制器1106。根据此安全策略,SDN控制器1106具有配置SDN交换机1108以在SDN环境中在客户端1110和服务器1112之间实现第一路由的控制逻辑,该第一路由用于在客户端1110和服务器1112之间传输数据流的网络流量。第一路由经过安全装置1102,具体地,(web)代理1104。
在某个点,代理1104可以判断数据流不再需要被代理1104检测。此情况在图11B中示出。代理1104可以向SDN控制器1106提供一个或多个安全策略,其特征在于,一个或多个安全策略包括指出数据流被允许的信息。SDN控制器1106可以重新配置控制逻辑,以便控制逻辑可以更新SDN交换机1108。SDN控制器1106(即,其中的控制逻辑)运行路由算法,该路由算法更新SDN交换机1108,以通过SDN环境中的一个或多个SDN交换机中的特定一个(例如,SDN交换机1108),在客户端1110和服务器1112之间提供第二路由,其中第二路由绕过代理1104和安全装置1102。
在某些实施例中,SDN控制器1106响应于接收到指出数据流被允许的信息,将数据流的传输控制协议(TCP)信息传输到SDN交换机,其特征在于,TCP信息包括下列各项中的一项或多项:客户端流的TCP序列,客户端流的TCPAck,服务器流的TCP序列,以及服务器流的TCPAck。SDN交换机1108被配置成基于由SDN控制器所提供的TCP信息,计算偏移,并在分组穿过SDN交换机1108时将偏移添加到TCP序列和TCPAck编号(即,重写分组)。在某些情况下,SDN控制器和/或代理计算偏移。
在某些实施例中,“TCP拼接”特点由SDN交换机为数据流或连接的其余部分提供。在某些实施例中,“TCP拼接”特点可以和“受限的切换”特点一起使用,以便SDN交换机只对于受限的特定数量的字节,充当端接数据流中的代理。一般而言,TCP拼接允许代理将流转交给SDN交换机。如此,SDN交换机可以应用字节边界,以便处理特定字节数的流,然后,在在SDN交换机处处理完特定字节数之后将流转交回代理,在SDN交换机处,SDN交换机在端接流时有效地充当代理。当需要字节边界时,在SDN交换机将充当用于端接流的代理的情况下,SDN控制器进一步提供特定数量的字节(例如,通过当SDN控制器插入流,以绕过代理并将流转交给SDN交换机时,提供特定数量的字节)。进一步地,除重写TCP序列和Ack编号之外,SDN交换机进一步被配置有,例如,用于跟踪交换机处理的字节的数量的计数器(对于实现,如在OSI模型的一个或多个对应的层处测量到的)。一旦处理完特定数量的字节,SDN交换机就停止TCP序列(Seq)和Ack重写过程,并将流交回代理。
下面示出了“TCP拼接”的示例,其中,代理将流转交给SDN交换机。SDN交换机端接流,并重写TCP序列和Ack编号(Acknumber)。
系统说明
图12是根据一实施例的耦合到示例处理器的存储器的框图。图12示出了根据一实施例的处理器核1200。处理器核1200可以是任何类型的处理器,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器,或执行代码的其他设备的核。虽然在图12中只示出了一个处理器核1200,但是,处理元件可以可另选地包括一个以上的图12中所示出的处理器核1200。(参见,例如,下面的图13中的多核实施例)。处理器1200可以是任何类型的处理器,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、多核处理器,单核处理器,或执行代码的其他设备。处理器核11200可以是单线程的核,或对于至少一个实施例,处理器核1200可以是多线程的,它可每个核包括一个以上的硬件线程上下文(或“逻辑处理器”)。这样的核1200可以被配置成以此处所公开的方式执行指令代码。如图12所示的此系统可以被用来执行此处所描述的要由SDN控制器、SDN交换机、安全装置,以及诸如爱丽丝和鲍勃之类的网络的端点执行的功能。
图12还示出了耦合到处理器1200的存储器1270。存储器1270可以是当前已知或以别的方式可用的各种存储器中的任何一种(包括存储器层次结构的各层)。存储器1270可包括要由处理器1200核执行的一个或多个代码指令1213。处理器核1200遵循由代码1213指出的程序指令序列。每一指令都可以进入前端部分1210,并由一个或多个解码器1220处理。解码器可以以预定义的格式生成诸如固定宽度微操作之类的微操作,作为其输出,或可以生成其他指令、微指令,或反映原始代码指令的控制信号。前端1210还包括寄存器重命名逻辑1225以及调度逻辑1230,它们一般分配资源并排队对应于转换指令的操作,供执行。
示出了包括具有一组执行单元1255-1到1255-N的执行逻辑1250的处理器1200。一些实施例可以包括专用于特定功能或功能组的若干个执行单元。其他实施例可只包括一个执行单元或能够执行特定的功能的一个执行单元。执行逻辑1250执行由代码指令所指定的操作。
在由代码指令所指定的操作的执行完成之后,后端逻辑1260引退代码1213的指令。在一个实施例中,处理器1200允许无序执行,但是,要求指令的按顺序引退。引退逻辑1265可以呈现本领域技术人员已知的各种形式(例如,重排序缓存等等)。如此,处理器核1200在代码1213的执行过程中被转换,至少就由解码器所生成的输出、硬件寄存器和由寄存器重命名逻辑1225使用的表,以及由执行逻辑1250修改的任何寄存器(未示出)而言。
虽然在图12中未示出,但是,处理元件与处理器核1200一起可包括芯片上的其他元件。例如,处理元件可与处理器核1200一起包括存储器控制逻辑(参见,例如,下面的图13的MC1372)。处理元件可包括I/O控制逻辑和/或可包括与存储器控制逻辑集成的I/O控制逻辑。处理元件也可以包括一个或多个高速缓存。
图13是根据一实施例的按点对点(PtP)配置排列的示例计算系统的框图。图13所示出的是包括第一处理元件1370和第二处理元件1380的多处理器系统1300。尽管示出了两个处理元件1370和1380,但是,可以理解,系统1300的实施例还可以只包括一个这样的处理元件。如图13所示的此系统可以被用来执行此处所描述的要由SDN控制器、SDN交换机、安全装置,以及诸如爱丽丝和鲍勃之类的网络的端点执行的功能。
系统1300被示为点对点互连系统,其特征在于,第一处理元件1370和第二处理元件1380通过点对点互连1350耦合。应该理解,图13中所示出的任何或全部互连都可以实现为多点分支总线,而并非点对点互连。
如图13所示,处理元件1370和1380中的每一个都可以是多核处理器,包括第一和第二处理器核1(即,处理器核1374a和1374b,以及处理器核1384a和1384b)。这样的核1374、1374b、1384a、1384b可以被配置成以此处所公开的方式执行指令代码。
每一处理元件1370,1380都可以包括至少一个共享缓存1896。共享缓存1896a,1896b可以存储分别被处理器的一个或多个组件(诸如核1374a、1374b和1384a,1384b)使用的数据(例如,指令)。例如,共享缓存可以本地缓存存储在存储器1332,1334中的数据,用于被处理器的组件更快的访问。在一个或多个实施例中,共享缓存546a,546b可以包括一个或多个中级缓存,诸如级别2(L2)、级别3(L3)、级别4(L4),或其他级别的缓存,末级缓存(LLC),和/或其组合。
尽管只利用两个处理元件1370、1380来示出,但是,可以理解,本发明的范围不仅限于此。在其他实施例中,一个或多个额外的处理元件可以存在于给定处理器中。可另选地,一个或多个处理元件1370,1380可以是除处理器以外的元件,诸如ASIC芯片或场可编程门阵列。例如,额外的处理元件可包括与第一处理器1370相同的额外的处理器,与第一处理器1370异构或非对称的额外的处理器,加速器(诸如,例如,图形加速器或数字信号处理(DSP)单元),场可编程门阵列,或任何其他处理元件。就包括体系结构、微体系结构、热的,功率消耗特征等等的一系列优点的度量而言,在处理元件1370,1380之间可能会有各种差异。这些差异可能有效地将其本身表现为处理元件1370,1380之间的不对称性和异质性。对于至少一个实施例,各种处理元件1370,1380可以驻留在相同管芯封装中。
第一处理元件1370还可以包括存储器控制器逻辑(MC)1372以及点对点(P-P)接口1376以及1378。类似地,第二处理元件1380可以包括MC1382和P-P接口1386和1388。如图13所示,MC1372和1382将处理器耦合到相应的存储器,即存储器1332和存储器1334,它们可以是本地连接到相应的处理器的主存储器的一部分。尽管MC逻辑1372和1382被示为集成到处理元件1370,1380中,但是对于替换实施例,MC逻辑可以是处理元件1370,1380之外的单独逻辑,而并非集成在其中。
第一处理元件1370和第二处理元件1380可以分别通过P-P互连1376,1386和1384耦合到I/O子系统1390。如图13所示,I/O子系统1390包括P-P接口1394和1398。此外,I/O子系统1390还包括将I/O子系统1390耦合高性能图形引擎1338的接口1392。在一个实施例中,总线1349可以被用来将图形引擎1338耦合到I/O子系统1390。交替地,点对点互连1339可以将这些组件耦合。
I/O子系统1390又可以通过接口1396耦合到第一总线1316。在一个实施例中,第一总线1316可以是外围组件互连(PCI)总线,或诸如PCIExpress总线或另一第三代I/O互连总线之类的总线,但本发明的范围并不受此限制。
如图13所示,各种I/O设备1314可以连同总线桥1318耦合到第一总线1316,总线桥1318可以将第一总线1316耦合至第二总线1310。在一个实施例中,第二总线1320可以是低管脚数(LPC)总线。在一个实施例中,各种设备都可以耦合到第二总线1320,包括,例如,键盘/鼠标1312、通信设备1326(它们又可以与计算机网络503进行通信),以及数据存储单元1328,诸如磁盘驱动器或可以包括代码1330的其他大容量存储设备。代码1330可包括用于执行上文所描述的方法中的一个或多个的实施例的指令。进一步地,音频I/O1324可以耦合到第二总线1320。
请注意,其他实施例也是可以的。例如,代替图13的点对点体系结构,系统可以实现多点分支总线或另一这样的通信拓朴。此外,还可以使用比图13中所示的多一些或少一些集成芯片,可另选地分区图13的元件。
请注意,对于此处所提供的示例,可以以两个、三个、或更多计算设备来描述交互。然而,这只是为了清楚起见,并且只作为示例。在某些情况下,可以通过只引用数量有限的计算设备,更容易地描述给定流程集的功能中的一个或多个。此外,网络安全系统也轻松地可缩放,并可以跨大量的组件,以及更复杂的布局和配置来实现。相应地,所提供的示例不应该限制范围或抑制网络安全系统的宽的原理,因为潜在地应用于无数其他体系结构。
还应该指出,参考图2或其他图形所描述的操作,只示出了可以由图1、3A-B、4、6A-D、7、8A-B、9、10,11A-B,12以及13中所示出的系统执行的可能的网络安全功能中的某些。这些操作中的某些可以在合适的情况下移除,或者可以在不偏离本发明的范围的情况下,显著地修改或改变这些操作。另外,还可以显著地改变这些操作的时间。前面的操作流程是作为示例和讨论而提供的。由此处所描述的各实施例提供相当大的灵活性,因为在不偏离本发明的原理的情况下,可以提供任何合适的布局、时序、配置,以及定时机制。
虽然参考特定布局以及配置详细描述了本发明,但是,在不偏离本发明的范围的情况下,可以显著更改这些示例配置和布局。另外,虽然是参考促进网络安全功能的特定元件以及操作来说明图1、3A-B、4、6A-D、7、8A-B、9、10、11A-B、12以及13中的系统的,但是,这些元件以及操作可以替换为实现网络安全系统的计划的功能的任何合适的架构、协议,和/或过程。
在一个示例实现中,实现此处所描述的各实施例所涉及的各种设备或组件可包括用于实现所描述的功能的软件,此处所公开的这些设备或组件可以包括用于促进此处所描述的活动的在一个或多个非瞬态,有形的介质中体现的软件。此处所公开的系统和设备(例如,SDN交换机、SDN控制器、安全装置、代理、网关等等)中的至少一部分也可以包括用于存储实现此处所概述的功能时使用的信息的存储器设备(或存储器元件)。另外,此处所描述的系统和设备(例如,SDN交换机、SDN控制器、安全装置、代理、网关,等等)可包括能够执行软件或算法以执行在此说明书中讨论的功能的一个或多个处理器。这些设备还可以进一步将信息保留在任何合适的存储器元件(随机存取存储器元件(“RAM”)、ROM、EPROM、EEPROM、ASIC等等)、软件、硬件中,或保留在任何其他合适的组件、设备、元件,或对象中,只要合适并基于特定需要。此处所讨论的存储器项目中的任何一个都应该解释为包含在广义的术语“存储器元件”内。类似地,本说明书中所描述的潜在的处理元件、模块,以及机器应该解释为包含在广义的术语“处理器”内。网络元件中的每一个也都可以包括用于接收、传输,和/或以别的方式在网络环境中传递数据或信息的合适的接口。
注意,在某些示例实现中,此处以及在此处包括的图形中的任何一个中概述的功能可以通过编码在一个或多个有形的介质中的逻辑(例如,在专用集成电路(“ASIC”)中的嵌入式逻辑,数字信号处理器(“DSP”)指令、要由处理器,或其他类似的机器执行的软件(潜在地包括目标代码以及源代码),等等)来实现。在这些实例中的某些中,提供存储器元件,以存储用于此处所描述的操作的数据。这包括存储器元件能够存储被执行以实现本说明书中所描述的活动的软件、逻辑、代码或处理器指令。处理器可以执行与数据相关联的任何类型的指令以实现本说明书中详述的操作。在一个示例中,处理器可以将元件或项目(例如,数据)从一种状态或东西转换为另一种状态或东西。在另一个示例中,此处概述的活动可以利用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现,此处所标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(“FPGA”)、可擦可编程只读存储器(“EPROM”)、电可擦可编程序只读存储器(“EEPROM”))或包括数字逻辑、软件、代码、电子指令,或其任何合适的组合的ASIC。
可以使用程序指令来使利用指令编程的通用或专用的处理系统来执行此处所描述的操作。另选地,操作可由包含用于执行操作的硬连线逻辑的专用硬件组件来执行,或由编程的计算机组件和自定义的硬件组件的任何组合来执行。此处所描述的方法可以作为计算机程序产品来提供,该计算机程序产品可以包括在其上存储了指令的一个或多个非瞬态,有形的机器可读的介质,指令可以被用来编程处理系统(或其他电子器件)以执行方法。此处所使用的术语“机器可读的介质”应该包括能够存储、编码由机器执行的指令序列并且使机器执行此处所描述的方法中的任何一个的任何介质。术语“非瞬态机器可读的介质”应该相应地包括但不局限于,诸如固态存储器以及光盘和磁盘之类的存储器。进一步地,以一种形式或另一种形式(例如,程序、过程,进程、应用程序、模块、逻辑,等等)将软件表述为采取动作或导致结果是常见的。这样的表达只是陈述导致处理器执行动作或产生结果的处理系统执行软件的简洁方式。
应该指出的是,此处所讨论的基础结构的大部分(例如,SDN交换机、SDN控制器、安全装置、代理、网关,等等)可以作为任何类型的网络元件的一部分来提供。如此处所使用的,术语“网络元件”、“网络设备”、“网络路由器”、“网络交换机”、“SDN交换机”、“SDN控制器”、“安全装置”、“节点”、“端节点”、“点A”、“点B”、“来宾主机”、“固有主机”、“爱丽丝”、“鲍勃”、“叶节点”、“根节点”、“脊柱节点”、“交换机”等等可以包含计算机、服务器、网络装置、主机、路由器、交换机、网关、桥接器、虚拟设备、负载平衡器、防火墙、处理器、模块,或可操作以在网络环境中交换信息的任何其他合适的设备、组件、元件,或对象。此外,网络元件还可包括促进其操作的任何合适的硬件、软件、组件、模块、接口,或对象。这可以包括允许数据或信息的有效交换的合适的算法和通信协议。
在一种实现中,网络元件/设备(例如,SDN交换机、SDN控制器、安全装置、代理、网关,等等)可包括实现(或培植)快速路径的提供的软件。这可包括此处包括的图示所示出的组件、引擎、逻辑,等等中的任何一个的实例的实现。另外,这些设备中的每一个都可以具有内部结构(例如,处理器、存储器元件,等等)以促进此处所描述的操作中的某些。在其他实施例中,这些管理活动可以从这些设备外部执行,或包括在某种其他网络元件中,以实现计划的功能。可另选地,这些网络设备可包括可以与其他网络元件协调以便实现此处所描述的管理活动的软件(或往复的软件)。在其他实施例中,一个或多个设备可包括促进其操作的任何合适的算法、硬件、软件、组件、模块、接口或对象。
请注意,对于上文所提供的示例,以及此处所提供的很多其他示例,可以以两个、三个、或四个网络元件来描述交互。然而,这只是为了清楚起见,并且只作为示例。在某些情况下,可以通过只引用数量有限的网络元件,更容易地描述给定流程集的功能中的一个或多个。应该理解,参考此处包括的图形所说明以及描述的拓扑(以及它们的原理)是可轻松地扩展的,并可以接纳大量的组件,以及更复杂的布局和配置。相应地,所提供的示例不应该限制范围或抑制所示出的拓扑的宽的原理,因为潜在地应用于无数其他体系结构。
还应该指出,前面的流程图中的步骤只示出了可以由此处包括的图形所示出的通信系统执行的某些可能的信令情况以及模式。这些步骤中的某些可以在合适的情况下移除,或者可以在不偏离本发明的范围的情况下,显著地修改或改变这些步骤。另外,这些操作中许多被描述为与一个或多个额外的操作并行地执行。然而,还可以显著地改变这些操作的时间。前面的操作流程是作为示例和讨论而提供的。由图形所示出的通信系统提供相当大的灵活性,因为在不偏离本发明的原理的情况下,可以提供任何合适的布局、时序、配置,以及定时机制。
虽然参考特定布局以及配置详细描述了本发明,但是,在不偏离本发明的范围的情况下,可以显著更改这些示例配置和布局。例如,虽然参考特定通信交换描述了本发明,但是,此处所描述的各实施例也可以适用于其他架构。
本领域技术人员可以认识到很多其他改变、替换、变体、更改,以及修改,本发明包含在所附权利要求书的范围内的所有这样的改变、替换、变体、更改,以及修改。为了协助美国专利局(USPTO),另外,在本申请中颁发的任何专利的任何读者在解释所附的权利要求时,申请人希望指出,申请人:(a)不打算所附权利要求中的任何一个调用35U.S.C.112章的段落6,因为它在提交的日期存在,除非“用于的装置”或“用于的步骤”具体地用于特定权利要求中;以及(b)不打算通过说明书中的任何陈述,以没有反映在所附权利要求中的任何方式限制本发明。
根据“申请人有资格是他或她自己的辞典编纂者”的大家公认的原理(MPEP2111.01(IV),citingInrePaulson,30F.3d1475,1480(Fed.Cir.1994)),此处明确地定义了某些术语。明确地打算,那些术语具有提供的定义,它们不被给予和那些定义不一致的任何解释。
下列示例涉及本发明的一些实施例。
示例1是在其上存储了用于在软件定义网络(SDN)环境中提供网络安全性的指令的示例1至少一个机器可读的非瞬态存储介质,其中所述指令,当由示例1至少一个处理器执行时,导致所述示例1至少一个处理器执行下列操作:通过一个或多个SDN控制器,提供控制逻辑,其中由所述控制逻辑,控制使用所述SDN环境中的一个或多个SDN交换机的网络流量的路由;从所述一个或多个SDN控制器处的安全装置,接收对于所述SDN环境的一个或多个安全策略,其中所述一个或多个安全策略规定下列各项中的一项或多项:安全区域、网络访问权限、数据访问权限、安全装置的插入,以及安全装置的移除;以及,响应于接收到所述一个或多个安全策略,根据从所述安全装置接收到的所述一个或多个安全策略,使用所述一个或多个SDN控制器,重新配置所述控制逻辑。
在示例2中,示例1的主题可以可任选地包括:提供所述控制逻辑包括在所述SDN环境中的第一节点和第二节点之间配置用于传输数据流的网络流量的第一路由,其中所述第一路由经过所述安全装置,以便扫描所述网络流量;所述一个或多个安全策略包括指出所述数据流不再需要通过所述安全装置来扫描的信息;以及为所述SDN环境重新配置所述控制逻辑包括,使用所述一个或多个SDN控制器,在所述第一节点和所述第二节点之间提供第二路由,其中所述第二路由绕过所述安全装置。
在示例3中,示例2的主题可以可任选地包括根据一个或多个量度比第一路由更好的第二路由。
在示例4中,示例4的主题可以可任选地包括:所述一个或多个安全策略包括指出第一节点和第二节点之间的数据流需要通过安全装置来扫描的信息;以及为所述SDN环境重新配置所述控制逻辑包括,使用所述SDN控制器,在所述第一节点和所述第二节点之间提供路由,其中所述路由响应于接收到所述一个或多个安全策略,经过所述安全装置,以便提高安全性。
在示例5中,示例1-4中的任何一个的主题可以可任选地包括被配置成在下列各层中的一层或多层中扫描数据流中的分组的安全装置:(1)物理层,(2)数据链路层(3)网络层,(4)传输层,(5)对话层,(6)表示层,以及(7)应用层。
在示例6中,示例1-5中的任何一个的主题可以可任选地通过一个或多个SDN控制器来包括控制逻辑,包括用于确定用于配置一个或多个交换机的流表的一个或多个流表条目的逻辑。
在示例7中,示例1-6中的任何一个的主题可以可任选地包括:所述安全装置与所述一个或多个SDN控制器集成;以及,所述SDN控制器与所述一个或多个SDN交换机集成或以通信方式与它们相连接。
在示例8中,示例1-6中的任何一个的主题可以可任选地包括:所述安全装置以通信方式与远离所述安全装置的所述一个或多个SDN控制器相连接;以及,所述一个或多个SDN控制器与所述一个或多个SDN交换机集成或以通信方式与它们相连接。
在示例9中,示例1-8中的任何一个的主题可以可任选地包括所述一个或多个SDN交换机中的至少一个被配置成重写所述网络流量的分组的一个或多个字段,以向所述安全装置指出所述分组最初被接收到的所述交换机端口或安全区域和/或引导所述分组绕过所述安全装置。
在示例10中,示例1-3,以及5-9中的任何一个的主题可以可任选地包括:提供所述控制逻辑包括在所述SDN环境中的客户端和服务器之间配置用于在所述客户端和所述服务器之间传输数据流的网络流量的第一路由,其中所述第一路由经过所述安全装置,所述安全装置包括结束所述数据流的代理;所述一个或多个安全策略包括指出所述数据流被允许和/或所述数据流不再需要经过所述代理的信息;以及,为所述SDN环境重新配置所述控制逻辑包括,使用所述一个或多个SDN控制器,在所述客户端和所述服务器之间提供通过所述SDN环境中的所述一个或多个SDN交换机中的特定一个的第二路由,其中所述第二路由绕过所述代理。
在示例11中,示例1-3,以及5-10中的任何一个的主题可以可任选地包括:响应于接收到指出所述数据流被允许的所述信息,通过所述一个或多个SDN控制器,向所述一个或多个SDN交换机中的所述特定一个,传输用于所述数据流的传输控制协议(TCP)信息,其中所述TCP信息包括下列各项中的一项或多项:(a)客户端流的TCP序列;(b)客户端流的TCP确认;(c)服务器流的TCP序列;以及(d)服务器流的TCP确认;
在示例12中,示例11的主题可以可任选地包括:所述一个或多个SDN交换机中的所述特定一个被配置成基于由所述一个或多个SDN控制器所提供的所述TCP信息,计算偏移,并在分组穿过所述一个或多个SDN交换机中的所述特定一个时将所述偏移添加到TCP序列和TCP确认编号。
在示例13中,示例1-12中的任何一个的主题可以可任选地包括:来自所述安全装置的对于所述SDN环境的所述一个或多个安全策略指出特定量的网络数据可以绕过所述安全装置或所述特定量的网络流量必须经过所述安全装置;所述特定量的网络数据可按在所述开放系统互连层中的任何一层测量到的特定数量的数据单位、特定数量的字节,或特定数量的协议数据单位来度量;以及,所述SDN环境中的一个或多个SDN交换机被配置成(1)在所述特定量的网络流量绕过所述安全装置之后,通过所述安全装置来路由随后的网络流量,或(2)在通过所述安全装置路由所述特定量的网络流量之后,路由所述随后的网络流量,以便所述安全装置被绕过。
在示例14中,示例1-13中的任何一个的主题可以可任选地包括:提供所述控制逻辑包括在所述SDN环境中配置用于传输网络流量的安全区域,其中所述安全区域为网络以及数据访问提供不同级别的安全;所述一个或多个安全策略包括添加、移除,和/或修改所述安全区域的信息;以及,为所述SDN环境重新配置所述控制逻辑包括,使用所述一个或多个SDN控制器,根据所述一个或多个安全策略,重新配置所述安全区域。
在示例15中,示例1-14中的任何一个的主题可以可任选地包括:所述一个或多个安全策略包括指出一个主机属于一个特定安全区域的信息;以及,为所述SDN环境重新配置所述控制逻辑包括(1)使用所述一个或多个SDN控制器,将所述特定安全区域添加到所述SDN环境中,和/或(2)响应于接收到所述一个或多个安全策略,使用所述一个或多个SDN控制器,将所述主机添加到所述特定安全区域中。
示例16是在其上存储了用于在软件定义网络(SDN)环境中提供网络安全性的指令的示例16至少一个机器可读的非瞬态存储介质,其中所述指令,当由示例16至少一个处理器执行时,导致所述示例16至少一个处理器执行下列操作:从一个或多个SDN控制器接收用于在SDN交换机处路由或切换网络流量的一个或多个流动表的一个或多个流动表条目,其中所述一个或多个SDN控制器被配置有控制逻辑,所述控制逻辑使用所述一个或多个流动表条目,通过所述SDN环境中的一个或多个SDN交换机,控制网络流量的路由,其中所述控制逻辑被配置成为所述SDN环境实现由安全装置提供到所述一个或多个SDN控制器的一个或多个安全策略,以及,其中所述一个或多个安全策略规定下列各项中的一项或多项:安全区域、网络访问权限、数据访问权限、安全装置的插入,以及安全装置的移除;以及,响应于接收到所述一个或多个流动表条目,根据从所述SDN控制器接收到的所述流条目,根据所述一个或多个安全策略,重新配置所述一个或多个流动表。
在示例17中,示例16的主题可以可任选地包括:重写所述网络流量的分组的一个或多个字段,以向所述安全装置指出所述分组最初被接收到的所述交换机端口或安全区域和/或根据所述一个或多个流动表,引导所述分组绕过所述安全装置。
在示例18中,示例16或17的主题可以可任选地包括:响应于接收到指出所述数据流被允许的所述信息,从所述SDN交换机处的所述一个或多个SDN控制器接收所述数据流的传输控制协议(TCP)信息,其中所述TCP信息包括下列各项中的一项或多项:(a)客户端流的TCP序列;(b)客户端流的TCP确认;(c)服务器流的TCP序列;以及,(d)服务器流的TCP确认;
在示例19中,示例16-18中的任何一个的主题可以可任选地包括:基于由所述一个或多个SDN控制器所提供的所述TCP信息,计算偏移,并在分组穿过所述一个或多个SDN交换机中的所述特定一个时将所述偏移添加到TCP序列和TCP确认编号。
在示例20中,示例16-19中的任何一个的主题可以可任选地包括:来自所述安全装置的对于所述SDN环境的所述一个或多个安全策略指出特定数量的字节的网络流量可以绕过所述安全装置或所述特定数量的字节的网络流量必须经过所述安全装置;以及,操作进一步包括:(1)从所述SDN控制器那里接收取决于如在所述开放系统互连层中的任何一层处测量到的所述特定数量的字节的网络流量或数据单位的数量的一个或多个流条目;以及,(2)在所述特定字节数的网络流量绕过所述安全装置之后,将网络流量路由回所述安全装置。
示例21是一种用于在软件定义网络(SDN)环境中提供网络安全的设备,所述设备包括:至少一个存储器元件;耦合到所述至少一个存储器元件的至少一个处理器;一个或多个SDN控制器,当由至少一个处理器执行时,被配置成:通过一个或多个SDN控制器,提供控制逻辑,其中由所述控制逻辑,控制使用所述SDN环境中的一个或多个SDN交换机的网络流量的路由;从所述一个或多个SDN控制器处的安全装置,接收对于所述SDN环境的一个或多个安全策略,其中所述一个或多个安全策略规定下列各项中的一项或多项:安全区域、网络访问权限、数据访问权限、安全装置的插入,以及安全装置的移除;以及,响应于接收到所述一个或多个安全策略,根据从所述安全装置接收到的所述一个或多个安全策略,使用所述一个或多个SDN控制器,重新配置所述控制逻辑。
在示例22中,示例21的主题可以可任选地包括进一步被配置成执行下列操作的一个或多个SDN控制器:在所述SDN环境中的第一节点和第二节点之间配置用于传输数据流的网络流量的第一路由,其中所述第一路由经过所述安全装置,以便扫描所述网络流量;其中所述一个或多个安全策略包括指出所述数据流不再需要通过所述安全装置来扫描的信息;以及,使用所述一个或多个SDN控制器,在所述第一节点和所述第二节点之间提供第二路由,其中所述第二路由绕过所述安全装置。
在示例23中,示例22的主题可以可任选地包括根据一个或多个量度比第一路由更好的第二路由。
在示例24中,示例21的主题可以可任选地包括:所述一个或多个安全策略包括指出第一节点和第二节点之间的数据流需要通过安全装置来扫描的信息;以及,一个或多个SDN控制器进一步被配置成,使用所述SDN控制器,在所述第一节点和所述第二节点之间提供路由,其中响应于接收到所述一个或多个安全策略,所述路由经过所述安全装置,以便提高安全性。
在示例25中,示例21-24中的任何一个的主题可以可任选地包括被配置成在下列各层中的一层或多层中检测数据流中的分组的安全装置:(1)物理层,(2)数据链路层(3)网络层,(4)传输层,(5)对话层,(6)表示层,以及(7)应用层。
在示例26中,示例21-25中的任何一个的主题可以可任选地包括:通过所述一个或多个SDN控制器的所述控制逻辑包括用于确定用于配置所述一个或多个SDN交换机的流动表的一个或多个流动表条目的逻辑。
在示例27中,示例21-26中的任何一个的主题可以可任选地包括:所述安全装置与所述一个或多个SDN控制器集成;以及,所述SDN控制器与所述一个或多个SDN交换机集成或以通信方式与它们相连接。
在示例28中,示例21-26中的任何一个的主题可以可任选地包括:所述安全装置以通信方式与远离所述安全装置的所述一个或多个SDN控制器相连接;以及,所述一个或多个SDN控制器与所述一个或多个SDN交换机集成或以通信方式与它们相连接。
在示例29中,示例21-28中的任何一个的主题可以可任选地包括所述一个或多个SDN交换机中的至少一个被配置成重写所述网络流量的分组的一个或多个字段,以向所述安全装置指出所述分组最初被接收到的所述交换机端口或安全区域和/或引导所述分组绕过所述安全装置。
在示例30中,示例21-23,以及25-29中的任何一个的主题可以可任选地包括:一个或多个SDN控制器进一步被配置成:在所述SDN环境中的客户端和服务器之间配置用于在所述客户端和所述服务器之间传输数据流的网络流量的第一路由,其中所述第一路由遍历所述安全装置,所述安全装置包括结束所述数据流的代理;其中所述一个或多个安全策略包括指出所述数据流被允许和/或所述数据流不再需要遍历所述代理的信息;以及,使用所述一个或多个SDN控制器,在所述客户端和所述服务器之间提供通过所述SDN环境中的所述一个或多个SDN交换机中的特定一个的第二路由,其中所述第二路由绕过所述代理。
在示例31中,示例21-23以及25-30中的任何一个的主题可以可任选地包括:一个或多个SDN控制器进一步被配置成:响应于接收到指出所述数据流被允许的所述信息,通过所述一个或多个SDN控制器,向所述一个或多个SDN交换机中的所述特定一个,传输用于所述数据流的将传输到控制协议(TCP)信息,其中所述TCP信息包括下列各项中的一项或多项:(a)客户端流的TCP序列;(b)客户端流的TCP确认;(c)服务器流的TCP序列;以及,(d)服务器流的TCP确认;
在示例32中,示例31的主题可以可任选地包括:所述一个或多个SDN交换机中的所述特定一个被配置成基于由所述一个或多个SDN控制器所提供的所述TCP信息,计算偏移,并在分组穿过所述一个或多个SDN交换机中的所述特定一个时将所述偏移添加到TCP序列和TCP确认编号。
在示例33中,示例21-32中的任何一个的主题可以可任选地包括:来自所述安全装置的对于所述SDN环境的所述一个或多个安全策略指出特定量的网络数据可以绕过所述安全装置或所述特定量的网络流量必须遍历所述安全装置;所述特定量的网络数据可按在所述开放系统互连层中的任何一层测量到的特定数量的数据单位、特定数量的字节,或特定数量的协议数据单位来度量;以及,所述SDN环境中的一个或多个SDN交换机被配置成(1)在所述特定量的网络流量绕过所述安全装置之后,通过所述安全装置来路由随后的网络流量,或(2)在通过所述安全装置路由所述特定量的网络流量之后,路由所述随后的网络流量,以便所述安全装置被绕过。
在示例34中,示例21-33中的任何一个的主题可以可任选地包括:一个或多个SDN控制器进一步被配置成:在所述SDN环境中配置用于传输网络流量的安全区域,其中所述安全区域为网络以及数据访问提供不同级别的安全;所述一个或多个安全策略包括添加、移除,和/或修改所述安全区域的信息;以及,包括,使用所述一个或多个SDN控制器,根据所述一个或多个安全策略,重新配置所述安全区域。
在示例35中,示例21-34中的任何一个的主题可以可任选地包括:所述一个或多个安全策略包括指出一个主机属于一个特定安全区域的信息;以及,一个或多个SDN控制器进一步被配置成:(1)使用所述一个或多个SDN控制器,将所述特定安全区域添加到所述SDN环境中,和/或(2)响应于接收到所述一个或多个安全策略,使用所述一个或多个SDN控制器,将所述主机添加到所述特定安全区域中。
示例36是一种用于在软件定义网络(SDN)环境中提供网络安全的设备,所述设备包括:至少一个存储器元件;耦合到所述至少一个存储器元件的至少一个处理器;以及,SDN交换模块,当由至少一个处理器执行时,被配置成:从一个或多个SDN控制器接收用于在SDN交换机处路由或切换网络流量的一个或多个流动表的一个或多个流动表条目,其中所述一个或多个SDN控制器被配置有控制逻辑,所述控制逻辑使用所述一个或多个流动表条目,控制网络流量通过所述SDN环境中的一个或多个SDN交换机的路由,其中所述控制逻辑被配置成为所述SDN环境实现由安全装置提供到所述一个或多个SDN控制器的一个或多个安全策略,以及,其中所述一个或多个安全策略规定下列各项中的一项或多项:安全区域、网络访问权限、数据访问权限、安全装置的插入,以及安全装置的移除;以及,响应于接收到所述一个或多个流动表条目,根据从所述SDN控制器接收到的所述流条目,根据所述一个或多个安全策略,重新配置所述一个或多个流动表。
在示例37中,示例36的主题可以可任选地包括:SDN交换模块进一步被配置成重写所述网络流量的分组的一个或多个字段,以向所述安全装置指出所述分组最初被接收到的所述交换机端口或安全区域和/或根据一个或多个流表,引导所述分组绕过所述安全装置。
在示例38中,示例36或37的主题可以可任选地包括:SDN交换模块进一步被配置成:响应于接收到指出所述数据流被允许的所述信息,从所述SDN交换机处的所述一个或多个SDN控制器接收所述数据流的传输控制协议(TCP)信息,其中所述TCP信息包括下列各项中的一项或多项:(a)客户端流的TCP序列;(b)客户端流的TCP确认;(c)服务器流的TCP序列;以及(d)服务器流的TCP确认;
在示例39中,示例36-38中的任何一个的主题可以可任选地包括:SDN交换模块进一步被配置成:基于由所述一个或多个SDN控制器所提供的所述TCP信息,计算偏移,并在分组穿过所述一个或多个SDN交换机中的所述特定一个时将所述偏移添加到TCP序列和TCP确认编号。
在示例40中,示例36-39中的任何一个的主题可以可任选地包括:来自所述安全装置的对于所述SDN环境的所述一个或多个安全策略指出特定数量的字节的网络流量可以绕过所述安全装置或所述特定数量的字节的网络流量必须遍历所述安全装置;其中SDN交换模块进一步被配置成:从所述SDN控制器那里接收取决于如在所述开放系统互连层中的任何一层处测量到的所述特定数量的字节的网络流量或数据单位的数量的一个或多个流条目;以及,在所述特定字节数的网络流量绕过所述安全装置之后,将网络流量路由回所述安全装置。
示例41是一种用于在软件定义网络(SDN)环境中提供网络安全的方法,所述方法包括:通过一个或多个SDN控制器,提供控制逻辑,其中由所述控制逻辑,控制使用所述SDN环境中的一个或多个SDN交换机的网络流量的路由;从所述一个或多个SDN控制器处的安全装置,接收对于所述SDN环境的一个或多个安全策略,其中所述一个或多个安全策略规定下列各项中的一项或多项:安全区域、网络访问权限、数据访问权限、安全装置的插入,以及安全装置的移除;响应于接收到所述一个或多个安全策略,根据从所述安全装置接收到的所述一个或多个安全策略,使用所述一个或多个SDN控制器,重新配置所述控制逻辑;以及,使用所述重新配置的控制逻辑,将一个或多个流条目提供到所述一个或多个SDN交换机。
在示例42中,示例41的主题可以可任选地包括:提供所述控制逻辑包括在所述SDN环境中的第一节点和第二节点之间配置用于传输数据流的网络流量的第一路由,其中所述第一路由遍历所述安全装置,以便扫描所述网络流量;所述一个或多个安全策略包括指出所述数据流不再需要通过所述安全装置来扫描的信息;以及,为所述SDN环境重新配置所述控制逻辑包括,使用所述一个或多个SDN控制器,在所述第一节点和所述第二节点之间提供第二路由,其中所述第二路由绕过所述安全装置。
在示例43中,示例42的主题可以可任选地包括根据一个或多个量度比第一路由更好的第二路由。
在示例44中,示例41的主题可以可任选地包括:所述一个或多个安全策略包括指出第一节点和第二节点之间的数据流需要通过安全装置来扫描的信息;以及,为所述SDN环境重新配置所述控制逻辑包括,使用所述SDN控制器,在所述第一节点和所述第二节点之间提供路由,其中响应于接收到所述一个或多个安全策略,所述路由遍历所述安全装置,以便提高安全性。
在示例45中,示例41-44中的任何一个的主题可以可任选地包括:所述安全装置被配置成在下列个层中的一层或多层中扫描所述数据流中的分组:(1)物理层,(2)数据链路层,(3)网络层,(4)传输层,(5)对话层,(6)表示层,以及(7)应用层。
在示例46中,示例41-45中的任何一个的主题可以可任选地包括:通过所述一个或多个SDN控制器的所述控制逻辑包括用于确定用于配置所述一个或多个SDN交换机的流动表的一个或多个流动表条目的逻辑。
在示例47中,示例41-46中的任何一个的主题可以可任选地包括:所述安全装置与所述一个或多个SDN控制器集成;以及,所述SDN控制器与所述一个或多个SDN交换机集成或以通信方式与它们相连接。
在示例48中,示例41-46中的任何一个的主题可以可任选地包括:所述安全装置以通信方式与远离所述安全装置的所述一个或多个SDN控制器相连接;以及,所述一个或多个SDN控制器与所述一个或多个SDN交换机集成或以通信方式与它们相连接。
在示例49中,示例41-48中的任何一个的主题可以可任选地包括:所述一个或多个SDN交换机中的至少一个被配置成重写所述网络流量的分组的一个或多个字段,以向所述安全装置指出所述分组最初被接收到的所述交换机端口或安全区域和/或引导所述分组绕过所述安全装置。
在示例50中,示例41-43以及45-49中的任何一个的主题可以可任选地包括:提供所述控制逻辑包括在所述SDN环境中的客户端和服务器之间配置用于在所述客户端和所述服务器之间传输数据流的网络流量的第一路由,其中所述第一路由遍历所述安全装置,所述安全装置包括结束所述数据流的代理;所述一个或多个安全策略包括指出所述数据流被允许和/或所述数据流不再需要遍历所述代理的信息;以及,为所述SDN环境重新配置所述控制逻辑包括,使用所述一个或多个SDN控制器,在所述客户端和所述服务器之间提供通过所述SDN环境中的所述一个或多个SDN交换机中的特定一个的第二路由,其中所述第二路由绕过所述代理。
在示例51中,示例41-43以及45-50中的任何一个的主题可以可任选地包括:响应于接收到指出所述数据流被允许的所述信息,通过所述一个或多个SDN控制器,向所述一个或多个SDN交换机中的所述特定一个,传输用于所述数据流的传输控制协议(TCP)信息,其中所述TCP信息包括下列各项中的一项或多项:(a)客户端流的TCP序列;(b)客户端流的TCP确认;(c)服务器流的TCP序列;以及(d)服务器流的TCP确认;
在示例52中,示例51的主题可以可任选地包括:所述一个或多个SDN交换机中的所述特定一个被配置成基于由所述一个或多个SDN控制器所提供的所述TCP信息,计算偏移,并在分组穿过所述一个或多个SDN交换机中的所述特定一个时将所述偏移添加到TCP序列和TCP确认编号。
在示例53中,示例41-52中的任何一个的主题可以可任选地包括:来自所述安全装置的对于所述SDN环境的所述一个或多个安全策略指出特定量的网络数据可以绕过所述安全装置或所述特定量的网络流量必须遍历所述安全装置;所述特定量的网络数据可按在所述开放系统互连层中的任何一层测量到的特定数量的数据单位、特定数量的字节,或特定数量的协议数据单位来度量;以及,所述SDN环境中的一个或多个SDN交换机被配置成(1)在所述特定量的网络流量绕过所述安全装置之后,通过所述安全装置来路由随后的网络流量,或(2)在通过所述安全装置路由所述特定量的网络流量之后,路由所述随后的网络流量,以便所述安全装置被绕过。
在示例54中,示例41-53中的任何一个的主题可以可任选地包括:提供所述控制逻辑包括在所述SDN环境中配置用于传输网络流量的安全区域,其中所述安全区域为网络以及数据访问提供不同级别的安全;所述一个或多个安全策略包括添加、移除,和/或修改所述安全区域的信息;以及,为所述SDN环境重新配置所述控制逻辑包括,使用所述一个或多个SDN控制器,根据所述一个或多个安全策略,重新配置所述安全区域。
在示例55中,示例41-54中的任何一个的主题可以可任选地包括:所述一个或多个安全策略包括指出一个主机属于一个特定安全区域的信息;以及,为所述SDN环境重新配置所述控制逻辑包括(1)使用所述一个或多个SDN控制器,将所述特定安全区域添加到所述SDN环境中,和/或(2)响应于接收到所述一个或多个安全策略,使用所述一个或多个SDN控制器,将所述主机添加到所述特定安全区域中。
示例56是一种用于在软件定义网络(SDN)环境中提供网络安全的方法,所述方法包括:从一个或多个SDN控制器接收用于在SDN交换机处路由或切换网络流量的一个或多个流动表的一个或多个流动表条目,其中所述一个或多个SDN控制器被配置有控制逻辑,所述控制逻辑使用所述一个或多个流动表条目,通过所述SDN环境中的一个或多个SDN交换机,控制网络流量的路由,其中所述控制逻辑被配置成为所述SDN环境实现由安全装置提供到所述一个或多个SDN控制器的一个或多个安全策略,以及,其中所述一个或多个安全策略规定下列各项中的一项或多项:安全区域、网络访问权限、数据访问权限、安全装置的插入,以及安全装置的移除;以及,响应于接收到所述一个或多个流动表条目,根据从所述SDN控制器接收到的所述流条目,根据所述一个或多个安全策略,重新配置所述一个或多个流动表。
在示例57中,示例56的主题可以可任选地包括:所述网络流量的分组的一个或多个字段,以向所述安全装置指出所述分组最初被接收到的所述交换机端口或安全区域和/或根据所述一个或多个流动表,引导所述分组绕过所述安全装置。
在示例58中,示例56或57的主题可以可任选地包括:响应于接收到指出所述数据流被允许的所述信息,从所述SDN交换机处的所述一个或多个SDN控制器接收所述数据流的传输控制协议(TCP)信息,其中所述TCP信息包括下列各项中的一项或多项:(a)客户端流的TCP序列;(b)客户端流的TCP确认;(c)服务器流的TCP序列;以及(d)服务器流的TCP确认;
在示例59中,示例16-18中的任何一个的主题可以可任选地包括:基于由所述一个或多个SDN控制器所提供的所述TCP信息,计算偏移,并在分组穿过所述一个或多个SDN交换机中的所述特定一个时将所述偏移添加到TCP序列和TCP确认编号。
在示例60中,示例56-59中的任何一个的主题可以可任选地包括:来自所述安全装置的对于所述SDN环境的所述一个或多个安全策略指出特定数量的字节的网络流量可以绕过所述安全装置或所述特定数量的字节的网络流量必须遍历所述安全装置;以及,从所述SDN控制器那里接收取决于如在所述开放系统互连层中的任何一层处测量到的所述特定数量的字节的网络流量或数据单位的数量的一个或多个流条目;以及,在所述特定字节数的网络流量绕过所述安全装置之后,将网络流量路由回所述安全装置。
示例61是一种用于在软件定义网络(SDN)环境中提供网络安全的设备,所述设备包括:用于通过一个或多个SDN控制器,提供控制逻辑的装置,其中由所述控制逻辑,控制使用所述SDN环境中的一个或多个SDN交换机的网络流量的路由;用于从所述一个或多个SDN控制器处的安全装置,接收对于所述SDN环境的一个或多个安全策略的装置,其中所述一个或多个安全策略规定下列各项中的一项或多项:安全区域、网络访问权限、数据访问权限、安全装置的插入,以及安全装置的移除;响应于接收到所述一个或多个安全策略,根据从所述安全装置接收到的所述一个或多个安全策略,使用所述一个或多个SDN控制器,重新配置所述控制逻辑;以及,用于使用所述重新配置的控制逻辑,将一个或多个流条目提供到所述一个或多个SDN交换机的装置。
示例62是一种用于在软件定义网络(SDN)环境中提供网络安全的方法,所述方法包括:用于从一个或多个SDN控制器接收用于在SDN交换机处路由或切换网络流量的一个或多个流动表的接收一个或多个流动表条目的装置,其中所述一个或多个SDN控制器被配置有控制逻辑,所述控制逻辑使用所述一个或多个流动表条目,控制网络流量通过所述SDN环境中的一个或多个SDN交换机的路由,其中所述控制逻辑被配置成为所述SDN环境实现由安全装置提供到所述一个或多个SDN控制器的一个或多个安全策略,以及,其中所述一个或多个安全策略规定下列各项中的一项或多项:安全区域、网络访问权限、数据访问权限、安全装置的插入,以及安全装置的移除;以及,用于响应于接收到所述一个或多个流动表条目,根据从所述SDN控制器接收到的所述流条目,根据所述一个或多个安全策略,重新配置所述一个或多个流动表的装置。
示例63是一种用于在软件定义网络(SDN)环境中提供网络安全的设备,所述设备包括:用于执行示例41-60中的任何一个的方法的装置。
在示例64中,示例63的主题可以可任选地包括:包括至少一个处理器以及至少一个存储器元件的用于执行方法的装置。
在示例65中,示例64的主题可以可任选地包括:至少一个存储器元件,包括机器可读取的指令,所述指令,导致设备执行示例41-60中的任何一个的方法。
在示例66中,示例63-65中的任何一个的主题可以可任选地包括,设备是计算设备。
示例67是至少一个机器可读取的存储介质,包括用于在软件定义网络(SDN)环境中提供网络安全的指令,其中所述指令,当执行时,实现方法或实现示例21-60中的任何一个中的设备。

Claims (25)

1.在其上存储了用于在软件定义网络(SDN)环境中提供网络安全性的指令的至少一个机器可读的非瞬态存储介质,其中所述指令,当由至少一个处理器执行时,导致所述至少一个处理器执行下列操作:
通过一个或多个SDN控制器提供控制逻辑,其中由所述控制逻辑来控制使用所述SDN环境中的一个或多个SDN交换机的网络流量的路由;
从所述一个或多个SDN控制器处的安全装置接收用于所述SDN环境的一个或多个安全策略,其中所述一个或多个安全策略规定下列各项中的一项或多项:安全区域、网络访问权限、数据访问权限、安全装置的插入,以及安全装置的移除;以及
响应于接收到所述一个或多个安全策略,根据从所述安全装置接收到的所述一个或多个安全策略,使用所述一个或多个SDN控制器来重新配置所述控制逻辑。
2.如权利要求1所述的至少一个机器可读存储介质,其特征在于:
提供所述控制逻辑包括在所述SDN环境中的第一节点和第二节点之间配置用于承载数据流的网络流量的第一路由,其中所述第一路由经过所述安全装置,以便扫描所述网络流量;
所述一个或多个安全策略包括指示所述数据流不再需要通过所述安全装置来扫描的信息;以及
为所述SDN环境重新配置所述控制逻辑包括,使用所述一个或多个SDN控制器来在所述第一节点和所述第二节点之间提供第二路由,其中所述第二路由绕过所述安全装置。
3.如权利要求2所述的至少一个机器可读存储介质,其特征在于,根据一个或多个量度,所述第二路由比所述第一路由更好。
4.如权利要求1所述的至少一个机器可读存储介质,其特征在于:
所述一个或多个安全策略包括指示第一节点和第二节点之间的数据流需要通过安全装置来扫描的信息;以及
为所述SDN环境重新配置所述控制逻辑包括,使用所述SDN控制器,在所述第一节点和所述第二节点之间提供路由,其中所述路由响应于接收到所述一个或多个安全策略,经过所述安全装置,以便提高安全性。
5.如权利要求1所述的至少一个机器可读存储介质:
其特征在于,所述安全装置被配置成在下列各层中的一层或多层中扫描所述数据流中的分组:(1)物理层,(2)数据链路层,(3)网络层,(4)传输层,(5)对话层,(6)表示层,以及(7)应用层。
6.如权利要求1所述的至少一个机器可读存储介质,其特征在于:
通过所述一个或多个SDN控制器的所述控制逻辑包括用于确定用来配置所述一个或多个SDN交换机的流表的一个或多个流表条目的逻辑。
7.如权利要求1所述的至少一个机器可读存储介质,其特征在于:
所述安全装置与所述一个或多个SDN控制器集成;以及
所述SDN控制器与所述一个或多个SDN交换机集成或以与它们可通信地连接。
8.如权利要求1所述的至少一个机器可读存储介质,其特征在于:
所述安全装置与远离所述安全装置的所述一个或多个SDN控制器可通信连接;以及
所述一个或多个SDN控制器与所述一个或多个SDN交换机集成或与它们可通信地连接。
9.如权利要求1所述的至少一个机器可读存储介质,其特征在于,所述一个或多个SDN交换机中的至少一个被配置成重写所述网络流量的分组的一个或多个字段,以向所述安全装置指示所述分组最初被接收到的所述交换机端口或安全区域和/或引导所述分组绕过所述安全装置。
10.如权利要求1所述的至少一个机器可读存储介质,其特征在于:
提供所述控制逻辑包括在所述SDN环境中的客户端和服务器之间配置用于在所述客户端和所述服务器之间承载数据流的网络流量的第一路由,其中所述第一路由经过所述安全装置,并且所述安全装置包括结束所述数据流的代理;
所述一个或多个安全策略包括指示所述数据流被允许和/或所述数据流不再需要经过所述代理的信息;以及
为所述SDN环境重新配置所述控制逻辑包括,使用所述一个或多个SDN控制器,通过所述SDN环境中的所述一个或多个SDN交换机中的特定一个,在所述客户端和所述服务器之间提供第二路由,其中所述第二路由绕过所述代理。
11.如权利要求1所述的至少一个机器可读存储介质,其特征在于,所述操作进一步包括:
响应于接收到指示所述数据流被允许的所述信息,通过所述一个或多个SDN控制器,向所述一个或多个SDN交换机中的所述特定一个,传输用于所述数据流的传输控制协议(TCP)信息,其中所述TCP信息包括下列各项中的一项或多项:
(a)客户端流的TCP序列;
(b)客户端流的TCP确认;
(c)服务器流的TCP序列;以及
(d)服务器流的TCP确认。
12.如权利要求11所述的至少一个机器可读存储介质,其特征在于:
所述一个或多个SDN交换机中的所述特定一个被配置成基于由所述一个或多个SDN控制器所提供的所述TCP信息,计算偏移,并在分组穿过所述一个或多个SDN交换机中的所述特定一个时将所述偏移添加到TCP序列和TCP确认编号。
13.如权利要求1所述的至少一个机器可读存储介质,其特征在于:
来自所述安全装置的对于所述SDN环境的所述一个或多个安全策略指示特定量的网络数据能绕过所述安全装置或所述特定量的网络流量必须经过所述安全装置;
所述特定量的网络数据能按在所述开放系统互连层中的任何一层测量到的特定数量的数据单位、特定字节数,或特定数量的协议数据单位来度量;以及
所述SDN环境中的一个或多个SDN交换机被配置成(1)在所述特定量的网络流量已绕过所述安全装置之后,通过所述安全装置来路由随后的网络流量,或(2)在通过所述安全装置路由所述特定量的网络流量之后,路由所述随后的网络流量,以便所述安全装置被绕过。
14.如权利要求1所述的至少一个机器可读存储介质,其特征在于:
提供所述控制逻辑包括在所述SDN环境中配置用于传输网络流量的安全区域,其中所述安全区域为网络以及数据访问提供不同级别的安全;
所述一个或多个安全策略包括添加、移除,和/或修改所述安全区域的信息;以及
为所述SDN环境重新配置所述控制逻辑包括,使用所述一个或多个SDN控制器,根据所述一个或多个安全策略,重新配置所述安全区域。
15.如权利要求1所述的至少一个机器可读存储介质,其特征在于:
所述一个或多个安全策略包括指示主机属于特定安全区域的信息;以及
为所述SDN环境重新配置所述控制逻辑包括(1)使用所述一个或多个SDN控制器,将所述特定安全区域添加到所述SDN环境中,和/或(2)响应于接收到所述一个或多个安全策略,使用所述一个或多个SDN控制器,将所述主机添加到所述特定安全区域中。
16.在其上存储了用于在软件定义网络(SDN)环境中提供网络安全性的指令的至少一个机器可读的非瞬态存储介质,其中所述指令在由至少一个处理器执行时,导致所述至少一个处理器执行下列操作:
从一个或多个SDN控制器接收用于在SDN交换机处路由或切换网络流量的一个或多个流表的一个或多个流表条目,其中所述一个或多个SDN控制器被配置成具有控制逻辑,所述控制逻辑使用所述一个或多个流表条目控制网络流量通过所述SDN环境中的一个或多个SDN交换机的路由,其中所述控制逻辑被配置成为所述SDN环境实现由安全装置提供到所述一个或多个SDN控制器的一个或多个安全策略,以及,其中所述一个或多个安全策略规定下列各项中的一项或多项:安全区域、网络访问权限、数据访问权限、安全装置的插入,以及安全装置的移除;以及
响应于接收到所述一个或多个流表条目,根据从所述SDN控制器接收到的所述流条目,根据所述一个或多个安全策略,重新配置所述一个或多个流表。
17.如权利要求16所述的至少一个机器可读的非瞬态存储介质,其特征在于,所述操作进一步包括:
重写所述网络流量的分组的一个或多个字段,以向所述安全装置指示所述分组最初被接收到的所述交换机端口或安全区域和/或根据所述一个或多个流表引导所述分组绕过所述安全装置。
18.如权利要求16所述的至少一个机器可读的非瞬态存储介质,其特征在于:所述操作进一步包括:
响应于接收到指示所述数据流被允许的所述信息,从所述SDN交换机处的所述一个或多个SDN控制器接收所述数据流的传输控制协议(TCP)信息,其中所述TCP信息包括下列各项中的一项或多项:
(e)客户端流的TCP序列;
(f)客户端流的TCP确认;
(g)服务器流的TCP序列;以及
(h)服务器流的TCP确认。
19.如权利要求16所述的至少一个机器可读存储介质,其特征在于,所述操作进一步包括:
基于由所述一个或多个SDN控制器所提供的所述TCP信息,计算偏移,并在分组穿过所述一个或多个SDN交换机中的所述特定一个时将所述偏移添加到TCP序列和TCP确认编号。
20.如权利要求16所述的至少一个机器可读存储介质,其特征在于:
来自所述安全装置的对于所述SDN环境的所述一个或多个安全策略指示特定字节数的的网络流量能绕过所述安全装置或所述特定字节数的的网络流量必须经过所述安全装置;以及
所述操作进一步包括:
从所述SDN控制器接收取决于如在所述开放系统互连层中的任何一层处测量到的所述特定字节数的网络流量或数据单位的数量的一个或多个流条目;以及
在所述特定字节数的网络流量绕过所述安全装置之后,将网络流量路由回所述安全装置。
21.一种用于在软件定义网络(SDN)环境中提供网络安全的设备,
包括根据权利要求1-20中的任何一个所述的至少一个机器可读非瞬态存储介质的至少一个存储器元件;以及
耦合到所述至少一个存储器元件的至少一个处理器。
22.一种用于在软件定义网络(SDN)环境中提供网络安全的方法,所述方法用于执行根据所述权利要求1-20中的任何一个所述的操作。
23.一种用于在软件定义网络(SDN)环境中提供网络安全的设备,所述设备包括:
用于通过一个或多个SDN控制器提供控制逻辑的装置,其中由所述控制逻辑控制使用所述SDN环境中的一个或多个SDN交换机的网络流量的路由;
用于从所述一个或多个SDN控制器处的安全装置接收对于所述SDN环境的一个或多个安全策略的装置,其中所述一个或多个安全策略规定下列各项中的一项或多项:安全区域、网络访问权限、数据访问权限、安全装置的插入,以及安全装置的移除;
用于响应于接收到所述一个或多个安全策略,根据从所述安全装置接收到的所述一个或多个安全策略,使用所述一个或多个SDN控制器,重新配置所述控制逻辑的装置;以及
用于使用所述重新配置的控制逻辑,将一个或多个流条目提供到所述一个或多个SDN交换机的装置。
24.一种用于在软件定义网络(SDN)环境中提供网络安全的设备,所述设备包括:
用于从一个或多个SDN控制器接收用于在SDN交换机处路由或切换网络流量的一个或多个流表的一个或多个流表条目的装置,其中所述一个或多个SDN控制器被配置成具有控制逻辑,所述控制逻辑使用所述一个或多个流表条目控制网络流量通过所述SDN环境中的一个或多个SDN交换机的路由,其中所述控制逻辑被配置成为所述SDN环境实现由安全装置提供到所述一个或多个SDN控制器的一个或多个安全策略,以及,其中所述一个或多个安全策略规定下列各项中的一项或多项:安全区域、网络访问权限、数据访问权限、安全装置的插入,以及安全装置的移除;以及
用于响应于接收到所述一个或多个流表条目,根据从所述SDN控制器接收到的所述流条目,根据所述一个或多个安全策略,重新配置所述一个或多个流表的装置。
25.一种用于在软件定义网络(SDN)环境中提供网络安全的设备,所述设备包括用于执行根据所述权利要求2-15以及17-20中的任何一个所述的操作的装置。
CN201380079059.8A 2013-09-23 2013-12-10 在两个实体之间提供快速路径 Active CN105745886B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361881357P 2013-09-23 2013-09-23
US61/881,357 2013-09-23
PCT/US2013/074195 WO2015041706A1 (en) 2013-09-23 2013-12-10 Providing a fast path between two entities

Publications (2)

Publication Number Publication Date
CN105745886A true CN105745886A (zh) 2016-07-06
CN105745886B CN105745886B (zh) 2019-06-04

Family

ID=52689237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380079059.8A Active CN105745886B (zh) 2013-09-23 2013-12-10 在两个实体之间提供快速路径

Country Status (3)

Country Link
US (2) US10587576B2 (zh)
CN (1) CN105745886B (zh)
WO (1) WO2015041706A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106550043A (zh) * 2016-11-25 2017-03-29 中国银联股份有限公司 基于sdn组网技术的云计算系统
CN106657015A (zh) * 2016-11-23 2017-05-10 中国银联股份有限公司 基于sdn网络的数据传输方法
CN106790147A (zh) * 2016-12-28 2017-05-31 北京神州绿盟信息安全科技股份有限公司 一种访问控制方法及其装置
CN107645444A (zh) * 2016-07-21 2018-01-30 阿里巴巴集团控股有限公司 用于虚拟机与云服务计算设备之间的快速路由传输的系统、设备和方法
CN107645479A (zh) * 2016-07-22 2018-01-30 平安科技(深圳)有限公司 一种实现防火墙多活高可用性的方法及终端
CN108011815A (zh) * 2016-10-28 2018-05-08 中国电信股份有限公司 网络控制方法以及软件定义网络设备和系统
CN109496409A (zh) * 2017-12-27 2019-03-19 华为技术有限公司 一种数据传送的方法和虚拟交换机
CN111917566A (zh) * 2019-05-10 2020-11-10 罗伯特·博世有限公司 用于操作通信系统的方法
CN113347089A (zh) * 2021-07-05 2021-09-03 北京字跳网络技术有限公司 软件定义网络sdn系统、网络配置方法、装置和设备

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9124506B2 (en) 2013-06-07 2015-09-01 Brocade Communications Systems, Inc. Techniques for end-to-end network bandwidth optimization using software defined networking
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
US9197655B2 (en) * 2013-07-16 2015-11-24 Bank Of America Corporation Steganography detection
WO2015041706A1 (en) 2013-09-23 2015-03-26 Mcafee, Inc. Providing a fast path between two entities
US10841375B2 (en) * 2013-11-01 2020-11-17 Hewlett Packard Enterprise Development Lp Protocol agnostic storage access in a software defined network topology
US9736067B2 (en) * 2014-05-12 2017-08-15 Google Inc. Prefix-aware weighted cost multi-path group reduction
WO2015174968A1 (en) * 2014-05-13 2015-11-19 Hewlett-Packard Development Company, L.P. Network access control at controller
US20150350077A1 (en) * 2014-05-30 2015-12-03 Brocade Communications Systems, Inc. Techniques For Transforming Legacy Networks Into SDN-Enabled Networks
US10601734B2 (en) * 2014-07-08 2020-03-24 Nokia Solutions And Networks Oy Method of operating a network entity
US10079694B2 (en) * 2014-08-29 2018-09-18 Nokia Of America Corporation Scalable virtual networks in SDN-based ethernet networks using VLANs
DE102015107073A1 (de) * 2014-09-08 2016-03-10 Rheinmetall Defence Electronics Gmbh Vorrichtung und Verfahren zur Steuerung eines Kommunikationsnetzwerks
KR101567253B1 (ko) * 2014-10-31 2015-11-06 삼성에스디에스 주식회사 플로우 제어 장치 및 방법
CN105656778B (zh) * 2014-11-11 2019-11-19 中兴通讯股份有限公司 调用路由算法的方法及sdn控制器和sdn-oaf
CN104580168B (zh) * 2014-12-22 2019-02-26 华为技术有限公司 一种攻击数据包的处理方法、装置及系统
WO2016123293A1 (en) * 2015-01-28 2016-08-04 Umbra Technologies Ltd. System and method for a global virtual network
US9584477B2 (en) * 2015-02-26 2017-02-28 International Business Machines Corporation Packet processing in a multi-tenant software defined network (SDN)
US9853874B2 (en) 2015-03-23 2017-12-26 Brocade Communications Systems, Inc. Flow-specific failure detection in SDN networks
TW201701621A (zh) * 2015-03-31 2017-01-01 日本電氣股份有限公司 控制裝置、控制方法及程式
EP3280101A4 (en) * 2015-03-31 2018-09-05 Nec Corporation Control device, control method, and program
KR20170134559A (ko) * 2015-03-31 2017-12-06 닛본 덴끼 가부시끼가이샤 제어기, 제어 방법 및 프로그램
US9912536B2 (en) 2015-04-01 2018-03-06 Brocade Communications Systems LLC Techniques for facilitating port mirroring in virtual networks
US10135789B2 (en) 2015-04-13 2018-11-20 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
CN106330753A (zh) * 2015-06-26 2017-01-11 中兴通讯股份有限公司 流处理方法和装置
US20170012866A1 (en) * 2015-07-09 2017-01-12 Infinera Corporation Systems, methods, and apparatus for forwarding a data flow
US9749401B2 (en) 2015-07-10 2017-08-29 Brocade Communications Systems, Inc. Intelligent load balancer selection in a multi-load balancer environment
US10341311B2 (en) * 2015-07-20 2019-07-02 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
JP6512990B2 (ja) * 2015-08-05 2019-05-15 アラクサラネットワークス株式会社 転送装置及び転送システム
US10476980B2 (en) * 2015-08-07 2019-11-12 Dell Products L.P. Remote socket splicing system
US9705949B2 (en) * 2015-08-11 2017-07-11 At&T Intellectual Property I, L.P. Multi-hop small cell auto discovery for software defined networking-enabled radio access network
US10296744B1 (en) * 2015-09-24 2019-05-21 Cisco Technology, Inc. Escalated inspection of traffic via SDN
US9769118B2 (en) * 2015-10-05 2017-09-19 Zyxel Communications, Inc. Device for providing security barrier for network
IN2015CH05315A (zh) * 2015-10-05 2015-10-23 Wipro Ltd
WO2017068618A1 (ja) * 2015-10-19 2017-04-27 三菱電機株式会社 経路制御装置及びネットワーク
CN105207824A (zh) * 2015-10-19 2015-12-30 广州西麦科技股份有限公司 一种基于sdn的自动保护倒换的系统及其方法
US20170134416A1 (en) * 2015-11-06 2017-05-11 Jun Kawakita Security techniques on inter-terminal communications within the same ssid under the same ap using openflow
US11159486B2 (en) 2015-11-17 2021-10-26 Zscaler, Inc. Stream scanner for identifying signature matches
US11277383B2 (en) 2015-11-17 2022-03-15 Zscaler, Inc. Cloud-based intrusion prevention system
US10594656B2 (en) 2015-11-17 2020-03-17 Zscaler, Inc. Multi-tenant cloud-based firewall systems and methods
GB201520380D0 (en) * 2015-11-19 2016-01-06 Qinetiq Ltd A data hub for a cross-domain communication system
EP3391597B1 (en) * 2015-12-18 2020-09-16 Coriant Oy A method for managing configuration of a network element and a network element
US10355969B2 (en) 2015-12-25 2019-07-16 KN Install Solutions (N.IRE) Limited Data driven orchestrated network using a light weight distributed sdn controller
US10148594B2 (en) * 2015-12-31 2018-12-04 Fortinet, Inc. Application based conditional forwarding and load balancing in a software defined networking (SDN) architecture
WO2017155280A2 (ko) * 2016-03-08 2017-09-14 주식회사 케이티 Sdn/nfv 기반 ip 통화 서비스 보안 시스템 및 보안 시스템의 동작 방법
US10440058B2 (en) 2016-06-09 2019-10-08 LGS Innovations LLC Methods and systems for controlling traffic to VPN servers
US10637890B2 (en) 2016-06-09 2020-04-28 LGS Innovations LLC Methods and systems for establishment of VPN security policy by SDN application
EP3479553B1 (en) 2016-07-01 2020-04-29 Telefonaktiebolaget LM Ericsson (PUBL) Efficient nat in sdn network
US9985870B2 (en) * 2016-07-29 2018-05-29 Nanning Fugui Precision Industrial Co., Ltd. Network service method and system based on software defined networking
CN106254242A (zh) * 2016-08-04 2016-12-21 胡汉强 一种数据传输方法、集中控制器、转发面设备和本端通信装置
WO2018037266A1 (en) 2016-08-26 2018-03-01 Telefonaktiebolaget Lm Ericsson (Publ) Improving sf proxy performance in sdn networks
US10757111B1 (en) * 2016-09-08 2020-08-25 Rockwell Collins, Inc. Information flow enforcement for multilevel secure systems
US10986076B1 (en) 2016-09-08 2021-04-20 Rockwell Collins, Inc. Information flow enforcement for IP domain in multilevel secure systems
US10778722B2 (en) * 2016-11-08 2020-09-15 Massachusetts Institute Of Technology Dynamic flow system
US10965621B2 (en) * 2016-12-15 2021-03-30 At&T Intellectual Property I, L.P. Application-based multiple radio access technology and platform control using SDN
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US20200036624A1 (en) 2017-01-31 2020-01-30 The Mode Group High performance software-defined core network
US10778528B2 (en) 2017-02-11 2020-09-15 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
CN106911595B (zh) * 2017-03-22 2020-04-03 新华三技术有限公司 一种Openflow消息执行方法及装置
US10523539B2 (en) 2017-06-22 2019-12-31 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
US10686734B2 (en) * 2017-09-26 2020-06-16 Hewlett Packard Enterprise Development Lp Network switch with interconnected member nodes
US10805114B2 (en) 2017-10-02 2020-10-13 Vmware, Inc. Processing data messages of a virtual network that are sent to and received from external service machines
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US10999100B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US11223514B2 (en) 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US10785189B2 (en) * 2018-03-01 2020-09-22 Schweitzer Engineering Laboratories, Inc. Selective port mirroring and in-band transport of network communications for inspection
KR102592206B1 (ko) * 2018-06-25 2023-10-20 현대자동차주식회사 차량 내 sdn 기반의 네트워크 관리 장치 및 그 제어 방법
US11201854B2 (en) * 2018-11-30 2021-12-14 Cisco Technology, Inc. Dynamic intent-based firewall
US10931638B1 (en) * 2019-07-31 2021-02-23 Capital One Services, Llc Automated firewall feedback from network traffic analysis
US11310170B2 (en) 2019-08-27 2022-04-19 Vmware, Inc. Configuring edge nodes outside of public clouds to use routes defined through the public clouds
US11184191B1 (en) * 2019-09-12 2021-11-23 Trend Micro Incorporated Inspection of network traffic on accelerated platforms
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11711292B2 (en) * 2020-01-17 2023-07-25 Vmware, Inc. Pre-filtering of traffic subject to service insertion
US11689959B2 (en) 2020-01-24 2023-06-27 Vmware, Inc. Generating path usability state for different sub-paths offered by a network link
US11509631B2 (en) * 2020-05-08 2022-11-22 Gigamon Inc. One-armed inline decryption/encryption proxy operating in transparent bridge mode
US11709710B2 (en) 2020-07-30 2023-07-25 Vmware, Inc. Memory allocator for I/O operations
US11086702B1 (en) 2020-08-21 2021-08-10 International Business Machines Corporation API invoke request management
US11539633B2 (en) * 2020-08-31 2022-12-27 Vmware, Inc. Determining whether to rate limit traffic
US11575600B2 (en) * 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
US11601356B2 (en) 2020-12-29 2023-03-07 Vmware, Inc. Emulating packet flows to assess network links for SD-WAN
US11792127B2 (en) 2021-01-18 2023-10-17 Vmware, Inc. Network-aware load balancing
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
US11838292B2 (en) * 2021-03-04 2023-12-05 Masterpeace Solutions Ltd. Securing computer networks with virtual networks
US12074873B2 (en) * 2021-03-04 2024-08-27 Yikes Secure, Inc. Managing permissions for computing devices in computer networks
US11743234B2 (en) * 2021-04-06 2023-08-29 Vmware, Inc. Upgrading firewall module on port-by-port basis
US20220345446A1 (en) * 2021-04-21 2022-10-27 Avaya Management L.P. Session initiation protocol (sip) authentication and registration in software defined perimeter (sdp) networks
US11582144B2 (en) 2021-05-03 2023-02-14 Vmware, Inc. Routing mesh to provide alternate routes through SD-WAN edge forwarding nodes based on degraded operational states of SD-WAN hubs
US12009987B2 (en) 2021-05-03 2024-06-11 VMware LLC Methods to support dynamic transit paths through hub clustering across branches in SD-WAN
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US12015536B2 (en) 2021-06-18 2024-06-18 VMware LLC Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds
US12047282B2 (en) 2021-07-22 2024-07-23 VMware LLC Methods for smart bandwidth aggregation based dynamic overlay selection among preferred exits in SD-WAN
US20230061215A1 (en) * 2021-09-01 2023-03-02 Schweitzer Engineering Laboratories, Inc. Detection of parallel redundancy protocol traffic in software defined networks
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US12095819B2 (en) * 2022-01-12 2024-09-17 Dell Products L.P. Security broker for edge computing environment
US11876675B2 (en) 2022-02-03 2024-01-16 VMware LLC Migrating software defined network
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs
US12057993B1 (en) 2023-03-27 2024-08-06 VMware LLC Identifying and remediating anomalies in a self-healing network
US12034587B1 (en) 2023-03-27 2024-07-09 VMware LLC Identifying and remediating anomalies in a self-healing network
US11979327B1 (en) * 2023-05-08 2024-05-07 Dell Products, L.P. Managed network traffic prioritization

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073142A (en) * 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US20040114589A1 (en) * 2002-12-13 2004-06-17 Alfieri Robert A. Method and apparatus for performing network processing functions
US8438631B1 (en) * 2013-01-24 2013-05-07 Sideband Networks, Inc. Security enclave device to extend a virtual secure processing environment to a client device
WO2013081620A1 (en) * 2011-12-01 2013-06-06 Intel Corporation Server including switch circuitry
US20130223442A1 (en) * 2012-02-29 2013-08-29 Dell Products, Lp System and Method for Managing Unknown Flows in a Flow-Based Switching Device

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778174A (en) * 1996-12-10 1998-07-07 U S West, Inc. Method and system for providing secured access to a server connected to a private computer network
US5987610A (en) * 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US6460050B1 (en) * 1999-12-22 2002-10-01 Mark Raymond Pace Distributed content identification system
US7343413B2 (en) * 2000-03-21 2008-03-11 F5 Networks, Inc. Method and system for optimizing a network by independently scaling control segments and data flow
US6671809B1 (en) * 2000-05-10 2003-12-30 General Dynamics Decision Systems, Inc. Software-defined communications system execution control
US6901519B1 (en) * 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
US7302700B2 (en) * 2001-09-28 2007-11-27 Juniper Networks, Inc. Method and apparatus for implementing a layer 3/layer 7 firewall in an L2 device
US7188250B1 (en) * 2002-12-13 2007-03-06 Nvidia Corporation Method and apparatus for performing network processing functions
US9055093B2 (en) * 2005-10-21 2015-06-09 Kevin R. Borders Method, system and computer program product for detecting at least one of security threats and undesirable computer files
US7929536B2 (en) * 2006-09-07 2011-04-19 Intel Corporation Buffer management for communication protocols
US7970928B2 (en) * 2007-12-17 2011-06-28 Microsoft Corporation Transparent auto-discovery of network devices logically located between a client and server
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
US8316435B1 (en) * 2008-08-14 2012-11-20 Juniper Networks, Inc. Routing device having integrated MPLS-aware firewall with virtual security system support
KR101107742B1 (ko) * 2008-12-16 2012-01-20 한국인터넷진흥원 에스아이피(sip) 기반 서비스의 보호를 위한 sip 침입 탐지 및 대응 시스템
JP2014506045A (ja) * 2010-12-15 2014-03-06 ザンッツ インク ネットワーク刺激エンジン
WO2012141086A1 (ja) * 2011-04-15 2012-10-18 日本電気株式会社 コンピュータシステム、コントローラ、及びネットワークアクセスポリシ制御方法
JP5857519B2 (ja) * 2011-08-11 2016-02-10 富士通株式会社 試験プログラム、試験装置、および試験方法
KR101258845B1 (ko) * 2011-10-10 2013-05-06 고려대학교 산학협력단 Tcp통신을 이용한 정보 저장방법 및 시스템
EP2748706B1 (en) * 2012-04-18 2020-01-22 Nicira Inc. Exchange of network state information between forwarding elements
US9558351B2 (en) * 2012-05-22 2017-01-31 Xockets, Inc. Processing structured and unstructured data using offload processors
US9495308B2 (en) * 2012-05-22 2016-11-15 Xockets, Inc. Offloading of computation for rack level servers and corresponding methods and systems
US8837288B2 (en) * 2012-07-06 2014-09-16 Dell Products L.P. Flow-based network switching system
EP2896190A4 (en) * 2012-09-11 2016-08-17 Hewlett Packard Entpr Dev Lp DISCOVER IP MULTICAST GROUP ASSETS IN SOFTWARE DEFINED NETWORKS
US9571507B2 (en) * 2012-10-21 2017-02-14 Mcafee, Inc. Providing a virtual security appliance architecture to a virtual cloud infrastructure
US9240975B2 (en) * 2013-01-30 2016-01-19 Palo Alto Networks, Inc. Security device implementing network flow prediction
US20140269299A1 (en) * 2013-03-14 2014-09-18 Hewlett-Packard Development Company, L.P. Network controller normalization of network traffic
US9325610B2 (en) * 2013-03-15 2016-04-26 Cisco Technology, Inc. Extended tag networking
US9112907B2 (en) * 2013-05-31 2015-08-18 International Business Machines Corporation System and method for managing TLS connections among separate applications within a network of computing systems
US9461967B2 (en) * 2013-07-18 2016-10-04 Palo Alto Networks, Inc. Packet classification for network routing
WO2015041706A1 (en) 2013-09-23 2015-03-26 Mcafee, Inc. Providing a fast path between two entities
US9497165B2 (en) * 2015-03-26 2016-11-15 International Business Machines Corporation Virtual firewall load balancer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073142A (en) * 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US20040114589A1 (en) * 2002-12-13 2004-06-17 Alfieri Robert A. Method and apparatus for performing network processing functions
EP1570361B1 (en) * 2002-12-13 2007-02-07 Nvidia Corporation Method and apparatus for performing network processing functions
WO2013081620A1 (en) * 2011-12-01 2013-06-06 Intel Corporation Server including switch circuitry
US20130223442A1 (en) * 2012-02-29 2013-08-29 Dell Products, Lp System and Method for Managing Unknown Flows in a Flow-Based Switching Device
US8438631B1 (en) * 2013-01-24 2013-05-07 Sideband Networks, Inc. Security enclave device to extend a virtual secure processing environment to a client device

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107645444A (zh) * 2016-07-21 2018-01-30 阿里巴巴集团控股有限公司 用于虚拟机与云服务计算设备之间的快速路由传输的系统、设备和方法
CN107645444B (zh) * 2016-07-21 2021-09-07 阿里巴巴集团控股有限公司 用于虚拟机与云服务计算设备之间的快速路由传输的系统、设备和方法
CN107645479A (zh) * 2016-07-22 2018-01-30 平安科技(深圳)有限公司 一种实现防火墙多活高可用性的方法及终端
CN108011815B (zh) * 2016-10-28 2020-12-01 中国电信股份有限公司 网络控制方法以及软件定义网络设备和系统
CN108011815A (zh) * 2016-10-28 2018-05-08 中国电信股份有限公司 网络控制方法以及软件定义网络设备和系统
CN106657015A (zh) * 2016-11-23 2017-05-10 中国银联股份有限公司 基于sdn网络的数据传输方法
WO2018095263A1 (zh) * 2016-11-23 2018-05-31 中国银联股份有限公司 基于sdn网络的数据传输方法
TWI665891B (zh) * 2016-11-23 2019-07-11 大陸商中國銀聯股份有限公司 Data transmission method based on SDN network
CN106657015B (zh) * 2016-11-23 2020-09-22 中国银联股份有限公司 基于sdn网络的数据传输方法
CN106550043A (zh) * 2016-11-25 2017-03-29 中国银联股份有限公司 基于sdn组网技术的云计算系统
CN106550043B (zh) * 2016-11-25 2020-03-31 中国银联股份有限公司 基于sdn组网技术的云计算系统
CN106790147A (zh) * 2016-12-28 2017-05-31 北京神州绿盟信息安全科技股份有限公司 一种访问控制方法及其装置
WO2019127134A1 (zh) * 2017-12-27 2019-07-04 华为技术有限公司 一种数据传送的方法和虚拟交换机
CN109496409B (zh) * 2017-12-27 2020-10-23 华为技术有限公司 一种数据传送的方法和虚拟交换机
CN109496409A (zh) * 2017-12-27 2019-03-19 华为技术有限公司 一种数据传送的方法和虚拟交换机
US11689501B2 (en) 2017-12-27 2023-06-27 Huawei Cloud Computing Technologies Co., Ltd. Data transfer method and virtual switch
CN111917566A (zh) * 2019-05-10 2020-11-10 罗伯特·博世有限公司 用于操作通信系统的方法
CN113347089A (zh) * 2021-07-05 2021-09-03 北京字跳网络技术有限公司 软件定义网络sdn系统、网络配置方法、装置和设备
CN113347089B (zh) * 2021-07-05 2022-09-09 北京字跳网络技术有限公司 软件定义网络sdn系统、网络配置方法、装置和设备

Also Published As

Publication number Publication date
US10587576B2 (en) 2020-03-10
WO2015041706A1 (en) 2015-03-26
US20160205071A1 (en) 2016-07-14
WO2015041706A8 (en) 2015-05-14
US20200195610A1 (en) 2020-06-18
CN105745886B (zh) 2019-06-04
US11356413B2 (en) 2022-06-07

Similar Documents

Publication Publication Date Title
CN105745886A (zh) 在两个实体之间提供快速路径
CN106105115B (zh) 用于由服务节点始发的服务链的方法、介质、及装置
Wazirali et al. SDN-openflow topology discovery: an overview of performance issues
Qazi et al. SIMPLE-fying middlebox policy enforcement using SDN
Bhardwaj et al. Performance evaluation using RYU SDN controller in software-defined networking environment
KR101969194B1 (ko) 네트워킹 장치 가상화를 위한 패킷 처리 오프로딩 기법
Rahman et al. Block-sdotcloud: Enhancing security of cloud storage through blockchain-based sdn in iot network
Hu et al. A survey on software-defined network and openflow: From concept to implementation
CN103650436B (zh) 业务路径分配方法、路由器和业务执行实体
CN104363159B (zh) 一种基于软件定义网络的开放虚拟网络构建系统和方法
CN104685507B (zh) 向虚拟云基础结构提供虚拟安全装置架构
WO2019108148A2 (en) System and method for convergence of software defined network (sdn) and network function virtualization (nfv)
CN107395445A (zh) 具有中间盒的网络架构
CN108881158A (zh) 数据交互系统和方法
US10938667B2 (en) Incremental intent checking for stateful networks
Bremler-Barr et al. Openbox: Enabling innovation in middlebox applications
Qazi et al. Practical and incremental convergence between sdn and middleboxes
Li et al. Advancing software-defined service-centric networking toward in-network intelligence
Iqbal et al. Minimize the delays in software defined network switch controller communication
CN109417556B (zh) 用于安全服务协作的系统和方法
US11122115B1 (en) Workload distribution in a data network
EP3685552B1 (en) Self-describing packet headers for concurrent processing
Allahvirdi et al. Placement of dynamic service function chains in partially VNF-enabled networks
Scano et al. Enabling p4 network telemetry in edge micro data centers with kubernetes orchestration
Shakeri et al. Tracking container network connections in a Digital Data Marketplace with P4

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American Texas

Applicant after: McAfee Inc.

Address before: American California

Applicant before: Mcafee, Inc.

GR01 Patent grant
GR01 Patent grant