CN106233673B - 用于网络服务插入的设备和方法 - Google Patents
用于网络服务插入的设备和方法 Download PDFInfo
- Publication number
- CN106233673B CN106233673B CN201480078626.2A CN201480078626A CN106233673B CN 106233673 B CN106233673 B CN 106233673B CN 201480078626 A CN201480078626 A CN 201480078626A CN 106233673 B CN106233673 B CN 106233673B
- Authority
- CN
- China
- Prior art keywords
- grouping
- tunnel
- packet
- network
- sdn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003780 insertion Methods 0.000 title claims abstract description 47
- 230000037431 insertion Effects 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 title claims description 36
- 230000005641 tunneling Effects 0.000 claims description 44
- 230000009471 action Effects 0.000 claims description 36
- 239000003795 chemical substances by application Substances 0.000 description 53
- 238000005538 encapsulation Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000007689 inspection Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000002265 prevention Effects 0.000 description 5
- 238000002347 injection Methods 0.000 description 4
- 239000007924 injection Substances 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000004659 sterilization and disinfection Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7452—Multiple parallel or consecutive lookup operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/325—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
网络服务插入包括确定对应于服务实体的隧道接口,进入的分组要被引导到所述服务实体,所述隧道接口基于软件定义网络(SDN)流规则被确定。另外,所述进入的分组可基于对应于所述隧道接口的隧道配置而被封装,以生成被封装的分组,使得所述被封装的分组包括与所述进入的分组相关联的媒体访问控制(MAC)地址头部和虚拟局域网(VLAN)标签。所述被封装的分组可通过用于网络服务插入的隧道接口被发送到服务实体。
Description
背景技术
网络服务插入(也被称为服务插入)通常指的是将由服务实体提供的网络服务插入到网络中的业务流中。业务流可能指的是穿过网络中的特定路线并且匹配特定流规则的数据分组。服务实体可以指的是可执行应用来提供网络服务的任何计算系统。诸如负载均衡器、防火墙、入侵防护系统(IPS)、入侵检测系统(IDS)、网络过滤、域名系统(DNS)过滤等等之类的各种应用可能作为网络服务被服务实体插入。
附图说明
参考随附的附图描述具体实施方式。在附图中,附图标记的最左边的(多个)数字表示该附图标记首次出现在其中的附图。在整个附图中使用相同的编号来提及类似的特征和部件:
图1a根据本主题的示例图示了用于网络服务插入的示例网络设备。
图1b根据本主题的示例图示了用于分组封装的示例场景。
图1c根据本主题的示例图示了实施网络服务插入的示例网络环境。
图1d根据本主题的示例图示了用于实施网络服务插入的示例网络设备。
图2a、2b和2c根据本主题的不同示例图示了实施网络服务插入的场景。
图3根据本主题的示例图示了用于网络服务插入的示例方法。
图4根据本主题的示例图示了实施用于网络服务插入的非暂时性计算机可读介质的示例网络环境。
具体实施方式
本主题的方面涉及用于网络服务插入的设备和方法。如上面所提到的那样,网络服务插入通常指的是将由服务实体提供的服务插入到网络中的业务流中,用于提供诸如入侵检测、入侵防护、防火墙、网络过滤等之类的各种服务。要被插入到网络中的服务实体通常基于网络的类型、网络控制配置和网络中的网络设备配置而被部署。如在此所讨论的那样,术语“网络设备”可指的是交换机、路由器、桥或者用于在网络中引导分组的任何其他计算设备。
例如,在诸如OpenFlow网络之类的软件定义网络(SDN)中,网络控制逻辑位于SDN的流控制器中。流控制器直接与网际协议(IP)子网之内的网络设备进行通信,以基于流规则指导业务流通过网络设备。因而,在SDN中,服务实体通常被部署中SDN的IP子网中,使得网络设备可透明地指导匹配特定的流规则的分组在将这些分组转发到其目的地之前通过服务实体。这导致在部署服务实体中的灵活性减小。
另一方面,在也被称为传统网络的非SDN中,网络配置逻辑被配置在网络中的网络设备的设置中。因而,网络拓扑和网络设备的设置通常不得不被重新配置来部署服务实体。这可牵涉在执行重新配置时的网络停机,并且假使在重新配置中有任何错误的情况下,则也可影响网络安全。
本主题的方面涉及用于SDN中和混合网络中的网络服务插入的设备和方法,所述混合网络包括SDN和非SDN或者传统网络。不论其中部署有服务实体的IP子网如何,本主题的设备和方法都允许该服务被插入到业务流中。另外,本主题的方面可被用于以动态的、透明的、安全的和高效的方式插入各种类型的服务、诸如业务检查和回注服务、业务监控服务或者具有可能的内容修改的业务重路由服务。
在一个实施方案中,SDN兼容网络设备可被用于把网络业务引向用于服务插入的服务实体。在一个示例中,SDN兼容网络设备(以下也被称为SDNC网络设备)可使用流规则来引导分组。在另一示例中,SDNC网络设备可以是混合网络设备,所述混合网络设备可使用流规则和非SDN设备设置、诸如第2层(L2)/第3层(L3)查找设置,用于引导数据分组。如将被理解的那样,L2/L3查找设置指的是由传统的或者非SDN网络设备用于引导分组的设备设置。如在此使用的术语“分组”可指的是L2分组(帧)或者L3分组。
在操作中,SDNC网络设备可基于由SDN控制器提供给SDNC网络设备的流规则把分组引向服务实体。由于SDN控制器可以动态地配置SDNC网络设备中的流规则,所以对用于引向服务实体的业务流的选择可以动态地完成。例如,SDN控制器可以在很少的网络停机或者没有网络停机的情况下主动地配置SDNC网络设备中的流规则。在一个示例中,SDN控制器可以在流规则中指定:业务流要通过隧道被引向服务实体。
结果,为了将分组发送到服务实体并且从服务实体接收分组,SDNC网络设备可以使用隧道接口。为此,SDNC网络设备可以封装匹配特定的流规则的进入的分组,并且可以通过隧道接口将被封装的分组发送到服务实体。每个被封装的分组都可以包括与进入的分组相关联的媒体访问控制(MAC)地址头部和虚拟局域网(VLAN)标签(也被称为原始MAC地址头部和原始VLAN标签)。在一个示例中,原始VLAN标签可能是曾存在于进入的分组中的VLAN标签。在另一示例中,原始VLAN标签可能是在进入的分组并不曾具有VLAN标签时由SDNC网络设备插入的VLAN标签。
在一个示例中,SDN控制器可以指定要被用于插入不同的服务实体的隧道接口和相对应的隧道配置。因此,SDN控制器也可以动态地将隧道配置提供给SDNC网络设备,以将网络实体插入到网络中。此外,根据服务实体被部署在何处,可能使用不同的隧道配置。在一个示例中,假使该服务实体被部署在与SDNC网络设备相同的IP子网中,则可能使用L2-in-L2隧道。在另一示例中,假使该服务实体被部署在不同于SDNC网络设备的IP子网中,则可能使用L2-in-L3隧道来将分组发送到服务实体。所使用的隧道也可能是用于将被封装的分组转发到服务实体的多个实例的多播隧道,或者可能是单播隧道。
另外,将被理解的是,如在此所使用的封装指的是将封装头部增加到分组,以促进分组从一个网络实体向另一个网络实体的传输。在封装期间,该分组的原始头部也可以被修改,如在此所讨论的那样。解封指的是去除封装头部,以检索该分组用于进一步处理。在解封之后被检索到的分组因此具有原始头部和可能在封装期间已经进行的修改。
一接收到被封装的分组,服务实体就可解封这些分组,并且执行包括入侵检测、入侵防护、网络过滤等的各种服务。基于所执行的服务类型,服务实体可以采取后期服务行动,所述后期服务行动例如包括通过分组曾通过其被接收到的隧道将这些分组发送回SDNC网络设备、通过第二隧道将这些分组转发给目的地设备、通过第二隧道将这些分组转发给第二网络设备或者丢弃这些分组,所述第二网络设备可以将这些分组引导到目的地设备。
假使这些分组要被发送回SDNC网络设备,则服务实体可以连同原始MAC地址头部和原始VLAN标签重新封装这些分组,并且将被重新封装的分组通过这些分组曾通过其被接收到的隧道发送给SDNC网络设备。SDNC网络设备接着可以解封接收到的分组并且对接收到的分组采取下一组行动。例如,基于流规则,SDNC网络设备可再次封装接收到的分组,并且将被封装的分组发送到第二服务实体,用于插入第二网络服务。因此,一连串网络服务可利用如下分组被插入到业务流中:这些分组在该服务串的末端仍保有原始的MAC地址头部和原始的VLAN标签。
另外,SDNC网络设备可以在服务插入时将这些分组转发给目的地设备。在一个示例中,基于SDNC网络设备中的传统的或者非SDN L2/L3查找设置,这些分组可以从SDNC网络设备被转发到目的地设备。在另一示例中,基于由SDN控制器提供的流规则,这些分组可以从SDNC网络设备被转发到目的地设备。
如在此所使用的那样,提及分组被发送到目的地设备包括分组通过各种中间网络设备被发送,并且不限于分组直接被发送到目的地设备。类似地,提及从源设备接收到分组包括通过各种中间网络设备接收到分组,并且不限于直接从源设备接收到分组。目的地设备和源设备可以是任何计算系统,诸如是服务器、工作站、移动设备等等。如上面所提到的那样,由于这些分组在从SDNC网络设备100被转发时保有原始的MAC地址头部和原始的VLAN标签,所以网络服务插入对目的地设备而言是透明的。
在一个示例中,为了确保这些分组没有通过SDNC网络设备的入站端口被发送回,SDNC网络设备可以执行L2/L3查找设置的逆查找,在所述SDNC网络设备的入站端口处,这些分组最初从源设备被接收到。基于原始的MAC地址头部和原始的VLAN标签,SDNC网络设备可以确定这些分组最初在其处被接收到的原始的入站端口。因此,原始的入站端口的确定可以在没有附加的元数据被插入到分组头部中的情况下被完成。基于原始的入站端口,端口级策略也可在服务插入之后被应用到这些分组上。端口级策略可以包括网络可视性的业务采样、服务质量(QoS)、访问控制列表(ACL)等。
因此,这些设备和方法可以促进将各种类型的网络服务插入到SDN中以及混合网络中,所述混合网络不仅部署SDN兼容网络设备而且部署非SDN网络设备。另外,这些设备和方法可以在部署服务实体时、在选择要被引导到服务实体的业务流时以及在可采取的后期服务行动的类型方面提供灵活性。此外,服务插入可以对源设备和目的地设备而言是透明的,并且端口级策略可在服务插入之后被应用。
本主题的上面各方面以及其他方面结合随后的附图进一步被描述。应注意的是,本描述和附图仅图示本主题的原理。另外,可以设计各种装置,这些装置尽管没有在此被明确地描述或示出,但是这些装置具体化了本主题的原理,而且被包括在其范围之内。
用于网络服务插入的设备和方法可能如何被实施的示例参照附图详细地被解释。虽然所描述的用于网络服务插入的设备和方法的方面可以被实施在任何数目的不同设备、环境和/或实施方案中,但是在随后的(多个)附图的上下文中描述了示例和实施方案。
图1a根据本主题的示例图示了用于网络服务插入的示例SDN兼容(SDNC)网络设备100。
SDNC网络设备100可以是SDN兼容网络设备,该SDN兼容网络设备可以从SDN控制器接收到流规则,用于转发进入的分组。例如,SDN控制器可以是OpenFlow控制器,并且SDNC网络设备100可以是使用OpenFLow协议来与OpenFlow控制器进行通信的OpenFlow交换机。在这个示例中,SDNC网络设备100可以是OpenFlow版本1.3的兼容交换机。在其他示例中,SDNC网络设备100和SDN控制器可以实施其他SDN技术和协议。
在一个实施方案中,SDNC网络设备100可以包括处理器102、耦合到处理器102的SDN代理104和耦合到处理器102的隧道技术代理(tunneling agent)106。
在一个实施方案中,SDN代理104可以基于流规则确定对应于服务实体的隧道接口,进入的分组要被引导到该服务实体。另外,隧道技术代理106可以基于对应于隧道接口的隧道配置来封装进入的分组,以生成被封装的分组。隧道技术代理106可以封装进入的分组,使得被封装的分组包括与进入的分组相关联的媒体访问控制(MAC)地址头部和虚拟局域网(VLAN)标签。
在一个示例中,与进入的分组相关联的VLAN标签可能是存在于进入的分组中的VLAN标签。在另一示例中,与进入的分组相关联的VLAN标签可以是在进入的分组并不包括VLAN标签时由隧道技术代理106所插入的VLAN标签。在一个示例中,所插入的VLAN标签可能包括VLAN id,所述VLAN id基于如下中的一个而被指派:入站端口的PVID、进入的分组的协议、进入的分组的MAC地址和进入的分组的IP地址。隧道技术代理106接着可提供被封装的分组,用于通过隧道接口转发到服务实体,如稍后将参考图1c和1d详细讨论的那样。
图1b根据本主题的示例图示了用于分组封装的示例场景。
如在图1b中所示出的那样,隧道技术代理106可以接收进入的分组,用于封装并且通过如由SDN代理104确定的隧道接口而转发到服务实体108。进入的分组可以是L2分组,并且可以包括含有目的地地址(DA)和源地址(SA)的MAC地址头部。进入的分组可以进一步包括如下有效负载:所述有效负载对应于开放式系统互连(OSI)模型的较高级别层、诸如第3层到第7层或者网际协议(IP)程序组的对应层的数据。在一个示例中,进入的分组可以包括VLAN标签,而在另一示例中,进入的分组可能不包括VLAN标签。
隧道技术代理106可以基于隧道配置来封装进入的分组,并且可以提供被封装的分组,用于发送到服务实体108,所述隧道配置对应于由SDN代理104确定的隧道接口。将意识到的是,SDNC网络设备100包括用于与服务实体108进行通信的附加的部件,并且出于图示的目的而示出被封装的分组从隧道技术代理106到服务实体108的传输以及隧道技术代理106对被重新封装的分组的接收。
如在图1b中所示出的那样,被封装的分组具有封装头部、诸如封装MAC地址头部、封装VLAN标签和用于指示封装类型的头部字段。例如,头部字段0x800可以指示IP封装。将意识到的是,在其他示例中,可能有与封装的类型有关的附加的头部字段。
除了封装头部之外,被封装的分组包括进入的分组的原始MAC地址头部、与进入的分组相关联的原始VLAN标签和进入的分组的有效负载。在一个实施方案中,原始VLAN标签对应于在进入的分组中存在的VLAN标签。在另一实施方案中,当进入的分组曾并没有包括VLAN标签时,隧道技术代理106将VLAN标签作为原始的VLAN标签插入。
例如,隧道技术代理106可能将入站端口的PVID作为VLAN标签插入,在所述入站端口处,SDNC网络设备100曾接收到进入的分组。在另一示例中,隧道技术代理106可能基于入站分组的协议或MAC或IP地址而根据VLAN指派配置来确定VLAN id,并且可以将所确定的VLAN id作为VLAN标签插入。因此,不论进入的分组是否曾包括VLAN标签,被封装的分组都包括原始的VLAN标签。原始的VLAN标签和原始的MAC地址头部帮助确定在其处进入的分组首先在SDNC网络设备100被接收到的入站端口,如稍后将详细讨论的那样。
一接收到被封装的分组,服务实体108就可解封被封装的分组,执行一个或多个服务,并且根据所执行的(多个)服务而可以采取后期服务行动。在一个实施方案中,后期服务行动可以包括重新封装该分组并且将被重新封装的分组发送回给SDNC网络设备100,在该SDNC网络设备100处,该分组可能被隧道技术代理106解封,以获得被解封的分组。被重新封装的分组像被封装的分组那样包括封装头部,以封装原始的MAC地址头部、原始的VLAN标签和有效负载。如所示出的那样,被解封的分组包括原始的MAC地址头部、原始的VLAN标签和有效负载。因此,不论进入的分组是否曾包括VLAN标签,被解封的分组都包括原始的VLAN标签。
各种用于网络服务插入的实施方案都可在下面参考附图1c和1d详细地被进一步描述。
图1c根据本主题的示例图示了用于实施网络服务插入的网络环境。网络环境包括SDNC网络设备100、SDN控制器110和服务实体108,所述服务实体108可通过网络112与SDNC网络设备100进行通信。如将被意识到的那样,网络112可包括多个其他的网络设备和网络元件,这些其他的网络设备和网络元件为了便于理解并没有被图示。另外,虽然SDN控制器110和SDNC网络设备100已被示为彼此通过通信链路进行通信,但是将被理解的是,它们可能或者直接地或者通过没有在附图中示出的其他网络设备而彼此进行通信。
服务实体108例如可以是服务器、工作站、网络设备或任何计算设备,所述任何计算设备可以检验分组的内容或有效负载并且可以运行各种应用,以基于所述内容或有效负载提供诸如业务监控服务、业务检查和回注服务或者业务重路由服务之类的服务。因此,服务实体108可包括处理器、存储器和各种硬件和软件部件与模块以用于其运行,它们都没有在此被图示或被描述,但是将被理解。
在一个示例中,SDNC网络设备100可包括处理器102、SDN代理104、隧道技术代理106、SDN查找表114和端口116。端口116可包括物理端口和逻辑端口,所述物理端口对应于SDNC网络设备100的物理接口,所述逻辑端口可通过物理端口被配置。另外,端口116中的一些可以被保留,诸如用于与SDN控制器110进行通信。
将被理解的是,各种部件(诸如处理器102、SDN代理104、隧道技术代理106、SDN查找表114和端口116)的功能可能通过使用专用硬件、固件或通过能够与适当的软件相关联地执行软件的硬件而被提供。处理器102可能是专用处理器、共享处理器或多个单独的处理器,这些处理器中的一些可能被共享。也将被理解的是,为了其运行,SDNC网络设备100可能包括其他硬件、固件或软件部件,这些硬件、固件或软件部件可能没有在此被明确提到。
在操作中,SDN控制器110可以给SDNC网络设备100提供流规则,用于通过端口116转发进入的分组。这些流规则可以流条目的形式被存储在SDN查找表14中。为此,SDN控制器110可以与SDN代理104进行通信。SDN代理104可以将流配置接口提供给SDN控制器110,以添加、更新和删除SDN查找表114中的流条目。
这些流条目可以包括各种字段,这些字段包括但不限于匹配字段和指令字段,基于所述匹配字段,进入的分组可以被匹配来确定流条目是否可应用该进入的分组,所述指令字段对应于要被应用于匹配分组的指令集。另外,可以有多个查找表以特定的序列存储在SDN查找表114中,用于流水线处理。例如,匹配可以在该序列的第一表处开始,其中表中的第一匹配条目被用于执行与相对应的流条目相关联的指令。这些指令可以对应于各种行动、诸如分组转发、分组修改或者将随后的表发送,用于进一步处理。每个查找表也可以包括表未选中(table-miss)流条目,所述表未选中流条目指定用于在该查找表中没有发现匹配的情况的指令。例如,基于表未选中流条目,该分组可能被转发到SDN控制器110,可能被丢弃,或者可与该序列中的下一流表继续进行匹配。
在一个实施方案中,为了服务插入,SDNC网络设备100中的流条目可以包括将进入的分组转发到服务实体108的指令和处理从服务实体108接收到的分组的指令,所述进入的分组匹配特定的流规则。该流规则可能例如基于如下内容而被匹配:涉及进入的分组的源设备的字段、涉及进入的分组的目的地设备的字段、涉及进入的分组中的数据类型的字段等等。另外,流条目可以指定要被用于将分组发送给服务实体108并且从服务实体108接收到分组的隧道。
为了促进SDNC网络设备100使用隧道来与服务实体(诸如服务实体108)进行通信,SDN代理104可以将隧道接口作为端口116中的逻辑端口呈现到SDN控制器110。另外,SDN代理104可以以与针对端口116中的其他物理或逻辑端口所支持的方式相同的方式支持如下指令:所述指令用于分组通过隧道接口(诸如匹配的入站端口id)来或去、对指定的端口采取出站端口行动、对组端口采取出站端口行动、读取端口计数器等等。
在一个示例中,SDN控制器110可以针对SDN代理104所呈现的隧道接口中的每个都提供隧道配置。SDN控制器110可以通过由隧道技术代理106所呈现的隧道配置接口将隧道配置提供给SDNC网络设备100,并且隧道配置可被存储在隧道技术代理106中。隧道配置接口可包括例如简单网络管理协议(SNMP)接口支持,用于创建或删除隧道接口、配置隧道接口属性和封装属性、并且读取隧道接口状态。隧道配置接口也可包括命令行接口支持,用于连同操作状态和统计学信息一起显示隧道属性。
另外,隧道配置可以指定进入的分组的MAC地址头部和VLAN标签(也被称为原始的MAC地址头部和原始的VLAN标签)要被包括在被封装的分组中。假使进入的分组并不具有VLAN标签,则该隧道配置可以指定:在一个示例中,VLAN标签与入站端口的端口虚拟ID(PVID)一起被插入为VLAN标签中的VLAN id。在另一示例中,假使例如基于取代PVID配置的MAC或IP地址入站端口具有VLAN指派配置,那么基于MAC或IP的VLAN id可被插入到VLAN标签中。因此,被封装的分组可以包括与进入的分组相关联的VLAN标签,该VALN标签可能或者是进入的分组的VLAN标签或者是基于隧道配置而插入的VLAN标签。
隧道配置也可以指定,被封装的分组的优先级字段可以反映进入的分组的优先级,例如该优先级对应于进入的分组的VLAN标签中的优先级代码点(PCP)字段或者服务指令(QoS)注释。
在一个示例中,隧道配置中的隧道接口属性可包括可配置的属性和只读属性,所述可配置的属性诸如接口名、隧道类型、速率限制和存储类型,所述只读属性诸如独特的接口索引、可用带宽、最大传输单元(MTU)等等。另外,隧道接口属性中的隧道类型可以指示:隧道的目的,以及SDNC网络设备100是否也可能通过用于发送分组的隧道而从服务实体108接收到这些分组。例如,如果隧道类型是拦截,则该隧道类型可以指示:来自该隧道的分组可被服务实体108拦截,并且可由服务实体108在处理之后被回注。如果隧道类型是向前,则该隧道类型可以指示:该隧道可作为通用隧道而被用于重路由,并且可不从服务实体108接收分组。另外,如果隧道类型是拷贝,则该隧道类型可以指示:该隧道可被用于将从SDNC网络设备100被转发到目的地设备的数据镜像到服务实体108,并且SDNC网络设备100可不通过这个隧道从服务实体108接收到分组。
隧道配置中的封装属性可例如包括源端点IP地址、目的地端点IP地址、封装类型、隧道标识符、差分服务代码点(DSCP)、生存期(TTL)、虚拟网络接口(VNI)等。所指定的封装类型可以例如是用户数据报协议(UDP)、通用路由封装(GRE)、虚拟可扩展的LAN(VxLAN)、使用GRE的网络虚拟化(NVGRE)或者专属封装类型。因此,隧道标识符可以是例如UDP端口(源/目的地)、GRE密钥等。统计学信息可以包括例如针对接收到的分组、所传输的分组、所丢弃的分组的计数器;分组的传输率等等。
在一个示例中,SDN控制器110也可配置通知或陷阱(trap),所述通知或陷阱要从隧道技术代理106被发送,用于跟踪SDNC网络设备100中的隧道接口的状态改变。如被理解的那样,陷阱指的是涉及事件的非请求消息,并且可以从设备中的代理被发送到监控该设备的控制器。因此,隧道技术代理106可以将隧道接口的任何状态变化(诸如隧道接口何时向下或向上)通知给SDN控制器110。基于陷阱通知,SDN控制器110可判断:例如当隧道接口向下是,是否要采取补救行动。隧道接口状态改变也可被记录到SDN控制器110中的事件日志中,用于随后的分析。
另外,假使隧道接口被删除并且某些流规则使用所删除的隧道接口作为出站端口,则被引导到那个出站端口的分组可能被丢弃。为了允许SDNC网络设备100工作在故障保护模式下,在一个示例中,隧道配置可提供:假使到SDN控制器110的连接丢失,则使用隧道作为输出端口的业务流可能继续将业务转发到这些隧道,直至该连接被恢复并且从SDN控制器110接收到其他指令。在另一示例中,假使到SDN控制110的连接丢失,则SDNC网络设备100可无视这些流规则,并且将进入的分组直接转发到目的地设备,直至该连接被恢复。在一个示例中,为了增强数据安全性,SDN控制器110也可指定加密和解密,以在SDNC网络设备100支持加密和解密时在这些隧道接口处使用。
在操作中,一从源设备接收到进入的分组,SDN代理104就可查阅(refer)SDN查找表114,以根据匹配的流规则标识出如下指令:所述指令指示对应于进入的分组要被引导到其的服务实体108的隧道接口。SAN代理104接着可将进入的分组和指令提供给隧道技术代理106。
另外,隧道技术代理106可以基于对应于隧道接口的隧道配置来封装进入的分组,以生成被封装的分组。被封装的分组可以包括原始的MAC地址头部和原始的VLAN标签。在一个示例中,假使进入的分组并没有包括VLAN标签,则隧道技术代理106可将VLAN标签作为原始的VLAN标签插入。所插入的VLAN标签可包括入站端口的PVID或者被配置用于入站端口的基于MAC或IP或协议的VLAN id作为VLAN id。基于被封装的分组中的原始的MAC地址头部和原始的VLAN标签,被封装的分组的源设备和目的地设备可以被标识出。另外地,也可以使用原始的MAC地址头部和原始的VLAN标签标识出原始的入站端口,在所述原始的入站端口处,进入的分组最初曾被SDNC网络设备110接收到。
在一个示例中,被封装的分组的优先级字段可以反映进入的分组的优先级,例如该优先级对应于进入的分组中的优先级代码点(PCP)字段或者进入的分组的服务质量(QoS)注释。因此,被封装的分组可能由服务实体108以与进入的分组相同的优先级被处理。
隧道技术代理106可以提供被封装的分组,用于通过隧道接口(例如通过隧道118)转发给服务实体108。在一个示例中,隧道118可能被用来通过网络112将被封装的进入的分组发送到服务实体108。网络112可能是SDN控制器110的IP子网的部分,或者可能是包括在SDN控制器110的IP子网外部的网络的网络的组合。因此,服务实体108可被部署在SDN控制器110的IP子网之内或在不同的IP子网中,并且隧道118可能是L2-in-L2隧道或者L2-in-L3隧道。L2-in-L2隧道可以例如是MAC-in-MAC隧道或者VLAN-in-VLAN隧道。L2-in-L3隧道可以例如是MAC-in-IP隧道。
网络112可能是有线网络、无线网络或有线和无线网络的组合。网络112也可以是单独的网络的集合,这些网络可使用不同的协议用于彼此通信、互连。另外,网络112可以包括各种网络元件、诸如网关、调制解调器、路由器;然而,为了便于理解已省略此类细节。因此,可在部署服务实体108时实现灵活性。
另外,基于被插入的服务的类型,SDNC网络设备100也可通过隧道118从服务实体108接收分组。当通过隧道118从服务实体108接收到分组的时候,SDNC网络设备100可以基于SDN查找表114针对接收到的分组确定转发行动。基于隧道接口的id和接收到的分组中的原始的MAC地址头部和原始的VLAN标签,可确定该转发行动。例如,该转发行动可对应于:通过第二隧道接口将接收到的分组转发到第二服务实体,将接收到的分组转发到目的地设备或者基于L2/L3设置转发接收到的分组。如上面所提到的那样,L2/L3设置对应于非SDN或传统的查找设置。
用于网络服务插入的SDNC网络设备100的方面参考图1d详细地被进一步描述。图1d根据本主题的示例图示了用于实施网络服务插入的示例SDNC网络设备100。
如所图示的那样,除了处理器102、SDN代理104、隧道技术代理106、SDN查找表114和端口116以外,SDNC网络设备100还可包括存储器120、L2/L3查找表122、仪表124、切换代理126和其他部件128。
存储器120可被耦合到处理器102,并且可包括本领域公知的任何非暂时性计算机可读介质,所述非暂时性计算机可读介质例如包括易失性存储器和/或非易失性存储器,所述以易失性存储器诸如静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM),所述非易失性存储器诸如只读存储器(ROM)、可擦除可编程ROM、闪存等。另外,在各种实施方案中,SDNC网络设备100的各种部件中的一个或多个可能全部或部分地被存储在存储器120中,并且可能由处理器102执行。
L2/L3查找表122可包括对应于SDNC网络设备100的L2/L3查找设置的条目,用于实施非SDN或传统的控制逻辑。L2/L3查找表122也可包括跟踪在端口116处接收到的分组的条目(诸如指示入站端口的条目,在所述入站端口处曾接收到分组),并且L2/L3查找表122也可包括分组地址头部中的信息。这样的条目可被用来重新生成入站端口id,以确保出站分组并不是通过在其处接收到该分组的端口而被发送回,如稍后将讨论的那样。
仪表124可测量、控制和速率限制通过端口或隧道接口被转发的分组。例如,流规则可能指定针对通过隧道接口被转发的分组的阈值速率。因此,仪表124可确定进入的分组速率何时超过阈值,并且可以对这些分组采取仪表行动。例如,如果仪表行动被设置为‘丢弃’,则超过仪表限制的分组可能不被隧道传输并且可能被丢弃。在另一示例中,如果仪表行动被设置为“dscp注释”,则超过仪表限制的分组可能在被封装以及被发送到服务实体108之前使它们的DSCP被注释。在一个示例中,仪表124的仪表行动可由SDN控制器110通过SDN代理104来配置。如在此所讨论的仪表行动可能被应用在从源设备接收到的进入的分组上,或者被应用在通过隧道接口接收到的分组上,这些分组要被进一步转发。
切换代理126可在端口116与其他代理(诸如SDN代理104和隧道技术代理106)之间接口连接。另外,切换代理126可在L2/L3查找表122中创建条目和查找来自L2/L3查找表122的条目。因此,切换代理126可使用L2/L3查找表122中的条目跟踪达到端口116的分组,并且也可使用L2/L3查找表122来基于传统的控制逻辑或者基于SDN代理104标识出的输出端口或隧道接口而转发分组。
在操作中,在一个示例实施方案中,当在端口116中的一个处接收到分组时,切换代理126可记入L2/L3查找表122中,从而指示在其上接收到所述分组的入站端口并且指示所述分组的MAC地址和VLAN标签。切换代理126针对从源设备接收到的分组和针对通过隧道接口从服务实体(诸如服务实体108)接收到的分组都完成这一点。例如,在通过隧道接口接收到的被封装的分组的情况下,切换代理126可记入L2/L3查找表122,从而指示该分组曾通过其被接收到的隧道接口和被封装的分组的封装头部。切换代理126接着可将这些分组提供给SDN代理104,用于基于SDN查找表114确定输出端口。在一个示例中,假使接收到的分组是被封装的分组,则该分组通过隧道技术代理106来解封,以在被提供给SDN代理104之前去除封装头部。
另外,在一个示例中,在SDNC网络设备100是支持SDN和非SDN控制逻辑二者的混合网络设备的情况下,切换代理126可能例如基于分组地址头部而确定进入的分组要通过SDN控制逻辑被处理还是通过非SDN控制逻辑被处理。因此,切换代理126可能将进入的分组提供给SDN代理104以用于确定通过其进入的分组要被转发的端口,或可能基于L2/L3查找表122转发所述进入的分组。在另一示例中,进入的分组可能由切换代理126被直接提供给SDN代理104,并且基于流规则,可能确定是通过SDN控制逻辑还是通过非SDN控制逻辑来处理所述进入的分组。在又一示例中,端口116中的某些端口可致力于与SDN控制逻辑一起被使用,而某些其他端口可致力于与非SDN控制逻辑一起被使用。切换代理126可促进分组在两种类型的专用端口之间传输,由此桥接这些端口。
另外,基于SDN代理104标识出的引出端口或者隧道接口,切换代理26可通过端口116来转发分组。例如,假使SDN代理104基于SDN查找表114标识出这些分组要被封装并且通过隧道118被发送,则隧道技术代理106可以按照隧道118的隧道配置来封装这些分组,并且将被封装的分组提供到切换代理126。切换代理126接着可通过对应于隧道118的隧道接口的端口来转发被封装的分组。
在另一示例中,在SDN代理104基于SDN查找表114标识出要基于非SDN或传统控制逻辑(即,L2/L3查找表122)来转发分组的情况下,切换代理126可以确定来自L2/L3查找表122的输出端口并通过该输出端口来转发分组。在一个示例中,基于传统控制逻辑转发的分组可以是从源设备接收的分组。在这样的示例中,可能不针对这些分组执行服务插入。在另一种情况下,基于传统控制逻辑转发的分组可以是在服务插入之后接收的分组。
在一个示例中,在通过输出端口转发分组的同时,切换代理126可以确保未在原始在其处从源设备接收到分组的入站端口上发送回分组。对于这一点,切换代理126可以基于原始MAC地址头部和原始VLAN标签来执行L2/L3查找表122的反向查找,以确定在其处接收到分组的原始入站端口。因此,原始入站端口的确定可以是在没有附加元数据被插入到分组头部中的情况下进行的。另外,还可以基于所确定的原始入站端口来在分组上应用端口级策略。端口级策略可以包括针对网络可见性的业务采样、服务质量(QoS)、访问控制列表(ACL)等。因此,端口级策略可以甚至在服务插入之后被应用,这是由于可以使用原始MAC地址头部和原始VLAN标签来确定原始入站端口。
其他部件128包括可被SDNC网络设备100用于其功能、但本文可能未显式提及的其他软件和硬件部件,诸如操作系统和网络接口。
在一个实现方式中,在接收到进入的分组时,SDN代理104可以查阅SDN查找表114以从流条目确定要针对进入的分组采取的行动的指令。在进入的分组匹配于流条目以用于通过隧道而被转发到服务实体108的情况下,SDN代理104可以将进入的分组提供给隧道技术代理106。基于由SDN控制器110提供的隧道配置,隧道技术代理106可以对进入的分组进行封装,并使经封装的分组在隧道接口上被发送到服务实体108,从而形成隧道118。
另外,基于隧道配置,在进入的分组违反最大传输单元(MTU)(其指示可在隧道118上发送的分组的最大大小)的情况下,进入的分组可以被隧道技术代理106分成碎片并可以作为多个隧道传输的分组而被递送到服务实体108。在一个示例中,除了在隧道118上将分组发送到服务实体108外,在服务实体108提供镜像服务的情况下,SDNC网络设备100还可以通过端口116中的端口将分组转发到目的地设备,如稍后将参照图2a讨论的那样。
在接收到经封装的分组时,服务实体108可以对分组进行解封并执行各种服务,诸如业务检查和回注服务、业务监视服务、或者具有可能内容修改的业务重路由服务。在一个示例中,如果分组在被发送到服务实体108之前被SDNC网络设备100进行碎片整理,则服务实体可以在执行各种服务之前对分组进行重新组装。基于所执行的服务,服务实体108可以采取服务后的行动,包括例如在隧道118上将分组发送回到SDNC网络设备100、在另一隧道上将分组转发到第二网络设备以用于将分组引导到目的地设备、或者丢弃分组,如稍后将参照图2a、2b和2c讨论的那样。
在一个示例中,为了将分组发送回到SDNC网络设备100,服务实体108可以将分组连同原始MAC地址头部和原始VLAN标签一起重新封装,并在隧道118上将经重新封装的分组发送到SDNC网络设备100。服务实体108所使用的封装和隧道协议可以类似于当SDNC网络设备100将分组发送到服务实体108时使用的封装和隧道协议。在一个示例中,当在SDNC网络设备100与服务实体108之间建立隧道时,要使用的封装和隧道协议被SDNC网络设备100传送到服务实体108。
另外,SDNC网络设备100可以在隧道118上从服务实体108接收分组,并对所接收到的分组进行解封。SDN代理104可以查阅SDN查找表114以标识要在所接收到的分组上执行的指令集。指令集可以是例如基于除其他匹配字段外在其处接收到分组的隧道接口来标识的。
在一个示例中,SDN代理104可以从SDN查找表114标识出要将所接收到的分组发送到第二服务实体。相应地,SDN代理104可以将所接收到的分组提供给隧道技术代理106。隧道技术代理106可以按照针对第二服务实体的隧道配置将分组连同原始MAC地址头部和原始VLAN标签一起进行封装,并可以将经封装的分组提供给切换代理126。切换代理126可以将经封装的分组转发到第二服务实体,以用于插入第二网络服务。因此,可以在业务流中插入网络服务链,其中分组仍在该链的结尾处保留原始源MAC地址和原始源VLAN标签。
另外,在一个示例中,在已经执行一个或多个服务之后在隧道接口上接收到分组时,SDN代理104可以从SDN查找表114标识出要将分组转发到目的地设备。相应地,SDNC网络设备100可以直接地或通过另一网络设备将分组转发到目的地设备。
在另一示例中,在已经执行一个或多个服务之后,SDN代理104可以从SDN查找表114标识出要基于非SDN或传统控制逻辑(例如,通过OpenFlow中的NORMAL或FLOOD输出端口)转发分组。相应地,可以基于L2/L3查找表122(例如,由切换代理126)转发分组。在一个示例中,当要基于非SDN控制逻辑来转发分组时,切换代理126可以执行L2/L3查找表122的反向查找,以标识在其上分组被SDNC网络设备100原始接收到的原始入站端口。L2/L3查找表122包括通过针对由SDNC网络设备100接收到的分组的MAC地址和VLAN id而编索引的进入的端口信息。因此,切换代理126可以基于原始MAC地址头部和原始VLAN标签来进行反向查找。因此,可以在没有附加元数据被插入到分组头部中的情况下进行原始入站端口的确定。切换代理126然后还可以确保未通过原始入站端口发送出分组。另外,基于原始入站端口,还可以在分组上应用端口级策略。端口级策略可以包括针对网络可见性的业务采样、服务质量(QoS)、访问控制列表(ACL)等。
因此,可以确保未在分组在其处首先被SDNC网络设备100从源设备接收到的原始入站端口上发送回分组,并且其在服务插入之后应用端口级策略时提供了灵活性。此外,如上所述,由于分组在从SDNC网络设备100转发时保留了原始MAC地址头部和原始VLAN标签,因此网络服务插入可以对源设备和目的地设备二者来说都是透明的。另外,可以动态地插入各种类型的服务,诸如业务检查和回注、业务监视、以及具有如下所讨论的可能内容修改的业务重路由。
图2a、2b和2b图示了根据本主题的各种示例的实现网络服务插入的场景。
图2a图示了根据本主题的一个示例的示例镜像场景200A,其中SDNC网络设备100可以将业务流镜像到服务实体108,且并行地将业务转发到目的地设备。例如,可以在SDNC网络设备100处接收来自源202的业务,也被称作源业务202。SDN代理104可以从SDN查找表114确定要将源业务202镜像到服务实体108。
例如,SDN控制器110可以提供下述流规则:对于匹配于特定流条目的分组,输出端口是“拷贝隧道 + 另一端口”。另外,在流规则中,SDN控制器110可以指定要使用的隧道接口和另一端口。当SDN代理104标识出匹配于该流规则的进入的分组时,SDN代理104可以引导隧道技术代理106以基于隧道接口的所配置的属性来对进入的分组进行封装并使经封装的分组在隧道118上被发送到隧道远程端点(即,服务实体108),如之前所讨论。在该示例中,服务实体108可以接收和分析分组,且然后丢弃分组。
在一个示例中,流规则可以允许SDNC网络设备100将相同分组发送到多个拷贝隧道。在另一示例中,拷贝隧道可以是多播目的地,并且从而,多个隧道目的地可以接收分组的相同拷贝以用于检查。这可以被进行例如以便处置冗余的情况,其中多个服务实体可以用于服务插入以及用于可能的负载平衡。
除了在(多个)拷贝隧道上转发分组外,SDN代理104可以引导进入的分组以便还被转发到另一端口,以用于例如在网络206上将业务流发送到目的地204。像网络112那样,网络206也可以是有线网络或无线网络或两者的组合,且可以与SDNC网络设备100处于相同IP子网中或者处于不同的IP子网中。
流规则中指定的另一端口可以是被SDN代理104支持的物理端口、隧道接口或特殊端口。例如,在OpenFlow的情况下,特殊端口可以是NORMAL、FLOOD、ANY或CONTROLLER。在另一端口是CONTROLLER的情况下,进入的分组可以被发送到SDN控制器110,SDN控制器110可以决定是丢弃分组还是将流规则提供给SDN代理104以转发分组。在另一示例中,当特殊端口是NORMAL时,SDN代理104可以引导分组以用于由切换代理126基于L2/L3查找表122来转发。
例如在服务实体108提供诸如业务监视、业务分析和入侵检测之类的服务的情况下,可以使用镜像场景200A,其中服务实体108可以分析或监视分组,但可以不修改分组内容或流。另外,基于分析或监视,可以将各种策略提供给SDN控制器110以在SDNC网络设备100上应用。例如,基于业务负载,SDN控制器110可以将规则编程为跨不同路径加载平衡业务。在另一示例中,基于业务的性质,SDN控制器110可以对速率限制进行编程以供一些源设备确信网络未被来自那些源设备的太多业务所淹没。在又一示例中,SDN控制器110可以将QoS规则编程为提供某业务高优先级和某业务低优先级。另外,如果业务被认为是恶意的,则SDN控制器110还可以通过丢弃从源设备接收的分组来隔离该源设备。
图2b图示了根据本主题的一个示例的示例拦截场景200B,其中服务实体108可以检查分组并基于该检查来回注或阻止分组。例如,可以在SDNC网络设备100处接收源业务202。SDN代理104可以从SDN查找表114确定要拦截源业务202。
例如,SDN控制器110可以提供下述流规则:对于匹配于特定流条目的分组,输出端口是“拦截隧道”。另外,在流规则中,SDN控制器110可以指定要使用的隧道接口。当SDN代理104标识出匹配于该流规则的进入的分组时,SDN代理104可以引导隧道技术代理106以基于隧道接口的所配置的属性来对进入的分组进行封装并使经封装的分组在隧道118上被发送到隧道远程端点(即,服务实体108),如前所讨论。出于讨论目的,图2b表示了作为隧道118-1的隧道118的发射线路和作为隧道118-2的隧道118的接收线路,发射和接收相对于SDNC网络设备100。因此,在一个示例中,可以在隧道118-1上将经封装的分组发送到服务实体108。
在一个示例中,当拦截流规则还与对分组的数目进行速率限制的仪表相关联时,仪表行动可以在进入的分组速率超过仪表限制时生效。例如,如果仪表行动被设置成“丢弃”,则可以不隧道传输且可以丢弃超过仪表限制的分组。在另一示例中,如果行动被设置成“dscp注释”,则超过仪表限制的分组可以在被封装和发送到服务实体108之前使其DSCP被注释。
在检查时,服务实体108可以确定分组是否符合由服务应用(诸如,防火墙)应用的策略,诸如组织的防火墙设置。相应地,当分组被允许时,服务实体108可以通过隧道118-2将分组发送回到SDNC网络设备100。可替换地,当分组按照服务应用而未被允许时,服务实体108可以丢弃分组且不在隧道118-2上发射分组。在这种情况下,服务实体还可以将针对业务的源设备的隔离规则编程为使得来自该源设备的后续分组可以被阻止。
另外,在服务实体108将分组发送回到SDNC网络设备100的情况下,SDN代理104可以查阅SDN查找表114以确定针对要在所接收到的分组上采取的行动的指令。例如,SDN代理104可以引导所接收到的分组以便例如在网络206上被转发到目的地设备,被示作去往目的地204的业务。可以通过被SDN代理104支持的物理端口、隧道接口或特殊端口来转发所接收到的分组,如前所讨论。例如,基于SDN查找表114,SDN代理104可以引导分组以由切换代理126基于L2/L3查找表122来转发。此外,如上所讨论,切换代理126可以基于L2/L3查找表122的反向查找来确定原始入站端口id。另外,在转发分组的同时,切换代理126可以应用端口级策略且还可以确保未在原始入站端口上发送回分组。
在一个示例中,拦截隧道可以是多播IP地址,并且因此,相同分组可以被发送到服务实体的多个实例,例如以用于冗余或负载平衡。在这种情况下,服务实体之一可以基于例如服务实体上的策略配置将分组发送回到SDNC网络设备100。例如,对于VLAN的一个集合,服务实体之一可以响应回来,并且对于VLAN的另一集合,另一服务实体可以响应回来。
例如在服务实体108提供诸如业务消毒、入侵防止和防火墙之类的服务的情况下,可以使用拦截场景200B,其中服务实体108可以基于分组的检查来允许或阻止业务流。
图2c图示了根据本主题的一个示例的示例重路由场景200C,其中服务实体108可以重路由分组并可以修改分组。例如,可以在SDNC网络设备100处接收源业务202。SDN代理104可以从SDN查找表114确定要将源业务202转发到服务实体108以用于重路由。
例如,SDN控制器110可以提供下述流规则:对于匹配于特定流条目的分组,输出端口是“转发隧道”。另外,在流规则中,SDN控制器110可以指定要使用的隧道接口。当SDN代理104标识出匹配于该流规则的进入的分组时,SDN代理104可以引导隧道技术代理106以基于隧道接口的所配置的属性来对进入的分组进行封装并使经封装的分组在隧道118上被发送到隧道远程端点(即,服务实体108),如前所讨论。
在一个示例中,当转发流规则还与对分组的数目进行速率限制的仪表相关联时,仪表行动可以在进入的分组速率超过仪表限制时生效。例如,如果仪表行动被设置成“丢弃”,则可以不隧道传输且可以丢弃超过仪表限制的分组。在另一示例中,如果行动被设置成“dscp注释”,则超过仪表限制的分组可以在被封装和发送到服务实体108之前使其DSCP被注释。
在接收到分组时,服务实体108可以基于在服务实体108中提供的重路由策略来确定分组要被重路由到的网络实体208。在一个示例中,网络实体208可以是分组要被重路由到以用于发送到目的地设备的第二网络设备。第二网络设备可以是SDN可兼容网络设备或传统网络设备。相应地,网络实体208然后可以基于流规则或基于L2/L3查找将分组转发到目的地设备。在另一示例中,网络实体208可以是目的地设备本身。服务实体108因而可以基于例如层4(L4)或层7(L7)内容直接将分组重路由到目的地设备。在又一示例中,网络实体208可以是在业务流中插入第二服务的第二服务实体。此外,基于分组检查和重路由策略,服务实体108可以在将分组重路由到网络实体208之前修改分组内容,以便例如移除不被允许的内容。
另外,网络实体208可以与SDNC网络设备100和/或服务实体108处于不同的IP子网中。在一个示例中,服务实体108可以与网络实体208设立第二隧道210,并可以对分组进行封装并在隧道210上将分组发送到第二网络实体208。可以从在服务实体108中提供的隧道配置模块确定第二隧道210的隧道配置。在一个示例中,SDN控制器110可以将重路由策略和隧道配置提供给服务实体108。在另一示例中,不同的SDN控制器或计算系统可以用于将重路由策略和隧道配置提供给服务实体108。
例如在服务实体108提供诸如服务器负载平衡之类的服务的情况下,可以使用重路由场景200C,其中服务实体108可以基于例如网络实体208上的CPU负载来确定重路由到哪个网络实体208。
图3图示了根据本主题的示例的用于网络服务插入的方法300。对方法300进行描述所依照的顺序不意图被理解为限制,并且,可以按不同的顺序组合所描述的方法框中的一些,以实现方法300或等同的可替换方法。另外,在不脱离本文描述的主题的精神和范围的情况下,可以从方法300中删除个别框。此外,可以以任何合适的硬件、计算机可读指令或其组合实现方法300。
方法300的步骤可以由计算设备在存储于非暂时性计算机可读介质上的机器可执行指令的命令下执行,或者由专用硬件电路、微控制器或逻辑电路执行。例如,方法300可以由SDNC网络设备100在网络环境中执行。在本文中,一些示例还意图覆盖非暂时性计算机可读介质,例如,数字数据储存介质,其为计算机可读的且对计算机可执行指令进行编码,其中所述指令执行所描述的方法300的步骤中的一些或全部。
如图3中所描绘,在框302处,基于从SDN控制器接收的流规则来确定要在进入的分组上应用的指令集。指令集可以包括:在隧道接口上将进入的分组引导到服务实体。例如,SDNC网络设备100可以基于从SDN控制器110接收的流规则来确定用于将分组发送到服务实体108的隧道接口。在一个示例中,除了将进入的分组引导到服务实体外,指令集还可以包括通过例如从SDN查找表114或从L2/L3查找表122确定的端口来转发进入的分组。
在框304处,基于与隧道接口相对应的隧道配置来对进入的分组进行封装以生成经封装的分组。隧道配置也可以由SDN控制器提供。另外,经封装的分组可以包括与进入的分组相关联的媒体访问控制(MAC)地址头部和虚拟局域网(VLAN)标签。例如,隧道技术代理106可以基于由SDN控制器110提供的隧道配置来对分组进行封装。在一个示例中,在封装之前,隧道技术代理106可以确定进入的分组是否包括VLAN标签,且可以在进入的分组不包括VLAN标签时插入VLAN标签。所插入的VLAN标签可以包括入站端口VLAN id作为VLAN id。
在框306处,基于隧道配置来与服务实体建立隧道。例如,隧道可以对应于下述各项之一:用于将进入的分组镜像到服务实体的拷贝隧道;用于将进入的分组发送到服务实体且从服务实体接收分组的拦截隧道;以及用于通过服务实体将分组重路由到例如网络实体的转发隧道。另外,隧道可以是用于将经封装的分组发送到服务实体的多个实例的多播隧道。如将理解的那样,建立隧道可以包括:与服务实体交换设立消息和隧道配置,使得经封装的分组可以被发送到服务实体。
在框308处,通过隧道接口在隧道上将经封装的分组转发到服务实体。例如,切换代理126可以通过与隧道接口相对应的端口在隧道118上发送经封装的分组。
另外,如上所讨论,服务实体可以采取服务后的行动,包括在业务检查时通过隧道接口将分组发送回到SDNC网络设备。SDNC网络设备可以针对通过隧道接口而接收的所接收到的分组确定转发行动。所确定的转发行动可以是下述各项之一:通过第二隧道接口将所接收到的分组转发到第二服务实体;将所接收到的分组转发到目的地设备;以及将所接收到的分组提供给切换代理以基于L2/L3查找表而转发。
在一个示例中,当基于L2/L3查找表转发分组时,切换代理还通过L2/L3查找表的反向查找来确定原始入站端口,在该原始入站端口处分组被原始接收到。切换代理然后可以确保未在原始入站端口上发送回分组,并可以在分组上应用端口级策略。因此,本主题的设备和方法可以在部署服务实体时并且在采取服务后的行动时提供灵活性。
图4图示了根据本主题的示例的实现用于网络服务插入的非暂时性计算机可读介质的示例网络环境400。网络环境400可以是公用联网环境或专用联网环境。在一个实现方式中,网络环境400包括通过通信链路406耦合到非暂时性计算机可读介质404的处理资源402。
例如,处理资源402可以是网络设备(诸如SDNC网络设备100)的处理器。非暂时性计算机可读介质404可以是例如内部存储器设备或外部存储器设备。在一个实现方式中,通信链路406可以是直接通信链路,诸如通过存储器读/写接口而形成的直接通信链路。在另一实现方式中,通信链路406可以是间接通信链路,诸如通过网络接口而形成的间接通信链路。在这种情况下,处理资源402可以通过网络408来访问非暂时性计算机可读介质404。像通信网络112那样,网络408可以是单个网络或者多个网络的组合,并可以使用多种不同通信协议。
处理资源402和非暂时性计算机可读介质404还可以在网络408上通信地耦合到数据源410。数据源410可以包括例如数据库和计算设备。数据源410可以被数据库管理员和其他用户用于与处理资源402通信。
在一个实现方式中,非暂时性计算机可读介质404包括计算机可读指令集,该指令诸如是用于实现SDN代理104和隧道技术代理106的指令。计算机可读指令集(在下文中被称作指令)可以由处理资源402通过通信链路406来访问,且后续被执行以执行用于网络服务插入的行动。
出于讨论目的,已经参照先前参照1a、1b、1c、1d、2a、2b和2c的描述而引入的各种部件描述了处理资源402对指令的执行。
在示例中,指令可以使处理资源402基于匹配的流规则来确定与进入的分组要被引导到的服务实体相对应的隧道接口。例如,匹配的流规则可以是从由SDN控制器110提供给SDN代理104且存储在SDN查找表114中的流规则确定的。
另外,可以基于与隧道接口相对应的隧道配置来对进入的分组进行封装以生成经封装的分组。例如,隧道配置可以由SDN控制器110提供给隧道技术代理106,隧道技术代理106然后可以对进入的分组进行封装。在一个示例中,经封装的分组可以包括与进入的分组相关联的媒体访问控制(MAC)地址头部和虚拟局域网(VLAN)标签。隧道技术代理106还可以确定进入的分组是否与VLAN标签相关联,并可以在进入的分组不与VLAN标签相关联时插入VLAN标签。所插入的VLAN标签可以包括基于入站端口的PVID、进入的分组的协议、进入的分组的MAC地址和进入的分组的IP地址之一而指派的VLAN id。然后可以提供经封装的分组以用于通过隧道接口转发到服务实体。在一个示例中,基于匹配的流规则,进入的分组除了被发送到服务实体108外,还可以被转发到目的地设备。
如前所讨论,在接收到经封装的分组时,服务实体可以对分组进行解封并执行包括入侵检测、入侵防护、网络过滤等的各种服务。基于所执行的服务的类型,服务实体可以采取服务后的行动,包括:例如,在通过其而接收到分组的隧道上发送回分组,在第二隧道上将分组转发到目的地设备或可将分组引导到目的地设备的第二网络设备,或者丢弃分组。另外,在分组被发送回的情况下,SDN代理104可以基于SDN查找表114来确定要确定的行动的下一集合。例如,分组可以被发送到另一服务实体或目的地设备。另外,在分组要被发送到目的地设备的情况下,可以基于SDN控制逻辑或非SDN控制逻辑来转发分组,如前所讨论。
因此,本主题的方法和设备有助于透明、动态且安全地实现网络服务插入,而不管服务实体被部署在何处。尽管已经以专用于结构特征和方法的语言描述了用于网络服务插入的实现,但可以理解,具体结构特征和方法是作为用于网络服务插入的设备和方法的示例而公开的。
Claims (15)
1.一种网络设备,包括:
处理器;
软件定义网络(SDN)代理,其被耦合到处理器以基于流规则来确定与进入的分组要被引导到的服务实体相对应的隧道接口;以及
隧道技术代理,其被耦合到处理器以:
基于与隧道接口相对应的隧道配置来对进入的分组进行封装以生成经封装的分组,其中经封装的分组包括与进入的分组相关联的媒体访问控制(MAC)地址头部和虚拟局域网(VLAN)标签,其中VLAN标签包括进入的分组中存在的VLAN标签和由隧道技术代理插入的VLAN标签之一;以及
提供经封装的分组以用于通过隧道接口转发到服务实体。
2.如权利要求1所述的网络设备,其中隧道技术代理被耦合到处理器以当进入的分组不包括VLAN标签时插入VLAN标签,其中所插入的VLAN标签包括基于入站端口的PVID、进入的分组的协议、进入的分组的MAC地址和进入的分组的IP地址之一从VLAN指派配置确定的VLAN id。
3.如权利要求1所述的网络设备,其中
SDN代理被耦合到处理器以进一步与SDN控制器通信,从而在网络设备中配置流规则;并且
隧道技术代理被耦合到处理器以进一步从SDN控制器接收隧道配置。
4.如权利要求1所述的网络设备,进一步包括:切换代理,其被耦合到处理器,以基于与经解封的分组相关联的MAC地址头部和VLAN标签的反向L2/L3查找来针对经解封的分组确定原始入站端口id。
5.如权利要求1所述的网络设备,其中SDN代理被耦合到处理器,以基于流规则来进一步确定针对通过隧道接口而接收的所接收到的分组的转发行动,正被基于隧道接口的id确定的转发行动,以及被封装在所接收到的分组中的MAC地址头部和VLAN标签。
6.如权利要求1所述的网络设备,其中隧道接口对应于用于将经封装的分组转发到服务实体的多个实例的多播隧道。
7.如权利要求1所述的网络设备,其中SDN代理被耦合到处理器,以便除了基于匹配的流规则将进入的分组引导到隧道接口以外,进一步通过端口转发进入的分组。
8.一种用于网络服务插入的方法,所述方法包括:
基于从SDN控制器接收的流规则来确定要在进入的分组上应用的指令集,其中指令集包括在隧道接口上将进入的分组引导到服务实体;
基于与隧道接口相对应的隧道配置来对进入的分组进行封装以生成经封装的分组,其中隧道配置由SDN控制器提供,并且其中经封装的分组包括与进入的分组相关联的媒体访问控制(MAC)地址头部和虚拟局域网(VLAN)标签;
基于与隧道接口相对应的隧道配置来与服务实体建立隧道;以及
通过隧道接口将经封装的分组转发到服务实体。
9.如权利要求8所述的方法,进一步包括:
确定进入的分组是否包括VLAN标签;以及
当进入的分组不包括VLAN标签时,插入VLAN标签,其中所插入的VLAN标签包括基于入站端口的PVID、进入的分组的协议、进入的分组的MAC地址和进入的分组的IP地址之一从VLAN指派配置确定的VLAN id。
10.如权利要求8所述的方法,进一步包括:基于流规则来确定针对通过隧道接口而接收的所接收到的分组的转发行动,转发行动是下述各项之一:通过第二隧道接口将所接收到的分组转发到第二服务实体;将所接收到的分组转发到目的地设备;以及基于L2/L3查找表来转发所接收到的分组。
11.如权利要求8所述的方法,进一步包括:
通过隧道接口从服务实体接收重新封装的分组;
对重新封装的分组进行解封以获得经解封的分组,经解封的分组具有与经解封的分组相关联的MAC地址头部和VLAN标签;以及
基于关于与经解封的分组相关联的MAC地址头部和VLAN标签的L2/L3查找表的反向查找来确定分组的原始入站端口id。
12.如权利要求8所述的方法,其中,隧道对应于下述各项之一:用于将进入的分组镜像到服务实体的拷贝隧道;用于将进入的分组发送到服务实体且从服务实体接收分组的拦截隧道;以及用于通过服务实体重路由分组的转发隧道。
13.一种具有计算机可读指令集的非暂时性计算机可读介质,所述指令在被执行时使处理器:
基于流规则来确定与进入的分组要被引导到的服务实体相对应的隧道接口;
确定进入的分组是否包括虚拟局域网(VLAN)标签;
当进入的分组不包括VLAN标签时,基于入站端口VLAN id来在进入的分组中插入VLAN标签;
基于与隧道接口相对应的隧道配置来对进入的分组进行封装以生成经封装的分组,其中经封装的分组包括VLAN标签以及进入的分组的媒体访问控制(MAC)地址头部;以及
通过隧道接口将经封装的分组转发到服务实体。
14.如权利要求13所述的非暂时性计算机可读介质,其中计算机可读指令在被执行时进一步使处理器基于用于转发经封装的分组的隧道配置来与服务实体建立隧道,其中隧道对应于下述各项之一:用于将进入的分组镜像到服务实体的拷贝隧道;用于将进入的分组发送到服务实体且从服务实体接收分组的拦截隧道;以及用于通过服务实体重路由分组的转发隧道。
15.如权利要求13所述的非暂时性计算机可读介质,其中计算机可读指令在被执行时进一步使处理器:基于与经解封的分组相关联的MAC地址头部和VLAN标签的反向L2/L3查找来针对经解封的分组确定原始入站端口id。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IN2014/000287 WO2015166506A1 (en) | 2014-04-29 | 2014-04-29 | Network service insertion |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106233673A CN106233673A (zh) | 2016-12-14 |
CN106233673B true CN106233673B (zh) | 2019-07-19 |
Family
ID=54358266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480078626.2A Active CN106233673B (zh) | 2014-04-29 | 2014-04-29 | 用于网络服务插入的设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10148459B2 (zh) |
EP (1) | EP3138243B1 (zh) |
CN (1) | CN106233673B (zh) |
WO (1) | WO2015166506A1 (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015116946A1 (en) | 2014-01-31 | 2015-08-06 | Lockheed Martin Corporation | Perforating two-dimensional materials using broad ion field |
WO2016089363A1 (en) * | 2014-12-02 | 2016-06-09 | Hewlett Packard Enterprise Development Lp | Service insertion forwarding |
WO2016195619A1 (en) * | 2015-05-29 | 2016-12-08 | Hewlett Packard Enterprise Development Lp | Application of network flow rule action based on packet counter |
US10225105B2 (en) * | 2015-07-08 | 2019-03-05 | Openvpn Technologies, Inc. | Network address translation |
CN105227466B (zh) * | 2015-08-20 | 2019-01-11 | 北京百度网讯科技有限公司 | 通信处理方法和装置 |
US10728096B2 (en) | 2015-10-02 | 2020-07-28 | Arista Networks, Inc. | Dynamic service device integration |
US10341185B2 (en) * | 2015-10-02 | 2019-07-02 | Arista Networks, Inc. | Dynamic service insertion |
US10171336B2 (en) * | 2015-12-16 | 2019-01-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Openflow configured horizontally split hybrid SDN nodes |
US9819587B1 (en) * | 2015-12-28 | 2017-11-14 | Amazon Technologies, Inc. | Indirect destination determinations to forward tunneled network packets |
CN107317832B (zh) * | 2016-04-27 | 2020-01-03 | 新华三技术有限公司 | 报文转发方法及装置 |
CN106550159B (zh) * | 2017-01-23 | 2019-09-06 | 广州海格通信集团股份有限公司 | VoIP通信系统 |
WO2018162953A1 (en) * | 2017-03-08 | 2018-09-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Optimizing tunnel monitoring in sdn |
CN110945837B (zh) | 2017-06-01 | 2022-11-01 | 瑞典爱立信有限公司 | 优化sdn中的服务节点监视 |
US20190044809A1 (en) * | 2017-08-30 | 2019-02-07 | Intel Corporation | Technologies for managing a flexible host interface of a network interface controller |
US10587507B2 (en) * | 2017-11-09 | 2020-03-10 | International Business Machines Corporation | Routing between software defined networks and physical networks |
WO2019123447A1 (en) * | 2017-12-24 | 2019-06-27 | Arilou Information Security Technologies Ltd. | System and method for tunnel-based malware detection |
US10439933B2 (en) | 2018-01-09 | 2019-10-08 | Entry Point, Llc | Isolating services across a single physical network interface |
CN110351160B (zh) * | 2018-04-08 | 2021-12-14 | 华为技术有限公司 | 监测业务质量的方法和装置 |
JP7104317B2 (ja) * | 2018-08-09 | 2022-07-21 | 富士通株式会社 | ミラーパケット転送プログラム及びミラーパケット転送方法 |
US12238076B2 (en) * | 2018-10-02 | 2025-02-25 | Arista Networks, Inc. | In-line encryption of network data |
US11218506B2 (en) * | 2018-12-17 | 2022-01-04 | Microsoft Technology Licensing, Llc | Session maturity model with trusted sources |
US11627080B2 (en) | 2019-01-18 | 2023-04-11 | Vmware, Inc. | Service insertion in public cloud environments |
US10892989B2 (en) * | 2019-01-18 | 2021-01-12 | Vmware, Inc. | Tunnel-based service insertion in public cloud environments |
CN109714437B (zh) * | 2019-02-03 | 2020-10-16 | 北京邮电大学 | 应急通信网络系统 |
US11606335B2 (en) * | 2019-05-02 | 2023-03-14 | Dell Products L.P. | Systems and methods for hierarchical access control across devices in a network environment |
US11032162B2 (en) * | 2019-07-18 | 2021-06-08 | Vmware, Inc. | Mothod, non-transitory computer-readable storage medium, and computer system for endpoint to perform east-west service insertion in public cloud environments |
US11228539B2 (en) * | 2019-08-14 | 2022-01-18 | Intel Corporation | Technologies for managing disaggregated accelerator networks based on remote direct memory access |
US12068955B2 (en) * | 2020-10-21 | 2024-08-20 | Huawei Technologies Co., Ltd. | Method for controlling traffic forwarding, device, and system |
EP4423984A1 (en) * | 2021-10-26 | 2024-09-04 | Arista Networks, Inc. | Filtering vlan packets having malformed tpids |
US12212544B2 (en) | 2021-11-15 | 2025-01-28 | Cisco Technology, Inc. | Security group resolution at ingress across virtual networks |
US20230164073A1 (en) * | 2021-11-23 | 2023-05-25 | Google Llc | Systems and Methods for Tunneling Network Traffic to Apply Network Functions |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1059978A (zh) * | 1990-08-17 | 1992-04-01 | 国际商业机器公司 | 在计算机系统服务网络中自动插入一个计算机系统 |
CN101299717A (zh) * | 2008-05-21 | 2008-11-05 | 中兴通讯股份有限公司 | 一种移动ip的实现系统和方法 |
CN101310486A (zh) * | 2005-11-14 | 2008-11-19 | 思科技术公司 | 用于在宽带接入网络中插入因特网协议服务的技术 |
CN101399766A (zh) * | 2007-09-28 | 2009-04-01 | 中国移动通信集团公司 | 数据业务的网络系统及访问方法 |
CN101437037A (zh) * | 2008-12-23 | 2009-05-20 | 迈普(四川)通信技术有限公司 | 二层协议报文的隧道透传方法 |
WO2011026402A1 (zh) * | 2009-09-04 | 2011-03-10 | 中兴通讯股份有限公司 | 分组传送网络设备和电路仿真业务设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3857907B2 (ja) | 2001-11-13 | 2006-12-13 | 株式会社エヌ・ティ・ティ・ドコモ | 情報挿入サービス提供システム、情報挿入方法及び通信ネットワーク |
KR100429292B1 (ko) * | 2001-12-12 | 2004-04-29 | 주식회사 케이티프리텔 | 이동 아이피 네트워크에서 명시적 멀티캐스트 터널링서비스 방법 및 장치 |
US7889738B2 (en) * | 2005-12-21 | 2011-02-15 | Solace Systems Inc. | Shared application inter-working with virtual private networks |
CN100542122C (zh) | 2006-09-29 | 2009-09-16 | 华为技术有限公司 | 一种vlan交换隧道的复用方法和vlan交换域 |
WO2008047930A1 (en) * | 2006-10-16 | 2008-04-24 | Panasonic Corporation | Tunneling processing apparatus and tunneling processing method |
US20130121321A1 (en) * | 2009-01-26 | 2013-05-16 | Floyd Backes | Vlan tagging in wlans |
US20120099602A1 (en) * | 2010-10-25 | 2012-04-26 | Brocade Communications Systems, Inc. | End-to-end virtualization |
US10097452B2 (en) | 2012-04-16 | 2018-10-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Chaining of inline services using software defined networking |
US9647938B2 (en) | 2012-06-11 | 2017-05-09 | Radware, Ltd. | Techniques for providing value-added services in SDN-based networks |
US9210079B2 (en) * | 2012-08-14 | 2015-12-08 | Vmware, Inc. | Method and system for virtual and physical network integration |
US8989192B2 (en) * | 2012-08-15 | 2015-03-24 | Futurewei Technologies, Inc. | Method and system for creating software defined ordered service patterns in a communications network |
CN105009544B (zh) * | 2014-01-23 | 2018-04-20 | 华为技术有限公司 | 报文的隧道处理方法、交换设备及控制设备 |
US10177936B2 (en) * | 2014-03-28 | 2019-01-08 | International Business Machines Corporation | Quality of service (QoS) for multi-tenant-aware overlay virtual networks |
-
2014
- 2014-04-29 US US15/117,265 patent/US10148459B2/en active Active
- 2014-04-29 CN CN201480078626.2A patent/CN106233673B/zh active Active
- 2014-04-29 EP EP14890921.1A patent/EP3138243B1/en active Active
- 2014-04-29 WO PCT/IN2014/000287 patent/WO2015166506A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1059978A (zh) * | 1990-08-17 | 1992-04-01 | 国际商业机器公司 | 在计算机系统服务网络中自动插入一个计算机系统 |
CN101310486A (zh) * | 2005-11-14 | 2008-11-19 | 思科技术公司 | 用于在宽带接入网络中插入因特网协议服务的技术 |
CN101399766A (zh) * | 2007-09-28 | 2009-04-01 | 中国移动通信集团公司 | 数据业务的网络系统及访问方法 |
CN101299717A (zh) * | 2008-05-21 | 2008-11-05 | 中兴通讯股份有限公司 | 一种移动ip的实现系统和方法 |
CN101437037A (zh) * | 2008-12-23 | 2009-05-20 | 迈普(四川)通信技术有限公司 | 二层协议报文的隧道透传方法 |
WO2011026402A1 (zh) * | 2009-09-04 | 2011-03-10 | 中兴通讯股份有限公司 | 分组传送网络设备和电路仿真业务设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2015166506A1 (en) | 2015-11-05 |
CN106233673A (zh) | 2016-12-14 |
US10148459B2 (en) | 2018-12-04 |
EP3138243A4 (en) | 2017-12-13 |
EP3138243B1 (en) | 2019-06-19 |
EP3138243A1 (en) | 2017-03-08 |
US20160352538A1 (en) | 2016-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106233673B (zh) | 用于网络服务插入的设备和方法 | |
EP3058687B1 (en) | Configurable service proxy mapping | |
US11444864B2 (en) | Optimized datapath troubleshooting with trace policy engine | |
US20240333632A1 (en) | Flow modification including shared context | |
Del Piccolo et al. | A survey of network isolation solutions for multi-tenant data centers | |
US9736057B2 (en) | Forwarding packet fragments using L4-L7 headers without reassembly in a software-defined networking (SDN) system | |
Lasserre et al. | Framework for data center (DC) network virtualization | |
EP3619895B1 (en) | Efficient troubleshooting in openflow switches | |
US10992590B2 (en) | Path maximum transmission unit (PMTU) discovery in software-defined networking (SDN) environments | |
US7817636B2 (en) | Obtaining information on forwarding decisions for a packet flow | |
US10505847B1 (en) | Destination MAC validation per logical interface of a network device | |
US20150135178A1 (en) | Modifying virtual machine communications | |
BR112016025264B1 (pt) | Dispositivo de plano de controle em um sistema de computação em nuvem para executar uma pluralidade de máquinas virtuais para implantar a virtualização de função de rede | |
EP4005162B1 (en) | Method and network device for overlay tunnel termination and mirroring spanning datacenters | |
AU2017266957A1 (en) | Troubleshooting multi-layered networks using datapath analysis | |
WO2018150223A1 (en) | A method and system for identification of traffic flows causing network congestion in centralized control plane networks | |
US20170244622A1 (en) | In-band, health-based assessments of service function paths | |
US11570077B2 (en) | Traffic flow trace in a network | |
Elmadani et al. | MTU Analyzing for Data Centers Interconnected Using VxLAN | |
Gross et al. | RFC 8926: Geneve: Generic Network Virtualization Encapsulation | |
US11218406B2 (en) | Optimized datapath troubleshooting | |
Bitar et al. | Internet Engineering Task Force (IETF) M. Lasserre Request for Comments: 7365 F. Balus Category: Informational Alcatel-Lucent |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190326 Address after: American Texas Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Applicant before: HP Development Corporation, Limited Liability Partnership |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |