CN112769695A - 边缘网关处的动态数据通路 - Google Patents
边缘网关处的动态数据通路 Download PDFInfo
- Publication number
- CN112769695A CN112769695A CN202110039636.7A CN202110039636A CN112769695A CN 112769695 A CN112769695 A CN 112769695A CN 202110039636 A CN202110039636 A CN 202110039636A CN 112769695 A CN112769695 A CN 112769695A
- Authority
- CN
- China
- Prior art keywords
- logical
- network
- packet
- stage
- stages
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- 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]
- H04L12/4645—Details on frame tagging
- H04L12/465—Details on frame tagging wherein a single frame includes a plurality of VLAN tags
- H04L12/4654—Details on frame tagging wherein a single frame includes a plurality of VLAN tags wherein a VLAN tag represents a customer VLAN, e.g. C-Tag
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- 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/02—Topology update or discovery
-
- 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/02—Topology update or discovery
- H04L45/033—Topology update or discovery by updating distance vector protocols
-
- 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/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- 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/22—Alternate routing
-
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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/42—Centralised routing
-
- 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/44—Distributed routing
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- 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/72—Routing based on the source address
-
- 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
-
- 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/742—Route cache; Operation thereof
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3063—Pipelined operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9068—Intermediate storage in different physical parts of a node or terminal in the network interface card
-
- 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/256—NAT traversal
- H04L61/2585—NAT traversal through application level gateway [ALG]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1038—Load balancing arrangements to avoid a single path through a load balancer
-
- 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/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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/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/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
-
- 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/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
-
- 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/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- 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/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L2012/4629—LAN interconnection over a backbone network, e.g. Internet, Frame Relay using multilayer switching, e.g. layer 3 switching
-
- 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/663—Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5077—Network service management, e.g. ensuring proper service fulfilment according to agreements wherein the managed service relates to simple transport services, i.e. providing only network infrastructure
-
- 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/38—Flow based routing
-
- 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/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及边缘网关处的动态数据通路。提供了一种通过使用数据通路管道处理进出网络的流量的网关的新颖设计。数据通路管道包括用于在网络边缘处执行各种数据平面分组处理操作的多个阶段。处理阶段包括集中式路由阶段和分布式路由阶段。处理阶段可以包括服务提供阶段,诸如NAT和防火墙。网关高速缓存先前分组操作的结果,并将结果重新应用于满足某些标准的后续分组。对于不具有来自先前分组处理操作的适用或有效结果的分组,网关数据通路守护程序执行管道化分组处理阶段并记录来自管道的每个阶段的一组数据,并将这些数据合成到用于后续分组的高速缓存条目中。
Description
本申请是申请日为2016年10月29日、申请号为201680069286.6、发明名称为“边缘网关处的动态数据通路”的发明专利申请的分案申请。
技术领域
本发明公开通常涉及边缘网关处的动态数据通路。
背景技术
网关是充当到另一个网络的入口的网络点。在由数据中心提供的网络中,分配为网关节点的计算资源促进并调节数据中心网络与外部物理网络之间的流量。网关通常与知道向哪里引导到达网关的数据的给定分组的路由器以及为给定分组供给进出网关的实际路径的交换机相关联。
网关也是提供诸如防火墙、网络地址转换(NAT)、安全协议(诸如基于SSL的HTTP)等各种网络流量服务的计算节点。随着数据中心变得更大并且提供更多的计算和联网资源,网关也必须处理更多的流量。换句话说,网关及其相关联的路由器和交换机必须以更快的速度执行更多的交换、路由和服务任务。
发明内容
一些实施例提供了通过使用数据通路管道来处理进出网络的流量的网关。数据通路管道包括用于在网络边缘处执行各种数据平面分组处理操作的多个阶段。在一些实施例中,处理阶段包括集中式路由阶段和分布式路由阶段。在一些实施例中,处理阶段包括服务提供阶段,诸如NAT和防火墙。
在一些实施例中,根据接收到的分组的内容来动态确定要作为数据通路管道的一部分执行的阶段序列。在一些实施例中,数据通路管道的每个阶段与逻辑网络中的分组处理逻辑实体(诸如逻辑路由器或逻辑交换机)对应,并且由该阶段处的分组处理识别出的下一阶段与分组在逻辑网络中的下一跳对应,下一跳是另一个逻辑实体。
在一些实施例中,每个逻辑实体的分组处理操作基于存储在该逻辑实体的数据通路配置数据库中的配置数据。这种配置数据还定义了用于识别分组的下一跳的标准或规则。在一些实施例中,这样的下一跳识别规则被存储在DP配置数据库中作为与该阶段相关联的路由表或转发表。在一些实施例中,这样的下一跳识别规则允许数据通路守护程序(daemon)通过检查分组的内容和/或通过记录分组通过其进入逻辑实体的逻辑端口来确定下一跳的标识(identity)。
在一些实施例中,每个分组处理阶段被实现为对数据通路守护程序线程的函数调用。在一些实施例中,被调用以实现数据通路的各个阶段的函数是在核心处操作的数据通路守护程序的编程的一部分,但是被调用的函数基于用于不同网络标识的不同配置数据执行不同的操作。换句话说,核心的编程提供了可以由数据通路守护程序调用以执行各种逻辑路由器、逻辑交换机和服务提供实体的功能的函数。函数调用使用分组的内容作为输入实参(argument)。在一些实施例中,函数调用还使用分组通过其进入对应逻辑实体的逻辑端口的标识作为输入实参。在一些实施例中,函数调用还识别出口端口,该出口端口用于识别用于下一个管道阶段的下一个函数调用的入口端口。在一些实施例中,每个逻辑实体的每个逻辑端口与通用唯一标识符(UUID)相关联,使得逻辑端口可以由网关唯一地识别。逻辑端口的UUID还允许数据通路守护程序识别逻辑端口所属的逻辑实体,这又允许数据通路守护程序识别识别出的逻辑实体的配置数据并执行对应的管道阶段。
在一些实施例中,逻辑网络的一些逻辑实体/构造/元件分布在数据中心中的多个物理机器当中,并且一些逻辑实体/实体不是分布式的,而是集中式的或集中在一个物理机器上。在一些实施例中,这种集中式路由器充当用于在逻辑网络和外部路由器之间路由分组的集中式点(centralized point)。在一些实施例中,当处理传入分组时,数据通路守护程序将执行分布式逻辑实体和集中式逻辑实体两者作为其管道阶段。在一些实施例中,服务路由器是集中式逻辑路由器。每个服务路由器在一个网关机器上只有一个实例运行。因此,在网关机器上运行的数据通路守护程序将调用集中式的或集中在网关机器上的服务路由器作为其数据通路管道阶段之一。
在一些实施例中,数据中心支持用于多个不同租户的多个逻辑网络。不同的租户逻辑网络共享同一组网关机器,并且每个网关机器为所有连接的租户逻辑网络提供分组交换、转发和路由操作。在一些实施例中,数据通路守护程序能够为去往和来自属于不同租户的不同逻辑网络的分组执行分组处理阶段。在这些实施例中的一些实施例中,DP配置数据库提供在网关处启用特定于租户的分组转发操作的配置数据(即,路由表、转发表等)和服务规范。
在一些实施例中,除了执行L3路由和L2路由管道阶段之外,网关数据通路守护程序还执行用于L4到L7处理的服务提供阶段。这些服务支持源应用和目的地应用之间的端对端通信,并在每当消息从用户传递或被传递给用户时使用。数据通路守护程序将这些服务应用于边缘网关的有利位置处的分组,而无需改变在分组的源或目的地处运行的应用。在一些实施例中,数据通路可以包括用于流量过滤服务(诸如防火墙)、地址映射服务(诸如NAT)、加密和安全服务(诸如IPSec和HTTPS)的服务阶段。
在一些实施例中,当数据通路守护程序正在执行服务路由器管道阶段时,执行这些服务提供阶段中的一些或全部。此外,在一些实施例中,数据通路守护程序可以针对不同的分组执行不同的服务提供管道阶段。在一些实施例中,数据通路守护程序基于分组所属的L4流以及流的状态来执行不同的服务提供阶段。在一些实施例中,数据通路守护程序基于分组所属的租户执行不同的服务提供阶段。
在一些实施例中,网关不是对所有分组执行管道化阶段,而是高速缓存先前分组操作的结果并将结果重新应用于符合某些标准(即,高速缓存命中)的后续分组。对于不具有来自先前分组处理操作的适用或有效结果的分组,即,高速缓存未命中,网关数据通路守护程序执行管道化分组处理阶段。在一些实施例中,当数据通路守护程序执行管道化阶段来处理分组时,它记录来自管道的每个阶段的一组数据并将这些数据合成到用于后续分组的高速缓存条目中。当数据通路管道正在被执行时,执行阶段中的一些或全部发出将由合成器用来合成高速缓存条目的数据或指令。在一些实施例中,由管道阶段发出的高速缓存条目合成指令或数据包括高速缓存启用字段、位掩码字段和动作字段。
合成器收集来自所有管道阶段的所有高速缓存条目合成指令,并且从所有接收到的指令合成流高速缓存中的条目,除非一个或多个管道阶段指定不应该生成高速缓存条目。合成的高速缓存条目指定满足某些标准(即,属于某些L4流)的分组的最终动作。当生成高速缓存条目时,在一些实施例中合成器还包括指定高速缓存条目被创建的时间的时间戳。这个时间戳将用于确定高速缓存条目对后续分组是否有效。
一些实施例即使在数据通路守护程序正在主动访问DP配置数据库时,也动态地更新DP配置数据库。为了确保数据通路守护程序在DP配置数据库被更新时没有为其管道阶段使用不完整的(并且因此损坏的)的配置数据,一些实施例维护DP配置数据库的两个副本。数据库的一个副本用作来自网络控制器/管理器的新更新的暂存区(staging area),使得数据通路守护程序可以安全地使用数据库的其它副本。一旦更新完成,两个数据库副本的角色将以原子方式反转。在一些实施例中,网络控制器在切换之前等待数据通路守护程序完成其当前的运行至完成(run-to-completion)分组处理管道阶段。
前面的发明内容旨在用作针对本发明的一些实施例的简要介绍。它并不意味着是本文档中所公开的所有发明性主题的介绍或概述。以下的具体实施方式和参考具体实施方式的附图说明将进一步描述在发明内容以及其它实施例中所描述的实施例。因此,为了理解本文档所描述的所有实施例,需要对发明内容、具体实施方式和附图说明进行全面地审阅。此外,所要求保护的主题不受在发明内容、具体实施方式和附图说明中的说明性细节的限制,而是要由所附权利要求来定义,这是因为所要求保护的主题可以在不脱离本主题的精神的情况下以其它特定形式来体现。
附图说明
本发明的新颖特征在所附权利要求中阐述。但是,为了解释的目的,本发明的几种实施例在以下图中阐述。
图1概念性地图示了其去往和来自外部网络的流量经过网关的数据中心。
图2更详细地图示了实现数据通路管道的网关机器。
图3图示了数据通路守护程序对处理阶段的动态识别。
图4概念性地图示了作为函数调用执行数据通路管道的每个阶段的数据通路守护程序。
图5图示了提供用于每个数据通路管道阶段的配置数据的示例DP配置数据库。
图6概念性地图示了当使用DP配置数据库执行数据通路管道时由处理核心执行的过程。
图7图示了具有分布式和集中式逻辑实体的逻辑网络。
图8图示了对于从外部网络到数据中心的逻辑网络的传入分组执行管道阶段的网关数据通路守护程序。
图9图示了对于从数据中心的逻辑网络到外部网络的传出分组执行管道阶段的网关数据通路守护程序。
图10图示了数据中心的整个网络的逻辑视图。
图11图示了在网关机器处对不同租户执行网关分组处理的数据通路守护程序。
图12示出了通过调用与各种逻辑实体对应的管道阶段来处理分组的数据通路守护程序。
图13图示了执行用于不同租户的服务提供管道阶段的网关数据通路守护程序。
图14概念性地图示了用于在逻辑路由器内提供服务的过程。
图15a-b图示了维持高速缓存以加速分组处理的数据通路守护程序。
图16图示了用于数据通路高速缓存的高速缓存条目的合成。
图17图示了聚合高速缓存条目和精确匹配高速缓存条目的示例合成。
图18图示了指定覆盖所有其它动作的动作的数据通路阶段的示例。
图19图示了检查数据通路高速缓存的条目以确定是否存在高速缓存未命中或高速缓存命中。
图20概念性地图示了用于操作数据通路高速缓存的过程。
图21图示了具有支持以原子方式进行的更新的DP配置数据库的网关。
图22a-b图示了数据通路配置数据库2110的原子更新。
图23概念性地图示了控制DP配置数据库的读指针和写指针的过程。
图24图示了根据本发明的一些实施例的网关机器的体系架构。
图25a概念性地图示了使用IPC与服务进程通信以便提供服务的RTC线程。
图25b概念性地图示了使用Linux内核与服务进程通信以便提供服务的RTC线程。
图26图示了用作运行本发明的一些实施例的虚拟化软件的主机机器的计算设备。
图27概念性地图示了实现本发明的一些实施例的电子系统。
具体实施方式
在以下描述中,为于解释的目的阐述了许多细节。但是,本领域普通技术人员将认识到,本发明可以在不使用这些具体细节的情况下进行实践。在其它情况下,众所周知的结构和设备以框图的形式示出,以便防止用不必要的细节模糊本发明的描述。
一些实施例提供了通过使用数据通路管道来处理进出网络的流量的网关。数据通路管道包括用于在网络边缘处执行各种数据平面分组处理操作的多个阶段。在一些实施例中,处理阶段包括集中式路由阶段和分布式路由阶段。在一些实施例中,处理阶段包括服务提供阶段,诸如NAT和防火墙。
图1概念性地图示了其去往和来自外部网络190的流量经过网关111-112的数据中心100。每个网关操作用于处理经过网关的分组的数据通路管道(分别为141和142)。
数据中心包括通过提供商网络互连的各种其它计算和联网资源121-129。这些资源通过提供商网络彼此通信和通过经物理通信介质(其可以包括诸如以太网的有线通信或诸如WiFi的无线通信)的网络流量与外部网络190通信。来自计算和联网资源121-129的分组可以通过网关111-112之一到达外部网络190,并且来自外部网络190的分组可以通过网关111-112之一到达计算和网络资源121-129。因此,网络的网关被认为处于网络的边缘处,并且因此也被称为边缘设备。
在一些实施例中,这些资源中的一些资源由用作主机机器121-129的计算设备提供。这些主机机器中的一些操作虚拟化软件,其允许这些主机机器托管各种虚拟机(VM)。运行虚拟化软件的主机机器将在下面通过参考图26更详细地描述。在一些实施例中,网关本身是主机机器,并且网关的数据通路管道(141或142)由在其虚拟化软件上运行的VM之一提供。这些资源中的一些资源作为“裸金属(bare metal)”运行,即,没有虚拟化软件。在一些实施例中,网关是裸金属计算设备,其在没有虚拟化软件的情况下直接在其自己的操作系统上操作其数据通路管道。
在一些实施例中,通过使用诸如虚拟可扩展LAN(VXLAN)、通用网络虚拟化封装(GENEVE)和使用通用路由封装的网络虚拟化(NVGRE)之类的覆盖逻辑网络来引领数据中心内的分组流量。VXLAN。在这些实施例中的一些实施例中,主机机器和网关机器中的每一个是使用覆盖封装来传送包的VXLAN端点(被称为VTEP)。在一些实施例中,外部物理网络通过VLAN引领,并且网关通过将VXLAN分组转换成VLAN分组来中继数据中心和外部网络之间的流量,反之亦然。
在一些实施例中,数据中心的计算和联网资源实现一个或多个逻辑网络,每个逻辑网络都可以访问网关111-112以获取去往和来自外部网络190的流量。在一些实施例中,每个逻辑网络具有其自己的一组逻辑交换机和用于引领逻辑网络的网络流量的逻辑交换机。这些逻辑路由器和交换机中的一些或全部由在主机机器中操作的软件(或者作为虚拟化软件或者作为在裸金属主机机器上执行的程序)提供。在一些实施例中,逻辑路由器和交换机中的一些在网关111-112中作为它们各自的数据通路管道141-142中的阶段进行操作。在一些实施例中,数据中心包括用于供应/创建数据中心100中的逻辑网络的网络管理器180和用于控制各种逻辑网络的各种逻辑路由器和交换机(包括在网关111-112中操作的那些逻辑路由器和交换机)的网络控制器170(或控制器集群)。逻辑路由器和交换机在于2015年6月30日提交的标题为“Logical Router with Multiple Routing Components”的美国专利申请14/814,473中描述,该申请通过引用被结合于此。
一些实施例的控制平面为主机系统(例如,数据中心)的一个或多个租户配置和管理一个或多个逻辑网络。在一些实施例中,主机系统的逻辑网络使用一组逻辑转发元件(例如,逻辑L2和L3交换机)将一组终端机(例如,虚拟机、物理服务器、容器等)逻辑地连接到一组物理机器。在一些实施例中,终端机的不同子集驻留在执行受管理转发元件(MFE)的不同主机机器上。MFE实现本地终端机逻辑地连接到的逻辑网络的逻辑转发元件。在各种不同的实施例中,这些MFE可以是基于流的转发元件(例如,Open vSwitch)或基于代码的转发元件(例如,ESX),或者这两者的组合。这些不同类型的转发元件不同地实现各种逻辑转发元件,但是在每种情况下,它们为可能需要处理分组的每个逻辑转发元件执行管道。
图2更详细地图示了实现数据通路管道的网关机器。如图所示,网关111包括处理核心211-214和网络接口控制器(NIC)220。NIC220从连接网关111的网络通信介质接收数据分组,并将接收到的分组提供给核心211-214用于处理。
每个处理核心正在操作一个或多个处理线程。具体而言,核心211正在操作数据通路管道141作为处理线程,该处理线程被称为数据通路守护程序241。如图所示,数据通路守护程序241接收分组270并且通过一系列阶段221-229处理分组270以产生经处理的分组275。在一些实施例中,每个核心一次只执行一个线程,并且每个线程一次处理一个分组。换句话说,每个分组处理线程是运行至完成(RTC)线程,该线程直到它已经完成通过其所有阶段221-229处理当前分组(即,270)之后才开始处理另一个分组。
数据通路守护程序241的操作由数据通路配置数据库存储(DP配置数据库)230来定义或指定。存储在DP配置数据库230中的配置数据指定管道的每个阶段应当针对每个传入分组执行哪些功能或操作。对于与逻辑路由器或交换机对应的一些阶段,DP配置数据库在一些实施例中为路由表或转发表提供指定下一跳的内容。对于与诸如防火墙的网络服务对应的一些阶段,DP配置数据库230提供服务规则。在一些实施例中,网络控制器170(或网络管理器180)加载并更新DP配置数据库230的内容。
下面描述本发明的若干更详细的实施例。第I部分讨论了用于网关处分组处理的动态管道阶段。第II部分描述了用于网关数据通路管道的高速缓存。第III部分描述了用于网关数据通路管道的配置数据库的更新。第IV部分描述了实现数据通路管道的网关的软件体系架构。第V部分描述了操作虚拟化软件的计算设备。最后,第VI部分描述了实现本发明的一些实施例的电子系统。
I.动态管道阶段
在一些实施例中,根据接收到的分组的内容来动态确定要作为数据通路管道的一部分执行的阶段序列。在图2的上下文中,这意味着分组270的内容动态地确定要执行哪些处理阶段作为数据通路管道141的一部分。在一些实施例中,当在特定阶段处理分组时,核心211确定或识别要用于处理分组的下一个阶段。在一些实施例中,数据通路管道的每个阶段与诸如逻辑路由器或逻辑交换机的分组处理逻辑实体对应,并且由该阶段的分组处理识别出的下一个阶段与逻辑网络中分组的下一跳对应,下一跳是另一个分组处理逻辑实体。(为了简单起见,在整个本文档中将把分组转发逻辑实体称为逻辑实体)。
在一些实施例中,与逻辑路由器或逻辑交换机对应的管道阶段是逻辑路由器或交换机的完整功能模型,即,它指定所有的其逻辑端口、其路由/转发表、其提供的服务、其安全策略、其封装协议等。在一些实施例中,逻辑路由器的所有这些特征由计算机可执行代码包指定,并且可以通过函数调用作为管道阶段执行。它或者通过目的地MAC(L2交换)或者通过目的地IP(L3路由)执行转发。这样的管道阶段因此可与OpenFlow或Open vSwitch下的流表区分开来,其中OpenFlow或Open vSwitch下的流表根据一组流条目执行流转发,每个条目描述匹配条件和对应动作。
在一些实施例中,每个逻辑实体的分组处理操作(即,管道阶段)基于存储在用于该逻辑实体的DP配置数据库中的配置数据。这种配置数据还定义了用于识别分组的下一跳的标准或规则。在一些实施例中,这样的下一跳识别规则被存储在DP配置数据库中作为与该阶段相关联的路由表或转发表。在一些实施例中,这种下一跳识别规则允许数据通路守护程序通过检查分组的内容(例如,其源地址和目的地地址)和/或通过记录分组通过其进入逻辑实体的逻辑端口来确定下一跳的标识。换句话说,DP配置数据库可以被认为是存储逻辑网络的各个跳之间的逻辑关系,并且数据通路守护程序通过根据这些逻辑关系和分组的内容遍历逻辑网络来处理每个分组。
图3图示了数据通路守护程序动态识别处理阶段。如图所示,核心211正在将数据通路守护程序241作为处理线程操作。数据通路守护程序241正在根据逻辑网络300处理分组371,逻辑网络300的配置数据存储在DP配置数据库230中。
如图所示,逻辑网络300包括服务路由器311和312(SR1和SR2)、逻辑交换机321、322和323(LS1、LS2和TLS)以及分布式路由器313(DR)。服务路由器SR1和SR2中的每一个具有用于连接到外部网络190的上行链路(U1和U2)。逻辑交换机TLS是为来自路由器SR1、SR2和DR1的分组提供L2交换的转接逻辑交换机,路由器SR1、SR2和DR1被分配分别具有MAC地址“MAC1”、“MAC2”和“MAC3”的逻辑端口。另一方面,分布式路由器DR1提供由逻辑交换机LS1、LS2和TLS定义的L2网络段之间的L3路由。
该图图示了数据通路守护程序241如何根据存储在DP配置数据库230中的配置数据来处理两个不同的分组371和372。这两个不同的分组使得数据通路守护程序241不同地遍历逻辑网络300并执行不同的对应管道阶段。
分组371是来自外部网络190去往逻辑交换机LS1的L2段后面的VM 381(VM1)的分组。处理核心211在接收到分组371时执行与服务路由器SR1对应的分组处理阶段351。阶段351的操作由DP配置数据库中的配置来定义。服务路由器SR1在逻辑上将分组转发到逻辑交换机TLS,这使得数据通路守护程序241识别与逻辑交换机TLS对应的下一个分组处理阶段352。
处理阶段352由DP配置数据库230配置为作为逻辑交换机TLS执行L2交换操作,逻辑交换机TLS将分组371从其“MAC1”端口转发到其“MAC3”端口。MAC3端口与分布式路由器DR1对应,并且数据通路守护程序241对应地识别与DR1对应的下一个分组处理阶段353。
处理阶段353由DP配置数据库230配置为作为分布式逻辑路由器DR1执行L3路由操作,其根据由DP配置数据库230提供的路由表进行操作。根据路由表和分组371的目的地IP地址,逻辑路由器DR1将分组371从由逻辑交换机TLS定义的L2端路由到由逻辑交换机LS1定义的L2段。对应地,数据通路守护程序241识别与LS1对应的下一个分组处理阶段354。
处理阶段352由DP配置数据库230配置为作为逻辑交换机LS1执行L2交换操作,逻辑交换机LS1根据分组的目的地MAC地址将分组371转发到虚拟机VM1(381)。
分组372去往附接到由逻辑交换机LS2定义的L2段的VM 382。分组372使得数据通路守护程序241识别分组处理阶段361以执行服务路由器SR1,然后识别分组处理阶段362以执行逻辑交换TLS,然后识别分组处理阶段363以执行分布式路由器DR。当处理分组372时,分组处理阶段363将来自由逻辑交换机TLS定义的L2端的分组路由到由逻辑交换机LS2定义的L2段。对应地,数据通路守护程序241识别与逻辑交换机LS2对应的下一个分组处理阶段364,逻辑交换机LS2根据分组的目的地MAC地址将分组372转发到虚拟机VM2(382)。
在图3的示例中,虽然数据通路守护程序241根据相同的DP配置数据库230进行操作,但是两个不同的分组371和372使得数据通路守护程序不同地遍历逻辑网络300并且执行不同的分组处理阶段(对于分组371,SR1-TLS-DR1-LS1,对于分组372,SR1-TLS-DR1-LS2)。
在一些实施例中,每个分组处理阶段被实现为对数据通路守护程序线程的函数调用。在一些实施例中,函数(也被称为子例程或过程)是被封装为元件以执行特定任务的程序指令序列。在一些实施例中,被调用以实现数据通路的各个阶段的函数是在核心处操作的数据通路守护程序的编程的一部分,但被调用的函数基于用于不同网络标识的不同配置数据执行不同的操作。换句话说,核心的编程提供了可以由数据通路守护程序调用以执行各种逻辑路由器、逻辑交换机和服务提供实体的功能的函数。
函数调用使用分组的内容作为输入实参。在一些实施例中,函数调用还使用分组通过其进入对应逻辑实体的逻辑端口的标识作为输入实参。在一些实施例中,函数调用还识别出口端口,出口端口用于识别用于下一个管道阶段的下一个函数调用的入口端口。
图4概念性地图示了作为函数调用执行数据通路管道的每个阶段的数据通路守护程序400。如图所示,数据通路守护程序正在根据逻辑网络处理分组470。对于每个阶段,数据通路守护程序执行函数调用,该函数调用执行与分组处理阶段(例如,逻辑路由器、逻辑交换机、服务路由器等)的操作对应的一组指令。该函数调用基于用于该功能/阶段的一组配置数据(即,规则表、路由表、转发表等)对分组470进行操作。函数调用的结果由数据通路守护程序400用来识别下一跳并执行下一个函数调用作为下一个阶段。每个函数调用都使用作为输入实参的分组、以及其它信息,诸如逻辑实体的标识或分组转发到的逻辑端口。
对于一些实施例,图5图示了提供用于每个数据通路管道阶段的配置数据的示例DP配置数据库500,以及不同逻辑实体之间允许数据通路守护程序识别下一个管道阶段的连接映射。在一些实施例中,这样的连接映射指定每个逻辑实体的每个出口端口的连接目的地,不管它是另一个逻辑实体的入口端口,还是离开网关的连接(诸如到外部网络的上行链路)。因此,这样的连接映射有效地为一些实施例提供了网络的逻辑拓扑。
在一些实施例中,每个逻辑实体的每个逻辑端口与通用唯一标识符(UUID)相关联,使得逻辑端口可以由网关唯一地识别。逻辑端口的UUID也允许数据通路守护程序识别逻辑端口所属的逻辑实体,这又允许数据通路守护程序识别识别出的逻辑实体的配置数据并执行对应的管道阶段。
如图所示,DP配置数据库500指定若干逻辑实体501-503(逻辑实体A、B、C)及其对应的逻辑端口。每个逻辑端口与UUID相关联。例如,逻辑实体501带有具有UUID:UUID1、UUID2、UUID3和UUID4的逻辑端口,而逻辑实体502带有具有UUID:UUID5、UUID6和UUID7的逻辑端口。DP配置数据库还指定每个逻辑端口的连接。例如,逻辑端口UUID4连接到逻辑端口UUID5,逻辑端口UUID6连接到逻辑端口UUID8,逻辑端口UUID7连接到逻辑端口UUID9等。
DP配置数据库500还包括用于每个逻辑实体的配置数据,其包括逻辑实体的入口端口和出口端口以及其路由表或转发表、在该逻辑实体上提供或启用的服务等。在一些实施例中,这样的配置数据包括将在分组处理期间由数据通路消费的其它数据,诸如MAC到VTEP映射表。
图6概念性地图示了当使用DP配置数据库执行数据通路管道时由处理核心执行的过程600。该过程在它接收(在610处)传入分组时开始。该过程然后识别(620)用于接收到的分组的初始连接。在一些实施例中,这种识别基于分组的内容,诸如分组的报头字段。在一些实施例中,这种连接与UUID相关联,因此它将具有根据DP配置数据库的连接映射。
该过程然后确定(在630处)识别出的连接是逻辑实体的入口端口还是网关的离开端口。在一些实施例中,该过程检查由DP配置数据库提供的连接映射以识别连接的目的地。如果连接是到网关内的另一个逻辑实体的入口端口,则该过程进行到640。如果连接是网关的离开端口,则该过程进行到690。
在640处,该过程基于连接识别逻辑实体。在这个阶段,该过程已确定该连接连接到逻辑实体的入口端口。通过使用DP配置数据库,该过程能够识别连接是入口端口的逻辑实体。例如,在图5中,根据DP配置数据库500,逻辑端口UUID5是逻辑实体B(501)的入口端口。
该过程然后执行(在650处)逻辑实体的操作。这些操作由与识别出的逻辑实体相关联的配置数据(例如,路由表、转发表、服务规则等)来指定。这些操作的结果还基于分组的内容,诸如分组的源和目的地地址。该操作在一些实施例中与函数调用对应,该函数调用通过参考DP配置数据库中的配置数据来执行一系列指令。
该过程然后识别(在660处)逻辑实体的出口端口。对于作为逻辑交换机或逻辑路由器的逻辑实体,在一些实施例中,这种出口端口识别对应于查找转发表或路由表以基于入口端口的标识或分组的内容来执行路由。在一些实施例中,出口端口(以及因此下一个处理阶段或下一跳)的识别是基于分组中以下参数中的一些:(1)用于L2交换/转发的分组的源和目的地MAC地址;(2)用于L3路由的分组的源和目的地IP地址;(3)用于L4传输/连接/流处理的分组的源和目的端口;(4)分组所属的逻辑网络或租户的标识。来自DP配置数据库的配置数据提供规则,这些规则指定基于这些分组参数要在每个阶段采取的动作。
接下来,该过程基于由DP配置数据库提供的连接映射来识别(在670处)出口端口的连接。例如,在图5中,根据DP配置数据库500,逻辑端口UUID4连接到逻辑端口UUID5。然后该过程返回到630以确定出口端口是连接到网关的离开端口还是连接到另一个逻辑实体。
在690处,该过程结束数据通路管道并将分组发送到其目的地物理路由器或主机机器。该过程然后结束。在一些实施例中,网关与数据中心中作为覆盖网络(例如,VXLAN)的VTEP的其它主机机器进行通信,并且下一跳位于数据中心中的另一个VTEP的后面。在这种情况下,该过程根据覆盖网络封装分组,并将封装后的分组发送到目的地VTEP。如果下一跳是外部网络(其通常是VLAN)中的物理路由器,则网关将删除覆盖封装并将分组桥接到物理路由器。在一些实施例中,DP配置提供将分组的目的地MAC地址映射到对应的VTEP地址的映射。
a.集中式和分布式管道阶段
在一些实施例中,分布在数据中心中的多个物理机器之间的逻辑网络的一些逻辑实体/实体/元件,即,这些主机机器中的每一个都具有分布式逻辑实体的副本或实例。需要由分布式逻辑实体处理的分组可以由正在运行分布式逻辑实体的实例的任何机器处理。另一方面,逻辑实体/实体中的一些不是分布式的,而是集中式的或集中在一个物理机器上,即,逻辑实体仅具有一个物理实例。在一些实施例中,这种集中式路由器充当用于在逻辑网络和外部路由器之间路由分组的集中式点。需要由集中式逻辑实体处理的分组必须被转发到正在操作集中式逻辑实体的机器。分布式逻辑路由器和集中式逻辑路由器在于2015年6月30日提交的标题为“Logical Router with Multiple Routing Components”的美国专利申请No.14/814,473中描述。
在一些实施例中,当处理传入分组时,数据通路守护程序将执行分布式逻辑实体和集中式逻辑实体两者作为其管道阶段。在一些实施例中,服务路由器是集中式逻辑路由器。每个服务路由器在一个网关机器上只有一个实例运行。因此,在网关机器上运行的数据通路守护程序将调用集中式的或集中在网关机器上的服务路由器作为其数据通路管道阶段之一。
在一些实施例中,控制服务路由器阶段的操作的配置数据(DP配置数据库)包括逻辑路由器应该提供的任何服务的定义、逻辑路由器将被配置为活动-活动模式还是活动-备用模式、为逻辑路由器配置了多少上行链路、上行链路的IP和MAC地址、上行链路的L2和L3连接、逻辑路由器的任何南向接口的子网、以及用于逻辑路由器的路由信息库(RIB)的任何静态路由以及其它数据。
图7图示了具有分布式和集中式逻辑实体两者的逻辑网络。具体而言,该图图示了逻辑网络300的逻辑视图和物理视图。逻辑网络300的逻辑视图示出了网络的各种逻辑实体之间的逻辑关系和连接。逻辑网络300的物理视图示出了物理主机机器中的各种逻辑实体以及数据中心的物理网关的物理实例化(instantiation)。
根据逻辑视图,逻辑网络300包括服务路由器311和312(SR1和SR2)、逻辑交换机321、322和323(LS1、LS2和TLS)以及分布式路由器313(DR)。在这些逻辑实体中,服务路由器SR1和SR2是集中式逻辑实体,而LS1、LS2、TLS和DR是分布式逻辑实体。
一些实施例提供以分布式方式启用第一跳路由的分布式逻辑路由器实现(而不是将所有路由功能集中在网关处)。在物理实现中,一些实施例的逻辑路由器包括单个分布式路由组件(也被称为分布式路由器或DR)以及一个或多个服务路由组件(也被称为服务路由器或SR)。在一些实施例中,DR跨越与直接或间接逻辑地连接到逻辑路由器的虚拟机(VM)或其它数据计算节点直接耦合的受管理转发元件(MFE)。一些实施例的DR还跨越逻辑路由器绑定到的网关以及能够执行路由操作的一个或多个物理路由器。一些实施例的DR负责逻辑交换机和/或逻辑地连接到逻辑路由器的其它逻辑路由器之间的第一跳分布式路由。服务路由器(SR)仅跨越逻辑网络的边缘节点并且负责交付未以分布式方式实现的服务(例如,一些有状态的服务)。
网络的物理视图示出了数据中心100的实际物理机器中这些集中式和分布式逻辑实体的物理实例化。如图所示,数据中心100包括通过物理连接互连的网关111-112和主机机器121-123。分布元件TLS、LS1、LS2和DR的实例跨网关111-112和主机机器121-123分布。在一些实施例中,分布式元件的不同物理实例根据同一组转发表进行操作。但是,集中式元件SR1仅在网关111中是活动的,而集中式元件SR2仅在网关112中是活动的。换句话说,只有网关111的数据通路守护程序执行SR1作为管道阶段并且只有网关112的数据通路守护程序执行SR2作为管道阶段。
图8图示了对于从外部网络到数据中心的逻辑网络的传入分组(也称为南行流量)执行管道阶段的网关数据通路守护程序。如图所示,通过上行链路U1从外部网络接收到的分组由网关111处理,网关111的数据通路守护程序141执行与SR1、TLS、DR和LS-A(或LS-B,这取决于分组的目的地L2段)对应的管道阶段。处理后的分组然后被发送到其中一个主机机器以转发到目的地VM。另一方面,通过上行链路U2从外部网络接收到的分组由网关112处理,网关112的数据通路守护程序142执行与SR2、TLS、DR和LS-A(或LS-B,这取决于分组的目的地地址)对应的管道阶段。处理后的分组然后被发送到其中一个主机机器以转发到目的地VM。在一些实施例中,数据通路守护程序的逻辑交换阶段(LS-A或LS-B)识别目的地VM的主机机器。
网关111和112都执行与分布的转接逻辑交换机TLS、分布式路由器DR以及逻辑交换机LS-A和LS-B对应的管道阶段,因为这些是分布式逻辑网络构造。但是,只有网关111的数据通路守护程序为服务路由器SR1执行管道阶段,因为SR1是位于网关111处的集中式路由器,并且只有网关112的数据通路守护程序为服务路由器SR2执行管道阶段,因为SR2是位于网关112处的集中式路由器。
图9图示了对于从数据中心的逻辑网络到外部网络的传出分组(也称为北向流量)执行管道阶段的网关数据通路守护程序。如图所示,源自在主机机器中操作的VM的分组经历与LS-A(或LS-B,这取决于源VM的L2段)、DR和TLS对应的管道阶段。主机机器的TLS阶段识别下一跳路由器,其或者是网关111中的SR1或者是网关112中的SR2。在一些实施例中,服务路由器的选择是基于分组的目的地地址以及之前在管道中做出的路由决定。
对于发送到网关111的分组,网关111的数据通路守护程序141在通过上行链路U1将分组中继到外部网络之前执行与TLS和SR1对应的管道阶段。对于发送到网关112的分组,网关112的数据通路守护程序142在通过上行链路U2将分组中继到外部网络之前执行与TLS和SR2对应的管道阶段。
b.用于不同租户的数据通路管道
在一些实施例中,数据中心支持用于多个不同租户的多个逻辑网络。不同的租户逻辑网络共享同一组网关机器,并且这些网关机器中的每一个为所有连接的租户逻辑网络提供分组交换、转发和路由操作。在一些实施例中,数据通路守护程序能够对去往和来自属于不同租户的不同逻辑网络的分组执行分组处理阶段。在这些实施例中的一些实施例中,DP配置数据库提供在网关处启用特定于租户的分组转发操作的配置数据(即,路由表、转发表等)和服务规范。
不同的租户逻辑网络具有不同的分组处理逻辑实体,例如,不同的逻辑路由器和逻辑交换机。图10图示了数据中心的整个网络的逻辑视图的图1000。整个网络包括属于不同租户逻辑网络的各种逻辑实体以及由数据中心提供的一组逻辑实体。这些数据中心提供的逻辑实体为所有租户共享,以便通过网关访问外部网络并使用网关提供的服务。
根据图1000,数据中心的整个网络包括提供商逻辑路由器(PLR)1090和租户逻辑路由器(TLR)1010、1020和1030(TLR1、TLR2和TLR3)。PLR 1090通过转接逻辑路由器1019(TLS1)与TLR1 1010连接、通过转接逻辑路由器1029(TLS2)与TLR2 1020连接、以及通过转接逻辑路由器1039(TLS3)与TLR3 1030连接。TLR1用于执行租户1的L3流量、TLR2用于执行租户2的L3流量、TLR3用于执行租户3的L3流量。不同租户的逻辑网络由PLR 1090连接在一起。PLR 1090用作各租户逻辑网络与外部物理网络之间的中间逻辑路由器。
在一些实施例中,逻辑路由器是双层逻辑网络结构的一部分。一些实施例的双层结构包括(1)用于将逻辑网络连接到数据中心外部的网络的单个逻辑路由器(被称为提供商逻辑路由器(PLR)并且由例如数据中心的拥有者管理);以及(2)连接到PLR并且不与外部网络单独通信的多个逻辑路由器(每个被称为租户逻辑路由器(TLR)并且由例如数据中心的不同租户管理)。在一些实施例中,控制平面定义PLR的分布式组件与TLR的服务组件之间的转接逻辑交换。
对于PLR逻辑路由器,一些实施例尽可能地使用活动-活动模式,并且仅当为PLR配置有状态服务(例如,NAT、防火墙、负载平衡器等)时才使用活动-备用模式。在活动-备用模式下,只有一个服务路由组件处于是活动的,即,在某个时间完全可操作,并且只有这个活动路由组件发出消息来吸引流量。所有其它服务路由组件都处于备用模式。在一些实施例中,活动服务组件和备用服务组件使用相同的IP地址但不同的MAC地址来与分布式组件通信。但是,只有活动组件才应答来自该分布式组件的地址解析协议(ARP)请求。此外,只有活动的服务组件才将路由通告给外部网络以吸引流量。
对于TLR逻辑路由器,当为TLR配置有状态服务时,一些实施例或者不使用服务组件或者在活动-备用模式下使用两个服务组件。TLR在内部以与活动-备用模式下的PLR相同的方式操作,即,具有共享相同网络层地址的活动组件和备用组件,但仅活动组件对ARP请求响应。为了连接到PLR,一些实施例向TLR的两个服务组件中的每一个分配相同的网络层地址(尽管与用于连接到其自己的分布式组件的IP地址不同)。
上述逻辑路由器是由单个分布式路由组件和一组服务路由组件实现的分布式逻辑路由器。一些实施例在诸如集中式逻辑路由器的物理网络(例如,数据中心网络)中提供其它类型的逻辑路由器实现。在集中式逻辑路由器中,仅在网关机器中执行L3逻辑路由功能,并且一些实施例的控制平面不定义任何分布式路由组件,而是仅定义多个服务路由组件,其中每个服务路由组件都在单独的网关机器中实现。
具有多个路由组件的不同类型的逻辑路由器(例如,分布式逻辑路由器、多层逻辑路由器等)以及在边缘节点上实现不同类型的逻辑路由器以及在数据中心的主机机器上操作的受管理转发元件在于2015年7月30日提交的美国专利申请14/814,473中更详细地描述,该申请通过引用被结合于此。
PLR包括提供对物理网络和边缘服务的接入的服务路由器1001-1003(SR1、SR2和SR3)。PLR还包括分布式路由器1005(PLR-DR),用于路由去往和来自不同租户逻辑网络的分组。PLR分布式路由器1005通过转接逻辑路由器(PLR-TLS)1099连接到服务路由器SR1、SR2和SR3。
每个TLR用作租户逻辑网络的L3集线器。每个TLR包括用于连接由不同逻辑交换机定义的不同L2段的分布式路由器(DR)。具体而言,TLR1包括用于连接逻辑交换机LS-A和LS-B(1011和1012)的TLR1-DR(1015),TLR2包括用于连接逻辑交换机LS-C和LS-D(1021和1022)的TLR2-DR(1025),并且TLR3包括用于连接逻辑交换机LS-E和LS-F(1031和1032)的TLR3-DR(1035)。
在一些实施例中,DP配置数据库将用于不同逻辑实体的路由表、转发表、规则表等存储为配置数据。DP配置数据库提供连接标识(入口端口和出口端口)与网络逻辑实体标识之间的映射。数据通路守护程序又通过函数调用并遵循不同逻辑实体之间的连接映射执行用于不同租户的数据通路管道,其中逻辑实体中的一些与各种特定于租户的逻辑网络构造(例如,用于不同租户的TLR-LS或TLR-DR)对应。数据通路守护程序通过执行与各种提供商逻辑实体(例如,SR和PLR-DR)对应的管道阶段向所有租户提供公共网络服务。
图11图示了在网关机器1100处为不同租户执行网关分组处理的数据通路守护程序1105。数据通路守护程序1105是在网关机器1100的处理器核心1110上操作的处理线程。它脱离DP配置数据库1130操作。DP配置数据库1130存储如网络图1000中所示的数据中心的各种逻辑实体的配置数据(诸如路由表、转发表和规则表)。
如图所示,DP配置数据库1130包括用于网络的每个逻辑实体/实体(逻辑路由器和逻辑交换机1001-1099)的配置数据,其包括特定于租户的实体(例如,TLR)以及由所有租户共享的提供商实体(例如,PLR)。图12图示了通过调用与各种逻辑实体对应的管道阶段来处理分组的数据通路守护程序1105。
分组1211-1216是通过网关1100的上行链路从外部网络进入数据中心的南向分组。分组1211-1216去往属于不同租户的VM:分组1211和1212去往租户1的逻辑网络,分组1213和1214去往租户2的逻辑网络,并且分组1215和1216去往租户3的逻辑网络。由于分组1211-1216来自外部网络,因此它们是没有被封装的VLAN分组。
用于不同租户的分组具有不同的目的地IP或MAC地址,并且数据通路守护程序相应地识别和执行与不同租户对应的不同管道阶段(例如,对不同网络逻辑实体的函数调用)。数据通路守护程序最初调用PLR阶段PLR-SR1、PLR-TLS、PLR-DR,其基于分组的目的地地址将分组路由到它们对应的TLS。这些TLS又将分组交换到其对应的特定于租户的TLR。
例如,分组1211是去往逻辑交换机LS-A后面的VM的租户1分组。数据通路守护程序1105因此执行与以下逻辑实体对应的管道阶段:PLR-SR1、PLR-TLS、PLR-DR、TLS1、TLR1-DR和LS-A。分组1214是去往逻辑交换机LS-D后面的VM的租户2分组。数据通路守护程序1105相应地执行管道阶段PLR-SR1、PLR-TLS、PLR-DR、TLS2、TLR2-DR和LS-D。分组1215是去往逻辑交换机LS-E后面的VM的租户3分组。数据通路守护程序1105相应地执行管道阶段PLR-SR1、PLR-TLS、PLR-DR、TLS3、TLR3-DR和LS-E。
在这些逻辑实体中,PLR-SR1、PLR-TLS和PLR-DR是所有租户共有的提供商构造。TLS1、TLR1-DR和LS-A是用于租户1的特定于租户的构造。TLS2、TLR2-DR和LS-D是用于租户2的特定于租户的构造。TLS3、TLR2-DR和LS-E是用于租户3的特定于租户的构造。这些阶段中的每个阶段具有由DP配置数据库提供的用于路由分组、识别下一跳、提供服务等的对应配置数据。在一些实施例中,特定于租户的逻辑网络构造使用特定于租户的转发表、路由表、规则表和其它特定于租户的配置数据。
由于分组1211-1216的目的地是数据中心中其它地方的VM,因此网关通过封装覆盖网络将这些分组隧道传送到它们对应的目的地主机机器。具体而言,分组1211-1216根据其对应的租户逻辑网络进行封装并作为封装分组1221-1226发送。
分组1231-1236是通过网关1100退出数据中心到外部网络的北向分组。这些分组1231-1236被封装在提供商覆盖下,因为它们已经被路由到在其对应的源主机机器处的PLR-TLS。它们通过提供商覆盖封装隧道传送到网关,并且网关1100调用PLR-TLS和PLR-SR1以在通过上行链路将其作为VLAN分组发送到外部网络之前提供必要的服务。
虽然未图示,但是在一些实施例中,不同租户的分组针对不同的覆盖网络被不同地封装,并且数据通路守护程序使用封装中特定于租户的信息来识别和执行与不同租户对应的不同管道阶段。
c.服务提供管道阶段
在一些实施例中,除了执行L3路由和L2路由管道阶段之外,网关数据通路守护程序还执行用于L4至L7处理的服务提供阶段。这些服务支持源应用和目的地应用之间的端对端通信,并在每当消息从用户传递或被传递给用户时使用。数据通路守护程序将这些服务应用于边缘网关的有利位置处的分组,而无需改变在分组的源或目的地处运行的应用。在一些实施例中,数据通路可以包括用于流量过滤服务(诸如防火墙)、地址映射服务(诸如NAT)、加密和安全服务(诸如IPSec和HTTPS)的服务阶段。
在一些实施例中,当数据通路守护程序正在执行服务路由器管道阶段时,执行这些服务提供阶段中的一些或全部。此外,在一些实施例中,数据通路守护程序可以针对不同的分组执行不同的服务提供管道阶段。在一些实施例中,数据通路守护程序基于分组所属的L4流以及流的状态来执行不同的服务提供阶段。在一些实施例中,数据通路守护程序基于分组所属的租户执行不同的服务提供阶段。
图13图示了执行用于不同租户的服务提供管道阶段的网关数据通路守护程序。数据通路守护程序1305是在网关机器1300的处理器核心1310上操作的处理线程。它脱离DP配置数据库1330操作,DP配置数据库1330为各种数据通路管道阶段提供配置数据和连接映射。这些管道阶段中的一些是服务的服务提供阶段,诸如防火墙、NAT和HTTPS。数据通路守护程序根据逻辑路由器的配置数据、L3路由的结果和/或分组的内容,其可以指示分组属于的哪个L4流和/或哪个租户,来决定要执行哪个服务阶段。
数据通路守护程序在集中式路由(1321)之后和在管道的转接逻辑交换机(1322)、分布式路由器(1323)和逻辑交换机(1324)阶段之前执行这些服务提供阶段。在一些实施例中,这些服务提供阶段被认为是服务路由器(SR)管道阶段的一部分。在一些实施例中,服务提供阶段中的一些用于提供有状态服务并且因此是在一个网关机器处操作的集中式或集中的逻辑实体。在一些实施例中,L4服务阶段通过维持每个L4连接的状态来提供有状态的服务。
该图图示了针对不同分组1371-1373执行不同分组服务提供阶段的数据守护程序1305。这些分组可能属于不同的租户或不同的L4流,或属于不同状态下的同一个L4流。如图所示,当处理分组1371时,数据通路守护程序执行分别提供防火墙、NAT、IPSec和HTTPS服务的服务阶段1311、1312和1314。当处理分组1372时,数据通路守护程序仅执行防火墙服务阶段(1311)。当处理分组1373时,数据通路执行NAT和HTTPS服务阶段(1312和1314)。
图14概念性地图示了用于在逻辑路由器(例如,服务路由器)内提供服务的过程1400。在一些实施例中,执行数据通路守护程序的核心在其执行针对与服务路由器对应的管道阶段的函数调用时执行过程1400。该过程在它接收(在1400处)分组和作为入口端口的逻辑端口的标识时开始。如上面参考图5和图6所讨论的,在一些实施例中,DP配置数据库提供必要的映射,该映射允许数据通路守护程序在被提供了逻辑端口的标识时识别对应的逻辑实体。该过程然后访问(在1420处)识别出的逻辑实体的配置数据。如所提到的,诸如服务路由器的逻辑实体的配置数据可以包括其路由表以及要由服务路由器提供的服务的规范。
该过程然后执行(在1430处)分组的路由(因为这是服务路由器阶段)。在一些实施例中,这种路由是基于分组的源或目的地地址或入口端口的标识。该过程然后根据逻辑实体的配置数据来识别(在1440处)网络服务。在一些实施例中,服务路由器可以属于不同的租户逻辑网络,其可以具有不同的策略和需要不同的服务。因此,DP配置数据库将为不同租户逻辑路由器指定不同的服务,并且这些不同租户逻辑路由器的服务路由器将执行不同的服务。
然后该过程执行(在1450处)如由识别出的服务(例如,NAT、防火墙、HTTPS等)指定的操作。在一些实施例中,这些操作也基于分组的当前内容(例如,目的地IP地址),其可能已被过程执行的先前服务更改。
在1460处,该过程确定DP配置数据库是否为该服务路由器指定了另一个服务。如果是,则该过程返回到1440以执行另一个服务。否则,该过程进行到1470以识别出口端口并输出下一跳的分组。过程1400然后结束。
II.用于数据通路管道的高速缓存
在一些实施例中,网关不是对所有分组执行管道化阶段,而是高速缓存先前分组操作的结果并将结果重新应用于符合某些标准(即,高速缓存命中)的后续分组。对于不具有来自先前分组处理操作的适用或有效结果的分组,即,高速缓存未命中,网关数据通路守护程序执行管道化分组处理阶段。在一些实施例中,当数据通路守护程序执行管道化阶段来处理分组时,它记录来自管道的每个阶段的一组数据并将这些数据合成到用于后续分组的高速缓存条目中。
在一些实施例中,每个高速缓存条目与L4流/连接对应(例如,具有相同的源IP、目的地IP、源端口、目的地端口和传输协议的五元组)。换句话说,数据通路守护程序通过识别分组流来确定分组是否具有适用的高速缓存条目。因此,在这些实施例中的一些实施例中,数据通路高速缓存也被称为流高速缓存。
图15a-b图示了维护高速缓存以加速分组处理的数据通路守护程序。如图所示,在处理器的核心上运行的数据通路守护程序1510正在处理来自NIC 1590的分组1570。数据通路守护程序1510是处理器线程,其可以通过执行如部分I中所描述的数据通路管道1520的阶段或者通过应用来自数据通路高速缓存1530的条目来处理分组1570。数据通路守护程序使用存储在数据通路配置数据库1540中的配置数据来配置和执行其管道化阶段。
图15a图示了当传入分组1570是高速缓存命中时的分组处理。如图所示,数据通路守护程序能够在数据通路高速缓存1530中为传入分组1570找到有效的匹配条目(例如,具有相同的流标识符)。守护程序1510又使用高速缓存中的匹配条目来直接指定关于分组应当采取的动作,例如,指定分组的下一跳、解析IP地址、拒绝分组、转换分组报头中的IP地址、加密/解密分组等。没有任何管道阶段被执行(即,数据通路守护程序不执行任何管道阶段)。
图15b图示了当传入分组1570是高速缓存未命中时的分组处理。如所示出的,分组1570在数据通路高速缓存1530中不具有用于分组1570的有效匹配条目。数据通路守护程序1510因此执行数据通路管道的阶段(即,如以上第I部分中所述,通过执行函数调用并且应用逻辑实体的配置数据)。由于数据通路执行数据通路管道的阶段,因此数据通路管道的每个阶段产生一组用于合成数据通路高速缓存中的高速缓存条目的信息。该新的高速缓存条目(或更新后的高速缓存条目)将适用于属于与分组1570相同的分组类别(例如,属于相同的L4流)的后续分组。
图16图示了数据通路高速缓存的高速缓存条目的合成。如所示出的,分组1570已导致高速缓存未命中并且数据通路守护程序1510在执行数据通路管道1520的阶段。当数据通路管道正在被执行时,执行的阶段中的一些或全部发出将由合成器1610用来合成高速缓存条目1620的数据或指令。在一些实施例中,由管道阶段发出的高速缓存条目合成指令或数据包括以下:高速缓存启用字段1631、位掩码字段1632和动作字段1633。
高速缓存启用字段1631指定是否创建高速缓存条目。在一些实施例中,管道阶段可以确定分组处理的结果不应该用作将来分组的高速缓存条目,即,只有分组1570应该以这种方式进行处理,并且将来的分组不应该重用分组1570的处理结果。在一些实施例中,即使所有其它管道阶段指示启用高速缓存条目的创建是可以的,指定不应该创建高速缓存条目的一个管道阶段也将防止合成器1610创建高速缓存条目。
位掩码字段1632定义管道阶段实际使用分组报头的哪个部分来确定关于分组要采取的动作。一些实施例仅向内部报头(IP报头和MAC报头)而不是外部报头(即,诸如VXLAN的覆盖封装的报头)中的字段应用位掩码。在其中高速缓存条目是基于流的一些实施例中,位掩码字段1632用于创建适用于多个流的高速缓存条目,即,通过将内部报头中的某些位字段设置为“不关心”。
动作字段1633指定关于分组管道阶段已经采取了什么动作。
合成器1620收集来自所有管道阶段的所有高速缓存条目合成指令,并且从所有接收到的指令合成流高速缓存中的条目1620(除非一个或多个管道阶段指定不应该生成高速缓存条目)。合成的高速缓存条目为满足某些标准(即,属于某些L4流)的分组指定最终动作。当生成高速缓存条目1620时,合成器在一些实施例中还包括指定高速缓存条目被创建的时间的时间戳。这个时间戳将用于确定高速缓存条目是否对后续分组有效。
在一些实施例中,合成器1610创建适用于多个L4流或“巨流”的聚合高速缓存条目。在一些实施例中,这些是其匹配标准具有被掩蔽的某些位或字段(即,被认为“不关心”)的条目。在一些实施例中,合成器基于从执行的管道阶段接收到的位掩码字段1633创建巨流条目。合成器1610还创建其匹配标准被完全指定为仅适用于一个流或“微流”的精确匹配条目。
图17图示了聚合高速缓存条目和精确匹配高速缓存条目的示例合成。数据通路1520通过其阶段1521-1523处理分组1700,并且每个阶段为高速缓存条目合成器1610产生一组高速缓存合成指令。高速缓存条目合成器1610又创建用于数据通路高速缓存1530的聚合高速缓存条目1751和精确匹配高速缓存条目1752。
如图所示,完全匹配条目1752将所有字段完全指定为其匹配标准。这些字段完全匹配分组1700的字段(例如,其报头中的5元组流标识符)。另一方面,聚合条目1751在其匹配标准中仅指定其一些字段,同时掩蔽一些其它字段。分组1700将匹配这些匹配标准,但是在这些对应字段中可能具有不同值的其它分组也将可能匹配这些匹配标准。在一些实施例中,在聚合条目的匹配标准中掩蔽了哪些字段/位由各个数据通路阶段产生的位掩码字段(例如,1632)来确定。
每个高速缓存条目还指定关于与高速缓存条目匹配的每个分组要采取的最终动作。在一些实施例中,这些动作包括在分组被输出时影响分组的所有动作。在图17的示例中,阶段1521、1522和1523分别指定动作(1)、动作(2)和动作(3)。动作(1)和(3)影响分组,但不影响动作(2),因此只有动作(1)和(3)成为合成高速缓存条目1751和1752的一部分。例如,更新寄存器以指示分组处理阶段的动作不影响输出分组,并且因此不包括在高速缓存的流条目中,而修改报头值(例如,作为L3路由操作的一部分修改MAC地址)的动作被包括在内。如果第一动作将MAC地址从第一值修改为第二值,并且随后的动作将MAC地址从第二值修改为第三值,那么一些实施例指定将MAC地址直接修改为高速缓存的流条目中的第三值。
在一些实施例中,由一个阶段指定的动作将覆盖所有其它阶段。图18图示了指定覆盖所有其它动作的动作的数据通路阶段的示例。该图图示了由数据通路1520处理的两个示例分组1871和1872。
如图所示,当数据通路1520处理分组1871和1872时,其每个阶段指定某些动作。对于分组1871,所指定的动作包括由阶段1523“拒绝分组”。该动作将覆盖所有其它动作,并且由这个分组1871创建的高速缓存条目将仅执行动作“拒绝分组”。对于分组1872,阶段1522指定禁用高速缓存(高速缓存启用=0)。如上所述,在一些实施例中,数据通路的每个阶段可以(例如,通过其高速缓存启用位)指定不为给定分组创建高速缓存条目,而不管数据通路中的其它阶段已经指定了什么。因此,高速缓存条目合成器1610(未示出)不为分组1872创建高速缓存条目。
图19图示了检查数据通路高速缓存的条目以确定是否存在高速缓存未命中或高速缓存命中。如图所示,数据通路守护程序(在匹配函数1910处)将分组1570的某些字段(例如,流识别字段)与高速缓存1530中的条目进行比较,以查找适用于分组1570的高速缓存条目。如果匹配函数1910不能找到匹配的高速缓存条目,则数据通路守护程序将作为高速缓存未命中进行。
如图所示,每个条目还与时间戳相关联,从而标记高速缓存条目(由合成器1610)创建并存储到数据高速缓存中的时间。一些实施例(通过比较函数1920)将匹配高速缓存条目的时间戳与DP配置数据库1540的时间戳进行比较,以便确定高速缓存条目是否仍然有效。(在一些实施例中,该时间戳记录了数据库中的数据最后由网络控制器或管理器更新的时间,DP配置数据库的更新将在下面的部分III中描述)。具体而言,如果DP配置数据库1540自从创建高速缓存条目以来未被更改,即,DP配置数据库的时间戳在匹配条目的时间戳之前,则高速缓存条目仍然有效,并且数据通路守护程序将作为高速缓存命中进行。相反,如果DP配置数据库1540自从创建高速缓存条目以来已被更改,即,DP配置数据库的时间戳在匹配条目的时间戳之后,则高速缓存条目被视为不再有效,并且数据通路守护程序将作为高速缓存未命中进行。
图20概念性地图示了用于操作数据通路高速缓存的过程2000。在一些实施例中,操作作为数据通路守护程序的线程的处理器核心执行过程2000。过程2000在它或者从外部物理网络或者从数据中心接收(在2010处)分组时开始。然后该过程确定(在2020处)分组是否在数据通路高速缓存中具有匹配的条目。如果是,则过程进行到2025。如果分组在数据通路高速缓存中没有匹配的条目,则过程进行到2030。
在2025处,该过程确定匹配的高速缓存条目是否仍然有效,例如,其时间戳是否指示高速缓存条目是在对DP配置数据库的最近更新之后做出的。高速缓存条目有效性的确定通过参考以上图19来描述。如果匹配的高速缓存条目有效,则该过程进行到2060。否则,该过程进行到2030。
在2030处,该过程指示分组已导致高速缓存未命中并通过执行其阶段来启动数据通路管道。该过程然后基于由数据通路管道的阶段产生的数据或指令来合成(在2040处)高速缓存条目。高速缓存条目的合成通过参考以上图16来描述。该过程然后存储(在2050处)合成的高速缓存条目并将条目与当前时间戳相关联。过程2000然后结束。
在2060处,该过程指示高速缓存命中并根据匹配的高速缓存条目执行动作。过程2000然后结束。
III.数据通路配置更新
如上所述,数据通路守护程序的管道阶段使用DP配置数据库中的配置数据作为转发表、路由表、规则表等。由于这些表包含关于在网关处关于分组应该采取哪些动作的实时信息,因此,即使在数据通路守护程序主动访问DP配置数据库时,一些实施例也动态地更新DP配置数据库。为了确保数据通路守护程序在DP配置数据库被更新时不使用其管道阶段的不完整的(并因此损坏的)配置数据,一些实施例维护DP配置数据库的两个副本。数据库的一个副本用作用于来自网络控制器/管理器的新更新的暂存区,使得数据通路守护程序可以安全地使用数据库的其它副本。一旦更新完成,两个数据库副本的角色将以原子方式反转。在一些实施例中,网络控制器在切换之前等待数据通路守护程序完成其当前的运行至完成分组处理管道阶段。
图21图示了具有以原子方式支持更新的DP配置数据库2110的网关2100。如图所示,网关2100具有一组处理器核心2121-2123,每个核心正在操作使用DP配置数据库2110中的配置数据来执行与逻辑实体对应的管道阶段的数据通路守护程序。网络控制器/管理器2190在内核正在主动使用数据库的同时动态地更新存储在DP配置数据库内的配置数据。
如图所示,DP配置数据库2110具有两个副本:奇数副本2111和偶数副本2112(“DP配置奇数”和“DP配置偶数”)。数据库的每个副本都存储完整的配置数据,以便在核心2121-2123处操作数据通路守护程序。在一些实施例中,两个不同副本被存储在两个不同的物理存储装置中。在一些实施例中,两个副本被存储在相同存储装置的不同位置中。
在对DP配置数据库2110进行更新时,网络控制器2190使用写指针2195来选择要写入到奇数副本还是偶数副本。当执行管道阶段时,核心2121-2123分别使用读指针2131-2133来选择要读取的是奇数副本还是偶数副本。网络控制器2190选择并更新DP配置数据库的一个副本,而核心2121-2123各自选择并使用DP配置数据库的另一个副本。
图22a-b图示了数据通路配置数据库2110的原子更新。该图图示了六个阶段2201-2206中的更新过程。
在第一阶段2201处,所有读指针2131-2133都指向奇数副本2111,并且写指针2195指向偶数副本2112。此外,所有核心2121-2123正在分别读取来自奇数副本2111的配置数据和执行用于处理分组2271-2273的分组处理管道。网络控制器2190正在写入到偶数副本2112中。偶数副本2112中的数据因此是不完整的或者被损坏的,但是核心2121和2123中的数据通路守护程序与这隔离开,因为它们正脱离奇数副本2111操作。
在第二阶段2202处,网络控制器已经完成对DP配置数据库的更新,即,它已经完成写入到偶数副本2112中。该更新的数据库与时间戳2252相关联(如以上部分II中所述,用于确定高速缓存条目有效性)。与此同时,所有核心仍处于其各自的运行至完成管道的中间。
在第三阶段2203处,核心2121已完成其对分组2271的先前运行至完成管道。读指针2131然后在核心2121开始处理另一个分组之前切换至偶数副本2112。换句话说,核心2121的数据通路守护程序将对其下一个分组使用更新后的配置数据。通过使用数据库的奇数副本,其它两个核心2122和2123仍处于其当前的运行至完成管道中。
在第四阶段2204处,核心2122也已完成其对分组2272的分组处理管道,并且其对应的读指针已切换到偶数副本2112。同时,核心2121已经通过使用偶数副本2112中更新后的新数据开始处理另一个分组2274。核心2123仍然通过使用奇数副本2111处的旧配置来处理分组2273。
在第五阶段2205处,核心2123也已完成其对分组2273的分组处理管道并且其对应的读指针2133已经切换到偶数副本2112。核心2122已经开始处理分组2275。在此时,没有数据通路守护程序正在使用奇数副本2111中的旧配置数据来处理分组。由于在偶数副本2112中已经存在新的更多更新版本的DP配置数据库,因此奇数副本2111中的旧数据不再有用。因此,一些实施例重置DP配置数据库的奇数副本2111以指示其中的数据不再有效,并且网络控制器可自由地向其写入新的配置数据。
在第六阶段处,写指针2195已经切换到数据库的奇数副本,而核心2121-2123正在使用存储在偶数副本2112中的配置数据来处理分组2274-2276。这允许进行对DP配置数据库的更新,而不会影响任何数据通路守护程序的操作。
图23概念性地图示了控制DP配置数据库的读指针和写指针的过程2301和2302。在一些实施例中,网关机器执行过程2301和2302两者。
过程2301用于控制写指针以便由网络控制器写入到DP配置数据库中。过程2301在网关机器从网络控制器/管理器接收(在2310处)对DP配置数据库的更新数据时开始。然后该过程确定(在2320处)由写指针指向的数据库的副本是否当前正在被运行数据通路守护程序的任何核心读取。如果是,则该过程返回到2320等待,直到数据库的副本不再被任何数据通路守护程序使用。否则,该过程进行到2330。一些实施例通过检查由数据通路守护程序使用的读指针来做出该确定:当读指针当前都没有指向由写指针指向的数据库的副本时,由写指针指向的数据库的副本没有被使用(因此,对其写入是安全的)。
在2330处,该过程更新(在2330处)存储在由写指针指向的数据库的副本中的配置数据(例如,通过添加、删除、修改表条目等)。一旦更新完成,该过程就翻转(在2340处)写指针以指向数据库的另一个副本(如果是奇数副本则翻转为指向偶数副本,反之亦然)。过程2301然后结束。
过程2302用于控制由核心/数据通路守护程序使用的读指针以便从DP配置数据库中读取。过程2300在数据通路守护程序接收(在2350处)要处理的分组并启动数据通路管道时开始。
然后该过程读取(在2360处)并应用存储在由数据通路守护程序的读指针指向的数据库的副本中的配置数据。该过程还通过管道的所有阶段(运行至完成)处理(在2370处)分组至完成。过程2301的操作确保应用的配置数据将不会由于对数据通路配置数据库的任何更新而被损坏。
接下来,该过程确定(在2375处)数据库的其它副本是否具有更新后的配置数据。如果数据库的另一个副本不具有较新版本的配置数据,则过程2302结束。如果数据库的另一个副本确实具有较新版本的配置数据,则该过程翻转(在2380处)读指针以指向数据库的另一个副本。过程2302然后结束。
IV.软件体系架构
图24图示了根据本发明的一些实施例的网关机器2400的体系架构。网关机器的存储器使用被划分为用户空间和内核空间。内核空间被保留用于运行特权操作系统内核、内核扩展和大多数设备驱动程序。用户空间是应用软件和一些驱动程序在其中执行的存储器区域。
如图所示,分组处理线程2410(即,数据通路守护程序)正在用户空间中操作以便处理L2交换、L3路由以及诸如防火墙、NAT和HTTPS的服务。诸如ARP(地址解析请求)学习、BFD(双向转发检测)的其它服务任务被认为是较慢运行并因此由用户空间中的单独过程2420进行处理。这些较慢的任务不由数据通路守护程序处理,并且不是数据通路管道的一部分。分组处理线程2410依赖于用于从NIC接收分组的一组DPDK库2430(由开发的 )。在一些实施例中,NIC操作依赖于使用轮询模式来接收分组的用户空间NIC驱动程序。
在内核空间中,操作系统内核2440(例如,Linux)操作TCP/IP栈并处理用于与外部网络交换路由信息的BGP栈(边界网关协议)。一些实施例使用KNI(内核NIC接口)来允许用户空间应用访问内核空间栈。
如上所述,一些实施例中的网关机器通过使用具有多个核心的处理器来实现,并且每个数据通路守护程序在一个核心处的RTC(运行至完成)线程中执行其所有管道阶段。在一些实施例中,数据通路守护程序可以插入由在另一个核心处的另一个线程执行的服务进程执行的服务管道阶段。
在一些实施例中,这些服务进程使用某种形式的进程间通信(IPC)(诸如共享存储器或套接字)与RTC线程通信。RTC线程接收来自NIC的分组、执行常规L2/L3转发、并对分组进行分类以确定分组是否需要服务。当分组需要服务时,分组经由IPC通道发送到对应的服务进程。IPC服务进程使分组出列并处理分组。在处理分组之后,服务进程将其传回给RTC线程,RTC线程继续处理分组(并且可能将分组发送到用于其它服务的另一个服务进程)。有效地,RTC线程用于提供基本转发并在服务进程之间引导分组。图25a概念性地图示了使用IPC与服务进程通信以便提供服务的RTC线程。
在一些其它实施例中,服务进程在容器内运行并且不使用IPC来与RTC线程通信并且实际上不知道RTC线程。该进程打开标准的TCP/UDP套接字来发送分组和接收来自Linux内核的分组。不是使用IPC在服务进程和RTC线程之间进行通信,而是在容器内创建tun/tap设备或KNI设备。容器的路由表被正确填充,使得由服务进程发送的分组可以使用正确的tun/tap/KNI设备进行路由。
当RTC线程确定分组需要服务时,它将分组发送到Linux内核。在接收到分组之后,Linux内核就像分组从NIC接收到一样处理它。最终,分组被交付给服务进程。当服务进程完成对分组的处理之后,它将分组发送到套接字。分组将由Linux内核朝着tun/tap/KNI设备之一进行路由,并将由RTC线程接收。图25b概念上图示了使用Linux内核与服务进程通信以便提供服务的RTC线程。
V.计算设备&虚拟化软件
虚拟化软件(也称为受管理转发元件(MFE)或管理程序)允许计算设备托管一组虚拟机(VM)以及执行分组转发操作(包括L2交换和L3路由操作)。这些计算设备因此也被称为主机机器。虚拟化软件的分组转发操作由一组中央控制器管理和控制,并且因此在一些实施例中,虚拟化软件也被称为受管理软件转发元件(MSFE)。在一些实施例中,当主机机器的虚拟化软件将逻辑转发元件的本地实例化作为物理转发元件操作时,MSFE为一个或多个逻辑转发元件执行其分组转发操作。这些物理转发元件中的一些是用于为逻辑路由元件(LRE)执行L3路由操作的受管理物理路由元件(MPRE),这些物理转发元件中的一些是用于为逻辑交换元件(LSE)执行L2交换操作的受管理物理交换元件(MPSE)。图26图示了计算设备2600,其用作运行本发明的一些实施例的虚拟化软件的主机机器(或主机物理端点)。
如图所示,计算设备2600可以通过物理NIC(PNIC)2695访问物理网络2690。主机2600还运行虚拟化软件2605并且托管VM2611-2614。虚拟化软件2605用作托管的VM和物理NIC 2695(以及其它物理资源,诸如处理器和存储器)之间的接口。VM中的每一个包括用于通过虚拟化软件2605访问网络的虚拟NIC(VNIC)。VM中的每个VNIC负责在VM和虚拟化软件2605之间交换分组。在一些实施例中,VNIC是由虚拟NIC仿真器实现的物理NIC的软件抽象。
虚拟化软件2605管理VM 2611-2614的操作,并且包括用于管理VM对物理网络的访问(在一些实施例中,通过实现VM连接到的逻辑网络)的若干组件。如图所示,虚拟化软件包括若干组件,包括MPSE 2620、一组MPRE 2630、控制器代理2640、VTEP 2650和一组上行链路管道2670。
VTEP(VXLAN隧道端点)2650允许主机机器2600用作逻辑网络流量(例如,VXLAN流量)的隧道端点。VXLAN是覆盖层网络封装协议。由VXLAN封装创建的覆盖层网络有时被称为VXLAN网络,或者简称为VXLAN。当主机2600上的VM向同一VXLAN网络中但在不同主机上的另一个VM发送分组(例如,以太网帧)时,VTEP将在把分组发送到物理网络之前,使用VXLAN网络的VNI和VTEP的网络地址封装数据分组。分组通过物理网络隧道传送(即,封装使得底层分组对中间网络元件透明)到目的地主机。在目的地主机处VTEP对分组进行解封装,并且只将原始内部数据分组转发到目的地VM。在一些实施例中,VTEP模块只用作用于VXLAN封装的控制器接口,而VXLAN分组的封装和解封装在上行链路模块2670处完成。
控制器代理2640从控制器或控制器集群接收控制平面消息。在一些实施例中,这些控制平面消息包括用于配置虚拟化软件的各种组件(诸如MPSE 2620和MPRE 2630)和/或虚拟机的配置数据。在图26所示的示例中,控制器代理2640从物理网络2690接收来自控制器集群2660的控制平面消息,并且继而通过控制信道而不经过MPSE 2620将接收到的配置数据提供给MPRE 2630。但是,在一些实施例中,控制器代理2640从独立于物理网络2690的直接数据管道(未示出)接收控制平面消息。在一些其它实施例中,控制器代理从MPSE 2620接收控制平面消息,并通过MPSE 2620将配置数据转发给路由器2630。
MPSE 2620向与物理网络2690接口的物理NIC 2695递送网络数据并从物理NIC2695接收网络数据。MPSE还包括可通信地将物理NIC与VM 2611-2614、MPRE 2630和控制器代理2640互连的多个虚拟端口(vPort)。在一些实施例中,每个虚拟端口与唯一的L2MAC地址相关联。MPSE在连接到其虚拟端口的任何两个网络元件之间执行L2链路层分组转发。MPSE还在连接到其虚拟端口中的任何一个的任何网络元件与物理网络2690上的可到达的L2网络元件(例如,在另一个主机上运行的另一个VM)之间执行L2链路层分组转发。在一些实施例中,MPSE是跨不同主机机器操作并且可以在同一主机机器上或不同主机机器上的VM之间执行L2分组交换的逻辑交换元件(LSE)的本地实例化。在一些实施例中,MPSE根据那些逻辑交换机的配置执行若干LSE的交换功能。
MPRE 2630对从MPSE 2620上的虚拟端口接收到的数据分组执行L3路由。在一些实施例中,该路由操作需要将L3 IP地址解析为下一跳L2 MAC地址和下一跳VNI(即,下一跳的L2段的VNI)。每个路由的数据分组然后被发送回MPSE 2620以根据解析的L2MAC地址被转发到其目的地。该目的地可以是连接到MPSE 2620上的虚拟端口的另一个VM或物理网络2690上的可到达的L2网络元件(例如,在另一个主机上运行的另一个VM、物理非虚拟化机器等)。
如上所述,在一些实施例中,MPRE是跨不同主机机器操作并且可以在同一主机机器上或不同主机机器上的VM之间执行L3分组转发的逻辑路由元件(LRE)的本地实例化,。在一些实施例中,主机机器可以具有连接到单个MPSE的多个MPRE,其中主机机器中的每个MPRE实现不同的LRE。在一些实施例中,即使MPRE和MPSE用软件实现,MPRE和MPSE也被称为“物理”路由/交换元件,以便与“逻辑”路由/交换元件区分开。在一些实施例中,MPRE被称为“软件路由器”,并且MPSE被称为“软件交换机”。在一些实施例中,LRE和LSE被统称为逻辑转发元件(LFE),而MPRE和MPSE被统称为受管理的物理转发元件(MPFE)。贯穿本文档提到的一些逻辑资源(LR)是LRE或LSE,它们具有在每个主机机器中运行的对应的本地MPRE或本地MPSE。
在一些实施例中,MPRE 2630包括一个或多个逻辑接口(LIF),每个逻辑接口用作到网络的特定段(L2段或VXLAN)的接口。在一些实施例中,每个LIF可通过其自己的IP地址寻址,并用作网络的其特定段的网络节点(例如,VM)的默认网关或ARP代理。在一些实施例中,不同主机机器中的所有MPRE都可通过相同的“虚拟”MAC地址(或vMAC)寻址,而每个MPRE也被分配“物理”MAC地址(或pMAC)以便指示MPRE到底在哪个主机机器中操作。
上行链路模块2670在MPSE 2620和物理NIC 2695之间中继数据。上行链路模块2670包括每个执行多个操作的出口链和入口链。这些操作中的一些操作是用于MPRE 2630的预处理和/或后处理操作。LIF、上行链路模块、MPSE和MPRE的操作在于2013年12月20日提交的标题为“Logical Router”、作为美国专利申请公开2015/0106804公布的美国专利申请14/137,862中描述。
如图26所示,虚拟化软件2605具有用于多个不同LRE的多个MPRE。在多租户环境中,主机机器可以操作来自多个不同用户或租户(即,连接到不同逻辑网络)的虚拟机。在一些实施例中,每个用户或租户在用于处理其L3路由的主机中具有其LRE的对应的MPRE实例化。在一些实施例中,虽然不同的MPRE属于不同的租户,但是它们在MPSE 2620上共享相同的vPort,并且因此共享相同的L2 MAC地址(vMAC或pMAC)。在一些其它实施例中,属于不同租户的每个不同MPRE具有其自己到MPSE的端口。
MPSE 2620和MPRE 2630使数据分组有可能在VM 2611-2614之间转发,而无需通过外部物理网络2690发送(只要VM连接到相同的逻辑网络,因为不同租户的VM将彼此隔离)。具体而言,MPSE通过使用各种逻辑网络的各种L2段(即,它们对应的L2逻辑交换机)的VNI来执行本地逻辑交换机的功能。同样,MPRE通过使用那些各种L2段的VNI来执行逻辑路由器的功能。由于每个L2段/L2交换机具有其自己的唯一VNI,因此主机机器2600(及其虚拟化软件2605)能够将不同逻辑网络的分组引导到其正确的目的地,并且有效地将不同逻辑网络的流量彼此分离。
VI.电子系统
上述许多特征和应用被实现为软件过程,这些软件过程被指定为记录在计算机可读存储介质(也被称为计算机可读介质)上的指令集合。当这些指令被一个或多个处理单元(例如,一个或多个处理器、处理器核心、或其它处理单元)执行时,它们使得该(一个或多个)处理单元执行在指令中指示的动作。计算机可读介质的示例包括,但不限于,CD-ROM、闪存驱动器、RAM芯片、硬盘驱动器、EPROM等。计算机可读介质不包括无线地或通过有线连接传递的载波和电子信号。
在本说明书中,术语“软件”是指包括驻留在只读存储器中的固件或者可以被读入到存储器中以供处理器处理的存储在磁存储中的应用。此外,在一些实施例中,多个软件发明可以被实现为更大程序的子部分,同时保留明显的软件发明。在一些实施例中,多个软件发明也可以被实现为单独的程序。最后,一起实现本文所描述的软件发明的单独程序的任意组合在本发明的范围内。在一些实施例中,当软件程序被安装,以在一个或多个电子系统上操作时,软件程序定义运行和执行软件程序的操作的一个或多个特定的机器实现。
图27概念性地图示了实现本发明的一些实施例的电子系统2700。电子系统2700可以用于执行上述任何控制、虚拟化或操作系统应用。电子系统2700可以是计算机(例如,台式计算机、个人计算机、平板计算机、服务器计算机、大型机、刀片计算机等)、电话、PDA或任何其它类型的电子设备。这样的电子系统包括用于各种其它类型的计算机可读介质的各种类型的计算机可读介质和接口。电子系统2700包括总线2705、(一个或多个)处理单元2710、系统存储器2725、只读存储器2730、永久性存储设备2735、输入设备2740和输出设备2745。
总线2705统一地表示可通信地连接电子系统2700的许多内部设备的所有系统、外围设备和芯片组总线。例如,总线2705将(一个或多个)处理单元2710与只读存储器2730、系统存储器2725和永久性存储设备2735可通信地连接。
(一个或多个)处理单元2710从这些各种存储器单元中检索要执行的指令和要处理的数据,以便执行本发明的过程。(一个或多个)处理单元在不同实施例中可以是单个处理器或多核处理器。
只读存储器(ROM)2730存储由(一个或多个)处理单元2710和电子系统的其它模块所需的静态数据和指令。另一方面,永久性存储设备2735是读写存储器设备。这个设备是即使当电子系统2700关闭时也存储指令和数据的非易失性存储器单元。本发明的一些实施例使用大容量存储设备(诸如磁盘或光盘及其对应的盘驱动器)作为永久性存储设备2735。
其它实施例使用可移除存储设备(诸如软盘、闪存驱动器等)作为永久性存储设备。与永久性存储设备2735一样,系统存储器2725是读写存储器设备。但是,与存储设备2735不同的是,系统存储器是易失性读写存储器,诸如随机存取存储器。系统存储器存储处理器在运行时所需的一些指令和数据。在一些实施例中,本发明的过程被存储在系统存储器2725、永久性存储设备2735和/或只读存储器2730中。(一个或多个)处理单元2710从这些各种存储器单元中检索要执行的指令和要处理的数据,以便执行一些实施例的过程。
总线2705还连接到输入和输出设备2740和2745。输入设备使用户能够向电子系统传达信息和选择给电子系统的命令。输入设备2740包括字母数字键盘和定点设备(也称为“光标控制设备”)。输出设备2745显示由电子系统生成的图像。输出设备包括打印机和显示设备,诸如阴极射线管(CRT)或液晶显示器(LCD)。一些实施例包括用作输入和输出设备两者的设备,诸如触摸屏。
最后,如图27所示,总线2705还通过网络适配器(未示出)将电子系统2700耦合到网络2765。以这种方式,计算机可以是计算机的网络(诸如局域网(“LAN”)、广域网(“WAN”)、或内联网、或网络的网络,诸如互联网)的一部分。电子系统2700的任何或全部组件可以与本发明结合使用。
一些实施例包括电子组件,诸如微处理器、在机器可读或计算机可读介质(可替代地称为计算机可读存储介质、机器可读介质或机器可读存储介质)中存储计算机程序指令的存储设备和存储器。这种计算机可读介质的一些示例包括RAM、ROM、只读压缩盘(CD-ROM)、可记录压缩盘(CD-R)、可重写压缩盘(CD-RW)、只读数字多功能盘(例如,DVD-ROM,双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存存储器(例如,SD卡、小型SD卡、微型SD卡等)、磁和/或固态硬盘驱动器、只读和可记录盘、超密度光盘、任何其它光或磁介质、以及软盘。计算机可读介质可以存储可由至少一个处理单元执行的并且包括用于执行各种操作的指令集的计算机程序。计算机程序或计算机代码的示例包括诸如由编译器产生的机器代码,以及包括由计算机、电子组件、或利用解释器的微处理器执行的更高级代码的文件。
虽然以上讨论主要指执行软件的微处理器或多核处理器,但是一些实施例通过一个或多个集成电路来执行,诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一些实施例中,这种集成电路执行在该电路自身上存储的指令。
如在本说明书中所使用的,术语“计算机”、“服务器”、“处理器”、以及“存储器”都是指电子或其它技术设备。这些术语不包括人或人群。为了本说明书的目的,术语显示或正在显示意味着在电子设备上显示。如本说明书中所使用的,术语“计算机可读介质”、“多个计算机可读介质”和“机器可读介质”被完全限制为以由计算机可读的形式存储信息的、有形的、物理的对象。这些术语不包括任何无线信号、有线下载信号、以及任何其它短暂信号。
在本文档中,术语“分组”是指以特定格式跨网络发送的位集合。本领域普通技术人员将认识到的是,术语分组在本文可以用于指可以跨网络发送的各种格式化的位集合,诸如以太网帧、TCP段、UDP数据报、IP分组等。
贯穿本说明书提到包括虚拟机(VM)的计算和网络环境。但是,虚拟机只是数据计算节点(DCN)或数据计算端节点(也被称为可寻址节点)的一个示例。DCN可以包括非虚拟化物理主机、虚拟机、在主机操作系统之上运行而不需要管理程序或单独的操作系统的容器、以及管理程序内核网络接口模块。
在一些实施例中,VM使用由虚拟化软件(例如,管理程序、虚拟机监视器等)虚拟化的主机的资源与在主机上其自己的客户操作系统一起操作。租户(即VM的所有者)可以选择在客户操作系统之上要操作哪些应用。另一方面,一些容器是在主机操作系统之上运行而不需要管理程序或单独的客户操作系统的构造。在一些实施例中,主机操作系统使用名称空间来将容器彼此隔离,并因此提供在不同容器内操作的不同应用组的操作系统级分离。这种分离类似于在虚拟化系统硬件的管理程序虚拟化环境中提供的VM分离,并且因此可以被视为隔离在不同容器中操作的不同应用组的一种虚拟化形式。这种容器比VM更轻巧。
在一些实施例中,管理程序内核网络接口模块是包括具有管理程序内核网络接口和接收/传送线程的网络堆栈的非-VM DCN。管理程序内核网络接口模块的一个示例是作为VMware公司的ESXiTM管理程序的一部分的vmknic模块。
本领域普通技术人员将认识到的是,虽然本说明书提到VM,但是给出的示例可以是任何类型的DCN,包括物理主机、VM、非-VM容器和管理程序内核网络接口模块。事实上,在一些实施例中,示例网络可以包括不同类型的DCN的组合。
虽然本发明已经参考许多特定细节进行了描述,但是本领域普通技术人员将认识到,在不脱离本发明的精神的情况下,本发明可以以其它特定形式体现。此外,多个图(包括图5、图14、图20和图23)概念性地示出了过程。这些过程的特定操作可以不以所示出和描述的确切顺序执行。特定操作可以不在一系列连续的操作中执行,并且不同的特定操作可能在不同的实施例中执行。此外,过程可以利用若干子过程来实现,或者作为较大的宏过程的一部分来实现。因此,本领域普通技术人员将理解,本发明不受上述说明性细节的限制,而是由所附权利要求来限定。
Claims (30)
1.一种用于计算设备实现网关数据通路的方法,所述网关数据通路处理在第一网络和第二网络之间发送的分组,所述方法包括:
从第一网络接收分组;
执行多个管道阶段以处理所述分组并确定所述分组的下一目的地,其中所述多个管道阶段包括用于执行分组转发的一组逻辑转发元件阶段和用于执行传输层服务和应用层服务的一组服务阶段;以及
基于所述分组的下一目的地将经处理的分组输出到第二网络。
2.如权利要求1所述的方法,其中每个管道阶段是由网关数据通路调用的函数。
3.如权利要求1所述的方法,其中所述一组服务阶段基于所述分组的层4(L4)报头来执行传输层服务,并且基于所述分组的层7(L7)报头来执行应用层服务。
4.如权利要求1所述的方法,其中所述一组服务阶段包括用于维护一组传输层连接中每一个传输层连接的状态信息的有状态服务的阶段。
5.如权利要求1所述的方法,其中所述第一网络是提供商网络,在所述提供商网络上实现一个或多个逻辑网络,并且所述第二网络是外部物理网络。
6.如权利要求1所述的方法,其中所述一组逻辑转发元件阶段包括至少一个逻辑交换机阶段和至少一个逻辑路由器阶段。
7.如权利要求1所述的方法,其中所述分组是第一分组,所述多个管道阶段是第一多个管道阶段,并且所述一组服务阶段是第一组服务阶段,所述方法还包括:
从第一网络接收第二分组;
执行第二多个管道阶段以处理所述第二分组并确定所述第二分组的下一目的地,其中所述第二多个管道阶段包括所述一组逻辑转发元件阶段和第二组服务阶段,其中由所述第二组服务阶段执行的至少一个服务不由所述第一组服务阶段执行;以及
基于所述第二分组的下一目的地,将经处理的第二分组输出到所述第二网络。
8.如权利要求7所述的方法,其中基于所述第一和第二分组属于不同的L4数据流,所述第一和第二组服务阶段是不同的。
9.一种用于计算设备实现第一网络和第二网络之间的网关数据通路的方法,所述方法包括:
从第一网络接收分组;
执行所述网关数据通路的多个管道阶段以确定所述分组在所述第二网络内的下一目的地,其中所述多个管道阶段包括集中式逻辑路由器阶段和分布式逻辑路由器阶段,所述集中式逻辑路由器阶段和所述分布式逻辑路由器阶段两者都在所述计算设备的单个上下文中执行,其中所述集中式逻辑路由器仅由所述第一网络与所述第二网络之间的第一组计算设备处的网关数据通路实现,而所述分布式逻辑路由器由所述第一组计算设备的所述网关数据通路并且由所述第二网络中的第二组计算设备实现。
10.如权利要求9所述的方法,其中所述多个管道阶段在处理器处作为网关数据通路的单个运行至完成线程被执行。
11.如权利要求9所述的方法,其中:
所述多个管道阶段还包括在所述集中式逻辑路由器阶段与所述分布式逻辑路由器阶段之间的转接逻辑交换机阶段;
所述转接逻辑交换机具有用于所述集中式逻辑路由器的第一逻辑端口和用于所述分布式逻辑路由器的第二逻辑端口;
转接逻辑交换机阶段在集中式逻辑路由器和分布式逻辑路由器之间进行交换;以及
转接逻辑交换机阶段在所述计算设备的单个上下文中执行。
12.如权利要求9所述的方法,其中所述分布式逻辑路由器根据同一路由表在所述第一组和第二组计算设备的每一组中执行路由。
13.如权利要求9所述的方法,其中所述第二网络是提供商网络,在所述提供商网络上实现一个或多个逻辑网络,并且所述第一网络是外部物理网络。
14.如权利要求9所述的方法,还包括:
在所述计算设备处从所述第二网络接收第二分组;
执行所述网关数据通路的第二多个管道阶段以确定所述分组在所述第一网络中的下一目的地,其中所述第二多个管道阶段包括所述集中式逻辑路由器阶段但不包括所述分布式逻辑路由器阶段。
15.如权利要求14所述的方法,其中所述分布式逻辑路由器先前在另一计算设备处应用于所述第二分组。
16.一种用于在与外部物理网络接口的提供商网络的边缘处实现网关数据通路的方法,所述方法包括:
从所述提供商网络接收具有逻辑网络标识符的分组;
执行多个管道阶段以确定所述分组的下一目的地,其中执行多个管道阶段包括:(i)当所述逻辑网络标识符用于使用第一逻辑路由器的第一逻辑网络时,执行第一逻辑路由器阶段,以及(ii)当逻辑网络标识符用于使用第二逻辑路由器的第二逻辑网络时,执行第二逻辑路由器阶段;和
基于对接收到的分组的下一目的地的确定,将所述分组转发到外部物理网络。
17.如权利要求16所述的方法,其中所述第一逻辑路由器阶段使用第一路由表,并且所述第二逻辑路由器阶段使用不同的第二路由表。
18.如权利要求16所述的方法,其中所述分组是提供商网络上的覆盖逻辑网络的封装分组,所述封装分组具有包括所述逻辑网络标识符的封装报头。
19.如权利要求16所述的方法,其中所述第一逻辑路由器阶段对应于根据所述提供商网络的第一租户的服务和策略进行操作的第一租户逻辑路由器(TLR),并且所述第二逻辑路由器阶段对应于根据所述提供商网络的第二租户的服务和策略进行操作的第二TLR。
20.如权利要求19所述的方法,其中执行所述多个管道阶段还包括:不管所述逻辑网络标识符是用于所述第一逻辑网络还是用于所述第二逻辑网络,都执行与和外部物理路由器交换路由的提供商逻辑路由器(PLR)对应的一组阶段。
21.如权利要求20所述的方法,其中:
执行多个管道阶段还包括在第一或第二TLR阶段与PLR阶段之间执行转接逻辑交换机阶段;和
转接逻辑交换机具有用于PLR的第一逻辑端口和用于TLR的第二逻辑端口,以在PLR和TLR之间进行交换。
22.一种用于在与外部物理网络接口的提供商网络的边缘处实现网关数据通路的方法,所述方法包括:
从外部物理网络接收分组;
执行多个管道阶段以确定所述分组在提供商网络内的下一目的地,其中执行多个管道阶段包括:(i)当所述分组的目的地地址与包括第一逻辑路由器的第一租户逻辑网络相关联时,执行第一逻辑路由器阶段;以及(ii)当所述分组的目的地地址与包括第二逻辑路由器的第一租户逻辑网络相关联时执行第二逻辑路由器阶段;和
将所述分组转发到提供商网络内所识别的下一目的地。
23.如权利要求22所述的方法,还包括:当所述目的地地址与所述第一逻辑网络相关联时,针对所述第一逻辑网络封装处理后的分组;以及当所述目的地地址与所述第二逻辑网络相关联时,针对所述第二逻辑网络封装处理后的分组。
24.如权利要求22所述的方法,其中所述第一逻辑路由器阶段使用第一路由表,并且所述第二逻辑路由器阶段使用不同的第二路由表。
25.如权利要求22所述的方法,其中所述第一逻辑路由器阶段对应于根据所述提供商网络的第一租户的服务和策略进行操作的第一租户逻辑路由器(TLR),并且所述第二逻辑路由器阶段对应于根据提供商网络的第二租户的服务和策略进行操作的第二TLR。
26.如权利要求25所述的方法,其中执行多个管道阶段还包括:不管所述目的地地址是与所述第一逻辑网络相关联还是与所述第二逻辑网络相关联,都在执行第一或第二TLR阶段之前执行与提供商逻辑路由器(PLR)对应的一组阶段。
27.如权利要求22所述的方法,其中:
执行多个管道阶段还包括在PLR阶段与第一或第二TLR阶段之间执行转接逻辑交换机阶段;
转接逻辑交换机具有用于PLR的第一逻辑端口和用于第一或第二TLR的第二逻辑端口。
28.一种存储程序的机器可读介质,所述程序在由至少一个处理单元实施时实施如权利要求1-27中任一项所述的方法。
29.一种计算设备,包括:
一组处理单元;和
存储程序的机器可读介质,所述程序在由至少一个所述处理单元实施时实施如权利要求1-27中任一项所述的方法。
30.一种系统,包括用于实施如权利要求1-27中任一项所述的方法的装置。
Applications Claiming Priority (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562110061P | 2015-01-30 | 2015-01-30 | |
US14/929,431 US10341257B2 (en) | 2015-01-30 | 2015-11-02 | Datapath for multiple tenants |
US14/929,427 US9973445B2 (en) | 2015-01-30 | 2015-11-02 | Datapath with service stages |
US14/929,434 US10110514B2 (en) | 2015-01-30 | 2015-11-02 | Datapath cache |
US14/929,425 | 2015-11-02 | ||
US14/929,429 US10057191B2 (en) | 2015-01-30 | 2015-11-02 | Datapath with centralized and distributed routers |
US14/929,425 US10084726B2 (en) | 2015-01-30 | 2015-11-02 | Dynamic datapath at edge gateway |
US14/929,431 | 2015-11-02 | ||
US14/929,429 | 2015-11-02 | ||
US14/929,434 | 2015-11-02 | ||
US14/929,427 | 2015-11-02 | ||
CN201680069286.6A CN108293021B (zh) | 2015-01-30 | 2016-10-29 | 边缘网关处的动态数据通路 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680069286.6A Division CN108293021B (zh) | 2015-01-30 | 2016-10-29 | 边缘网关处的动态数据通路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112769695A true CN112769695A (zh) | 2021-05-07 |
Family
ID=56553456
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211107867.8A Active CN115442303B (zh) | 2015-01-30 | 2016-01-29 | 具有多个路由部件的逻辑路由器 |
CN202211107837.7A Active CN115442302B (zh) | 2015-01-30 | 2016-01-29 | 具有多个路由部件的逻辑路由器 |
CN201680006264.5A Active CN107210959B (zh) | 2015-01-30 | 2016-01-29 | 具有多个路由部件的逻辑路由器 |
CN202010831065.6A Active CN111865775B (zh) | 2015-01-30 | 2016-01-29 | 具有多个路由部件的逻辑路由器 |
CN202110039636.7A Pending CN112769695A (zh) | 2015-01-30 | 2016-10-29 | 边缘网关处的动态数据通路 |
CN201680069286.6A Active CN108293021B (zh) | 2015-01-30 | 2016-10-29 | 边缘网关处的动态数据通路 |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211107867.8A Active CN115442303B (zh) | 2015-01-30 | 2016-01-29 | 具有多个路由部件的逻辑路由器 |
CN202211107837.7A Active CN115442302B (zh) | 2015-01-30 | 2016-01-29 | 具有多个路由部件的逻辑路由器 |
CN201680006264.5A Active CN107210959B (zh) | 2015-01-30 | 2016-01-29 | 具有多个路由部件的逻辑路由器 |
CN202010831065.6A Active CN111865775B (zh) | 2015-01-30 | 2016-01-29 | 具有多个路由部件的逻辑路由器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680069286.6A Active CN108293021B (zh) | 2015-01-30 | 2016-10-29 | 边缘网关处的动态数据通路 |
Country Status (7)
Country | Link |
---|---|
US (24) | US10129180B2 (zh) |
EP (4) | EP3251306B1 (zh) |
JP (3) | JP6908525B2 (zh) |
CN (6) | CN115442303B (zh) |
AU (5) | AU2016211222B2 (zh) |
CA (2) | CA2974535C (zh) |
WO (4) | WO2016123550A1 (zh) |
Families Citing this family (209)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8560634B2 (en) * | 2007-10-17 | 2013-10-15 | Dispersive Networks, Inc. | Apparatus, systems and methods utilizing dispersive networking |
US9882713B1 (en) | 2013-01-30 | 2018-01-30 | vIPtela Inc. | Method and system for key generation, distribution and management |
US10348767B1 (en) * | 2013-02-26 | 2019-07-09 | Zentera Systems, Inc. | Cloud over IP session layer network |
US9225638B2 (en) | 2013-05-09 | 2015-12-29 | Vmware, Inc. | Method and system for service switching using service tags |
US10033693B2 (en) | 2013-10-01 | 2018-07-24 | Nicira, Inc. | Distributed identity-based firewalls |
US9910686B2 (en) | 2013-10-13 | 2018-03-06 | Nicira, Inc. | Bridging between network segments with a logical router |
JP6510167B2 (ja) * | 2013-10-30 | 2019-05-08 | 京セラ株式会社 | 通信装置、通信システム、通信制御方法、及び通信制御プログラム |
US9467478B1 (en) | 2013-12-18 | 2016-10-11 | vIPtela Inc. | Overlay management protocol for secure routing based on an overlay network |
US9419855B2 (en) | 2014-03-14 | 2016-08-16 | Nicira, Inc. | Static routes for logical routers |
US9647883B2 (en) | 2014-03-21 | 2017-05-09 | Nicria, Inc. | Multiple levels of logical routers |
US9893988B2 (en) | 2014-03-27 | 2018-02-13 | Nicira, Inc. | Address resolution using multiple designated instances of a logical router |
EP3175582B1 (en) * | 2014-07-28 | 2017-09-06 | Telefonaktiebolaget LM Ericsson (publ) | Automated flow devolvement in an aggregate flow environment |
US10511458B2 (en) | 2014-09-30 | 2019-12-17 | Nicira, Inc. | Virtual distributed bridging |
US10225137B2 (en) | 2014-09-30 | 2019-03-05 | Nicira, Inc. | Service node selection by an inline service switch |
US10250443B2 (en) | 2014-09-30 | 2019-04-02 | Nicira, Inc. | Using physical location to modify behavior of a distributed virtual network element |
US9755898B2 (en) | 2014-09-30 | 2017-09-05 | Nicira, Inc. | Elastically managing a service node group |
US9774537B2 (en) | 2014-09-30 | 2017-09-26 | Nicira, Inc. | Dynamically adjusting load balancing |
US9798377B2 (en) | 2014-10-08 | 2017-10-24 | Apple Inc. | Methods and apparatus for recovering errors with an inter-processor communication link between independently operable processors |
US11533255B2 (en) | 2014-11-14 | 2022-12-20 | Nicira, Inc. | Stateful services on stateless clustered edge |
US10129180B2 (en) | 2015-01-30 | 2018-11-13 | Nicira, Inc. | Transit logical switch within logical router |
US10594743B2 (en) | 2015-04-03 | 2020-03-17 | Nicira, Inc. | Method, apparatus, and system for implementing a content switch |
IL238690B (en) | 2015-05-07 | 2019-07-31 | Mellanox Technologies Ltd | Network-based computational accelerator |
US9558029B2 (en) | 2015-05-17 | 2017-01-31 | Nicira, Inc. | Logical processing for containers |
US10243848B2 (en) | 2015-06-27 | 2019-03-26 | Nicira, Inc. | Provisioning logical entities in a multi-datacenter environment |
US10361952B2 (en) | 2015-06-30 | 2019-07-23 | Nicira, Inc. | Intermediate logical interfaces in a virtual distributed router environment |
US10230629B2 (en) | 2015-08-11 | 2019-03-12 | Nicira, Inc. | Static route configuration for logical router |
US10075363B2 (en) | 2015-08-31 | 2018-09-11 | Nicira, Inc. | Authorization for advertised routes among logical routers |
US9923818B2 (en) * | 2015-09-14 | 2018-03-20 | Citrix Systems, Inc. | Systems and methods of achieving equal distribution of packets in a multicore system which acts as a tunnel end point |
US10498624B2 (en) * | 2015-10-05 | 2019-12-03 | Unisys Corporation | Systems and methods for adaptive router failover in Linux-based computing systems |
US10095535B2 (en) | 2015-10-31 | 2018-10-09 | Nicira, Inc. | Static route types for logical routers |
US10078527B2 (en) | 2015-11-01 | 2018-09-18 | Nicira, Inc. | Securing a managed forwarding element that operates within a data compute node |
US10324746B2 (en) | 2015-11-03 | 2019-06-18 | Nicira, Inc. | Extended context delivery for context-based authorization |
US10063469B2 (en) | 2015-12-16 | 2018-08-28 | Nicira, Inc. | Forwarding element implementation for containers |
US9980303B2 (en) | 2015-12-18 | 2018-05-22 | Cisco Technology, Inc. | Establishing a private network using multi-uplink capable network devices |
KR101835315B1 (ko) * | 2016-03-07 | 2018-03-08 | 주식회사 윈스 | Ips 스위치 장치 및 처리 방법 |
US10063457B2 (en) * | 2016-03-29 | 2018-08-28 | Juniper Networks, Inc. | Method, system, and apparatus for improving forwarding capabilities during route convergence |
US10419361B2 (en) * | 2016-03-31 | 2019-09-17 | Alibaba Group Holding Limited | Interworking between physical network and virtual network |
US10243916B2 (en) | 2016-04-07 | 2019-03-26 | Cisco Technology, Inc. | Control plane based technique for handling multi-destination traffic in overlay networks |
US10469343B2 (en) | 2016-05-04 | 2019-11-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Path continuity determination in an aggregate flow environment |
US10153973B2 (en) | 2016-06-29 | 2018-12-11 | Nicira, Inc. | Installation of routing tables for logical router in route server mode |
US10554549B1 (en) * | 2016-08-05 | 2020-02-04 | Cisco Technology, Inc. | DCI stitching for data center overlays |
US10193749B2 (en) | 2016-08-27 | 2019-01-29 | Nicira, Inc. | Managed forwarding element executing in public cloud data compute node without overlay network |
EP3485610B1 (en) | 2016-08-27 | 2020-06-10 | Nicira Inc. | Extension of network control system into public cloud |
CN106341402B (zh) * | 2016-08-30 | 2019-11-12 | 中国民生银行股份有限公司 | 基于多架构分布式缓存的处理方法和装置 |
US10454758B2 (en) | 2016-08-31 | 2019-10-22 | Nicira, Inc. | Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP |
US10104177B2 (en) * | 2016-09-30 | 2018-10-16 | Hughes Network Systems, Llc | Distributed gateways with centralized data center for high throughput satellite (HTS) spot beam network |
US10341236B2 (en) | 2016-09-30 | 2019-07-02 | Nicira, Inc. | Anycast edge service gateways |
US11303701B2 (en) | 2016-12-11 | 2022-04-12 | Nicira Inc. | Handling failure at logical routers |
US10742746B2 (en) | 2016-12-21 | 2020-08-11 | Nicira, Inc. | Bypassing a load balancer in a return path of network traffic |
US10802858B2 (en) | 2016-12-22 | 2020-10-13 | Nicira, Inc. | Collecting and processing contextual attributes on a host |
CN108259325B (zh) * | 2016-12-29 | 2021-07-30 | 中国电信股份有限公司 | 路由维护方法和路由设备 |
US9912739B1 (en) * | 2017-01-12 | 2018-03-06 | Red Hat Israel, Ltd. | Open virtualized multitenant network scheme servicing virtual machine and container based connectivity |
US10756966B2 (en) | 2017-02-22 | 2020-08-25 | Cisco Technology, Inc. | Containerized software architecture for configuration management on network devices |
US10447581B2 (en) | 2017-02-28 | 2019-10-15 | Nicira, Inc. | Failure handling at logical routers according to a non-preemptive mode |
CN106685835B (zh) * | 2017-03-06 | 2019-06-28 | 无锡华云数据技术服务有限公司 | 一种在数据中心的计算节点间实现高速分布式路由的方法 |
CN108667637B (zh) * | 2017-03-28 | 2020-11-06 | 比亚迪股份有限公司 | 基于轨道交通的远程测试方法、网关和系统 |
US10700959B2 (en) | 2017-04-09 | 2020-06-30 | Barefoot Networks, Inc. | Source routing design with simplified forwarding elements |
US11146508B2 (en) * | 2017-05-12 | 2021-10-12 | Xilinx, Inc. | Data processing system |
US11093284B2 (en) * | 2017-05-12 | 2021-08-17 | Xilinx, Inc. | Data processing system |
US10432523B2 (en) | 2017-05-31 | 2019-10-01 | Juniper Networks, Inc. | Routing protocol signaling of multiple next hops and their relationship |
US10382333B2 (en) * | 2017-05-31 | 2019-08-13 | Juniper Networks, Inc. | Fabric path context-based forwarding for virtual nodes |
US10476817B2 (en) | 2017-05-31 | 2019-11-12 | Juniper Networks, Inc. | Transport LSP setup using selected fabric path between virtual nodes |
US10389635B2 (en) | 2017-05-31 | 2019-08-20 | Juniper Networks, Inc. | Advertising selected fabric paths for service routes in virtual nodes |
US10659352B2 (en) | 2017-05-31 | 2020-05-19 | Juniper Networks, Inc. | Signaling private context forwarding tables for a private forwarding layer |
WO2018229745A1 (en) * | 2017-06-16 | 2018-12-20 | Drivenets Ltd. | Parallel information processing on multi-core computing platforms |
CN107241459B (zh) * | 2017-06-26 | 2020-08-04 | 睿哲科技股份有限公司 | 一种基于IPv6实现云平台IP地址复用的装置及操作方法 |
US10432513B2 (en) * | 2017-07-14 | 2019-10-01 | Nicira, Inc. | Asymmetric network elements sharing an anycast address |
US10587434B2 (en) * | 2017-07-14 | 2020-03-10 | Nicira, Inc. | In-band management interface with user space datapath |
CN110915171B (zh) | 2017-07-17 | 2022-02-25 | Nicira股份有限公司 | 分布式多播逻辑路由器 |
US11296984B2 (en) | 2017-07-31 | 2022-04-05 | Nicira, Inc. | Use of hypervisor for active-active stateful network service cluster |
US10951584B2 (en) | 2017-07-31 | 2021-03-16 | Nicira, Inc. | Methods for active-active stateful network service cluster |
US11570092B2 (en) | 2017-07-31 | 2023-01-31 | Nicira, Inc. | Methods for active-active stateful network service cluster |
US20190036770A1 (en) * | 2017-07-31 | 2019-01-31 | Cisco Technology, Inc. | Network route provisioning |
CN109391650B (zh) * | 2017-08-04 | 2020-09-29 | 华为技术有限公司 | 一种建立会话的方法及装置 |
US10810033B2 (en) * | 2017-08-11 | 2020-10-20 | International Business Machines Corporation | Propagating external route changes into a cloud network |
US10567482B2 (en) | 2017-08-24 | 2020-02-18 | Nicira, Inc. | Accessing endpoints in logical networks and public cloud service providers native networks using a single network interface and a single routing table |
CN111052686B (zh) * | 2017-08-27 | 2022-03-29 | Nicira股份有限公司 | 在公共云中执行在线服务的方法和机器可读介质 |
US10277420B2 (en) * | 2017-08-28 | 2019-04-30 | Michael Emory Mazarick | System and method for providing private instances of shared resources using VxLAN |
US10511546B2 (en) | 2017-09-29 | 2019-12-17 | Juniper Networks, Inc. | Connecting virtual nodes in a network device using abstract fabric interfaces |
US11005771B2 (en) | 2017-10-16 | 2021-05-11 | Mellanox Technologies, Ltd. | Computational accelerator for packet payload operations |
US11502948B2 (en) | 2017-10-16 | 2022-11-15 | Mellanox Technologies, Ltd. | Computational accelerator for storage operations |
US10581798B2 (en) * | 2017-10-27 | 2020-03-03 | At&T Intellectual Property I, L.P. | Network based distribution for compute resource and application accessibility |
US10805181B2 (en) | 2017-10-29 | 2020-10-13 | Nicira, Inc. | Service operation chaining |
US10841243B2 (en) * | 2017-11-08 | 2020-11-17 | Mellanox Technologies, Ltd. | NIC with programmable pipeline |
US10511459B2 (en) | 2017-11-14 | 2019-12-17 | Nicira, Inc. | Selection of managed forwarding element for bridge spanning multiple datacenters |
US10374827B2 (en) * | 2017-11-14 | 2019-08-06 | Nicira, Inc. | Identifier that maps to different networks at different datacenters |
US11012420B2 (en) | 2017-11-15 | 2021-05-18 | Nicira, Inc. | Third-party service chaining using packet encapsulation in a flow-based forwarding element |
US10778506B1 (en) | 2017-11-30 | 2020-09-15 | Open Invention Network Llc | Coordinated switch of activity in virtual network function components |
EP3669504B1 (en) | 2017-12-04 | 2022-12-07 | Nicira, Inc. | High availability for stateful services in public cloud logical networks |
US10708240B2 (en) | 2017-12-14 | 2020-07-07 | Mellanox Technologies, Ltd. | Offloading communication security operations to a network interface controller |
CN108156034B (zh) * | 2017-12-22 | 2021-10-01 | 武汉噢易云计算股份有限公司 | 一种基于深度神经网络辅助的报文转发方法和报文转发系统 |
US11201940B2 (en) * | 2018-01-04 | 2021-12-14 | Intel Corporation | Technologies for flow rule aware exact match cache compression |
CN108345502A (zh) * | 2018-01-15 | 2018-07-31 | 中兴飞流信息科技有限公司 | 基于dpdk的资源调度方法、装置、终端设备及可读存储介质 |
US10848461B2 (en) * | 2018-01-26 | 2020-11-24 | Nicira, Inc. | Unified security policies across virtual private clouds with overlapping IP address blocks |
US10797910B2 (en) | 2018-01-26 | 2020-10-06 | Nicira, Inc. | Specifying and utilizing paths through a network |
US10659252B2 (en) | 2018-01-26 | 2020-05-19 | Nicira, Inc | Specifying and utilizing paths through a network |
CN108418798B (zh) * | 2018-02-01 | 2020-10-30 | 烽火通信科技股份有限公司 | 一种bfd慢协商实现系统及实现方法 |
US10791092B2 (en) * | 2018-02-14 | 2020-09-29 | Nicira, Inc. | Firewall rules with expression matching |
US11153122B2 (en) * | 2018-02-19 | 2021-10-19 | Nicira, Inc. | Providing stateful services deployed in redundant gateways connected to asymmetric network |
US10805192B2 (en) | 2018-03-27 | 2020-10-13 | Nicira, Inc. | Detecting failure of layer 2 service using broadcast messages |
US10728174B2 (en) | 2018-03-27 | 2020-07-28 | Nicira, Inc. | Incorporating layer 2 service between two interfaces of gateway device |
US11792307B2 (en) * | 2018-03-28 | 2023-10-17 | Apple Inc. | Methods and apparatus for single entity buffer pool management |
CN108650295A (zh) * | 2018-03-30 | 2018-10-12 | 深圳市风云实业有限公司 | 协议报文跨层通信方法装置及电子设备 |
US10332235B1 (en) | 2018-05-01 | 2019-06-25 | At&T Intellectual Property I, L.P. | Direct memory access for graphics processing unit packet processing |
US11388222B2 (en) * | 2018-05-04 | 2022-07-12 | Verizon Patent And Licensing Inc. | Mobile edge computing |
CN110535813B (zh) * | 2018-05-25 | 2022-04-22 | 网宿科技股份有限公司 | 内核态协议栈与用户态协议栈并存处理方法和装置 |
US11343229B2 (en) | 2018-06-28 | 2022-05-24 | Vmware, Inc. | Managed forwarding element detecting invalid packet addresses |
US11418382B2 (en) * | 2018-07-17 | 2022-08-16 | Vmware, Inc. | Method of cooperative active-standby failover between logical routers based on health of attached services |
IL271826B2 (en) * | 2018-07-26 | 2023-11-01 | Drivenets Ltd | A platform containing several routers |
US10530634B1 (en) * | 2018-07-27 | 2020-01-07 | Vmware, Inc. | Two-channel-based high-availability |
TWI819072B (zh) * | 2018-08-23 | 2023-10-21 | 美商阿爾克斯股份有限公司 | 在網路運算環境中用於避免環路衝突的系統、非暫態電腦可讀取儲存媒體及電腦實現方法 |
EP4243367A3 (en) | 2018-08-24 | 2023-11-15 | VMware, Inc. | Intelligent use of peering in public cloud |
US11374794B2 (en) | 2018-08-24 | 2022-06-28 | Vmware, Inc. | Transitive routing in public cloud |
US11196591B2 (en) | 2018-08-24 | 2021-12-07 | Vmware, Inc. | Centralized overlay gateway in public cloud |
US10846224B2 (en) | 2018-08-24 | 2020-11-24 | Apple Inc. | Methods and apparatus for control of a jointly shared memory-mapped region |
US11595250B2 (en) | 2018-09-02 | 2023-02-28 | Vmware, Inc. | Service insertion at logical network gateway |
US10944673B2 (en) | 2018-09-02 | 2021-03-09 | Vmware, Inc. | Redirection of data messages at logical network gateway |
CN112673596B (zh) * | 2018-09-02 | 2023-05-02 | Vm维尔股份有限公司 | 逻辑网关处的服务插入方法、设备和系统 |
US11044337B2 (en) * | 2018-09-12 | 2021-06-22 | International Business Machines Corporation | Runtime localized messages for cloud services |
CN109412951B (zh) * | 2018-10-12 | 2021-06-22 | 华为技术有限公司 | 一种发送路由信息的方法和装置 |
CN111131044B (zh) * | 2018-10-30 | 2021-10-22 | 华为技术有限公司 | 路由管理方法和装置 |
US10795840B2 (en) | 2018-11-12 | 2020-10-06 | At&T Intellectual Property I, L.P. | Persistent kernel for graphics processing unit direct memory access network packet processing |
US10931560B2 (en) | 2018-11-23 | 2021-02-23 | Vmware, Inc. | Using route type to determine routing protocol behavior |
EP3888308A4 (en) | 2018-11-26 | 2022-09-14 | Arrcus Inc. | LOGICAL ROUTER WITH DISAGGREGATED NETWORK ELEMENTS |
US10824469B2 (en) | 2018-11-28 | 2020-11-03 | Mellanox Technologies, Ltd. | Reordering avoidance for flows during transition between slow-path handling and fast-path handling |
US10797998B2 (en) | 2018-12-05 | 2020-10-06 | Vmware, Inc. | Route server for distributed routers using hierarchical routing protocol |
US10938788B2 (en) | 2018-12-12 | 2021-03-02 | Vmware, Inc. | Static routes for policy-based VPN |
KR102097999B1 (ko) * | 2018-12-28 | 2020-04-07 | 주식회사 아라드네트웍스 | 가상 라우터를 이용한 IP in IP 통신 시스템 |
US11240160B2 (en) | 2018-12-28 | 2022-02-01 | Alibaba Group Holding Limited | Method, apparatus, and computer-readable storage medium for network control |
US11397604B2 (en) | 2019-02-22 | 2022-07-26 | Vmware, Inc. | Service path selection in load balanced manner |
JP7207006B2 (ja) * | 2019-02-25 | 2023-01-18 | 日本電信電話株式会社 | ネットワーク管理装置、方法及びプログラム |
US11258729B2 (en) * | 2019-02-27 | 2022-02-22 | Vmware, Inc. | Deploying a software defined networking (SDN) solution on a host using a single active uplink |
EP3703341A1 (en) * | 2019-02-28 | 2020-09-02 | Rohde & Schwarz GmbH & Co. KG | System for analyzing and interpreting at least one data stream as well as method of automatic configuration of a system |
US11456967B2 (en) * | 2019-03-04 | 2022-09-27 | Arris Enterprises Llc | System and method for increasing flexibility and high availability in remote network devices |
US11184439B2 (en) | 2019-04-01 | 2021-11-23 | Mellanox Technologies, Ltd. | Communication with accelerator via RDMA-based network adapter |
CN110290174B (zh) * | 2019-05-24 | 2021-02-05 | 华为技术有限公司 | 一种主主集群的控制方法以及控制节点 |
US11218559B2 (en) | 2019-05-28 | 2022-01-04 | Red Hat, Inc. | Asymmetric networking proxy |
US10992515B1 (en) * | 2019-06-10 | 2021-04-27 | Cisco Technology, Inc. | Link state tracking for virtual interfaces |
US10979352B2 (en) | 2019-06-14 | 2021-04-13 | Vmware, Inc. | Using a control plane to set a preferred egress point in multi-site logical routers |
US11533259B2 (en) * | 2019-07-24 | 2022-12-20 | Vmware, Inc. | Building a platform to scale control and data plane for virtual network functions |
US11177978B2 (en) | 2019-07-29 | 2021-11-16 | Vmware, Inc. | Connecting virtual computer networks with overlapping IP addresses using transit virtual computer network |
CN111181871B (zh) * | 2019-08-02 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 一种报文传输的方法及相关装置 |
US11411843B2 (en) * | 2019-08-14 | 2022-08-09 | Verizon Patent And Licensing Inc. | Method and system for packet inspection in virtual network service chains |
US11095480B2 (en) * | 2019-08-30 | 2021-08-17 | Vmware, Inc. | Traffic optimization using distributed edge services |
CN112506674B (zh) * | 2019-09-16 | 2024-02-02 | 北京华耀科技有限公司 | Linux系统下用户态TCP/IP协议栈与本地应用通信的系统及方法 |
US11558348B2 (en) | 2019-09-26 | 2023-01-17 | Apple Inc. | Methods and apparatus for emerging use case support in user space networking |
US11829303B2 (en) | 2019-09-26 | 2023-11-28 | Apple Inc. | Methods and apparatus for device driver operation in non-kernel space |
US11140218B2 (en) | 2019-10-30 | 2021-10-05 | Vmware, Inc. | Distributed service chain across multiple clouds |
US11283717B2 (en) | 2019-10-30 | 2022-03-22 | Vmware, Inc. | Distributed fault tolerant service chain |
CN110784364B (zh) * | 2019-11-07 | 2022-08-05 | 北京博睿宏远数据科技股份有限公司 | 一种数据监测方法、装置、存储介质及终端 |
CN110995581B (zh) * | 2019-12-19 | 2022-07-19 | 锐捷网络股份有限公司 | 一种防止路由黑洞的方法、装置、电子设备及存储介质 |
US11539718B2 (en) | 2020-01-10 | 2022-12-27 | Vmware, Inc. | Efficiently performing intrusion detection |
US11223494B2 (en) | 2020-01-13 | 2022-01-11 | Vmware, Inc. | Service insertion for multicast traffic at boundary |
CN117221214A (zh) | 2020-01-14 | 2023-12-12 | Vm维尔股份有限公司 | 在物理和逻辑网络之间提供有状态服务的透明隔离区 |
US11240154B2 (en) * | 2020-01-14 | 2022-02-01 | Cisco Technology, Inc. | Dynamic hardware forwarding pipeline compression |
US11411777B2 (en) | 2020-01-14 | 2022-08-09 | Vmware, Inc. | Port mapping for bonded interfaces of ECMP group |
US11153406B2 (en) | 2020-01-20 | 2021-10-19 | Vmware, Inc. | Method of network performance visualization of service function chains |
US11659061B2 (en) | 2020-01-20 | 2023-05-23 | Vmware, Inc. | Method of adjusting service function chains to improve network performance |
WO2021196080A1 (en) | 2020-04-01 | 2021-10-07 | Vmware Information Technology (China) Co., Ltd. | Auto deploying network elements for heterogeneous compute elements |
US11088919B1 (en) | 2020-04-06 | 2021-08-10 | Vmware, Inc. | Data structure for defining multi-site logical network |
US11777793B2 (en) | 2020-04-06 | 2023-10-03 | Vmware, Inc. | Location criteria for security groups |
US11088902B1 (en) | 2020-04-06 | 2021-08-10 | Vmware, Inc. | Synchronization of logical network state between global and local managers |
US11528219B2 (en) | 2020-04-06 | 2022-12-13 | Vmware, Inc. | Using applied-to field to identify connection-tracking records for different interfaces |
US11316773B2 (en) | 2020-04-06 | 2022-04-26 | Vmware, Inc. | Configuring edge device with multiple routing tables |
US11381456B2 (en) | 2020-04-06 | 2022-07-05 | Vmware, Inc. | Replication of logical network data between global managers |
US11233824B2 (en) | 2020-04-06 | 2022-01-25 | Vmware, Inc. | Site aware policy-based proximity routing and policy-based proximity routing |
CN111585979B (zh) * | 2020-04-22 | 2020-12-18 | 广州锦行网络科技有限公司 | 一种基于网络映射的复杂多构网络隔离技术实现方法 |
CN111563281B (zh) * | 2020-04-30 | 2023-10-27 | 北京中科晶上科技股份有限公司 | 一种支持多种加解密算法的处理器及其实现方法 |
CN113630310B (zh) * | 2020-05-06 | 2024-02-02 | 北京农信数智科技有限公司 | 一种分布式高可用网关系统 |
CN113691410B (zh) * | 2020-05-19 | 2023-05-12 | 花瓣云科技有限公司 | 网络性能数据的获取方法、装置和服务器 |
US11121956B1 (en) * | 2020-05-22 | 2021-09-14 | Arista Networks, Inc. | Methods and systems for optimizing bidirectional forwarding detection in hardware |
US11606302B2 (en) | 2020-06-12 | 2023-03-14 | Apple Inc. | Methods and apparatus for flow-based batching and processing |
WO2021263047A1 (en) | 2020-06-24 | 2021-12-30 | Juniper Networks, Inc. | Layer-2 network extension over layer-3 network using encapsulation |
US11848980B2 (en) * | 2020-07-09 | 2023-12-19 | Boray Data Technology Co. Ltd. | Distributed pipeline configuration in a distributed computing system |
US11606294B2 (en) | 2020-07-16 | 2023-03-14 | Vmware, Inc. | Host computer configured to facilitate distributed SNAT service |
US11616755B2 (en) | 2020-07-16 | 2023-03-28 | Vmware, Inc. | Facilitating distributed SNAT service |
US11362863B2 (en) | 2020-07-21 | 2022-06-14 | Vmware, Inc. | Handling packets travelling from logical service routers (SRs) for active-active stateful service insertion |
US11611613B2 (en) | 2020-07-24 | 2023-03-21 | Vmware, Inc. | Policy-based forwarding to a load balancer of a load balancing cluster |
US11108728B1 (en) * | 2020-07-24 | 2021-08-31 | Vmware, Inc. | Fast distribution of port identifiers for rule processing |
US11902050B2 (en) | 2020-07-28 | 2024-02-13 | VMware LLC | Method for providing distributed gateway service at host computer |
US11451413B2 (en) | 2020-07-28 | 2022-09-20 | Vmware, Inc. | Method for advertising availability of distributed gateway service and machines at host computer |
US11803408B2 (en) | 2020-07-29 | 2023-10-31 | Vmware, Inc. | Distributed network plugin agents for container networking |
IL276538B2 (en) | 2020-08-05 | 2023-08-01 | Mellanox Technologies Ltd | A cryptographic device for data communication |
CN114095153A (zh) | 2020-08-05 | 2022-02-25 | 迈络思科技有限公司 | 密码数据通信装置 |
US11671359B2 (en) * | 2020-08-07 | 2023-06-06 | Telia Company Ab | Methods and apparatuses in a network comprising a plurality of switch devices |
US11775359B2 (en) | 2020-09-11 | 2023-10-03 | Apple Inc. | Methods and apparatuses for cross-layer processing |
US11954540B2 (en) | 2020-09-14 | 2024-04-09 | Apple Inc. | Methods and apparatus for thread-level execution in non-kernel space |
US11799986B2 (en) | 2020-09-22 | 2023-10-24 | Apple Inc. | Methods and apparatus for thread level execution in non-kernel space |
US11343227B2 (en) | 2020-09-28 | 2022-05-24 | Vmware, Inc. | Application deployment in multi-site virtualization infrastructure |
CN112202640B (zh) * | 2020-09-30 | 2022-02-22 | 中国工商银行股份有限公司 | 应用于容器云平台的监控方法和装置 |
US11734043B2 (en) | 2020-12-15 | 2023-08-22 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
US11611625B2 (en) | 2020-12-15 | 2023-03-21 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
US11736413B2 (en) * | 2021-01-15 | 2023-08-22 | Vmware, Inc. | Programmable virtual network interface controller (VNIC) |
US11934658B2 (en) | 2021-03-25 | 2024-03-19 | Mellanox Technologies, Ltd. | Enhanced storage protocol emulation in a peripheral device |
US11934333B2 (en) | 2021-03-25 | 2024-03-19 | Mellanox Technologies, Ltd. | Storage protocol emulation in a peripheral device |
CN113132382B (zh) * | 2021-04-19 | 2022-09-02 | 中文出版集团有限公司 | 一种智能计算机网络信息安全控制器 |
US11477270B1 (en) * | 2021-07-06 | 2022-10-18 | Vmware, Inc. | Seamless hand-off of data traffic in public cloud environments |
US11909637B2 (en) * | 2021-07-14 | 2024-02-20 | VMware LLC | Orchestration of tenant overlay network constructs |
US11824780B2 (en) | 2021-07-22 | 2023-11-21 | Vmware, Inc. | Managing tunnel interface selection between gateways in a computing environment |
US11882051B2 (en) | 2021-07-26 | 2024-01-23 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
US11876719B2 (en) | 2021-07-26 | 2024-01-16 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
US11949604B2 (en) * | 2021-10-06 | 2024-04-02 | Inernational Business Machines Corporation | Integrated network switch operation |
US11916879B2 (en) * | 2022-01-03 | 2024-02-27 | VMware LLC | Performing firewall operations by sharing metadata between firewall processes |
US11799761B2 (en) | 2022-01-07 | 2023-10-24 | Vmware, Inc. | Scaling edge services with minimal disruption |
US11962564B2 (en) | 2022-02-15 | 2024-04-16 | VMware LLC | Anycast address for network address translation at edge |
CN114827017B (zh) * | 2022-03-31 | 2024-01-30 | 北京声智科技有限公司 | Kafka集群的通信方法、装置、电子设备和存储介质 |
US11956164B2 (en) * | 2022-04-29 | 2024-04-09 | Hewlett Packard Enterprise Development Lp | Remote management of a switch stack |
WO2024076337A1 (en) * | 2022-10-03 | 2024-04-11 | Zeku, Inc. | Apparatus and method for adaptive activation/deactivation of an uplink layer 2 datapath and hardware threads |
US12007921B2 (en) | 2022-11-02 | 2024-06-11 | Mellanox Technologies, Ltd. | Programmable user-defined peripheral-bus device implementation using data-plane accelerator (DPA) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595918A (zh) * | 2003-10-29 | 2005-03-16 | 深圳市研祥智能科技股份有限公司 | 多功能宽带网关及其通信方法 |
CN103888555A (zh) * | 2014-03-26 | 2014-06-25 | 清华大学 | 一种IPv4/IPv6无状态翻译算法 |
US20150063364A1 (en) * | 2013-09-04 | 2015-03-05 | Nicira, Inc. | Multiple Active L3 Gateways for Logical Networks |
US20150271011A1 (en) * | 2014-03-21 | 2015-09-24 | Nicira, Inc. | Dynamic routing for logical routers |
US20150271303A1 (en) * | 2014-03-21 | 2015-09-24 | Nicira, Inc. | Multiple levels of logical routers |
Family Cites Families (432)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1068461B (zh) | 1957-04-18 | 1959-11-05 | ||
DE1776914U (de) | 1958-02-17 | 1958-11-06 | Licentia Gmbh | Befestigung des magnetankers am beweglichen schaltteil von elektromagneten, insbesondere bei schuetzen. |
US3027260A (en) | 1960-01-05 | 1962-03-27 | Procter & Gamble | Mayonnaise |
WO1992005485A2 (en) | 1990-09-17 | 1992-04-02 | Cabletron Systems, Inc. | Network management system using model-based intelligence |
US5742760A (en) | 1992-05-12 | 1998-04-21 | Compaq Computer Corporation | Network packet switch using shared memory for repeating and bridging packets at media rate |
US5485455A (en) * | 1994-01-28 | 1996-01-16 | Cabletron Systems, Inc. | Network having secure fast packet switching and guaranteed quality of service |
SE9402059D0 (sv) | 1994-06-13 | 1994-06-13 | Ellemtel Utvecklings Ab | Sätt och anordning vid telekommunikation |
US5751967A (en) | 1994-07-25 | 1998-05-12 | Bay Networks Group, Inc. | Method and apparatus for automatically configuring a network device to support a virtual network |
US5550816A (en) | 1994-12-29 | 1996-08-27 | Storage Technology Corporation | Method and apparatus for virtual switching |
US6418324B1 (en) | 1995-06-01 | 2002-07-09 | Padcom, Incorporated | Apparatus and method for transparent wireless communication between a remote device and host system |
US5584295A (en) | 1995-09-01 | 1996-12-17 | Analogic Corporation | System for measuring the period of a quasi-periodic signal |
US6035105A (en) | 1996-01-02 | 2000-03-07 | Cisco Technology, Inc. | Multiple VLAN architecture system |
US6108304A (en) | 1996-03-08 | 2000-08-22 | Abe; Hajime | Packet switching network, packet switching equipment, and network management equipment |
US6085238A (en) * | 1996-04-23 | 2000-07-04 | Matsushita Electric Works, Ltd. | Virtual LAN system |
JPH09307587A (ja) | 1996-05-09 | 1997-11-28 | Fujitsu Ltd | 交換機 |
US6456624B1 (en) | 1997-10-29 | 2002-09-24 | Enterasys Networks, Inc. | Network address resolve blocker |
US6446149B1 (en) | 1998-03-03 | 2002-09-03 | Compaq Information Technologies Group, L.P. | Self-modifying synchronization memory address space and protocol for communication between multiple busmasters of a computer system |
JP3609256B2 (ja) | 1998-05-19 | 2005-01-12 | 株式会社日立製作所 | ネットワーク管理装置,ノード装置及びネットワーク管理システム |
US6424659B2 (en) | 1998-07-17 | 2002-07-23 | Network Equipment Technologies, Inc. | Multi-layer switching apparatus and method |
US6584102B1 (en) | 1998-12-21 | 2003-06-24 | At&T Corp. | Communication network apparatus and method |
US6950428B1 (en) | 1998-12-30 | 2005-09-27 | Hewlett-Packard Development Company, L.P. | System and method for configuring adaptive sets of links between routers in a system area network (SAN) |
US6636498B1 (en) | 1999-01-08 | 2003-10-21 | Cisco Technology, Inc. | Mobile IP mobile router |
JP2000244567A (ja) * | 1999-02-23 | 2000-09-08 | Hitachi Ltd | ルータネットワーク管理方法 |
EP1171976A2 (en) * | 1999-02-23 | 2002-01-16 | Alcatel Internetworking, Inc. | Multi-service network switch |
US6678274B1 (en) | 1999-07-30 | 2004-01-13 | Riverstone Networks, Inc. | Method and system for managing forwarding tables |
US6914907B1 (en) | 1999-08-05 | 2005-07-05 | Alcatel Canada Inc. | Method and apparatus for providing multi-cast transmissions using a distributed router |
US7020697B1 (en) | 1999-10-01 | 2006-03-28 | Accenture Llp | Architectures for netcentric computing systems |
US6963585B1 (en) | 1999-10-21 | 2005-11-08 | International Business Machines Corporation | Method and system for establishing a virtual path capability in a frame relay network |
US6680934B1 (en) | 1999-12-02 | 2004-01-20 | Nortel Networks Limited | System, device and method for expediting control flow in a communication system |
US6977924B1 (en) * | 1999-12-22 | 2005-12-20 | Alcatel | Control and distribution protocol for a portable router framework |
US6904593B1 (en) * | 2000-03-24 | 2005-06-07 | Hewlett-Packard Development Company, L.P. | Method of administering software components using asynchronous messaging in a multi-platform, multi-programming language environment |
US8204082B2 (en) | 2000-06-23 | 2012-06-19 | Cloudshield Technologies, Inc. | Transparent provisioning of services over a network |
US20020093952A1 (en) | 2000-06-30 | 2002-07-18 | Gonda Rumi Sheryar | Method for managing circuits in a multistage cross connect |
US7389358B1 (en) | 2000-09-13 | 2008-06-17 | Fortinet, Inc. | Distributed virtual system to support managed, network-based services |
US6618397B1 (en) | 2000-10-05 | 2003-09-09 | Provisionpoint Communications, Llc. | Group packet encapsulation and compression system and method |
US7225270B2 (en) | 2000-10-17 | 2007-05-29 | Cisco Technology, Inc. | Selective diversion and injection of communication traffic |
US9639553B2 (en) | 2000-11-02 | 2017-05-02 | Oracle International Corporation | TCP/UDP acceleration |
JP4225681B2 (ja) | 2000-12-06 | 2009-02-18 | 富士通株式会社 | 仮想閉域網構築方法及び装置並びに中継装置 |
US7260648B2 (en) | 2001-01-25 | 2007-08-21 | Ericsson, Inc. | Extension of address resolution protocol (ARP) for internet protocol (IP) virtual networks |
US6999454B1 (en) | 2001-02-09 | 2006-02-14 | Nortel Networks Limited | Information routing system and apparatus |
US6785843B1 (en) | 2001-02-23 | 2004-08-31 | Mcrae Andrew | Data plane restart without state change in a control plane of an intermediate network node |
US7107356B2 (en) | 2001-03-07 | 2006-09-12 | Lucent Technologies Inc. | Translator for enabling logical partitioning of a network switch |
US7069337B2 (en) | 2001-03-20 | 2006-06-27 | Mci, Inc. | Policy-based synchronization of per-class resources between routers in a data network |
US7209439B2 (en) | 2001-03-20 | 2007-04-24 | Mci, Llc | Pool-based resource management in a data network |
US7269157B2 (en) | 2001-04-10 | 2007-09-11 | Internap Network Services Corporation | System and method to assure network service levels with intelligent routing |
US7620363B2 (en) * | 2001-05-16 | 2009-11-17 | Aol Llc | Proximity synchronization of audio content among multiple playback and storage devices |
US7065482B2 (en) | 2001-05-17 | 2006-06-20 | International Business Machines Corporation | Internet traffic analysis tool |
US7102996B1 (en) | 2001-05-24 | 2006-09-05 | F5 Networks, Inc. | Method and system for scaling network traffic managers |
US7483411B2 (en) | 2001-06-04 | 2009-01-27 | Nec Corporation | Apparatus for public access mobility LAN and method of operation thereof |
US7881208B1 (en) | 2001-06-18 | 2011-02-01 | Cisco Technology, Inc. | Gateway load balancing protocol |
US7126944B2 (en) | 2001-07-05 | 2006-10-24 | Intel Corporation | Routing packets across multiple forwarding elements |
US7630358B1 (en) | 2001-07-09 | 2009-12-08 | Sable Networks, Inc. | Mechanism for implementing multiple logical routers within a single physical router |
US7774440B1 (en) * | 2001-07-25 | 2010-08-10 | Scalable Network Technologies, Inc. | Method and system for enhancing performance of a physical network under real-time control using simulation of a reference model |
JP2003069609A (ja) | 2001-08-23 | 2003-03-07 | Fujitsu Ltd | 仮想私設網サービスを提供するシステム |
KR100450951B1 (ko) | 2001-10-05 | 2004-10-06 | 삼성전자주식회사 | 대용량 평행 라우터용 리던던시 기계화 프로토콜 |
US7277383B2 (en) | 2001-10-05 | 2007-10-02 | Samsung Electronics Co., Ltd. | Redundancy mechanization protocol for a massively parallel router |
JP3879471B2 (ja) | 2001-10-10 | 2007-02-14 | 株式会社日立製作所 | 計算機資源割当方法 |
US7194553B2 (en) | 2001-10-16 | 2007-03-20 | Microsoft Corporation | Resolving virtual network names |
US7200144B2 (en) | 2001-10-18 | 2007-04-03 | Qlogic, Corp. | Router and methods using network addresses for virtualization |
US7447197B2 (en) | 2001-10-18 | 2008-11-04 | Qlogic, Corporation | System and method of providing network node services |
US7133365B2 (en) | 2001-11-02 | 2006-11-07 | Internap Network Services Corporation | System and method to provide routing control of information over networks |
EP1331793A1 (en) | 2002-01-24 | 2003-07-30 | Alcatel Canada Inc. | Method for distributing aggregate route information |
US7801155B2 (en) | 2002-03-01 | 2010-09-21 | Verizon Business Global Llc | Resource allocation in virtual routers |
US6941487B1 (en) | 2002-03-07 | 2005-09-06 | Riverstone Networks, Inc. | Method, system, and computer program product for providing failure protection in a network node |
JP3904968B2 (ja) | 2002-04-19 | 2007-04-11 | 日本電信電話株式会社 | Vpnシステムおよびルータ |
US7197572B2 (en) | 2002-05-06 | 2007-03-27 | Qlogic, Corporation | System and method for implementing logical switches in a network system |
US20030231632A1 (en) | 2002-06-13 | 2003-12-18 | International Business Machines Corporation | Method and system for packet-level routing |
US6907039B2 (en) | 2002-07-20 | 2005-06-14 | Redback Networks Inc. | Method and apparatus for routing and forwarding between virtual routers within a single network element |
JP3801129B2 (ja) * | 2002-10-09 | 2006-07-26 | 日本電気株式会社 | ルータパラメータ設定システム及びその方法 |
KR100463417B1 (ko) | 2002-10-10 | 2004-12-23 | 한국전자통신연구원 | 상관함수의 최대값과 그의 후보값의 비를 이용한 피치검출 방법 및 그 장치 |
US20040073659A1 (en) | 2002-10-15 | 2004-04-15 | Carl Rajsic | Method and apparatus for managing nodes in a network |
US7181742B2 (en) * | 2002-11-19 | 2007-02-20 | Intel Corporation | Allocation of packets and threads |
US20040098505A1 (en) * | 2002-11-20 | 2004-05-20 | Clemmensen Daniel G. | Forwarding system with multiple logical sub-system functionality |
US7224668B1 (en) | 2002-11-27 | 2007-05-29 | Cisco Technology, Inc. | Control plane security and traffic flow management |
JP3689083B2 (ja) * | 2002-12-10 | 2005-08-31 | 株式会社東芝 | ネットワークシステム及びノード装置 |
KR100542341B1 (ko) * | 2003-02-19 | 2006-01-10 | 삼성전자주식회사 | 비쥐피 프로토콜을 분산 처리하는 장치 및 그 방법 |
US20040230659A1 (en) * | 2003-03-12 | 2004-11-18 | Chase Michael John | Systems and methods of media messaging |
US7783739B1 (en) * | 2003-03-21 | 2010-08-24 | The United States Of America As Represented By The United States Department Of Energy | High-speed and high-fidelity system and method for collecting network traffic |
JP4157409B2 (ja) | 2003-03-31 | 2008-10-01 | 富士通株式会社 | 仮想パス構築装置および仮想パス構築方法 |
US7283473B2 (en) | 2003-04-10 | 2007-10-16 | International Business Machines Corporation | Apparatus, system and method for providing multiple logical channel adapters within a single physical channel adapter in a system area network |
KR20060025135A (ko) | 2003-04-21 | 2006-03-20 | 네트셀 코포레이션 | 재구성 가능한 데이터 경로를 갖는 디스크 어레이 제어기 |
US7792987B1 (en) | 2003-04-21 | 2010-09-07 | Juniper Networks, Inc. | Supporting virtual private networks using a first network topology for forwarding and a subset of the first network topology or a smaller topology for signaling |
US7710874B2 (en) | 2003-06-04 | 2010-05-04 | International Business Machines Corporation | System and method for automatic management of many computer data processing system pipes |
JP4278445B2 (ja) | 2003-06-18 | 2009-06-17 | 株式会社日立製作所 | ネットワークシステム及びスイッチ |
US7356818B2 (en) | 2003-06-24 | 2008-04-08 | International Business Machines Corporation | Virtual machine communicating to external device without going through other virtual machines by using a list of IP addresses managed only by a single virtual machine monitor |
US7463579B2 (en) | 2003-07-11 | 2008-12-09 | Nortel Networks Limited | Routed split multilink trunking |
US20050018669A1 (en) | 2003-07-25 | 2005-01-27 | International Business Machines Corporation | Infiniband subnet management queue pair emulation for multiple logical ports on a single physical port |
US7697527B2 (en) | 2003-07-30 | 2010-04-13 | Nortel Networks Limited | Method and apparatus for direct frame switching using frame contained destination information |
US7593346B2 (en) | 2003-07-31 | 2009-09-22 | Cisco Technology, Inc. | Distributing and balancing traffic flow in a virtual gateway |
US8776050B2 (en) | 2003-08-20 | 2014-07-08 | Oracle International Corporation | Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes |
US7366181B2 (en) | 2003-09-06 | 2008-04-29 | Fujitsu Limited | Virtual private network (VPN) with channelized ethernet over sonet (EoS) interface and method |
US7342916B2 (en) | 2003-09-10 | 2008-03-11 | Intel Corporation | Method, apparatus and system for optimizing routing of mobile IP packets |
US20050074003A1 (en) * | 2003-10-02 | 2005-04-07 | Ball David Alexander | Distributed software architecture for implementing BGP |
US20050105538A1 (en) | 2003-10-14 | 2005-05-19 | Ananda Perera | Switching system with distributed switching fabric |
US8009556B2 (en) | 2003-10-17 | 2011-08-30 | Ip Infusion, Inc. | System and method for providing redundant routing capabilities for a network node |
US7555002B2 (en) | 2003-11-06 | 2009-06-30 | International Business Machines Corporation | Infiniband general services queue pair virtualization for multiple logical ports on a single physical port |
US8146148B2 (en) | 2003-11-19 | 2012-03-27 | Cisco Technology, Inc. | Tunneled security groups |
JP4231773B2 (ja) | 2003-12-01 | 2009-03-04 | 株式会社日立コミュニケーションテクノロジー | Vrの機密性を維持したvrrp技術 |
US8095640B2 (en) | 2003-12-12 | 2012-01-10 | Alcatel Lucent | Distributed architecture for real-time flow measurement at the network domain level |
US7450598B2 (en) | 2003-12-15 | 2008-11-11 | At&T Intellectual Property I, L.P. | System and method to provision MPLS/VPN network |
US7478173B1 (en) | 2003-12-18 | 2009-01-13 | Wmware, Inc. | Method and system for sharing a network connection in a virtual computer system |
US9032095B1 (en) | 2004-01-06 | 2015-05-12 | Juniper Networks, Inc. | Routing device having multiple logical routers |
US7391771B2 (en) | 2004-01-23 | 2008-06-24 | Metro Packet Systems Inc. | Method of sending information through a tree and ring topology of a network system |
US7996631B1 (en) * | 2004-02-17 | 2011-08-09 | Oracle America, Inc. | System and method for accessing storage devices attached to a stateless client |
RU2006143768A (ru) | 2004-05-12 | 2008-06-20 | Алькатель (Fr) | Ароматическое ограничение сетевого нарушителя |
US8422500B2 (en) | 2004-07-02 | 2013-04-16 | Rockstar Consortium Us Lp | VLAN support of differentiated services |
US7787360B2 (en) | 2004-07-23 | 2010-08-31 | Cisco Technology, Inc. | System and method for preserving multicast data forwarding during control failures in a router |
EP1624615B1 (en) | 2004-08-02 | 2008-02-20 | Alcatel Lucent | Shared resources in a multi manager environment |
US7706302B2 (en) | 2004-09-14 | 2010-04-27 | Alcatel Lucent | Optimization of routing forwarding database in a network processor |
US7512738B2 (en) * | 2004-09-30 | 2009-03-31 | Intel Corporation | Allocating call stack frame entries at different memory levels to functions in a program |
GB2419703A (en) | 2004-10-29 | 2006-05-03 | Hewlett Packard Development Co | Isolated virtual overlay infrastructures each having an interface to control interaction with others |
US8068408B2 (en) | 2004-11-01 | 2011-11-29 | Alcatel Lucent | Softrouter protocol disaggregation |
US9014181B2 (en) | 2004-11-01 | 2015-04-21 | Alcatel Lucent | Softrouter separate control network |
US8458467B2 (en) | 2005-06-21 | 2013-06-04 | Cisco Technology, Inc. | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element |
JP2008524916A (ja) | 2004-12-21 | 2008-07-10 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 通信システムにおけるパケットフローに関する装置及び方法 |
CA2590669A1 (en) | 2004-12-31 | 2006-07-06 | British Telecommunications Public Limited Company | Method to run a connectionless network as a connection oriented network |
JP4733399B2 (ja) | 2005-01-28 | 2011-07-27 | 株式会社日立製作所 | 計算機システム、計算機、ストレージ装置及び管理端末 |
US7606231B2 (en) * | 2005-02-18 | 2009-10-20 | Broadcom Corporation | Pipeline architecture for a network device |
US8254285B2 (en) | 2005-02-25 | 2012-08-28 | Ip Infusion, Inc. | Hardware abstraction layer |
US7936770B1 (en) | 2005-03-08 | 2011-05-03 | Enterasys Networks, Inc. | Method and apparatus of virtual class of service and logical queue representation through network traffic distribution over multiple port interfaces |
US20070064673A1 (en) | 2005-03-10 | 2007-03-22 | Nehru Bhandaru | Flexible, scalable, wireless data forwarding and mobility for secure wireless networks |
US20060203774A1 (en) | 2005-03-10 | 2006-09-14 | Nokia Corporation | System, method and apparatus for selecting a remote tunnel endpoint for accessing packet data services |
FR2883437B1 (fr) | 2005-03-16 | 2007-08-03 | Wavestorm Sarl | Dispositif et procede de communication dans un reseau |
US7414975B2 (en) | 2005-03-24 | 2008-08-19 | Ixia | Protocol stack |
JP4016998B2 (ja) * | 2005-06-22 | 2007-12-05 | ヤマハ株式会社 | 通信装置およびプログラム |
US7802000B1 (en) | 2005-08-01 | 2010-09-21 | Vmware | Virtual network in server farm |
US8149737B2 (en) | 2005-08-09 | 2012-04-03 | Motorola Solutions, Inc. | Method and system for data transmission in a wireless network |
US8799431B2 (en) | 2005-08-15 | 2014-08-05 | Toutvirtual Inc. | Virtual systems management |
US7817541B2 (en) | 2005-09-16 | 2010-10-19 | Acme Packet, Inc. | Method and system of providing redundancy in a network device |
JP2007135109A (ja) | 2005-11-11 | 2007-05-31 | Hitachi Ltd | 仮想ネットワーク管理方法、仮想ネットワーク管理プログラム、仮想ネットワーク管理システムおよび仮想ネットワーク管理手段 |
WO2008048304A2 (en) * | 2005-12-01 | 2008-04-24 | Firestar Software, Inc. | System and method for exchanging information among exchange applications |
US8441919B2 (en) | 2006-01-18 | 2013-05-14 | Cisco Technology, Inc. | Dynamic protection against failure of a head-end node of one or more TE-LSPs |
US8620994B2 (en) * | 2006-02-23 | 2013-12-31 | Qualcomm Incorporated | System and method for scheduling content updates in a content-based application |
US7616585B1 (en) | 2006-02-28 | 2009-11-10 | Symantec Operating Corporation | Preventing network micro-congestion using send pacing based on end-to-end bandwidth |
US8619771B2 (en) | 2009-09-30 | 2013-12-31 | Vmware, Inc. | Private allocated networks over shared communications infrastructure |
US8838756B2 (en) | 2009-07-27 | 2014-09-16 | Vmware, Inc. | Management and implementation of enclosed local networks in a virtual lab |
US7839847B2 (en) | 2006-05-08 | 2010-11-23 | Cisco Technology, Inc. | Methods and apparatus providing VPN traffic matrix construction |
US7953089B1 (en) | 2006-05-16 | 2011-05-31 | Cisco Technology, Inc. | Systems and methods for multicast switching in a private VLAN |
US8060875B1 (en) | 2006-05-26 | 2011-11-15 | Vmware, Inc. | System and method for multiple virtual teams |
US7729347B2 (en) * | 2006-05-31 | 2010-06-01 | Zvi Rosberg | Method and apparatus for fair flow control and congestion avoidance supporting multiple QoS class requirements |
JP4714081B2 (ja) | 2006-06-01 | 2011-06-29 | アラクサラネットワークス株式会社 | ネットワーク接続装置 |
US7706303B2 (en) | 2006-06-26 | 2010-04-27 | Cisco Technology, Inc. | Port pooling |
US7643482B2 (en) | 2006-06-30 | 2010-01-05 | Sun Microsystems, Inc. | System and method for virtual switching in a host |
US7916682B2 (en) | 2006-07-14 | 2011-03-29 | Symbol Technologies, Inc. | Wireless switch network architecture implementing layer 3 mobility domains |
EP1885088B1 (en) | 2006-08-04 | 2008-12-17 | Alcatel Lucent | Routing device, routing module and routing method for an access network |
US20080059556A1 (en) | 2006-08-31 | 2008-03-06 | Egenera, Inc. | Providing virtual machine technology as an embedded layer within a processing platform |
US7643488B2 (en) | 2006-09-29 | 2010-01-05 | Nortel Networks Limited | Method and apparatus for supporting multiple customer provisioned IPSec VPNs |
US7996835B2 (en) | 2006-10-10 | 2011-08-09 | International Business Machines Corporation | System, method and program for managing communication with multiple configurations for virtual machine |
US7792097B1 (en) | 2006-10-25 | 2010-09-07 | Cisco Technology, Inc. | Static, dynamic and intelligent VRF routing for services traffic |
JP5244332B2 (ja) | 2006-10-30 | 2013-07-24 | 株式会社日立製作所 | 情報システム、データ転送方法及びデータ保護方法 |
US7987506B1 (en) | 2006-11-03 | 2011-07-26 | Cisco Technology, Inc. | Methods and systems for dynamically updating a routing table in a virtual private network |
US7826482B1 (en) | 2006-11-17 | 2010-11-02 | Juniper Networks, Inc. | Service-specific forwarding in an LDP-RSVP hybrid network |
US8223668B2 (en) | 2006-12-14 | 2012-07-17 | Rockstar Bidco Lp | Method and apparatus for exchanging routing information and the establishment of connectivity across multiple network areas |
US7738457B2 (en) | 2006-12-20 | 2010-06-15 | Oracle America, Inc. | Method and system for virtual routing using containers |
CN100579072C (zh) | 2006-12-22 | 2010-01-06 | 华为技术有限公司 | 一种在ip设备之间进行通信的方法和系统 |
US20080159301A1 (en) | 2006-12-29 | 2008-07-03 | De Heer Arjan Arie | Enabling virtual private local area network services |
US20080189769A1 (en) | 2007-02-01 | 2008-08-07 | Martin Casado | Secure network switching infrastructure |
EP2109965B1 (en) | 2007-02-02 | 2015-04-08 | Groupe Des Ecoles Des Telecommunications (GET) Institut National Des Telecommunications (INT) | Autonomic network node system |
US8259720B2 (en) | 2007-02-02 | 2012-09-04 | Cisco Technology, Inc. | Triple-tier anycast addressing |
IL189514A (en) | 2007-02-14 | 2011-12-29 | Marvell Israel Misl Ltd | Logical mediation system and method |
US20080209422A1 (en) | 2007-02-28 | 2008-08-28 | Coha Joseph A | Deadlock avoidance mechanism in multi-threaded applications |
US8055789B2 (en) | 2007-03-27 | 2011-11-08 | Amazon Technologies, Inc. | Configuring intercommunications between computing nodes |
US8111707B2 (en) | 2007-12-20 | 2012-02-07 | Packeteer, Inc. | Compression mechanisms for control plane—data plane processing architectures |
US8296394B1 (en) * | 2007-04-10 | 2012-10-23 | AT & T Intellectual Property II, LP | Method and system for caching real-time data |
US8594085B2 (en) | 2007-04-11 | 2013-11-26 | Palo Alto Networks, Inc. | L2/L3 multi-mode switch including policy processing |
WO2008128194A2 (en) | 2007-04-12 | 2008-10-23 | Rutgers, The State University Of New Jersey | System and method for controlling a file system |
US7903655B2 (en) | 2007-04-19 | 2011-03-08 | Hewlett-Packard Development Company, L.P. | Marked packet forwarding |
US9223600B1 (en) | 2007-05-07 | 2015-12-29 | Hewlett Packard Enterprise Development Lp | In-processor dynamic address redirection table for substituting instruction strings |
US7948874B2 (en) | 2007-05-24 | 2011-05-24 | World Wide Packets, Inc. | Transitioning a virtual interface from one tunnel to another tunnel |
US8031633B2 (en) | 2007-08-13 | 2011-10-04 | Honeywell International Inc. | Virtual network architecture for space data processing |
US8528070B2 (en) | 2007-09-05 | 2013-09-03 | Hewlett-Packard Development Company, L.P. | System and method for secure service delivery |
US8908700B2 (en) | 2007-09-07 | 2014-12-09 | Citrix Systems, Inc. | Systems and methods for bridging a WAN accelerator with a security gateway |
US8798056B2 (en) | 2007-09-24 | 2014-08-05 | Intel Corporation | Method and system for virtual port communications |
US7751329B2 (en) | 2007-10-03 | 2010-07-06 | Avaya Inc. | Providing an abstraction layer in a cluster switch that includes plural switches |
EP2201474B1 (en) | 2007-10-03 | 2020-05-06 | NTT Global Networks Incorporated | Virtualized application acceleration infrastructure |
US8059650B2 (en) | 2007-10-31 | 2011-11-15 | Aruba Networks, Inc. | Hardware based parallel processing cores with multiple threads and multiple pipeline stages |
US8848544B2 (en) | 2007-11-08 | 2014-09-30 | Cisco Technology, Inc. | Event correlation using network data flow simulation over unmanaged network segments |
US7984123B2 (en) | 2007-12-10 | 2011-07-19 | Oracle America, Inc. | Method and system for reconfiguring a virtual network path |
US8199750B1 (en) | 2007-12-18 | 2012-06-12 | World Wide Packets, Inc. | Communicating with a control plane using a forwarding information format and control plane processing of packets devoid of a virtual switch identifier |
US8194674B1 (en) | 2007-12-20 | 2012-06-05 | Quest Software, Inc. | System and method for aggregating communications and for translating between overlapping internal network addresses and unique external network addresses |
US9432213B2 (en) | 2007-12-31 | 2016-08-30 | Rpx Clearinghouse Llc | IP forwarding across a link state protocol controlled ethernet network |
US7738949B2 (en) | 2008-02-26 | 2010-06-15 | Welch Allyn, Inc. | Method and apparatus for spectrum estimation |
GB2459433B (en) | 2008-03-07 | 2012-06-06 | Hewlett Packard Development Co | Distributed network connection policy management |
GB2458157B (en) | 2008-03-07 | 2012-04-25 | Hewlett Packard Development Co | Virtual machine liveness check |
GB2458154B (en) | 2008-03-07 | 2012-06-27 | Hewlett Packard Development Co | Routing across a virtual network |
US8155028B2 (en) | 2008-03-17 | 2012-04-10 | Alcatel Lucent | Method and apparatus for providing full logical connectivity in MPLS networks |
EP2253124B1 (en) | 2008-03-20 | 2016-03-16 | Telefonaktiebolaget LM Ericsson (publ) | Method and apparatus for communication of data packets between local networks |
US20090249471A1 (en) | 2008-03-27 | 2009-10-01 | Moshe Litvin | Reversible firewall policies |
US8429739B2 (en) | 2008-03-31 | 2013-04-23 | Amazon Technologies, Inc. | Authorizing communications between computing nodes |
US20090252173A1 (en) | 2008-04-03 | 2009-10-08 | Rangaprasad Sampath | Method For Improving Efficiency Of Redundancy Protocols |
US20110032843A1 (en) | 2008-04-10 | 2011-02-10 | Oktavian Papp | Setting up a virtual private network using virtual lan identifiers |
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 |
US8195774B2 (en) | 2008-05-23 | 2012-06-05 | Vmware, Inc. | Distributed virtual switch for virtualized computer systems |
US8849971B2 (en) | 2008-05-28 | 2014-09-30 | Red Hat, Inc. | Load balancing in cloud-based networks |
WO2009147674A1 (en) | 2008-06-03 | 2009-12-10 | Ethos Networks Ltd. | Automatic signaling method and device for telecommunication services |
US8160063B2 (en) | 2008-06-09 | 2012-04-17 | Microsoft Corporation | Data center interconnect and traffic engineering |
EP2294856A1 (en) | 2008-06-19 | 2011-03-16 | Telefonaktiebolaget LM Ericsson (publ) | Transfer of connections triggered by a mme in case of failure of a serving gateway |
US8027260B2 (en) | 2008-07-23 | 2011-09-27 | Verizon Patent And Licensing Inc. | Mixed integer programming model for minimizing leased access network costs |
JP5113684B2 (ja) | 2008-09-05 | 2013-01-09 | 株式会社日立製作所 | アクセスゲートウェイ装置の制御方法及び通信システム |
JP5536779B2 (ja) * | 2008-09-22 | 2014-07-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 移動体デバイス上で映像を再生するための方法及びシステム |
US8166146B2 (en) * | 2008-09-29 | 2012-04-24 | International Business Machines Corporation | Providing improved message handling performance in computer systems utilizing shared network devices |
US7885276B1 (en) | 2008-09-30 | 2011-02-08 | Emc Corporation | Isolating network traffic in multi-tenant virtualization environments |
US7962647B2 (en) | 2008-11-24 | 2011-06-14 | Vmware, Inc. | Application delivery control module for virtual network switch |
US8055770B2 (en) | 2008-12-15 | 2011-11-08 | At&T Intellectual Property I, L.P. | Method and apparatus for providing network virtualization |
US8271775B2 (en) | 2008-12-17 | 2012-09-18 | Cisco Technology, Inc. | Layer two encryption for data center interconnectivity |
WO2010071884A2 (en) | 2008-12-19 | 2010-06-24 | Watchguard Technologies, Inc. | Self-monitoring cluster of network security devices |
US8255496B2 (en) | 2008-12-30 | 2012-08-28 | Juniper Networks, Inc. | Method and apparatus for determining a network topology during network provisioning |
US8054832B1 (en) | 2008-12-30 | 2011-11-08 | Juniper Networks, Inc. | Methods and apparatus for routing between virtual resources based on a routing location policy |
US8331362B2 (en) | 2008-12-30 | 2012-12-11 | Juniper Networks, Inc. | Methods and apparatus for distributed dynamic network provisioning |
US7995483B1 (en) | 2009-01-20 | 2011-08-09 | Juniper Networks, Inc. | Simultaneously testing connectivity to multiple remote maintenance endpoints of the same maintenance association |
US20100192225A1 (en) | 2009-01-28 | 2010-07-29 | Juniper Networks, Inc. | Efficient application identification with network devices |
US7948986B1 (en) | 2009-02-02 | 2011-05-24 | Juniper Networks, Inc. | Applying services within MPLS networks |
JP5419974B2 (ja) | 2009-02-19 | 2014-02-19 | 華為技術有限公司 | ポイントツーマルチポイントドメイン間マルチプロトコルラベルスイッチングトラフィックエンジニアリング経路計算のシステム、及び方法 |
US8213336B2 (en) | 2009-02-23 | 2012-07-03 | Cisco Technology, Inc. | Distributed data center access switch |
JP5408243B2 (ja) | 2009-03-09 | 2014-02-05 | 日本電気株式会社 | OpenFlow通信システムおよびOpenFlow通信方法 |
US8265075B2 (en) | 2009-03-16 | 2012-09-11 | International Business Machines Corporation | Method and apparatus for managing, configuring, and controlling an I/O virtualization device through a network switch |
CN104702537B (zh) | 2009-04-01 | 2018-07-10 | Nicira股份有限公司 | 用于实现和管理虚拟交换机的方法和装置 |
WO2010121216A1 (en) | 2009-04-17 | 2010-10-21 | Viasat, Inc. | System, method and apparatus for providing end-to-end layer 2 connectivity |
US8589919B2 (en) | 2009-04-28 | 2013-11-19 | Cisco Technology, Inc. | Traffic forwarding for virtual machines |
US8027354B1 (en) | 2009-04-29 | 2011-09-27 | Cisco Technology, Inc. | Network consolidation for virtualized servers |
US8867349B2 (en) | 2009-05-18 | 2014-10-21 | Cisco Technology, Inc. | Regulation of network traffic in virtual private networks |
US8229484B2 (en) | 2009-06-11 | 2012-07-24 | Genesys Telecommunications Laboratories, Inc. | System and methods for integrating short message service messaging with contact center applications |
US20100318609A1 (en) | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Bridging enterprise networks into cloud |
US9210065B2 (en) | 2009-06-22 | 2015-12-08 | Alcatel Lucent | Providing cloud-based services using dynamic network virtualization |
US8644188B1 (en) | 2009-06-25 | 2014-02-04 | Amazon Technologies, Inc. | Providing virtual networking functionality for managed computer networks |
US20110032830A1 (en) | 2009-08-06 | 2011-02-10 | Jacobus Van Der Merwe | Live Router Migration |
US8339994B2 (en) | 2009-08-27 | 2012-12-25 | Brocade Communications Systems, Inc. | Defining an optimal topology for a group of logical switches |
US8619779B2 (en) | 2009-09-30 | 2013-12-31 | Alcatel Lucent | Scalable architecture for enterprise extension in a cloud topology |
US8571031B2 (en) | 2009-10-07 | 2013-10-29 | Intel Corporation | Configurable frame processing pipeline in a packet switch |
US20110085557A1 (en) | 2009-10-08 | 2011-04-14 | Brocade Communications Systems, Inc. | Partitioning of Switches and Fabrics into Logical Switches and Fabrics |
US8599864B2 (en) | 2009-10-08 | 2013-12-03 | Brocade Communications Systems, Inc. | Transit switches in a network of logical switches |
EP2497234B1 (en) | 2009-11-02 | 2018-09-19 | Marvell World Trade Ltd. | Network device and method based on virtual interfaces |
US8442048B2 (en) | 2009-11-04 | 2013-05-14 | Juniper Networks, Inc. | Methods and apparatus for configuring a virtual network switch |
CN101764696B (zh) * | 2009-11-27 | 2012-06-27 | 福建星网锐捷网络有限公司 | 分布式路由交换设备及其实现方法 |
US7937438B1 (en) | 2009-12-07 | 2011-05-03 | Amazon Technologies, Inc. | Using virtual networking devices to manage external connections |
US9036504B1 (en) | 2009-12-07 | 2015-05-19 | Amazon Technologies, Inc. | Using virtual networking devices and routing information to associate network addresses with computing nodes |
US20110134931A1 (en) | 2009-12-08 | 2011-06-09 | Jacobus Van Der Merwe | Virtual router migration |
US8705513B2 (en) | 2009-12-15 | 2014-04-22 | At&T Intellectual Property I, L.P. | Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks |
US8331371B2 (en) | 2009-12-17 | 2012-12-11 | Amazon Technologies, Inc. | Distributed routing architecture |
US8325730B2 (en) | 2009-12-17 | 2012-12-04 | Amazon Technologies, Inc. | Distributed routing architecture |
JP5323674B2 (ja) * | 2009-12-28 | 2013-10-23 | 日本電信電話株式会社 | DNS(DomainNameSystem)登録装置、VPN(VirtualPrivateNetwork)間接続管理システム、広域DNS装置、DNS登録プログラム、広域DNSプログラム、DNS登録方法、及びVPN間接続管理方法 |
US7953865B1 (en) | 2009-12-28 | 2011-05-31 | Amazon Technologies, Inc. | Using virtual networking devices to manage routing communications between connected computer networks |
US8224971B1 (en) | 2009-12-28 | 2012-07-17 | Amazon Technologies, Inc. | Using virtual networking devices and routing information to initiate external actions |
US7991859B1 (en) | 2009-12-28 | 2011-08-02 | Amazon Technologies, Inc. | Using virtual networking devices to connect managed computer networks |
US8345688B2 (en) | 2010-02-23 | 2013-01-01 | Google Inc. | System and method for managing flow of packets |
KR101121853B1 (ko) | 2010-03-02 | 2012-03-22 | 연세대학교 산학협력단 | 패킷 전달 시스템 및 방법 |
US8612627B1 (en) | 2010-03-03 | 2013-12-17 | Amazon Technologies, Inc. | Managing encoded multi-part communications for provided computer networks |
US8259571B1 (en) | 2010-03-26 | 2012-09-04 | Zscaler, Inc. | Handling overlapping IP addresses in multi-tenant architecture |
US8224931B1 (en) | 2010-03-31 | 2012-07-17 | Amazon Technologies, Inc. | Managing use of intermediate destination computing nodes for provided computer networks |
US8533719B2 (en) * | 2010-04-05 | 2013-09-10 | Oracle International Corporation | Cache-aware thread scheduling in multi-threaded systems |
JP5450227B2 (ja) * | 2010-04-16 | 2014-03-26 | 日本電信電話株式会社 | トラヒック制御指示装置、トラヒック制御指示プログラム、トラヒック制御指示システム、及びトラヒック制御指示方法 |
US8504718B2 (en) | 2010-04-28 | 2013-08-06 | Futurewei Technologies, Inc. | System and method for a context layer switch |
US8625616B2 (en) | 2010-05-11 | 2014-01-07 | Brocade Communications Systems, Inc. | Converged network extension |
WO2011140028A1 (en) * | 2010-05-03 | 2011-11-10 | Brocade Communications Systems, Inc. | Virtual cluster switching |
US8989186B2 (en) | 2010-06-08 | 2015-03-24 | Brocade Communication Systems, Inc. | Virtual port grouping for virtual cluster switching |
US8407366B2 (en) | 2010-05-14 | 2013-03-26 | Microsoft Corporation | Interconnecting members of a virtual network |
US8724456B1 (en) | 2010-05-19 | 2014-05-13 | Juniper Networks, Inc. | Network path selection for multi-homed edges to ensure end-to-end resiliency |
MX2012007559A (es) | 2010-05-28 | 2012-07-30 | Huawei Tech Co Ltd | Capa 2 virtual y mecanismo para hacerla escalable. |
US8374183B2 (en) | 2010-06-22 | 2013-02-12 | Microsoft Corporation | Distributed virtual network gateways |
CN102971992B (zh) | 2010-06-29 | 2016-03-09 | 华为技术有限公司 | 虚拟专用局域网设备、网络组件和数据帧转发方法 |
US8559324B1 (en) | 2010-06-29 | 2013-10-15 | Amazon Technologies, Inc. | Network routing metering |
US8897303B2 (en) | 2010-06-29 | 2014-11-25 | Futurewei Technologies, Inc. | Delegate gateways and proxy for target hosts in large layer 2 and address resolution with duplicated internet protocol addresses |
US8239572B1 (en) | 2010-06-30 | 2012-08-07 | Amazon Technologies, Inc. | Custom routing decisions |
US9680750B2 (en) | 2010-07-06 | 2017-06-13 | Nicira, Inc. | Use of tunnels to hide network addresses |
US8880468B2 (en) | 2010-07-06 | 2014-11-04 | Nicira, Inc. | Secondary storage architecture for a network control system that utilizes a primary network information base |
US8964528B2 (en) | 2010-07-06 | 2015-02-24 | Nicira, Inc. | Method and apparatus for robust packet distribution among hierarchical managed switching elements |
TWI421791B (zh) | 2010-07-16 | 2014-01-01 | Univ Nat Taiwan Science Tech | 物流網路之運輸商選擇方法 |
US8456984B2 (en) | 2010-07-19 | 2013-06-04 | Ciena Corporation | Virtualized shared protection capacity |
US8416709B1 (en) | 2010-09-28 | 2013-04-09 | Amazon Technologies, Inc. | Network data transmission analysis management |
US8565108B1 (en) | 2010-09-28 | 2013-10-22 | Amazon Technologies, Inc. | Network data transmission analysis |
US9717412B2 (en) | 2010-11-05 | 2017-08-01 | Gary And Mary West Health Institute | Wireless fetal monitoring system |
US8737417B2 (en) * | 2010-11-12 | 2014-05-27 | Alcatel Lucent | Lock-less and zero copy messaging scheme for telecommunication network applications |
US8631122B2 (en) | 2010-11-29 | 2014-01-14 | Viralheat, Inc. | Determining demographics based on user interaction |
US8705533B1 (en) | 2010-12-10 | 2014-04-22 | Juniper Networks, Inc. | Fast packet encapsulation using templates |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
CN103262054B (zh) * | 2010-12-13 | 2015-11-25 | 桑迪士克科技股份有限公司 | 用于自动提交存储器的装置、系统和方法 |
US8769494B2 (en) | 2010-12-14 | 2014-07-01 | Microsoft Corporation | Globally sound and consistent configuration management for distributed datacenter components |
US8824370B2 (en) * | 2010-12-16 | 2014-09-02 | Openet Telecom Ltd. | Methods, systems and devices for dynamic context-based routing |
US8880726B2 (en) * | 2010-12-16 | 2014-11-04 | Openet Telecom Ltd. | Methods, systems and devices for dynamic context-based routing using a topology tree |
US8943221B2 (en) * | 2010-12-16 | 2015-01-27 | Openet Telecom Ltd. | Methods, systems and devices for pipeline processing |
US9001827B2 (en) | 2010-12-17 | 2015-04-07 | Big Switch Networks, Inc. | Methods for configuring network switches |
US10142218B2 (en) | 2011-01-14 | 2018-11-27 | International Business Machines Corporation | Hypervisor routing between networks in a virtual networking environment |
US9578081B2 (en) * | 2011-02-02 | 2017-02-21 | Imvu, Inc. | System and method for providing an actively invalidated client-side network resource cache |
US8819833B2 (en) * | 2011-03-01 | 2014-08-26 | Honeywell International Inc. | Assured pipeline threat detection |
FR2972884A1 (fr) * | 2011-03-15 | 2012-09-21 | France Telecom | Procede de communication dans un reseau de communication avec acheminement par nom |
US8665739B2 (en) | 2011-03-16 | 2014-03-04 | Juniper Networks, Inc. | Packet loss measurement at service endpoints of a virtual private LAN service |
US9043452B2 (en) | 2011-05-04 | 2015-05-26 | Nicira, Inc. | Network control apparatus and method for port isolation |
CN102780605B (zh) | 2011-05-13 | 2015-05-06 | 中国科学院声学研究所 | 一种域间出口路径动态选择方法及系统 |
US8751872B2 (en) | 2011-05-27 | 2014-06-10 | Microsoft Corporation | Separation of error information from error propagation information |
JP5824911B2 (ja) | 2011-06-29 | 2015-12-02 | 富士通株式会社 | 情報処理装置、情報処理プログラムおよび管理方法 |
US9900224B2 (en) | 2011-08-04 | 2018-02-20 | Midokura Sarl | System and method for implementing and managing virtual networks |
JP5870192B2 (ja) | 2011-08-17 | 2016-02-24 | ニシラ, インコーポレイテッド | 論理l3ルーティング |
US8830835B2 (en) * | 2011-08-17 | 2014-09-09 | Nicira, Inc. | Generating flows for managed interconnection switches |
US9167501B2 (en) | 2011-08-29 | 2015-10-20 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing a 3G packet core in a cloud computer with openflow data and control planes |
US8856518B2 (en) * | 2011-09-07 | 2014-10-07 | Microsoft Corporation | Secure and efficient offloading of network policies to network interface cards |
US8606105B2 (en) * | 2011-09-15 | 2013-12-10 | Ciena Corporation | Virtual core router and switch systems and methods with a hybrid control architecture |
US9185056B2 (en) * | 2011-09-20 | 2015-11-10 | Big Switch Networks, Inc. | System and methods for controlling network traffic through virtual switches |
US8751614B2 (en) | 2011-10-11 | 2014-06-10 | Telefonaktiebolaget L M Ericsson (Publ) | Providing virtualized visibility through routers |
US8830820B2 (en) | 2011-10-14 | 2014-09-09 | Google Inc. | Semi-centralized routing |
US9178833B2 (en) | 2011-10-25 | 2015-11-03 | Nicira, Inc. | Chassis controller |
US8745177B1 (en) | 2011-11-01 | 2014-06-03 | Edgecast Networks, Inc. | End-to-end monitoring and optimization of a content delivery network using anycast routing |
JP5714187B2 (ja) | 2011-11-15 | 2015-05-07 | ニシラ, インコーポレイテッド | ミドルボックスを備えるネットワークのアーキテクチャ |
CN109039772B (zh) * | 2011-11-29 | 2021-08-10 | 亚马逊科技公司 | 管理直接网络对等操作的接口 |
JP5522160B2 (ja) | 2011-12-21 | 2014-06-18 | トヨタ自動車株式会社 | 車両ネットワーク監視装置 |
FR2986012B1 (fr) | 2012-01-20 | 2017-12-01 | Saint Gobain Ct Recherches | Cuve d'electrolyse. |
JP2013157855A (ja) | 2012-01-31 | 2013-08-15 | Nec Corp | 仮想ネットワークの接続方法、仮想ネットワーク接続装置およびプログラム |
US8660129B1 (en) * | 2012-02-02 | 2014-02-25 | Cisco Technology, Inc. | Fully distributed routing over a user-configured on-demand virtual network for infrastructure-as-a-service (IaaS) on hybrid cloud networks |
US9130869B2 (en) | 2012-02-09 | 2015-09-08 | Telefonaktiebolaget L M Ericsson (Publ) | Methods of redirecting network forwarding elements and related forwarding elements and controllers |
US9083644B2 (en) | 2012-02-14 | 2015-07-14 | International Business Machines Corporation | Packet routing for embedded applications sharing a single network interface over multiple virtual networks |
US8923296B2 (en) * | 2012-02-23 | 2014-12-30 | Big Switch Networks, Inc. | System and methods for managing network packet forwarding with a controller |
US8705536B2 (en) | 2012-03-05 | 2014-04-22 | Telefonaktiebolaget L M Ericsson (Publ) | Methods of operating forwarding elements including shadow tables and related forwarding elements |
US9154416B2 (en) | 2012-03-22 | 2015-10-06 | Brocade Communications Systems, Inc. | Overlay tunnel in a fabric switch |
TWI458314B (zh) * | 2012-03-22 | 2014-10-21 | Wistron Corp | 傳送遠端封包至主機的伺服器系統及其管理方法 |
KR101761702B1 (ko) | 2012-03-30 | 2017-08-04 | 노키아 솔루션스 앤드 네트웍스 오와이 | 분산된 게이트웨이들을 위한 중앙집중화된 ip 어드레스 관리 방법 및 장치 |
US8856339B2 (en) | 2012-04-04 | 2014-10-07 | Cisco Technology, Inc. | Automatically scaled network overlay with heuristic monitoring in a hybrid cloud environment |
US8923149B2 (en) | 2012-04-09 | 2014-12-30 | Futurewei Technologies, Inc. | L3 gateway for VXLAN |
US9225635B2 (en) | 2012-04-10 | 2015-12-29 | International Business Machines Corporation | Switch routing table utilizing software defined network (SDN) controller programmed route segregation and prioritization |
US9331938B2 (en) * | 2012-04-13 | 2016-05-03 | Nicira, Inc. | Extension of logical networks across layer 3 virtual private networks |
US9021066B1 (en) | 2012-04-13 | 2015-04-28 | Juniper Networks, Inc. | Providing A-priori information about implication of operator interaction with network device |
CN104170334B (zh) | 2012-04-18 | 2017-11-07 | Nicira股份有限公司 | 一种用于管理网络的控制器的配置托管元件的方法及设备 |
US9064216B2 (en) | 2012-06-06 | 2015-06-23 | Juniper Networks, Inc. | Identifying likely faulty components in a distributed system |
WO2013184941A1 (en) | 2012-06-06 | 2013-12-12 | Huawei Technologies Co., Ltd. | Method of seamless integration and independent evolution of information-centric networking via software defined networking |
EP3451587B1 (en) | 2012-06-06 | 2021-04-28 | Juniper Networks, Inc. | Creating searchable and global database of user visible process traces |
US8959185B2 (en) | 2012-06-06 | 2015-02-17 | Juniper Networks, Inc. | Multitenant server for virtual networks within datacenter |
US8972602B2 (en) | 2012-06-15 | 2015-03-03 | Citrix Systems, Inc. | Systems and methods for using ECMP routes for traffic distribution |
US9451056B2 (en) | 2012-06-29 | 2016-09-20 | Avaya Inc. | Method for mapping packets to network virtualization instances |
CN103546381B (zh) | 2012-07-12 | 2017-06-09 | 华为技术有限公司 | 基于内部网关协议创建双向组播分发树的方法、装置及系统 |
US9094459B2 (en) | 2012-07-16 | 2015-07-28 | International Business Machines Corporation | Flow based overlay network |
US9172557B2 (en) | 2012-08-17 | 2015-10-27 | International Business Machines Corporation | Load balancing overlay network traffic using a teamed set of network interface cards |
US9563480B2 (en) | 2012-08-21 | 2017-02-07 | Rackspace Us, Inc. | Multi-level cloud computing system |
US11074025B2 (en) | 2012-09-03 | 2021-07-27 | Semiconductor Energy Laboratory Co., Ltd. | Display device and method for manufacturing the same |
US9055004B2 (en) * | 2012-09-18 | 2015-06-09 | Cisco Technology, Inc. | Scalable low latency multi-protocol networking device |
US9071529B2 (en) | 2012-10-08 | 2015-06-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for accelerating forwarding in software-defined networks |
WO2014078820A1 (en) | 2012-11-19 | 2014-05-22 | Unisys Corporation | Translating function calls in virtualized environments |
US9454392B2 (en) | 2012-11-27 | 2016-09-27 | Red Hat Israel, Ltd. | Routing data packets between virtual machines using shared memory without copying the data packet |
US9535871B2 (en) | 2012-11-27 | 2017-01-03 | Red Hat Israel, Ltd. | Dynamic routing through virtual appliances |
US9363172B2 (en) | 2012-11-27 | 2016-06-07 | Red Hat Israel, Ltd. | Managing a configurable routing scheme for virtual appliances |
US9036639B2 (en) | 2012-11-29 | 2015-05-19 | Futurewei Technologies, Inc. | System and method for VXLAN inter-domain communications |
US9197596B2 (en) | 2012-12-18 | 2015-11-24 | Dell Products, Lp | System and method to use common addresses on a management controller without conflict |
CN105684365B (zh) | 2013-02-12 | 2020-03-24 | 慧与发展有限责任合伙企业 | 利用软件定义流映射和虚拟化的网络功能的网络控制 |
CN104009929B (zh) * | 2013-02-21 | 2019-01-18 | 中兴通讯股份有限公司 | 一种管理虚拟路由器的方法及物理路由器 |
US20140269299A1 (en) | 2013-03-14 | 2014-09-18 | Hewlett-Packard Development Company, L.P. | Network controller normalization of network traffic |
US8982707B2 (en) | 2013-03-14 | 2015-03-17 | Cisco Technology, Inc. | Interoperability of data plane based overlays and control plane based overlays in a network environment |
US9197520B2 (en) | 2013-03-15 | 2015-11-24 | Microsoft Technology Licensing, Llc | Methods and computer program products for transaction analysis of network traffic in a network device |
US10135914B2 (en) | 2013-04-16 | 2018-11-20 | Amazon Technologies, Inc. | Connection publishing in a distributed load balancer |
US9210074B2 (en) | 2013-05-03 | 2015-12-08 | Alcatel Lucent | Low-cost flow matching in software defined networks without TCAMs |
US9203738B2 (en) | 2013-05-21 | 2015-12-01 | Cisco Technology, Inc. | Optimal forwarding for trill fine-grained labeling and VXLAN interworking |
US9471356B2 (en) | 2013-06-12 | 2016-10-18 | Dell Products L.P. | Systems and methods for providing VLAN-independent gateways in a network virtualization overlay implementation |
US9160650B2 (en) | 2013-06-17 | 2015-10-13 | Futurewei Technologies, Inc. | Enhanced flow entry table cache replacement in a software-defined networking switch |
US9509614B2 (en) | 2013-06-20 | 2016-11-29 | Cisco Technology, Inc. | Hierarchical load balancing in a network environment |
US20140376550A1 (en) | 2013-06-24 | 2014-12-25 | Vmware, Inc. | Method and system for uniform gateway access in a virtualized layer-2 network domain |
US9515924B2 (en) | 2013-07-03 | 2016-12-06 | Avaya Inc. | Method and apparatus providing single-tier routing in a shortest path bridging (SPB) network |
US9325630B2 (en) | 2013-07-05 | 2016-04-26 | Red Hat, Inc. | Wild card flows for switches and virtual switches based on hints from hypervisors |
CN105379197B (zh) | 2013-07-05 | 2019-01-11 | 华为技术有限公司 | 建立隧道的方法、分配标签的方法、设备及网络系统 |
US9350657B2 (en) | 2013-07-08 | 2016-05-24 | Nicira, Inc. | Encapsulating data packets using an adaptive tunnelling protocol |
US9130775B2 (en) | 2013-07-10 | 2015-09-08 | Cisco Technology, Inc. | Support for virtual extensible local area network segments across multiple data center sites |
US9197529B2 (en) | 2013-07-12 | 2015-11-24 | Nicira, Inc. | Tracing network packets through logical and physical networks |
US20160182287A1 (en) | 2013-07-30 | 2016-06-23 | Nec Corporation | Control apparatus, management apparatus, control method, management method, and program |
US10356037B2 (en) | 2013-08-01 | 2019-07-16 | Hewlett Packard Enterprise Development Lp | Address resolution rewriting |
US9887960B2 (en) | 2013-08-14 | 2018-02-06 | Nicira, Inc. | Providing services for logical networks |
US9819505B2 (en) | 2013-08-20 | 2017-11-14 | Cisco Technology, Inc. | Group bundling priority dissemination through link-state routing protocol in a network environment |
WO2015027357A1 (en) | 2013-08-30 | 2015-03-05 | Telefonaktiebolaget L M Ericsson (Publ) | Ipv4 and ipv6 support in an mbms network |
US9654390B2 (en) * | 2013-09-03 | 2017-05-16 | Cisco Technology, Inc. | Method and apparatus for improving cloud routing service performance |
US9503371B2 (en) | 2013-09-04 | 2016-11-22 | Nicira, Inc. | High availability L3 gateways for logical networks |
US9674087B2 (en) | 2013-09-15 | 2017-06-06 | Nicira, Inc. | Performing a multi-stage lookup to classify packets |
US9491094B2 (en) | 2013-09-25 | 2016-11-08 | Cisco Techonology, Inc. | Path optimization in distributed service chains in a network environment |
US9444721B2 (en) | 2013-09-30 | 2016-09-13 | Juniper Networks, Inc. | Two-part metric for link state routing protocols |
US20150098475A1 (en) | 2013-10-09 | 2015-04-09 | International Business Machines Corporation | Host table management in software defined network (sdn) switch clusters having layer-3 distributed router functionality |
US10063458B2 (en) | 2013-10-13 | 2018-08-28 | Nicira, Inc. | Asymmetric connection with external networks |
US9910686B2 (en) | 2013-10-13 | 2018-03-06 | Nicira, Inc. | Bridging between network segments with a logical router |
US9374294B1 (en) | 2013-11-05 | 2016-06-21 | Cisco Technology, Inc. | On-demand learning in overlay networks |
US9774667B2 (en) | 2013-11-08 | 2017-09-26 | Vmware, Inc. | System and method for dynamically configuring a load balancer in a virtual network environment |
US9385925B1 (en) | 2013-12-16 | 2016-07-05 | Amazon Technologies, Inc. | Anycast route detection |
US20150172156A1 (en) | 2013-12-18 | 2015-06-18 | Cisco Technology, Inc. | Detecting end hosts in a distributed network environment |
GR20130100707A (el) | 2013-12-23 | 2015-07-31 | Arm Limited, | Μεταφραση διευθυνσης σε μια συσκευη επεξεργασιας δεδομενων |
US10009287B2 (en) | 2013-12-26 | 2018-06-26 | Huawei Technologies Co., Ltd. | Hierarchical software-defined network traffic engineering controller |
US9548896B2 (en) | 2013-12-27 | 2017-01-17 | Big Switch Networks, Inc. | Systems and methods for performing network service insertion |
WO2015100656A1 (zh) | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 一种实现虚拟机通信的方法和装置 |
US9473414B2 (en) | 2014-02-06 | 2016-10-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for supporting packet prioritization at a data network |
US9749214B2 (en) | 2014-02-26 | 2017-08-29 | Futurewei Technologies, Inc. | Software defined networking (SDN) specific topology information discovery |
US9419855B2 (en) | 2014-03-14 | 2016-08-16 | Nicira, Inc. | Static routes for logical routers |
US9590901B2 (en) * | 2014-03-14 | 2017-03-07 | Nicira, Inc. | Route advertisement by managed gateways |
US9313129B2 (en) | 2014-03-14 | 2016-04-12 | Nicira, Inc. | Logical router processing by network controller |
WO2015142404A1 (en) | 2014-03-21 | 2015-09-24 | Nicira, Inc. | Dynamic routing for logical routers |
US9641435B1 (en) | 2014-03-28 | 2017-05-02 | Juniper Neworks, Inc. | Packet segmentation offload for virtual networks |
US9344373B2 (en) | 2014-06-13 | 2016-05-17 | International Business Machines Corporation | Packet I/O support for a logical switch router architecture |
US9716687B2 (en) | 2014-06-19 | 2017-07-25 | Cisco Technology, Inc. | Distributed gateways for overlay networks |
CN105471740B (zh) | 2014-07-09 | 2018-10-12 | 新华三技术有限公司 | 基于软件定义网络的网关迁徙处理方法及装置 |
US10129181B2 (en) | 2014-08-16 | 2018-11-13 | New York University | Controlling the reactive caching of wildcard rules for packet processing, such as flow processing in software-defined networks |
US9531720B2 (en) * | 2014-09-02 | 2016-12-27 | Akamai Technologies, Inc. | System and methods for leveraging an object cache to monitor network traffic |
US11178051B2 (en) | 2014-09-30 | 2021-11-16 | Vmware, Inc. | Packet key parser for flow-based forwarding elements |
US10931478B2 (en) | 2014-10-14 | 2021-02-23 | Mido Holdings Ltd. | System and method for distributed flow state P2P setup in virtual networks |
US9948472B2 (en) | 2014-10-22 | 2018-04-17 | Juniper Networks, Inc. | Protocol independent multicast sparse mode (PIM-SM) support for data center interconnect |
US10079740B2 (en) * | 2014-11-04 | 2018-09-18 | Fermi Research Alliance, Llc | Packet capture engine for commodity network interface cards in high-speed networks |
US9819574B2 (en) | 2014-11-07 | 2017-11-14 | Cisco Technology, Inc. | Concerted multi-destination forwarding in a joint TRILL fabric and VXLAN/IP fabric data center |
US10171559B2 (en) | 2014-11-21 | 2019-01-01 | Cisco Technology, Inc. | VxLAN security implemented using VxLAN membership information at VTEPs |
US9882815B2 (en) | 2014-12-22 | 2018-01-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive load balancing in packet processing |
US9787573B2 (en) | 2014-12-31 | 2017-10-10 | Juniper Networks, Inc. | Fast convergence on link failure in multi-homed Ethernet virtual private networks |
US10129180B2 (en) | 2015-01-30 | 2018-11-13 | Nicira, Inc. | Transit logical switch within logical router |
CN105991430B (zh) | 2015-03-05 | 2022-01-14 | 李明 | 跨多个自治网络系统的数据路由 |
US10146702B2 (en) | 2015-03-09 | 2018-12-04 | Intel Corporation | Memcached systems having local caches |
US10038628B2 (en) | 2015-04-04 | 2018-07-31 | Nicira, Inc. | Route server mode for dynamic routing between logical and physical networks |
US9634934B2 (en) | 2015-05-08 | 2017-04-25 | Cisco Technology, Inc. | Dynamic host configuration protocol relay in a multipod fabric |
US9800497B2 (en) | 2015-05-27 | 2017-10-24 | Cisco Technology, Inc. | Operations, administration and management (OAM) in overlay data center environments |
US11204791B2 (en) | 2015-06-30 | 2021-12-21 | Nicira, Inc. | Dynamic virtual machine network policy for ingress optimization |
US9819581B2 (en) | 2015-07-31 | 2017-11-14 | Nicira, Inc. | Configuring a hardware switch as an edge node for a logical router |
US9847938B2 (en) | 2015-07-31 | 2017-12-19 | Nicira, Inc. | Configuring logical routers on hardware switches |
US10230629B2 (en) | 2015-08-11 | 2019-03-12 | Nicira, Inc. | Static route configuration for logical router |
WO2017027073A1 (en) | 2015-08-11 | 2017-02-16 | Nicira, Inc. | Route configuration for logical router |
US10075363B2 (en) | 2015-08-31 | 2018-09-11 | Nicira, Inc. | Authorization for advertised routes among logical routers |
US10165093B2 (en) | 2015-08-31 | 2018-12-25 | Cisco Technology, Inc. | Generating segment routing conduit in service provider network for routing packets |
US10270687B2 (en) | 2015-09-07 | 2019-04-23 | Citrix Systems, Inc. | Systems and methods for dynamic routing on a shared IP address |
US10361972B2 (en) | 2015-09-23 | 2019-07-23 | Citrix Systems, Inc. | Systems and methods to support VXLAN in partition environment where a single system acts as multiple logical systems to support multitenancy |
US10095535B2 (en) | 2015-10-31 | 2018-10-09 | Nicira, Inc. | Static route types for logical routers |
US9800433B2 (en) | 2015-12-16 | 2017-10-24 | At&T Intellectual Property I, L.P. | Method and apparatus for providing a point-to-point connection over a network |
US10237142B2 (en) | 2016-04-04 | 2019-03-19 | Nicira, Inc. | Troubleshooting virtual network reachability |
CN105791412A (zh) | 2016-04-04 | 2016-07-20 | 合肥博雷电子信息技术有限公司 | 一种大数据处理平台网络架构 |
US10320681B2 (en) | 2016-04-12 | 2019-06-11 | Nicira, Inc. | Virtual tunnel endpoints for congestion-aware load balancing |
US10454877B2 (en) | 2016-04-29 | 2019-10-22 | Cisco Technology, Inc. | Interoperability between data plane learning endpoints and control plane learning endpoints in overlay networks |
US10153973B2 (en) | 2016-06-29 | 2018-12-11 | Nicira, Inc. | Installation of routing tables for logical router in route server mode |
US10819678B2 (en) | 2016-08-24 | 2020-10-27 | British Telecommunications Public Limited Company | Data network address sharing between multiple elements associated with a shared network interface unit |
US10454758B2 (en) | 2016-08-31 | 2019-10-22 | Nicira, Inc. | Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP |
US10341236B2 (en) | 2016-09-30 | 2019-07-02 | Nicira, Inc. | Anycast edge service gateways |
US10382321B1 (en) | 2017-03-28 | 2019-08-13 | Juniper Networks, Inc. | Aggregate link bundles in label switched paths |
US10432513B2 (en) | 2017-07-14 | 2019-10-01 | Nicira, Inc. | Asymmetric network elements sharing an anycast address |
US10623322B1 (en) | 2017-09-15 | 2020-04-14 | Juniper Networks, Inc. | Dynamic prefix list for route filtering |
US11032183B2 (en) | 2017-10-06 | 2021-06-08 | Nicira, Inc. | Routing information validation in SDN environments |
US10771590B2 (en) | 2018-03-07 | 2020-09-08 | Ciena Corporation | Systems and methods for intelligent routing and content placement in information centric networks |
US10673757B2 (en) | 2018-06-05 | 2020-06-02 | Arista Networks, Inc. | System and method of a data processing pipeline with policy based routing |
US10931560B2 (en) | 2018-11-23 | 2021-02-23 | Vmware, Inc. | Using route type to determine routing protocol behavior |
US10797998B2 (en) | 2018-12-05 | 2020-10-06 | Vmware, Inc. | Route server for distributed routers using hierarchical routing protocol |
US10938788B2 (en) | 2018-12-12 | 2021-03-02 | Vmware, Inc. | Static routes for policy-based VPN |
-
2015
- 2015-07-30 US US14/814,477 patent/US10129180B2/en active Active
- 2015-07-30 US US14/814,473 patent/US9787605B2/en active Active
- 2015-07-30 US US14/814,469 patent/US10079779B2/en active Active
- 2015-11-02 US US14/929,434 patent/US10110514B2/en active Active
- 2015-11-02 US US14/929,431 patent/US10341257B2/en active Active
- 2015-11-02 US US14/929,429 patent/US10057191B2/en active Active
- 2015-11-02 US US14/929,425 patent/US10084726B2/en active Active
- 2015-11-02 US US14/929,427 patent/US9973445B2/en active Active
- 2015-12-10 US US14/965,531 patent/US10193828B2/en active Active
- 2015-12-10 US US14/965,565 patent/US10153987B2/en active Active
- 2015-12-10 US US14/965,584 patent/US10050905B2/en active Active
- 2015-12-10 US US14/965,682 patent/US11095574B2/en active Active
- 2015-12-10 US US14/965,655 patent/US9979677B2/en active Active
- 2015-12-10 US US14/965,270 patent/US10243883B2/en active Active
-
2016
- 2016-01-29 AU AU2016211222A patent/AU2016211222B2/en active Active
- 2016-01-29 EP EP16706065.6A patent/EP3251306B1/en active Active
- 2016-01-29 JP JP2017540615A patent/JP6908525B2/ja active Active
- 2016-01-29 EP EP20150574.0A patent/EP3654592B1/en active Active
- 2016-01-29 CN CN202211107867.8A patent/CN115442303B/zh active Active
- 2016-01-29 CA CA2974535A patent/CA2974535C/en active Active
- 2016-01-29 CN CN202211107837.7A patent/CN115442302B/zh active Active
- 2016-01-29 WO PCT/US2016/015778 patent/WO2016123550A1/en active Application Filing
- 2016-01-29 CN CN201680006264.5A patent/CN107210959B/zh active Active
- 2016-01-29 CA CA3148877A patent/CA3148877A1/en active Pending
- 2016-01-29 CN CN202010831065.6A patent/CN111865775B/zh active Active
- 2016-10-29 CN CN202110039636.7A patent/CN112769695A/zh active Pending
- 2016-10-29 WO PCT/US2016/059616 patent/WO2017099901A1/en active Application Filing
- 2016-10-29 EP EP20170078.8A patent/EP3700144B1/en active Active
- 2016-10-29 WO PCT/US2016/059612 patent/WO2017079068A1/en active Application Filing
- 2016-10-29 EP EP16794482.6A patent/EP3366012B1/en active Active
- 2016-10-29 WO PCT/US2016/059615 patent/WO2017099900A1/en active Application Filing
- 2016-10-29 CN CN201680069286.6A patent/CN108293021B/zh active Active
-
2018
- 2018-09-18 US US16/133,812 patent/US10700996B2/en active Active
-
2019
- 2019-03-02 US US16/290,863 patent/US10798023B2/en active Active
- 2019-05-10 AU AU2019203294A patent/AU2019203294B2/en active Active
- 2019-06-20 US US16/447,793 patent/US10700997B2/en active Active
-
2020
- 2020-05-06 US US16/868,524 patent/US11283731B2/en active Active
- 2020-05-27 US US16/885,189 patent/US11343204B2/en active Active
-
2021
- 2021-01-07 AU AU2021200083A patent/AU2021200083B2/en active Active
- 2021-07-01 JP JP2021110161A patent/JP7153774B2/ja active Active
- 2021-08-16 US US17/403,805 patent/US11929943B2/en active Active
- 2021-10-05 AU AU2021245096A patent/AU2021245096B2/en active Active
-
2022
- 2022-01-20 US US17/580,596 patent/US11799800B2/en active Active
- 2022-04-28 US US17/732,469 patent/US11706159B2/en active Active
- 2022-10-03 JP JP2022159673A patent/JP7417826B2/ja active Active
-
2023
- 2023-07-14 US US18/222,385 patent/US20230362105A1/en active Pending
- 2023-08-24 AU AU2023219914A patent/AU2023219914A1/en active Pending
- 2023-09-18 US US18/369,605 patent/US20240007419A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595918A (zh) * | 2003-10-29 | 2005-03-16 | 深圳市研祥智能科技股份有限公司 | 多功能宽带网关及其通信方法 |
US20150063364A1 (en) * | 2013-09-04 | 2015-03-05 | Nicira, Inc. | Multiple Active L3 Gateways for Logical Networks |
US20150271011A1 (en) * | 2014-03-21 | 2015-09-24 | Nicira, Inc. | Dynamic routing for logical routers |
US20150271303A1 (en) * | 2014-03-21 | 2015-09-24 | Nicira, Inc. | Multiple levels of logical routers |
CN103888555A (zh) * | 2014-03-26 | 2014-06-25 | 清华大学 | 一种IPv4/IPv6无状态翻译算法 |
Non-Patent Citations (4)
Title |
---|
KANG LI ET AL.: ""Fast Forwarding System for Centralized Router"", 《IEEE》 * |
于洋等: ""基于NAT-PT和隧道的过渡网关研究与实现"", 《通信技术》 * |
刘五苟 等 * |
周振勇: ""基于DS-lite的IP城域网向IPv6演进过渡方案研究"", 《邮电设计技术》 * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108293021B (zh) | 边缘网关处的动态数据通路 | |
US11115465B2 (en) | Accessing endpoints in logical networks and public cloud service providers native networks using a single network interface and a single routing table | |
US10491516B2 (en) | Packet communication between logical networks and public cloud service providers native networks using a single network interface and a single routing table | |
WO2019040720A1 (en) | ACCESS TO END POINTS IN LOGIC NETWORKS AND NATIVE NETWORKS OF PUBLIC CLOUD SERVICE PROVIDERS USING ONLY ONE NETWORK INTERFACE AND ONE ROUTING TABLE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |