CN115442303A - 具有多个路由部件的逻辑路由器 - Google Patents

具有多个路由部件的逻辑路由器 Download PDF

Info

Publication number
CN115442303A
CN115442303A CN202211107867.8A CN202211107867A CN115442303A CN 115442303 A CN115442303 A CN 115442303A CN 202211107867 A CN202211107867 A CN 202211107867A CN 115442303 A CN115442303 A CN 115442303A
Authority
CN
China
Prior art keywords
logical
centralized
gateway
network
gateway component
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
Application number
CN202211107867.8A
Other languages
English (en)
Inventor
张荣华
G·钱德拉谢卡
S·拉文努塔拉
范凯伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nicira Inc
Original Assignee
Nicira Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/841,473 external-priority patent/US9628092B2/en
Application filed by Nicira Inc filed Critical Nicira Inc
Publication of CN115442303A publication Critical patent/CN115442303A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • H04L12/465Details on frame tagging wherein a single frame includes a plurality of VLAN tags
    • H04L12/4654Details 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/033Topology update or discovery by updating distance vector protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/72Routing based on the source address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3063Pipelined operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2585NAT traversal through application level gateway [ALG]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L2012/4629LAN interconnection over a backbone network, e.g. Internet, Frame Relay using multilayer switching, e.g. layer 3 switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5077Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication 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

本申请涉及具有多个路由部件的逻辑路由器。一些实施例提供了用于在网络中实现逻辑路由器的方法。该方法接收用于在网络元件集合上实现的逻辑路由器的定义。该方法定义用于逻辑路由器的若干路由部件。所定义的路由部件中的每个路由部件包括单独的路由集合和单独的逻辑接口集合。该方法在网络中实现若干路由部件。在一些实施例中,该若干路由部件包括一个分布式路由部件和若干集中式路由部件。

Description

具有多个路由部件的逻辑路由器
Ronghua Zhang,Ganesan Chandrashekhar,Sreeram Ravinoothala,Kai-Wei Fan
本申请是申请日为2016年1月29日、申请号为201680006264.5、名称为“具有多个路由部件的逻辑路由器”的发明专利申请的分案申请,亦是申请日为2016年1月29日、申请号为202010831065.6、名称为“具有多个路由部件的逻辑路由器”的分案申请的再次分案申请。
背景技术
典型的物理网络包含若干物理路由器来执行L3转发(即,路由)。当第一机器想要将分组发送到位于不同IP子网上的第二机器时,分组被发送到路由器,该路由器使用该分组的目的地IP地址来确定应当通过它的物理接口中的哪个物理接口发送分组。较大的网络将包含多个路由器,以使得如果这些路由器中的一个路由器发生故障,那么可以沿着第一机器和第二机器之间的不同路径来路由分组。
在逻辑网络中,不同子网上的用户定义的数据计算节点(例如,虚拟机)可能也需要彼此通信。在这种情况下,租户可以定义包括逻辑交换机和逻辑路由器的虚拟化网络。需要用于在数据中心中实现逻辑路由器以充分地为这种虚拟化逻辑网络提供服务的方法。
发明内容
一些实施例提供用于在网络中(例如,在数据中心中)实现逻辑路由器的方法。在一些实施例中,该方法由(例如,在网络控制器中实现的)集中式地管理网络的管理平面执行。在一些实施例中,该方法(例如,通过应用编程接口(API))接收逻辑路由器的定义并且为逻辑路由器定义若干路由部件,这些路由部件中的每个路由部件被分别指派路由的集合和逻辑接口的集合。
在一些实施例中,为逻辑路由器定义的若干路由部件包括一个分布式路由部件和若干集中式路由部件。此外,一些实施例的管理平面定义用于处理逻辑路由器内部的部件之间的通信的逻辑交换机(称为中转逻辑交换机)。分布式路由部件和中转逻辑交换机由数据中心内的大量机器以分布式方式实现,而集中式路由部件各自在单个机器上实现。一些实施例在各种机器上的受管理的转发元件的数据路径中实现分布式部件,而集中式路由部件在它们的单个机器上的VM(或其它数据计算节点)中实现。其它实施例还在它们指派的机器的数据路径中实现集中式部件。
在一些实施例中,集中式部件可以被配置为活动-活动或活动-备用模式。在活动-活动模式下,所有集中式部件同时完全起作用,流量可以使用等价多路径(ECMP)转发原则(跨各种集中式部件平衡流量)通过集中式部件进入逻辑网络或从逻辑网络出去(egress)。在这种模式下,分开的集中式部件中的每个集中式部件具有用于与外部网络通信的其自己的网络层(例如,IP)地址和数据链路层(例如,MAC)地址。此外,分开的集中式部件中的每个集中式部件都有用于连接到中转逻辑交换机的它自己的网络层和数据链路层地址,以便向分布式路由部件发送分组以及从分布式路由部件接收分组。
在一些实施例中,逻辑路由器是两层逻辑网络结构的一部分。一些实施例的两层结构包括用于将逻辑网络连接到在数据中心外部的网络的单个逻辑路由器(被称为提供者逻辑路由器(PLR)并且由例如数据中心的所有者管理))、以及连接到单个逻辑路由器并且不单独与外部网络通信的多个逻辑路由器(被称为租户逻辑路由器(TLR)并且由例如数据中心的不同租户管理)。一些实施例只要可能就实现活动-活动模式的PLR,并且仅当为逻辑路由器配置了有状态服务(例如,NAT、防火墙、负载均衡器等)时才使用活动-备用模式。
对于PLR,一些实施例实现与外部网络的路由交换。PLR的集中式部件中的每个集中式部件运行动态路由协议过程来通告逻辑网络的前缀并且接收朝外部网络的路由。通过既位于数据中心的中心又位于实现逻辑网络的机器上的网络控制器的网络控制系统,这些路由被传播到其它集中式部件和分布式路由部件。一些实施例对于直接从外部网络学习的路由和从自外部网络学习所述路由的不同对等集中式部件学习的部件使用集中式部件的路由信息库(RIB)中的不同的管理(administrative)度量。因此,相对于涉及通过逻辑路由器的对等集中式部件的重定向的路由,集中式部件将优先选择它直接学习的路由。然而,当不同的集中式部件具有被配置有朝着外部网络的不同的L3连接性的接口时,一些实施例在集中式部件上创建伪接口,这些伪接口被用来将由第一集中式部件处理的分组通过第二集中式部件重定向到外部网络。
另一方面,在活动-备用模式下,一次集中式部件中仅有一个集中式部件完全可操作(活动部件),并且仅该部件发出消息以吸引流量。在一些实施例中,两个部件使用同一网络层地址(但是使用不同的数据链路层地址)以用于与分布式部件进行通信,并且仅活动部件回复来自这个分布式部件的地址解析协议(ARP)请求。此外,仅活动的集中式部件将路由通告给外部网络以吸引流量。
当逻辑路由器是TLR时,当为逻辑路由器配置了有状态服务时,一些实施例不使用集中式部件或者使用在活动-备用模式下的两个集中式部件。TLR在内部以与活动-备用模式下的PLR相同的方式操作,其中两个集中式部件中的每个集中式部件具有同一网络层地址,并且仅活动部件响应ARP请求。为了连接到PLR,一些实施例还向两个部件中的每个部件指派同一网络层地址(但是与被用来连接到它自己的分布式部件的地址不同)。此外,管理平面定义PLR的分布式部件与TLR的集中式部件之间的中转逻辑交换机。
在一些情况下,无论是在活动-活动模式还是活动-备用模式下,集中式路由器部件中的一个(或多个)集中式路由器部件将出故障。这种故障可以由于部件在其上运行的机器完全崩溃、实现机器的数据计算节点或数据路径软件损坏、部件连接到外部网络或通过隧道连接到逻辑网络的其它部件的能力出故障等而发生。当故障的部件是活动-备用模式下的备用部件时,在一些实施例中不需要采取任何动作。否则,当集中式部件中的一个集中式部件出故障时,它的对等部件之一负责接管该集中式部件的通信。
在活动-备用模式下,备用的集中式路由器部件负责接替故障的活动的集中式路由器部件。为此,如果逻辑路由器是PLR,那么新的活动部件开始向外部网络通告路由,以便吸引来自外部网络的流量(如果故障部件到外部网络的连接性仍然存在,那么该故障部件负责停止它自己的路由通告,以便避免吸引该流量)。此外,新的活动部件向PLR的分布式路由部件发送该新的活动部件现在负责两个部件之间共享的网络层地址的消息(例如,无故ARP(GARP)回复)。如果逻辑路由器是TLR,那么GARP回复的与此相同的集合被发送。此外,为了吸引来自新的活动部件连接到的PLR的流量,该新的活动部件将GARP回复发送到将该新的活动部件连接到PLR的中转逻辑交换机。
对于一些实施例的活动-活动模式,管理平面在用于逻辑路由器的所有集中式部件被创建时为它们指定排序。然后,这个排序被用来确定对等部件中的哪个对等部件将接替故障部件。具体而言,在一些实施例中,具有相对于故障部件的排名而言下一个最高的排名的集中式部件接替该故障部件。为了接管,接替部件识别故障部件的与用于逻辑路由器的分布式部件通信的网络层地址,并且发送将它自己的数据链路层地址与故障部件的网络层地址相关联的GARP回复。
前面的发明内容旨在充当对本发明的一些实施例的简要介绍。它并不意味着是本文档中所公开的所有发明性主题的介绍或概述。随后的具体实施方式和在具体实施方式中参考的附图将进一步描述在发明内容中描述的实施例以及其它实施例。因而,为了理解本文档描述的所有实施例,需要对发明内容、具体实施方式和附图进行全面审阅。此外,要求保护的主题不受发明内容、具体实施方式和附图中的说明性细节的限制,而是由所附权利要求定义,因为要求保护的主题可以以其它特定形式体现而不背离主题的精神。
附图说明
本发明的新特征在所附权利要求中阐述。然而,为了解释的目的,本发明的若干实施例在以下附图中阐述。
图1示出了逻辑路由器的配置视图,该配置视图表示由用户设计的逻辑网络。
图2示出了当以集中式方式实现逻辑路由器时图1的逻辑网络的管理平面视图。
图3示出了图1的逻辑路由器的物理集中式实现。
图4示出了当以分布式方式实现逻辑路由器时图1的逻辑网络的管理平面视图。
图5示出了图1的逻辑路由器的物理分布式实现。
图6概念性地示出了具有两层逻辑路由器的逻辑网络。
图7示出了当逻辑网络中的TLR为完全分布式的时图6的逻辑拓扑的管理平面视图。
图8示出了当逻辑网络中的TLR具有集中式部件时图6的逻辑拓扑的管理平面视图。
图9概念性地示出了逻辑网络拓扑的更详细的配置,包括由管理员指派的网络地址和接口。
图10示出了管理平面对图9的逻辑拓扑的配置。
图11概念性地示出了一些实施例的用于基于用户规范来配置PLR的过程。
图12概念性地示出了一些实施例的用于基于用户规范来配置TLR的过程。
图13概念性地示出了用于图8中所示的双层逻辑网络的管理平面构造的物理实现,其中TLR和PLR都包括SR以及DR。
图14A-图14B分别示出了对于具有单层逻辑路由器的逻辑拓扑,从逻辑网络出去的流量(北向流量)以及进入逻辑网络的流量(南向流量)的示例。
图15A-图15B示出了对于在下(TLR)层中没有提供集中式服务的两层逻辑拓扑的北向流量和南向流量的示例。
图16A-图16B示出了具有由SR在下(TLR)层中提供的集中式服务的两层逻辑拓扑的北向流量和南向流量的示例。
图17概念性地示出了一些实施例的SR处理的各个阶段。
图18和图19示出了单层逻辑网络拓扑和该拓扑的满足使用ECMP的要求的管理平面视图。
图20示出了当逻辑路由器被配置为活动-备用模式而不是活动-活动(ECMP)模式时图18的逻辑网络拓扑的管理平面视图。
图21示出了托管用于特定PLR的三个reSR的三个网关机器的示例物理实现。
图22概念性地示出了实现图21中的SR中的一个SR的VM中的一个VM崩溃的结果。
图23概念性地示出了托管图21的SR中的一个SR的网关机器上的MFE处的完全隧道故障的结果。
图24概念性地示出了在对等SR故障转移的情况下由SR执行的过程。
图25概念性地示出了利用其实现本发明的一些实施例的电子系统。
具体实施方式
一些实施例提供了用于在例如数据中心中实现的两层逻辑路由器拓扑。在一些实施例中,这些层包括提供者逻辑路由器(PLR)的上层和租户逻辑路由器(TLR)的下层。两层结构使得提供者(例如,数据中心所有者)和租户(例如,数据中心客户(常常是许多这样的客户之一))都能够控制他们自己的服务和策略。在一些实施例中,PLR层是与外部物理网络对接的逻辑层,因此可以在PLR上配置动态路由协议(例如,BGP),以实现与数据中心之外的物理路由器的路由信息交换。一些实施例还允许配置双向转发检测(BFD)或类似协议,以用于监视物理网络路由器是否工作(up)。一些数据中心可能没有多个租户,在这种情况下,对分开的PLR和TLR的需要被去除。在这种情况下,一些实施例使用单层逻辑路由器拓扑,其中该单层具有PLR的功能。在于2014年3月21日提交的美国专利申请14/222,557中更详细地描述了一些实施例的两层逻辑拓扑,该申请通过引用并入本文。
在一些实施例中,PLR和TLR两者都具有支持无状态服务(例如,访问控制列表(ACL))以及有状态服务(例如,防火墙)的能力。此外,(诸如VM之类的数据计算节点可以耦接到的)逻辑交换机可以连接到PLR或者TLR。此外,PLR和TLR两者都可以以分布式方式(例如,逻辑路由器处理在直接物理耦接到数据计算节点的第一跳MFE中执行)或者集中式方式(逻辑路由器处理在用于南北流量和东西流量两者的网关中执行)实现。对于集中式实现,以及对于即使当以分布式方式实现时PLR也通过其与物理网络交互的集中式网关,可以通过使用多个物理盒将两层逻辑路由器进行扩展,以便(例如,使用等价多路径(ECMP)技术)提供附加的吞吐量以及用于故障保护。
在一些实施例中,如果至少部分地以集中式(例如,群集)方式实现逻辑路由器,那么逻辑路由器可以仅使用有状态服务(以避免逻辑路由器实现之间状态共享的需要)。在不同的实施例中,这些网关(提供逻辑路由器的集中式方面的网关以及为分布式PLR形成到外部网络的连接的网关)可以被实现为虚拟机(有时被称为边缘VM)、在其它类型的数据计算节点(例如,命名空间)中实现、或者通过使用基于Linux的数据路径开发工具包(DPDK)分组处理软件实现(例如,被实现为基于DPDK的数据路径中的VRF)。
以下介绍在本说明书中使用的术语和缩略语中的一些术语和缩略语:
·VNI(虚拟/逻辑网络标识符)-逻辑域(例如,逻辑交换机)的唯一标识符(例如,24比特标识符)。
·PLR(提供者逻辑路由器)-上面介绍过,服务提供者(例如,数据中心运营商)对其具有完全控制的逻辑路由器;直接与外部物理网络对接。
·TLR(租户逻辑路由器)-租户(例如,数据中心客户、企业内部的组等)对其具有完全控制权的逻辑路由器;连接到PLR以访问外部物理网络。
·分布式逻辑路由器-支持第一跳路由的逻辑路由器;即,逻辑路由器在数据计算节点直接耦接到的受管理的转发元素中实现。
·集中式逻辑路由器-不支持第一跳路由的逻辑路由器。
·服务路由器(SR)-被用来提供集中式服务的逻辑路由器的实现的一部分;在一些实施例中,除了出于故障排除目的之外,SR不暴露于网络管理器API。
·分布式路由器(DR)-被用来提供第一跳路由的逻辑路由器的实现的一部分;在一些实施例中,除了出于故障排除目的之外,DR也不暴露于网络管理器API。
·上行链路-指的是(i)逻辑路由器的北向接口(指向外部物理网络)和(ii)网关的一组pNlC两者。
·逻辑交换机-逻辑L2广播域。
·中转逻辑交换机-由网络管理器自动创建以将TLR的SR/DR与DR的DR连接的逻辑交换机;在一些实施例中,中转逻辑交换机没有连接到它的数据计算节点(例如,客户工作负载VM);此外,在一些实施例中,除了出于故障排除目的之外,中转逻辑交换机不暴露于网络管理器API。
·上下文-逻辑路由器的数据路径表示;在一些实施例中,上下文可以是VRF、命名空间或VM。
·传输节点或网关-终止由网络管理器定义的隧道的节点;在各种实施例中,传输节点或网关可以是管理程序(hypervisor)实现的虚拟交换机或基于DPDK的边缘节点;在一些实施例中,传输节点可以与数据路径可互换地使用。
·部署容器(DC)或边缘群集–其上行链路共享相同的L2连接性的同质(homogeneous)节点的集合;在一些实施例中,DC中的所有节点具有相同的类型并且属于相同的故障域。
·边缘节点-DC中的节点;边缘节点可以是基于DPDK的边缘或管理程序实现的虚拟交换机。
上文介绍了两层逻辑路由器配置的概念以及一些实施例的逻辑路由器配置和实现的某些方面。在下文中,部分I关注一些实施例的逻辑路由器的整体高级设计,而部分II描述各种逻辑路由器部件的配置。然后,部分III描述通过一些实施例的各种流水线的分组处理。接下来,部分IV介绍在活动-活动配置下的ECMP处理,而部分V描述活动-备用配置。然后,部分VI描述SR的故障转移场景。最后,部分VII描述利用其实现本发明的一些实施例的电子系统。
I.逻辑路由器和物理实现
以下讨论描述一些实施例的逻辑路由器的设计以及由一些实施例的网络控制器对这样的逻辑路由器的实现。如上面所提到的,一些实施例的逻辑路由器被设计为使得它们可以以分布式或集中式方式实现,它们可以进行扩展并且具有或没有有状态服务(或无状态服务),因此这样的服务可以由数据路径中的VRF上下文或者由虚拟机上下文提供。
在一些实施例中,逻辑路由器以三种不同的形式存在。这些形式中的第一种形式是API视图或配置视图,该视图是逻辑路由器如何由用户(诸如数据中心提供者或租户)定义(即,接收到的逻辑路由器的定义)。第二种视图是控制平面(或管理平面)视图,该视图是网络控制器如何在内部定义逻辑路由器。最后,第三种视图是逻辑路由器的物理实施或实现,该视图是逻辑路由器在数据中心中实际如何实现。
在控制平面视图中,一些实施例的逻辑路由器可以包括单个DR和一个或多个SR中的一个或两者。在一些实施例中,DR跨越直接耦接到VM的受管理的转发元件(MFE)或者直接或间接地逻辑连接到逻辑路由器的其它数据计算节点。一些实施例的DR还跨越逻辑路由器所绑定的网关。如上面所提到的,DR负责逻辑交换机和/或逻辑连接到逻辑路由器的其它逻辑路由器之间的第一跳分布式路由。一些实施例的SR负责交付未以分布式方式实现的服务(例如,一些有状态服务)。
A.集中式逻辑路由器
图1-图3示出了集中式逻辑路由器实现的三种不同视图。图1具体示出了配置视图,该配置视图表示由用户设计的逻辑网络100。如图所示,逻辑路由器115是包括逻辑路由器115以及两个逻辑交换机105和110的逻辑网络100的一部分。两个逻辑交换机105和110各自具有连接到逻辑端口的VM。虽然在这些图中被示为VM,但是应当理解的是在一些实施例中,其它类型的数据计算节点(例如,命名空间等)可以连接到逻辑交换机。逻辑路由器115还包括连接到外部物理网络120的两个端口。
图2示出了逻辑网络100的管理平面视图200。逻辑交换机105和110在这个视图中与在配置视图中相同,但是网络控制器已经为逻辑路由器115创建了两个服务路由器205和210。在一些实施例中,这些SR在活动-备用模式下操作,其中这些SR中的一个SR是活动的,而其它的SR作为备用运行(以防活动SR出故障)。逻辑交换机105和110中的每个逻辑交换机具有到SR 205和210中每个SR的连接。如果逻辑网络100包括三个逻辑交换机,那么这三个逻辑交换机将各自连接到SR 205和210两者。
最后,图3示出了逻辑路由器100的物理集中式实现。如图所示,耦接到逻辑网络100中的逻辑交换机105和110中的一个的VM中的每个VM在主机机器305上操作。在这些主机机器上操作的MFE 310是在主机机器上的管理程序或其它虚拟化软件内操作的虚拟交换机(例如,OVS、ESX)。这些MFE对于由逻辑网络100的VM发送的分组为逻辑交换机105和110执行第一跳交换。如果其它逻辑网络也具有驻留在主机机器305上的VM,那么MFE 310(或MFE310的子集)还可以实现用于其它逻辑网络的逻辑交换机(和分布式逻辑路由器)。
两个服务路由器205和210各自在不同的网关机器315和320上操作。在一些实施例中,网关机器315和320是类似于机器305的主机机器,但是托管服务路由器而不是用户VM。在一些实施例中,网关机器315和320各自包括MFE以及服务路由器,以便让MFE处理任何必要的逻辑交换。例如,从外部网络120发送的分组可以由网关上的服务路由器实现路由,然后由同一网关上的MFE交换。
在不同的实施例中,SR可以在命名空间中实现、在虚拟机中实现或被实现为VRF。在一些实施例中,取决于在逻辑路由器上是否配置了任何有状态服务(例如,防火墙),SR可以以活动-活动或活动-备用模式操作。当配置了有状态服务时,一些实施例仅需要单个活动的SR。在一些实施例中,活动和备用服务路由器被提供有相同的配置,但是MFE 310被配置为经由隧道将分组发送到活动SR(或者发送到具有活动SR的网关机器上的MFE)。只有当隧道故障时,MFE才向备用网关发送分组。
B.分布式逻辑路由器
虽然上面的部分介绍了逻辑路由器的集中式实现,但是一些实施例使用实现第一跳路由的分布式逻辑路由器实现,而不是将所有路由功能都集中在网关处。在一些实施例中,分布式逻辑路由器的物理实现始终具有DR(即,第一跳路由)。如果或者(i)逻辑路由器是PLR并且因此连接到外部物理网络,或者(ii)逻辑路由器被配置有不具有分布式实现的服务(例如,在一些实施例中,NAT、负载均衡、DHCP),那么分布式逻辑路由器将具有SR。即使在PLR上没有配置有状态服务,一些实施例也在实现中使用SR以在ECMP的情况下帮助故障处理。
图4和图5分别示出了分布式逻辑路由器的管理平面视图和物理实现。由用户输入的配置视图与图1中对于集中式路由器所示的视图相同,区别在于用户(例如,管理员)表示逻辑路由器将是分布式的。分布式实现的控制平面视图400示出,除了两个服务路由器405和410之外,控制平面还创建分布式路由器415和中转逻辑交换机420。各种路由器构造405-415的北向接口和南向接口的配置以及它们与中转逻辑交换机420的连接将在下面将更详细地描述。在一些实施例中,管理平面为路由器构造405-415中的每一个生成单独的路由信息库(RIB)。即,除了具有在管理/控制平面中创建的单独的对象之外,路由器构造405中的每个路由器构造还被视为具有单独的路由的单独路由器。中转逻辑交换机420然后具有用于这些路由器中的每个路由器的逻辑端口,并且路由器构造中的每个路由器构造具有到中转逻辑交换机的接口。
图5示出了逻辑路由器100的物理分布式实现。如在集中式实现中那样,耦接到逻辑网络100中的逻辑交换机105和110中的一个逻辑交换机的VM中的每个VM在主机机器505上操作。MFE 510为逻辑交换机105和110以及为逻辑路由器115执行第一跳交换和路由(除了为其它逻辑网络执行交换和/或路由之外)。如图5中所示,分布式路由器415跨MFE 510以及网关515和520实现。即,(例如,在MFE 510中、在网关515和520中的类似的MFE中或者在网关上的以不同形式因子的)数据路径都包括DR 415(和中转逻辑交换机420)所需的处理流水线。下面将更详细地描述一些实施例的分组处理。
C.多层拓扑
前面的示例仅示出了单层的逻辑路由器。对于具有多层逻辑路由器的逻辑网络,一些实施例可以在每个级别都包括DR和SR两者,或者在较高级别(PLR层)包括DR和SR两者而在较低级别(TLR层)仅包括DR。图6概念性地示出了一些实施例的多层逻辑网络600,图7和图8示出了逻辑网络的两种不同的管理平面视图。
图6概念性地示出了具有两层逻辑路由器的逻辑网络600。如图所示,逻辑网络600在层3级别包括提供者逻辑路由器605、若干租户逻辑路由器610-620。第一租户逻辑路由器610具有两个附连的逻辑交换机625和630,其中一个或多个数据计算节点耦接到这些逻辑交换机中的每个逻辑交换机。为了简单起见,仅示出附连到第一TLR 610的逻辑交换机,尽管其它TLR 615-620通常将具有附连的(数据计算节点所耦接的)逻辑交换机。
在一些实施例中,任何数量的TLR可以被附连到PLR,诸如PLR 605。一些数据中心可以仅具有数据中心中实现的所有TLR都附连到的单个PLR,而其它数据中心可以具有多个PLR。例如,大数据中心可能想要对于不同租户使用不同的PLR策略,或者可能有太多不同的租户而不能将所有TLR附连到单个PLR。用于PLR的路由表的一部分包括用于它的TLR的所有逻辑交换机域的路由,因此将多个TLR附连到PLR仅仅基于附连到TLR的子网来为每个TLR创建若干路由。如图所示,PLR 605提供到外部物理网络635的连接;一些实施例仅允许PLR提供这样的连接,以使得数据中心提供者可以管理这种连接。分开的TLR 610-620中的每一个TLR虽然是逻辑网络600的一部分,但是被独立地配置(不过单个租户可以具有多个TLR,如果它们被这样选择的话)。
图7和图8示出了取决于TLR 605是否包括集中式部件的逻辑网络600的不同的可能管理平面视图。在这些示例中,通过使用DR,TLR 605的路由方面总是分布式的。然而,如果TLR 605的配置包括有状态服务的供应,那么TLR的管理平面视图(以及因此物理实现)将包括用于这些有状态服务的活动SR和备用SR。
因此,图7示出了当TLR 605是完全分布式的时,逻辑拓扑600的管理平面视图700。为了简单起见,仅示出了第一TLR 610的细节;其它TLR将各自具有它们自己的DR,以及在一些情况下具有SR。如图4中所示,PLR 605包括通过中转逻辑交换机725连接在一起的DR 705和三个SR 710-720。除了PLR 605实现内的中转逻辑交换机725之外,管理平面还在TLR以及PLR的DR 705中的每一个之间定义单独的中转逻辑交换机730-740。在TLR 610是完全分布式的情况下(图7),中转逻辑交换机730连接到实现TLR 610的配置的DR 745。因此,如下面将更详细描述的,由附连到逻辑交换机625的数据计算节点发送到外部网络中的目的地的分组将通过逻辑交换机625、TLR 610的DR 745、中转逻辑交换机730、PLR 605的DR 705、中转逻辑交换机725以及SR 710-720中的一个SR的流水线。在一些实施例中,除了可能的故障排除目的之外,中转逻辑交换机725和730-740的存在和定义对于通过API配置网络的用户(例如,管理员)是隐藏的。
图8示出了当(例如,因为为TLR定义了不能是分布式的有状态服务)TLR 605具有集中式部件时,逻辑拓扑600的管理平面视图800。在一些实施例中,诸如防火墙、NAT、负载均衡等之类的有状态服务仅以集中式方式被提供。然而,其它实施例允许这样的服务中的一些或全部是分布式的。如关于之前的图那样,为了简单起见,仅示出了第一TLR 610的细节;其它TLR可以具有相同的被定义的部件(DR、中转LS和两个SR)或者如图7的示例中那样仅具有DR。PLR 605以与之前的图相同的方式实现,其中DR 705和三个SR 710通过中转逻辑交换机725彼此连接。此外,如在之前的示例中,管理平面在PLR和TLR中的每个TLR之间放置中转逻辑交换机730-740。
TLR 610的部分集中式实现包括逻辑交换机625和630附连到的DR 805以及两个SR810和815。如在PLR实现中,DR和两个SR各自具有到中转逻辑交换机820的接口。在一些实施例中,这种中转逻辑交换机与交换机725起相同的作用。对于TLR,一些实施例以活动-备用方式实现SR,其中SR中的一个SR被指定为活动的,而其它SR被指定为备用的。因此,只要活动SR是可操作的,由附连到逻辑交换机625和630中的一个逻辑交换机的数据计算节点发送的分组就将被发送到活动SR而不是备用SR。
上面的附图示出了一些实施例的逻辑路由器的管理平面视图。在一些实施例中,管理员或其他用户通过API提供逻辑拓扑(以及其它配置信息)。这种数据被提供给管理平面,管理平面(例如,通过定义DR、SR、中转逻辑交换机等)定义逻辑网络拓扑的实现。此外,在一些实施例中,用户将每个逻辑路由器(例如,每个PLR或TLR)与物理机器集合(例如,数据中心中预定义的机器组)相关联以用于部署。对于纯分布式路由器,诸如图7中实现的TLR605,物理机器的集合并不重要,因为DR跨驻留在主机上的受管理的转发元件连同连接到逻辑网络的数据计算节点来实现。然而,如果逻辑路由器实现包括SR,那么这些SR将各自被部署在具体的物理机器上。在一些实施例中,物理机器组是出于托管SR(而不是附连到逻辑交换机的用户VM或其它数据计算节点)的目的而被指定的机器集合。在其它实施例中,SR与用户数据计算节点一起被部署在机器上。
在一些实施例中,逻辑路由器的用户定义包括特定数量的上行链路。如本文所描述的,上行链路是逻辑拓扑中逻辑路由器的北向接口。对于TLR,它的上行链路连接到PLR(一般而言,所有上行链路都连接到同一PLR)。对于PLR,它的上行链路连接到外部路由器。一些实施例要求PLR的所有上行链路具有相同的外部路由器连接性,而其它实施例允许上行链路连接到不同的外部路由器集合。一旦用户为逻辑路由器选择了机器组,则如果对于逻辑路由器需要SR,那么管理平面将逻辑路由器的上行链路中的每条上行链路指派给所选择的机器组中的物理机器。然后,管理平面在向其指派上行链路的机器中的每个机器上创建SR。一些实施例允许将多条上行链路指派给同一机器,在这种情况下,该机器上的SR具有多个北向接口。
如上面所提到的,在一些实施例中,SR可以被实现为虚拟机或其它容器,或者被实现为VRF上下文(例如,在基于DPDK的SR实现的情况下)。在一些实施例中,用于实现SR的选择可以基于为逻辑路由器选择的服务以及哪种类型的SR最佳地提供这些服务。
此外,一些实施例的管理平面创建中转逻辑交换机。对于每个中转逻辑交换机,管理平面向逻辑交换机指派唯一VNT、在连接到中转逻辑交换机的每个SR和DR上创建端口、以及为连接到逻辑交换机的任何SR和DR分配IP地址。一些实施例要求被指派给每个中转逻辑交换机的子网在具有许多TLR的逻辑L3网络拓扑(例如,网络拓扑600)内是唯一的,其中这些TLR中的每个TLR可以具有它自己的中转逻辑交换机。即,在图8中,在PLR实现内的中转逻辑交换机725、在PLR和TLR之间的中转逻辑交换机730-740和中转逻辑交换机820(以及在其它TLR中的任何TLR的实现内的中转逻辑交换机)各自要求唯一的子网。此外,在一些实施例中,SR可能需要发起在逻辑空间中到VM的连接(例如,HA代理)。为了确保返回流量有效(work),一些实施例避免使用链路本地IP地址。
一些实施例对多层配置中的逻辑路由器的连接施加各种限制。例如,虽然一些实施例允许任何数量的逻辑路由器层(例如,连接到外部网络的PLR层以及许多TLR层),但是其它实施例仅允许两层拓扑(连接到PLR的一个TLR层)。此外,一些实施例允许每个TLR连接到仅一个PLR,并且由用户创建的每个逻辑交换机(即,不是中转逻辑交换机)仅被允许连接到一个PLR或一个TLR。一些实施例还添加了逻辑路由器的南向端口必须各自在不同的子网中的限制。因此,如果两个逻辑交换机连接到同一逻辑路由器,那么它们可能不具有相同的子网。最后,一些实施例要求PLR的不同上行链路必须存在于不同的网关机器上。应当理解的是,一些实施例不包括这些要求中的任何要求,或者可以包括这些要求的各种不同组合。
II.SR和DR配置
当用户配置逻辑路由器时,这种配置由管理平面用来配置逻辑路由器的SR和DR。例如,图1的逻辑路由器115具有四个接口(两个到逻辑交换机,两个到上行链路)。然而,图4中的逻辑路由器的分布式管理平面实现包括具有三个接口的DR和各自具有两个接口的SR(总共七个接口)。作为逻辑路由器配置的一部分被指派给四个接口的IP地址和MAC地址以及其它配置细节被用来生成用于逻辑路由器的各个部件的配置。
此外,作为配置的一部分,一些实施例为逻辑路由器部件中的每个逻辑路由器部件生成路由信息库(RIB)。即,虽然管理员仅定义单个逻辑路由器,但是一些实施例的管理平面和/或控制平面为DR以及为SR中的每个SR生成单独的RIB。对于PLR的SR,在一些实施例中,管理平面最初生成RIB,但是SR的物理实现还运行动态路由协议过程(例如,BGP、OSPF等),以在本地补充RIB。
一些实施例在逻辑路由器的RIB中并且因此在它的部件路由器的RIB中包括若干类型的路由。在一些实施例中,所有路由都包括被用来确定优先级的管理距离值,其中较大的值指示较低优先级类型的路由(即,如果对于同一前缀存在两个路由,那么使用具有较低距离值的路由)。如果用于同一前缀的多个路由在具有相同距离值的RIB中,那么到这些前缀的流量跨不同的路由散布(例如,使用ECMP原则来均匀地平衡流量)。
已连接的(0):在逻辑路由器的端口上配置的前缀
静态的(1):由管理员/用户配置
管理平面内部(10):缺省路由-当TLR连接到PLR时,指向PLR的缺省路由被添加到TLR的RIB;当逻辑交换机连接到TLR时,用户允许子网被重新分配,并且子网没有被NAT,指向该子网的TLR的缺省路由被添加到PLR的RIB
EBGP(20):接下来的四种类型是通过动态路由协议学习的路由
OSPF内部(30)
OSPF外部(110)
IBGP(200)
应当理解的是,在一些实施例中,并不是所有逻辑路由器将包括BGP路由和OSPF路由两者,并且一些逻辑路由器可以这两者都不包括。例如,不包括到外部网络的连接的逻辑路由器可以不使用任何路由协议,并且一些逻辑路由器可以仅运行一种类型的路由共享协议,而不是BGP和OSPF两者。
此外,在一些实施例中,(使用动态路由协议的)PLR的SR将从集中式控制器(包含静态路由、已连接的路由和管理平面内部路由)接收的RIB与从物理路由器(经由动态路由协议)学习的路由合并。SR基于这些动态路由的结合来在本地计算它的FIB,以便加速路由收敛,而不是将学习到的路由发送回集中式控制器以进行重新计算。对于DR,一些实施例的集中式控制器用计算FIB的本地控制平面来下推(push down)整个RIB。
A.DR配置
在一些实施例中,DR始终位于逻辑路由器实现的南向侧(即,面向逻辑网络的数据计算节点,而不是面向外部物理网络)。除非逻辑路由器没有集中式部件,否则将不为DR配置逻辑路由器的上行链路,DR的北向接口替代地耦接到作为逻辑路由器的一部分的中转逻辑交换机。
图9概念性地示出了逻辑网络拓扑900的更详细的配置,包括由管理员指派的网络地址和接口。如图所示,逻辑交换机905和910各自被指派了它们自己的子网,1.1.1.0/24和1.1.2.0/24,并且附连到逻辑交换机905的所有数据计算节点都将具有对应子网中的IP地址。逻辑路由器915具有到第一逻辑交换机905的接口L1,该接口L1具有IP地址1.1.1.253,这是子网1.1.1.0/24中的数据计算节点的缺省网关。逻辑路由器915还具有到第二逻辑交换机910的第二接口L2,该第二接口L2具有IP地址1.1.2.253,这是子网1.1.2.0/24中的数据计算节点的缺省网关。
逻辑路由器915的北向侧具有两条上行链路U1和U2。第一条上行链路U1具有IP地址192.168.1.252并且连接到具有IP地址192.168.1.252的第一物理路由器920。第二条上行链路U2具有IP地址192.168.2.253并且连接到具有IP地址192.168.2.252的第二物理路由器925。物理路由器920和925实际上不是逻辑网络的一部分,而是将逻辑网络连接到外部网络。尽管在示出的情况下上行链路中的每条上行链路连接到单个不同的物理路由器,但是在一些情况下,上行链路中的每条上行链路将连接到若干物理路由器的相同集合。即,U1和U2两者可以都连接到物理路由器920和925两者。一些实施例要求上行链路所连接的外部路由器中的每个外部路由器提供相同的连接性,尽管在示出的示例中不是这种情况。相反,第一物理路由器920连接到子网10.0.0.0/8,而第二路由器925连接到子网10.0.0.0/8和11.0.0.0/8两者。
对于具有分布式部件的逻辑路由器,一些实施例如下配置DR。以与逻辑路由器的南向接口相同的方式来配置南向接口。这些接口是连接到逻辑拓扑中的逻辑交换机或者连接到较低级别逻辑路由器(例如,PLR的南向接口可以连接到TLR)的接口。一些实施例的DR被分配单个北向接口,该北向接口被指派了IP地址和MAC地址。假设逻辑路由器具有一个或多个SR,那么DR的北向接口连接到中转逻辑交换机。
基于在DR的各个南向接口和北向接口上配置的子网来向DR的RIB指派已连接的路由。这些子网是为(i)在逻辑路由器的DR和SR部件之间配置的中转逻辑交换机以及(ii)在DR的南向接口上的任何逻辑交换机配置的子网。南向接口上的这些逻辑交换机可以是数据计算节点所连接的用户定义的逻辑域,或者位于PLR的DR和连接到PLR的任何TLR之间的逻辑交换机。
此外,从逻辑路由器的上行链路出去的任何静态路由被包括在DR的RIB中;然而,这些路由被修改以使得下一跳IP地址被设置为上行链路的SR的IP地址。例如,“a.b.c.0/24经由192.168.1.252(192.168.1.252是外部物理网络路由器的地址)”的静态路由被修改为“a.b.c.0/24经由[SR南向接口的IP]”。另一方面,从逻辑路由器的南向接口出去的静态路由被包括在DR的未经修改的RIB中。在一些实施例中,对于逻辑路由器的每个SR,类型管理平面内部的缺省路由被添加到DR的RIB。相反,在其它实施例中,由特定SR学习到的动态路由被添加到RIB,其中下一跳IP地址被修改为特定SR的南向接口的IP。这是缺省路由的替代物,因为否则管理平面内部类型将具有比由SR学习的动态路由高的优先级。然而,对于TLR,在一些实施例中,SR不运行动态路由协议,因此替代地使用具有指向活动SR的接口的下一跳IP地址的缺省路由。
图10示出了管理平面对逻辑拓扑900的配置1000。如图所示,逻辑交换机905和910如由用户配置指示的那样被配置。如前面的示例中那样,逻辑路由器915包括DR 1005、两个SR 1010和1015以及中转逻辑交换机1020。DR被指派了逻辑路由器905的两个南向接口,这两个南向接口连接到逻辑交换机905和910。中转逻辑交换机被指派了子网192.168.100.0/24,该子网需要满足如下要求:它在(直接或间接地)逻辑连接到逻辑路由器905的逻辑交换机之间是唯一的。三个管理平面路由器构造1005-1015中的每一个还包括连接到中转逻辑交换机的接口,并且具有在中转逻辑交换机的子网中的IP地址。北向接口U1和U2被指派给两个SR 1010和1015,其配置如下所述。
通过使用上文描述的用于生成RIB的一些实施例的规则,DR1005的RIB包括以下路由:
1.1.1.0/24输出到L1
1.1.2.0/24输出到L2
192.168.100.0/24输出到DRP1
192.168.1.0/24经由IP1
192.168.2.0/24经由IP2
10.0.0.0/8经由IP1
10.0.0.0/8经由IP2
11.0.0.0/8经由IP2
0.0.0.0/0经由IP1
0.0.0.0/0经由IP2
上面的路由包括用于连接到DR的逻辑交换机域(1.1.1.0/24、1.1.2.0/24和192.168.100.0/24)的三条已连接的路由。此外,第一上行链路所位于的子网(192.168.1.0/24)经由第一SR 1010的南向接口(IP1)到达,而第二上行链路所位于的子网(192.168.2.0/24)经由第二SR 1015的南向接口(IP2)到达。此外,用户已经为逻辑路由器915添加了三条静态路由,管理平面对于DR 1005自动修改这三条静态路由。具体而言,路由包括经由SR中的任一SR的南向接口的网络10.0.0.0/8,以及经由SR2的南向接口的网络11.0.0.0/8。最后,包括指向这些相同的南向接口的缺省路由。由管理平面为与中转逻辑交换机对接的逻辑路由器构造的端口创建的IP地址IP1、IP2和IP3都在子网192.168.100.0/24中。
在一些实施例中,除了配置DR的RIB,管理平面还将MAC地址指派给DR接口。在一些实施例中,物理网络中实现DR功能的物理路由元件(例如,软件模块)中的一些或全部仅支持单个MAC地址。在这种情况下,因为DR端口的MAC可以来自用户可见的逻辑路由器端口的MAC,所以这对管理平面如何分配逻辑路由器端口的MAC地址施加了要求。因此,在一些实施例中,连接到具有连接的用户数据计算节点或SR的任何逻辑交换机的所有DR/SR端口必须共享公共MAC地址。此外,在一些实施例中,如果DR/SR端口被连接到另一个DR/SR或被连接到物理网络,那么这个端口被指派唯一的MAC地址(这种指派规则在确定DR/SR端口是否被连接到另一个DR/SR端口时忽略中转逻辑交换机)。
B.SR配置
就像对于逻辑路由器的DR一样,管理平面还用单独的RIB和接口来配置逻辑路由器的每个SR。如上文所描述的,在一些实施例中,PLR和TLR两者的SR都可以交付服务(即,除了仅仅路由之外的功能,诸如NAT、防火墙、负载均衡等),并且PLR的SR还提供逻辑网络和外部物理网络之间的连接。在一些实施例中,SR的实现被设计为满足若干目标。首先,该实现确保服务可以扩展,即,指派给逻辑路由器的服务可以由逻辑路由器的若干SR中的任何SR来交付。第二,一些实施例以使得服务策略可以依赖于路由决策(例如,基于接口的NAT)的方式来配置SR。第三,逻辑路由器的SR具有在它们自己之间处理故障(例如,SR在其上操作的物理机器的故障、到该物理机器的隧道的故障等)的能力,而不需要涉及集中式控制平面或管理平面(但是一些实施例允许SR以降低的容量或以次优的方式操作)。最后,SR在理想情况下避免它们自己之间不必要的重定向。即,如果SR具有在本地将分组转发到外部物理网络的能力,那么该SR应当将分组转发到外部物理网络,只有在必要时才将分组转发到不同的SR。当然,SR之间的转发应当避免分组环路。
如图10中所示,每个SR具有连接到驻留在SR和DR之间的中转逻辑交换机1020的一个南向接口。此外,在一些实施例中,每个SR具有与逻辑路由器相同数量的北向接口。即,即使只有一条上行链路可以被指派给SR在其上操作的物理机器,所有逻辑路由器接口也都在SR上定义。然而,这些接口中的一些接口是本地接口,而它们中的一些接口被称为伪(dummy)接口。
在一些实施例中,本地北向接口是分组可以通过其直接从SR出去(例如,直接到物理网络)的接口。基于被指派给SR的上行链路(或上行链路之一)而配置的接口是本地接口。另一方面,基于被指派给不同的SR的逻辑路由器的其它上行链路中的一个上行链路而配置的接口被称为伪接口。向SR提供伪接口的配置允许第一跳MFE将针对上行链路中的任何上行链路的分组发送到SR中的任何SR,其中即使分组的目的地不是该SR的本地接口,该SR也能够处理分组。一些实施例在处理伪接口的SR中的一个SR处的分组之后,将该分组转发到该接口在其中是本地的适当SR,以便该另一个SR将分组转发到外部物理网络。伪接口的使用还允许管理网络的集中式控制器(或控制器的集合)将依赖于路由决策的服务策略推送到所有SR,由此允许服务由SR中的任何SR交付。
如以下在部分IV中所讨论的,在一些实施例中,SR(例如,使用诸如BGP或OSPF之类的路由通告协议)与物理网络交换路由信息。这种路由交换的一个目的是,无论哪个SR朝着物理网络来路由分组,路由决策都应当总是指向SR的本地接口或者与不同的SR上的逻辑路由器的上行链路对应的伪接口。因此,即使当上行链路没有被指派给该SR时,该SR也可以应用与逻辑路由器上行链路相关联的策略,从而实现有状态服务的扩展。在一些实施例中,从对等SR接收的路由将具有比直接从物理的下一跳路由器学到的路由更大的距离值,从而确保仅当SR不能直接向物理网络路由器发送分组时才向它的对等SR发送分组。
对于具有一个或多个集中式部件的逻辑路由器,一些实施例如下配置SR。对于北向接口,SR具有与逻辑路由器相同数量的这样的接口,并且这些接口各自继承对应逻辑路由器接口的IP和MAC地址。这些接口的子集被标记为本地接口(对于其向SR指派上行链路的接口),而其余的接口被标记为伪接口。在一些实施例中,为逻辑路由器定义的服务策略被等价地推送到所有SR,因为从网络和接口的角度看这些SR以相同的方式被配置。用于特定逻辑路由器端口/上行链路的动态路由配置被传送到该特定上行链路被指派到的SR的本地接口。
正如所提到的,每个SR被指派了连接到中转逻辑交换机的单个南向接口(也是本地接口),其中每个SR的南向接口连接到同一中转逻辑交换机。这些南向接口中的每个南向接口的IP地址与被指派给(中转逻辑交换机的)DR的北向接口在同一子网中。一些实施例依赖于SR是处于活动-活动模式还是活动-备用模式来区分SR之间的IP地址的指派。对于活动-活动模式(即,当对于路由目的所有SR都被视为等同物时),不同的IP地址和MAC地址被指派给所有SR的南向接口。另一方面,在活动-备用模式下,同一IP被用于两个SR的南向接口两者,而这两个接口中的每个接口被指派不同的MAC地址。
如上面关于DR的小节所述,用户可以为逻辑路由器配置静态路由。逻辑路由器的从上行链路出去的静态路由(或已连接的路由)被复制到SR的RIB。如果路由通过其出去的上行链路被指派给SR,那么用于这种路由的距离度量是未修改的;然而,如果上行链路是SR上的伪接口,那么一些实施例向这个度量添加值,以使得当可以在不通过伪接口将分组重定向到不同的SR的情况下到达网络时,SR将优选从它的本地接口出去的路由。此外,(最高级别的逻辑路由器)的SR可以学习动态路由并且将这些路由放在它们的RIB中(但是一些实施例在本地执行这个任务,而不涉及集中式控制器)。在一些实施例中,从对等SR学习的动态路由被安装,而没有对距离度量的这种调整,因为缺省地,用于从IBGP(SR到SR对等互联(peering))或OSPF学习的路由的度量大于用于从EBGP学习的路由的度量。
对于逻辑路由器的每个南向接口,一些实施例将用于对应网络的路由添加到每个SR的RIB。这个路由指向北向DR接口作为它的下一跳IP地址。此外,为逻辑路由器配置的从南向接口出去的任何其它路由都被复制到与下一跳IP地址具有相同的北向DR接口的SR。
返回到图10的示例,由于逻辑路由器915具有两条上行链路,因此管理平面定义两个服务路由器1010和1015。第一服务路由器1010具有用于U1的本地接口和用于U2的伪接口(被称为U2')。类似地,第二服务路由器1015具有用于U2的本地接口和用于第一上行链路U1的伪接口U1'。这些SR中的每个SR被指派了具有不同的IP地址和MAC地址(因为SR处于活动-活动配置)的南向接口。(用于第一SR 1010的)IP地址IP1和(用于第二SR 1015的)IP2在子网192.1.100.0/24中,IP3(DR 1005的北向接口)也是如此。
使用一些实施例的规则,并且假设为SR启用路由协议(例如,BGP),则第一SR 1010的RIB将包括以下路由:
10.0.0.0/8经由192.168.1.252输出到U1,度量20(经由EBGP)
10.0.0.0/8经由192.168.2.252输出到U2',度量200(经由IBGP)
11.0.0.0/8经由192.168.2.252输出到U2',度量200(经由IBGP)
192.168.1.0/24输出到U1,度量0(已连接)
192.168.100.0/24输出到SRP1,度量0(已连接)
1.1.1.0/24经由IP3,度量10(管理平面内部)
1.1.2.0/24经由IP3,度量10(管理平面内部)
类似地,第二SR 1015的RIB将包括以下路由:
10.0.0.0/8经由192.168.2.252输出到U2,度量20(经由EBGP)
10.0.0.0/8经由192.168.1.252输出到U1',度量200(经由IBGP)
11.0.0.0/8经由192.168.2.252输出到U2,度量20(经由EBGP)
192.168.2.0/24输出到U2,度量0(已连接)
192.168.100.0/24输出到SRP2,度量0(已连接)
1.1.1.0/24经由IP3,度量10(管理平面内部)
1.1.2.0/24经由IP3,度量10(管理平面内部)
C.管理平面过程
图11概念性地示出了一些实施例的用于基于用户规范来配置PLR的过程1100。在一些实施例中,过程1100由管理平面(例如,管理数据中心的网络的集中式控制器处一组模块)执行。管理平面执行配置过程,然后使用控制器(或不同网络控制器)的集中式控制平面将数据分发到实现所配置的逻辑路由器的各个主机机器上的各个本地控制平面。
如图所示,过程1100通过(在1105处)接收PLR的规范开始。PLR的规范(或PLR的定义)基于定义PLR的管理员(例如,由数据中心的所有者雇佣的管理员)的输入。在一些实施例中,这种规范包括PLR应当提供的任何服务的定义、是否将以活动-活动或活动-备用模式来配置PLR(但是一些实施例自动使用活动-活动模式,除非被配置了有状态服务)、为PLR配置多少上行链路、上行链路的IP地址和MAC地址、上行链路的L2和L3连接性、PLR的任何南向接口(如果PLR旨在用于两层拓扑,则为一个接口,以及如果用户逻辑交换机将直接连接在单层拓扑中,则为任何数量的接口)的子网、用于PLR的RIB的任何静态路由、以及其它数据。应当理解的是,不同的实施例可以在PLR的配置数据中包括所列出的数据或其它数据的不同组合。
然后,过程1100(在1110处)使用这种配置数据来定义DR。这假设PLR将不是完全集中式的,在PLR是完全集中式的情况下管理平面不生成DR。对于DR的南向接口,管理平面使用PLR的南向接口配置。即,DR的IP地址和MAC地址是为逻辑路由器指定的IP地址和MAC地址。
此外,该过程(在1115处)将为PLR指定的每条上行链路指派给网关机器。如上文所描述的,一些实施例允许(或要求)用户对于逻辑路由器的SR的位置指定特定的物理网关机器集合。在一些实施例中,网关机器的集合可以一起在服务器的特定机架或机架组内,或者以其它方式相关联,其中隧道连接集合中的所有机器。然后,管理平面将上行链路中的每条上行链路指派给所选择的集合中的网关机器中的一个网关机器。一些实施例允许将多条上行链路指派给同一网关机器(只要逻辑路由器在活动-备用模式下不是被配置为仅具有两条上行链路),而其它实施例仅允许用于PLR的每个网关机器被指派单条上行链路,而不管是活动-活动还是活动-备用模式。
在将上行链路指派给网关机器之后,过程1100(在1120处)在所选择的网关机器中的每个网关机器上定义SR。对于每个SR,该过程使用被指派给该网关机器的上行链路的配置作为SR的北向接口的配置。这种配置信息包括上行链路的IP和MAC地址、以及任何特定于上行链路的策略。应当理解的是,对于在不同上行链路之间不同的策略和/或L3连接性被允许并且被使用的情况,一些实施例还在SR上配置伪接口,以便在需要时重定向分组。
该过程还(在1125处)定义中转逻辑交换机,以连接所定义的SR和DR。在一些实施例中,管理平面向中转逻辑交换机指派唯一的VNI(逻辑交换机标识符)。此外,一些实施例要求被指派给中转逻辑交换机的子网在逻辑网络拓扑中是唯一的。照此,中转逻辑交换机必须使用与直接与PLR对接的任何用户定义的逻辑交换机、以及PLR和连接到PLR的任何TLR之间的所有中转逻辑交换机、这些TLR内的所有中转逻辑交换机以及连接到这些TLR的任何用户定义的逻辑交换机不同的子网。
接下来,过程1100(在1130处)向DR指派北向接口。在一些实施例中,北向接口被指派MAC地址和IP地址两者(用于在PLR的部件之间内部发送的分组)。在一些实施例中,IP地址在被指派给在1125处定义的中转逻辑交换机的子网中。中转逻辑交换机的配置包括这种MAC地址与它的逻辑端口中的一个逻辑端口的关联。
然后,该过程(在1135处)确定是否以活动-活动模式(还是活动-备用模式)配置PLR。如上面所指出的,在一些实施例中,这种确定作为PLR的配置设置的一部分由管理员进行。在其它实施例中,除非建立了有状态服务(在这种情况下,以活动-备用模式定义SR),否则管理平面自动以用于PLR的活动-活动配置来定义SR。
当以活动-备用模式配置PLR时,该过程(在1140处)指派两个SR(或者,如果有多个备用,那么指派两个以上的SR)中的每个SR的南向接口。在活动-备用情况下,这些南向接口都具有相同的IP地址,该IP地址在操作1125处定义的中转逻辑交换机的子网中。虽然两个接口接收到相同的IP地址,但是一些实施例指派不同的MAC地址,以便作为用于由DR路由的北向分组的目的地将这两者区分开。在其它实施例中,也使用相同的MAC地址,并且如下文所描述在故障转移的情况下使用不同的机制。
然后,该过程(在1145处)将SR中的一个SR指派为活动的,并且将SR中的一个SR指派为备用的。一些实施例随机地进行这种确定,而其它实施例尝试跨网关机器平衡活动SR和备用SR的指派,如在2014年1月28日提交的美国专利公开2015/0063364中更详细地描述的,该美国专利公开通过引用并入本文。被指派为活动的SR将响应针对南向接口的ARP请求,并且将从它的北向接口向外部物理网络通告前缀。另一方面,备用的SR将不响应ARP请求(以避免接收北向流量),并且将不通告前缀(但是在活动SR发生故障的情况下将维持BGP会话,以便接收来自外部网络的路由)。
最后,过程1100(在1150处)生成用于DR和用于SR中的每个SR的单独的RIB。单独的RIB是基于配置数据以之前的小节中以及下文在部分V中描述的方式生成的。然后,过程结束。在一些实施例中,管理平面还集中式地计算FIB,而在其它实施例中,(在主机和网关机器上操作的)本地控制平面执行RIB遍历,以生成将在逻辑路由器部件对分组的实际转发中使用的FIB。在任一种情况下,基于从外部网络学习的动态路由来在SR上更新RIB,并且该数据经由中央控制器被传播到DR。由一些实施例的网络控制器对FIB的计算在2014年3月14日提交的美国专利申请14/214,545中被更详细地描述,该美国专利申请通过引用并入本文。
另一方面,当以活动-活动(ECMP)模式配置PLR时,该过程(在1155处)指派SR中的每个SR的南向接口。在活动-活动情况下,这些南向接口各自被指派在操作1125处定义的中转逻辑交换机的子网中的不同的IP地址、以及不同的MAC地址。利用不同的IP地址,SR中的每个SR可以基于由主机机器中的DR流水线为给定分组选择的IP地址来处理北向分组。
接下来,该过程(在1160处)向SR指派排名。如下文详细描述的,SR在故障转移的情况下使用排名来确定哪个SR将接管发生故障的SR的责任。在一些实施例中,排名下一个最高的SR通过接管发生故障的SR的南向接口来接管发生故障的SR,以便吸引否则将被发送到发生故障的SR的IP地址的北向流量。
最后,该过程(在1165处)生成用于DR和用于SR中的每个SR的单独的RIB。这些单独的RIB基于配置数据以之前的小节中以及下文在部分IV中描述的方式生成。然后,该过程结束。在一些实施例中,管理平面还集中式地计算FIB,而在其它实施例中,(在主机和网关机器上操作的)本地控制平面执行RIB遍历,以生成将在逻辑路由器部件对分组的实际转发中使用的FIB。在任一种情况下,基于从外部网络学习的动态路由来在SR上更新RIB,并且该数据经由中央控制器被传播到DR。
图11的上面的描述指示管理平面生成PLR(上层逻辑路由器)的各种部件的操作。图12概念性地示出了一些实施例的用于基于用户规范来配置TLR的过程1200。在一些实施例中,过程1200由管理平面(例如,管理数据中心的网络的集中式控制器处的一组模块)执行。管理平面执行配置过程,然后使用控制器(或不同的网络控制器)的集中控制平面将数据分发到实现所配置的逻辑路由器的各个主机机器上的各个本地控制平面。
如图所示,该过程通过(在1205处)接收TLR的规范开始。TLR的规范(或TLR的定义)基于定义TLR的管理员(例如,由数据中心的租户雇佣的管理员)的输入。在一些实施例中,这种规范包括TLR应当提供的任何服务的定义、TLR应当通过它的上行链路连接到哪个PLR、连接到TLR的任何逻辑交换机、TLR的接口的IP地址和MAC地址、用于TLR的RIB的任何静态路由、以及其它数据。应当理解的是,不同的实施例可以在TLR的配置数据中包括所列出的数据或其它数据的不同组合。
然后,过程1200(在1210处)确定TLR是否具有集中式部件。在一些实施例中,如果TLR不提供有状态服务,那么不为TLR定义SR,并且仅以分布式方式实现TLR。另一方面,一些实施例要求在提供有状态服务时SR处于活动-备用模式,如该图所示。
当TLR不提供有状态服务或者以其它方式要求集中式部件时,该过程(在1215处)使用逻辑路由器的对于南向接口和北向接口两者的规范来定义DR。DR可以具有许多南向接口,这依赖于多少个逻辑交换机被定义为连接到TLR。另一方面,一些实施例将TLR限制到向PLR发送分组以及从PLR接收分组的单个北向接口。该过程还(在1220处)生成用于DR的RIB。用于DR的RIB将包括如上文描述地生成的用于逻辑路由器的所有路由。
另一方面,当TLR提供有状态服务或出于其它原因而需要集中式部件时,该过程(在1225处)使用接收到的配置数据来定义DR。对于DR的南向接口,管理平面使用TLR的南向接口配置。即,每个南向接口的IP地址和MAC地址是为各个逻辑交换机耦接到的逻辑路由器的端口指定的IP地址和MAC地址。
此外,该过程(在1230处)将为TLR指定的上行链路指派给两个网关机器。虽然一些实施例允许TLR利用多个上行链路以活动-活动模式操作,但是过程1200用于将TLR限制到在活动-备用模式下的单条上行链路的实施例。如上文所描述的,一些实施例允许(或要求)用户对于逻辑路由器的SR的位置指定特定的物理网关机器集合。在一些实施例中,网关机器的集合可以一起在服务器的特定机架或机架组内,或者以其它方式相关联,其中隧道连接集合中的所有机器。然后,管理平面将上行链路指派给所选择的集合中的网关机器中的两个网关机器。
在将上行链路指派给网关机器之后,过程1200(在1235处)在两个网关机器中的每个网关机器上定义SR。对于每个SR,管理平面使用用于单条上行链路的配置作为用于SR的北向接口的配置。由于只有一个北向接口,因此该过程对这两个SR应用相同的配置。即,不仅相同的IP地址被用于这两个北向接口,而且接口上的服务也以相同的方式进行配置。然而,不同的MAC地址被用于北向接口,以便于区分活动SR和备用SR。
该过程附加地(在1240处)定义中转逻辑交换机,以连接所定义的SR和DR。在一些实施例中,管理平面向中转逻辑交换机指派唯一的VNI(逻辑交换机标识符)。此外,一些实施例要求指派给中转逻辑交换机的子网在逻辑网络拓扑中是唯一的。照此,管理平面必须为中转逻辑交换机指派与和该TLR对接的用户定义的逻辑交换机中的任何用户定义的逻辑交换机、以及该TLR(或其它TLR)与PLR之间的任何中转逻辑交换机、以及连接到同一PLR的其它TLR内的所有中转逻辑交换机、PLR内的中转逻辑交换机以及连接到其它TLR的用户定义的逻辑交换机不同的子网。
接下来,该过程(在1245处)向DR指派北向接口。在一些实施例中,这个接口被指派MAC地址和IP地址两者(用于在TLR的部件之间内部发送的分组)。在一些实施例中,IP地址在1140处被指派给中转逻辑交换机的同一子网中。该过程还(在1250处)向两个SR中的每个SR指派南向接口。由于这是活动-备用配置,因此这些南向接口具有同一IP地址,该IP地址在操作1140处定义的中转逻辑交换机的子网中。虽然两个接口接收到相同的IP地址,但是一些实施例指派不同的MAC地址,以便作为用于由DR路由的北向分组的目的地将这两者区分开。在其它实施例中,也使用相同的MAC地址,并且如下文所描述的在故障转移的情况下使用不同的机制。
然后,过程1200(在1255处)将SR中的一个SR指派为活动的,并且将SR中的一个SR指派为备用的。一些实施例随机地进行这个确定,而其它实施例尝试跨网关机器平衡活动SR和备用SR的指派。被指派为活动的SR将响应(来自这个TLR的DR的)对于南向接口和(来自PLR的DR的)对于北向接口的ARP请求。另一方面,备用的SR将不响应ARP请求(以避免接收到北向或南向的流量)。
接下来,该过程(在1260处)生成用于DR和用于SR中的每个SR的单独的RIB。该单独的RIB是基于配置数据以之前的小节中以及下文在部分IV中描述的方式生成的。在一些实施例中,管理平面还集中式地计算FIB,而在其它实施例中,(在主机和网关机器上操作的)本地控制平面执行RIB遍历,以生成逻辑路由器部件在分组的实际转发中将使用的FIB。在任一种情况下,基于从外部网络学习的动态路由来在SR上更新RIB,并且该数据经由中央控制器传播到DR。
不管TLR被生成为有SR还是没有SR,过程1200都(在1265处)定义TLR与该TLR所连接到的PLR之间的另一中转逻辑。该中转逻辑交换机具有唯一的VNI和TLR的上行链路IP地址所属的子网。此外,PLR的DR上的接口在同一子网中被创建,以连接到中转逻辑交换机。然后,该过程结束。
应当理解的是,虽然过程1100和1200示出了用于执行这些各种操作的特定顺序,但是这些过程仅仅是概念性的。在各种不同的实施例中,管理平面可以以各种不同的顺序来执行实际操作,或者甚至并行地执行这些操作中的一些操作。例如,管理平面可以在定义SR或DR之前首先定义中转逻辑交换机,可以在将逻辑路由器部件指派给分开的物理机器之前完全定义所有的逻辑路由器部件,等等。
III.分组处理
上面的部分描述了管理平面对各种逻辑路由器部件的配置。这些逻辑路由器部件(以及逻辑交换机,由用户定义的逻辑交换机和由管理平面定义的用于连接逻辑路由器部件的逻辑交换机两者)由各种受管理的转发元件(MFE)在数据中心中实现。如图5中所示,例如,附连到用户定义的逻辑交换机的数据计算节点驻留在物理主机机器上,MFE在物理主机机器上(例如,在主机机器的虚拟化软件内)作为第一跳分组处理元件运行。在一些实施例中,这些MFE实现逻辑网络的逻辑交换机以及DR。
图13概念性地示出了用于图8中所示的双层逻辑网络的管理平面构造的物理实现,其中TLR 610和PLR 605两者都包括SR以及DR。应当理解的是,该图仅示出了TLR 610的实现,而没有示出可以在许多其它主机机器上实现的许多其它TLR,以及可以在其它网关机器上实现的SR。
该图假设存在附连到两个逻辑交换机625和630中的每个逻辑交换机的两个VM,这两个逻辑交换机625和630驻留在四个物理主机机器1305-1320上。这些主机机器中的每个主机机器包括MFE 1325。在各种不同的实施例中,这些MFE可以是基于流的转发元件(例如,Open vSwitch)或基于代码的转发元件(例如,ESX)或两者的组合。这些不同类型的转发元件不同地实现各种逻辑转发元件,但是在每种情况下,它们为每个逻辑转发元件执行处理分组可能需要的流水线。
因此,如图13中所示,物理主机机器上的MFE 1325包括用于实现逻辑交换机625和630(LSA和LSB)两者、用于TLR 610的DR 805和中转逻辑交换机815以及用于PLR 605的DR705和中转逻辑交换机725的配置。然而,当驻留在主机机器上的、用于数据计算节点的TLR没有集中式部件(即,SR)时,一些实施例仅在主机机器MFE 1325(耦接到数据计算节点的主机机器MFE)上实现PLR的分布式部件。如下面所讨论的,从VM发送到外部网络的北向分组将由它们的本地(第一跳)MFE处理,直到中转逻辑交换机流水线指定向SR发送分组。如果该第一SR是TLR的一部分,那么第一跳MFE将不执行任何PLR处理,因此PLR流水线配置不需要由(一个或多个)集中式控制器推送到这些MFE。然而,由于TLR 615-620之一可能不具有集中式部件的可能性,一些实施例总是将PLR的分布式方面(DR和中转LS)推送到所有MFE。其它实施例仅将用于PLR流水线的配置推送到还接收用于完全分布式TLR(没有任何SR的TLR)的配置的MFE。
此外,图13中所示的物理实现包括PLR 605和TLR 610的SR被指派到的四个物理网关机器1330-1345(在一些实施例中也被称为边缘节点)。在这种情况下,配置PLR 605和TLR610的管理员为SR选择同一组物理网关机器,并且管理平面将用于这两个逻辑路由器的SR中的一个SR指派给第三网关机器1340。如图所示,PLR 605的三个SR 710-720各自被指派给不同的网关机器1330-1340,而TLR610的两个SR 810和815也各自被指派给不同的网关机器1340和1345。
该图示出了与在网关机器上操作的MFE 1350分离的SR。如上文所指示的,不同的实施例可以不同地实现SR。一些实施例将SR实现为VM(例如,当MFE是集成到网关机器的虚拟化软件中的虚拟交换机时,在这种情况下,SR处理在MFE之外执行)。另一方面,一些实施例将SR实现为MFE数据路径内的VRF(当MFE使用DPDK进行数据路径处理时)。在任一种情况下,MFE将SR视为数据路径的一部分,但是在SR为VM(或其它数据计算节点)的情况下,将分组发送到单独的SR,以用于由SR流水线(其可以包括各种服务的性能)处理。与主机机器上的MFE 1325一样,一些实施例的MFE 1350被配置为执行逻辑网络的所有分布式处理部件。
A.单层拓扑
现在将描述用于各种示例的分组处理流水线。图14A和图14B分别示出了对于具有单层逻辑路由器的逻辑拓扑从逻辑网络出去的流量(北向流量)以及进入逻辑网络的流量(南向流量)的示例。这些图示出了具有逻辑路由器1405(逻辑路由器1405具有与外部网络的连接)和两个逻辑交换机1410和1415的单层拓扑1400。如上文所描述的,逻辑路由器1405包括DR 1420、两个SR 1425和1430以及中转逻辑交换机1435。
在一些实施例中,东西流量(即,从LS1上的数据计算节点到LS2上的数据计算节点的流量)主要在第一跳MFE处(例如,用于源数据计算节点的主机机器上的虚拟化软件的MFE)被处理,然后被隧道传输到目的地MFE,照此,分组不经过SR,并且因此不接收由这些SR提供的任何服务。然而,其它实施例允许将某些东西流量发送到SR以供处理的路由策略。
如图14A中所示,当机器上的VM或其它数据计算节点发送北向分组时,MFE上的数据路径首先运行(例如,基于通过其接收分组的入口端口、源MAC地址等的)源逻辑交换机流水线。这种流水线指定将分组转发到DR 1420,用于DR 1420的流水线也在源MFE上发生。该流水线将SR 1425和1430中的一个识别为它的下一跳。在活动-备用情况下,流水线识别活动SR;在活动-活动情况下,一些实施例使用ECMP来选择SR中的一个SR,如下文所描述的。接下来,源MFE执行用于中转逻辑交换机1435的流水线,该流水线指定将分组隧道传输到托管所选择的SR的适当的网关机器(边缘节点)。网关机器(例如,网关机器上的MFE)接收分组、对分组进行解封装(以移除隧道数据)并且基于分组上的逻辑上下文信息(例如,中转逻辑交换机1435的VNI)以及与SR的南向接口对应的目的地MAC地址来识别SR。然后执行SR流水线(在一些实施例中由MFE执行,在其它实施例中由实现SR的VM执行)。SR流水线将分组发送到物理网络。如果SR流水线指定了本地接口,那么该分组被直接递送到物理网络;另一方面,如果SR流水线指定了伪接口,那么分组可以通过隧道被重定向到指定的接口是其本地的不同的网关机器。
图14B示出了用于进入的(南向)分组的分组处理。分组在SR在其上操作的网关机器中的一个网关机器处被接收。网关机器处的MFE基于传入分组的VLAN和目的地MAC地址来识别目的地SR,并且运行SR流水线(例如,将分组发送到SR在其上操作的VM,或直接在数据路径中运行流水线,这依赖于SR如何被实现)。SR流水线将DR 1420识别为它的下一跳。然后MFE执行将分组转发到DR的中转逻辑交换机1435流水线、以及将分组路由到其目的地的DR流水线。还执行目的地逻辑交换机流水线(即,逻辑交换机1410和1415中的一个),该流水线指定将分组隧道传输到目的地VM驻留在其上的主机机器的MFE。在解封装分组之后,目的地MFE将分组递送到VM。
B.在TLR中没有集中式服务的两层拓扑
图15A和图15B示出了对于两层逻辑拓扑的北向流量和南向流量的示例,其中在下(TLR)层中没有提供集中式服务。这些图示出了具有PLR 1505(PLR 1505具有到外部网络的两条上行链路)、TLR 1510和两个逻辑交换机1515和1520的两层拓扑1500。PLR1505包括DR1525、两个SR 1530和1535以及连接这三个部件的中转逻辑交换机1540。TLR 1510没有被配置集中式服务,因此仅包括单个DR部件1545。管理平面在TLR的DR 1545和PLR的DR 1525之间插入第二中转逻辑交换机1550。
用于在TLR级别没有有状态服务的两层拓扑的处理流水线类似于单层拓扑流水线,但是在第一跳MFE处执行附加的流水线。如图15A中所示,当机器上的VM或其它数据计算节点发送北向分组时,源机器的MFE上的数据路径首先运行(例如,基于通过其接收分组的入口端口、源MAC地址等的)源逻辑交换机流水线。这个流水线指定将分组转发到TLR 1510的DR 1545,用于DR 1545的流水线也在源(第一跳)MFE上执行。这个流水线将DR 1525的南向接口识别为它的下一跳,然后源MFE执行介于两个DR之间的中转逻辑交换机1550的流水线。这个逻辑交换机流水线将分组逻辑地转发到DR端口(上层DR),然后源MFE也执行用于DR1525的流水线。这个流水线将SR 1530和1535中的一个识别为分组的下一跳。在活动-备用的情况下,流水线识别活动的SR;在活动-活动的情况下,一些实施例使用ECMP来选择SR中的一个SR,如下文所描述的。
接下来,源MFE执行用于PLR 1505内部的中转逻辑交换机1540的流水线,该流水线指定将分组隧道传输到托管所选择的SR的(在一些实施例中,由中转逻辑交换机流水线基于MAC地址识别的)适当网关机器(边缘节点)。网关机器(例如,网关机器上的MFE)接收分组、对分组进行解封装(以移除隧道封装)、并且基于分组上的逻辑上下文信息(例如,中转逻辑交换机1540的VNI)以及与SR的南向接口对应的目的地MAC地址来识别SR。然后执行SR流水线(在一些实施例中由MFE执行,在其它实施例中由实现SR的VM执行)。SR流水线将分组发送到物理网络。如果SR流水线指定了本地接口,那么分组被直接递送到物理网络;另一方面,如果SR流水线指定了伪接口,那么分组可以通过隧道被重定向到指定的接口是其本地的不同的网关机器。
南向流量也与单层情况类似地被处理。如图15B中所示,在PLR1505的SR在其上操作的网关机器之一处接收到南向分组。网关机器上的MFE基于传入分组的VLAN和目的地MAC地址识别目的地SR(一些实施例允许网关机器托管用于各种不同的逻辑路由器的多个SR),并且运行SR流水线(例如,将分组发送到SR在其上操作的VM,或者直接在数据路径中运行流水线,这依赖于SR如何被实现)。SR流水线将DR 1525识别为它的下一跳,因此然后MFE执行中转逻辑交换机1540流水线,该中转逻辑交换机1540流水线将分组转发到DR 1525。DR1525流水线将TLR DR 1545识别为它的下一跳,因此,边缘节点上的MFE还执行中转逻辑交换机1550的流水线,并且随后执行DR 1545的流水线。较低级别的DR流水线将分组路由到其目的地,因此目的地逻辑交换机流水线(即,逻辑交换机1515和1520中的一个)也被执行,该目的地逻辑交换机流水线指定将分组隧道传输到目的地VM驻留在其上的主机机器的MFE。在解封装分组之后,目的地MFE将分组递送到VM。
对于东西流量,在一些实施例中,正如在单层情况中那样,源MFE处理所有处理。在TLR内(例如,从第一逻辑交换机1513上的VM到逻辑交换机1520上的VM),只需要执行单个DR流水线(和两个逻辑交换机流水线)。对于跨TLR发送的分组,在一些实施例中,(只要目的地TLR-DR和逻辑交换机流水线在源MFE上实现)源MFE执行所有三个DR流水线。正如在单层情况下那样,一些实施例允许将东西流量发送到网关机器上的SR,而其它实施例不实现用于东西流量的集中式服务。
C.在TLR中具有集中式服务的两层拓扑
最后,图16A和图16B示出了具有由SR在下(TLR)层中提供的集中式服务的两层逻辑拓扑的北向流量和南向流量的示例。这些图示出了具有PLR 1605(PLR 1605具有到外部网络的两条上行链路)、(具有集中式服务的)TLR 1610和两个逻辑交换机1615和1620的双层拓扑1600。PLR 1605包括DR 1625、两个SR 1630和1635、以及连接这三个部件的中转逻辑交换机1640。TLR还包括DR 1645、两个SR 1650和1655以及连接TLR的三个部件的中转逻辑交换机1660。管理平面还在TLR 1610的SR 1650和1655与PLR 1605的DR 1625之间插入了第三中转逻辑交换机1665。
与在第一跳处执行几乎整个分组处理流水线的先前的示例不同,对于北向流量和南向流量,逻辑拓扑1600的分组处理跨三个机器散布。如图16A中所示,当机器上的VM或其它数据计算节点发送北向分组时,如前面的示例中那样,源机器的MFE上的数据路径最初运行源逻辑交换机流水线。这个流水线指定将分组转发到TLR 1610的DR 1645,用于DR 1645的流水线也在源(第一跳)MFE上执行。这个DR流水线将SR 1650和1655之一的南向接口识别为它的下一跳IP地址。在一些实施例中,TLR SR始终被配置为活动-备用模式,因此下一跳对于这两个SR都是相同的,但是分组被路由到活动SR的MAC地址。
源MFE然后执行用于TLR 1610内部的中转逻辑交换机1660的流水线,该流水线指定将分组隧道传输到托管TLR 1610的所选择的SR的(在由DR 1645流水线路由之后由中转逻辑交换机基于目的地MAC地址识别的)适当网关机器(边缘节点)。网关机器(例如,网关机器上的MFE)接收分组、对分组进行解封装、并且基于分组上的逻辑上下文信息(例如,中转逻辑交换机1660的VNI)以及与SR的南向接口对应的目的地MAC地址来识别SR。然后(例如,由MFE或实现SR的VM)执行SR流水线(包括有状态服务中的任何有状态服务),该SR流水线指定DR 1625的南向接口为它的下一跳地址。中转逻辑交换机1665流水线在当前边缘节点(在附图中为边缘节点2)上执行,PLR 1605的DR流水线也在当前边缘节点上执行。这个DR流水线以与前面的示例中所描述的相同的方式将SR1630和1635中的一个SR识别为分组的下一跳。
边缘节点MFE执行用于PLR 1605内部的中转逻辑交换机1640的流水线,该流水线指定将分组隧道传输到托管所选择的SR 1630或1635的适当网关机器(在一些实施例中,该网关机器由中转逻辑交换机流水线基于MAC地址识别)。网关机器(例如,网关机器上的MFE)接收分组、对分组进行解封装(以移除隧道封装)、并且基于分组上的逻辑上下文信息(例如,中转逻辑交换机1640的VNI)以及与SR的南向接口对应的目的地MAC地址来识别SR。然后执行SR流水线(在一些实施例中由MFE执行,在其它实施例中由实现SR的VM执行)。SR流水线将分组发送到物理网络。如果SR流水线指定了本地接口,那么分组被直接递送到物理网络;另一方面,如果SR流水线指定了伪接口,那么分组可以通过隧道被重定向到指定的接口是其本地的不同网关机器。
南向流量处理也跨三个机器分布(除非用于PLR 1605的SR和用于TLR 1610的SR位于同一个网关机器上)。如图16B中所示,在PLR 1605的SR在其上操作的网关机器中的一个网关机器上接收南向分组。网关机器处的MFE基于传入分组的VLAN和目的地MAC地址来识别目的地SR,并且运行SR流水线(例如,将分组发送到SR在其上操作的VM,或直接在数据路径中运行流水线,这依赖于SR如何被实现)。SR流水线将DR 1625识别为它的下一跳,因此MFE然后执行中转逻辑交换机1640流水线,该中转逻辑交换机1640流水线将分组转发到DR1625。DR 1625流水线将TLR 1610的SR1650和1655之一的北向接口识别为它的下一跳。在活动-备用情况下,选择活动SR。
然后第一网关机器上的MFE执行中转逻辑交换机1665流水线,该流水线指定将分组隧道传输到第二网关机器(边缘节点2),执行用于TLR 1610的有状态服务的该第二SR位于第二网关机器上。第二网关机器(例如,第二网关机器上的MFE)基于分组上的VNI和MAC地址对分组进行解封装并且识别目的地SR。MFE(或者在它的数据路径中或者通过将分组发送到网关机器上的VM)运行SR流水线,该SR流水线将DR 1645识别为下一跳。因此,MFE执行中转逻辑交换机1660流水线,该流水线将分组转发到DR 1645,然后MFE也执行这个DR流水线。DR流水线将分组路由到分组的目的地,因此目的逻辑交换机流水线(逻辑交换机1615和1620之一)被执行,并且分组被隧道传输到目的地VM驻留在其上的主机机器的MFE。在解封装分组之后,目的地MFE将分组递送到VM。
对于TLR内的东西流量,源逻辑交换机流水线、DR流水线和目的地逻辑交换机流水线都在第一跳MFE处执行,然后分组被隧道传输到目的地MFE。如果分组需要由集中式服务进行处理,那么仅源逻辑交换机流水线、DR流水线和中转逻辑交换机流水线在第一跳MFE处执行,其中在将分组隧道传输到目的地之前由网关机器执行SR流水线、中转逻辑交换机流水线(再次)、DR流水线(再次)和目的地逻辑交换机流水线。对于跨TLR流量,分组以相同的方式出发,其中第一跳MFE执行源逻辑交换机流水线、DR流水线和中转逻辑交换机流水线以选择SR。所选择的SR在其上操作的网关机器然后执行SR流水线以识别PLR的DR、执行TLR和PLR之间的中转逻辑交换机流水线、PLR的DR流水线(该流水线将下一跳识别为不同TLR的部件)、以及至少执行PLR和目的地TLR之间的中转逻辑交换机。如果目的地TLR仅具有一个DR,那么在将分组隧道传输到它的目的地MFE之前,该流水线与目的地逻辑交换机一起还在第一网关机器处执行。如果目的地TLR具有SR,那么中转逻辑交换机指定将分组隧道传输到目的地TLR的所选择的SR的网关机器。在将分组隧道传输到目的地MFE之前,该第二网关机器执行SR流水线、目的地TLR内部的中转逻辑交换机流水线、用于该TLR的DR流水线以及目的地逻辑交换机流水线。
相同的原理在所有上述情况下都适用,即,尽可能早地执行处理流水线。因此,用于给定分组的所有流水线在第一跳MFE(例如,从管理程序上的VM接收分组的基于管理程序的虚拟交换机)处执行,直到分组需要被发送到仅存在于特定网关机器上的SR流水线为止。然后,该网关机器执行它可以执行的所有处理,直到分组被发送到物理网络之外或者被发送到不同的网关机器(或者对于东西流量发送到它的目的地)为止。
D.附加逻辑路由器行为
与物理路由器非常类似,逻辑路由器被实现为执行典型的路由功能,诸如递减它路由的分组的生存时间(TTL)以及执行ARP。在一些实施例中,具有DR和SR两者的逻辑路由器仅通过作用于分组的第一部件递减分组一次。因此,对于北向和东西流量,DR递减TTL,而SR递减南向流量的TTL。在一些实施例中,DR实现具有仅递减在它的南向接口上接收的分组的TTL的指令,并且SR具有仅递减在它们的北向接口上接收的分组的TTL的相似的指令。如果TTL降至零,那么处理递减分组的TTL的部件也处理生成ICMP错误消息。
一些实施例的逻辑路由器不转发广播分组,并且因此不支持定向广播(在物理路由器上通常也被禁用的特征)。然而,如果IP广播分组在它被发往的逻辑网络上被接收,那么一些实施例的逻辑路由器将其自身视为分组的目的地。
对于ARP,在一些实施例中,逻辑路由器重写内部分组(即,在隧道封装被附加到分组之前的分组)的MAC地址,以指示哪个传输节点正在发送ARP分组,以使得ARP响应被转发到正确的传输节点。对于隧道封装,一些实施例使用无状态传输隧道(STT)以及VXLAN语义。
′E.SR进行的分组处理
上面的描述描述了由SR仅仅作为用于分组的数据路径中的一个附加逻辑转发元件进行的分组处理,SR可以不在第一跳处实现(至少对于北向分组或东西分组如此)。然而,在其它逻辑转发元件(逻辑交换机、DR、中转逻辑交换机)基本上涉及入口处理、逻辑转发和出口处理(入口处理和出口处理可以涉及ACL)的情况下,除了与转发相关的处理之外,SR处理还可以包括其它功能,诸如有状态服务。
图17概念性地示出了一些实施例的SR处理1700的各个阶段。这些阶段中的一些阶段仅当SR包括非转发服务(例如,NAT、有状态防火墙、负载均衡等)时被包括在处理中。因此,该图以虚线而不是实线示出某些阶段,以指示SR仅在被配置为用于这些服务时才执行这些阶段。此外,使用虚线示出了服务前重定向阶段1705,以指示仅当SR包含服务并且它的逻辑路由器被配置为活动-活动模式时,SR才执行这个阶段。
如图所示,当SR接收分组时(无论SR被实现为VM还是在基于DPDK的数据路径中的VRF),第一阶段1705是预服务重定向操作。如上面所提到的,SR仅在配置了有状态服务并且SR正在活动-活动模式下操作时才执行这个阶段。预服务重定向阶段1705涉及对于分组所属的连接(例如,传输连接)将分组重定向到所有者SR。然而,如果在逻辑路由器上没有配置服务,或者SR正在活动-备用模式下操作(在这种情况下,所有分组都被发送到活动SR),那么这个阶段是不需要的。在一些实施例中,预服务重定向阶段不递减TTL(因为分组将在稍后的阶段中被路由时被适当地递减)。
路由前服务阶段1710-1715可以涉及在SR上配置以用于在路由之前执行的任何数量的有状态服务。在确定不需要重定向或者经由来自不同SR的重定向接收分组后,SR执行这些阶段。当然,如果在SR上没有配置有状态服务,那么这些操作将也不被执行。依赖于SR的配置,以及某些服务是否需要确定逻辑路由器的出口逻辑端口,一些服务可以在路由之前或之后被执行。
在所有路由前服务已经由SR执行之后,SR然后执行路由阶段1720。如上面所讨论的,用于所有SR实例的路由表将是相似的。例如,如果多个SR可以到达同一个网络,那么所有SR将具有对于该网络的多条路由,其中指向本地接口的路由具有比指向伪接口的路由更小的距离度量,因此可能的话本地接口将被选择。路由阶段1720产生路由决策,该路由决策包括逻辑路由器的下一跳IP地址和出口逻辑端口(在一些实施例中,基于由DR对北向分组执行的路由,出口逻辑端口可以已经是已知的)。
在被路由之后,分组前进到路由后服务阶段1725-1730。这些阶段像路由前服务阶段1710-1715一样仅在逻辑路由器上配置了有状态服务时由SR执行。在一些实施例中,路由后服务阶段中的一些或全部可以依赖于路由决策。例如,为逻辑路由器配置的基于接口的NAT可以依赖于逻辑出口端口。此外,一些实施例要求路由后服务不更改路由决策(但是在一些情况下路由后服务可能导致SR丢弃分组)。
接下来,SR通过出口ACL阶段1735来处理分组。在这个阶段处,SR实行为逻辑路由器的逻辑出口端口配置的任何安全策略。然后SR(在阶段1740处)对下一跳执行ARP,以确定分组的新的目的地MAC地址。当SR的出口接口是伪接口时,在一些实施例中,ARP以与DR在逻辑空间中执行ARP相同的方式经由代理被注入到目的地L2中。在ARP结束之后,SR修改分组的源MAC地址和目的地MAC地址。
最后,分组前进到出口输出阶段1745。如果出口接口是本地的,那么分组被发送到适当的VLAN。另一方面,如果出口接口是远程的,那么SR将分组转发到伪接口的SR,然后伪接口的SR经由适当的VLAN来发送出分组。在一些实施例中,分组被发送到适当的对等SR,然后该对等SR执行ARP并且输出分组。然而,这种技术要求分组存储下一跳信息或者对等SR重新执行路由阶段。在一些实施例中,出口输出阶段不递减TTL。替代地,TTL通过在这个SR处的路由阶段递减,或者,如果通过在不同的SR的输出阶段的重定向被接收,那么TTL通过在该不同的SR处的路由阶段递减。
IV.多层逻辑网络中的ECMP路由
如上面所提到的,关于PLR的SR,一些实施例对于北向分组和南向分组使用等价多路径路由技术。在一些实施例中,仅当在与物理网络对接的逻辑路由器(例如,两层拓扑中的PLR)上没有被配置有状态服务时才允许使用ECMP。为了使用ECMP技术转发分组,PLR需要多条上行链路,并且需要启用BGP(或另一个动态路由协议)。在一些实施例中,多条上行链路可以位于同一L2域中。
如之前所描述的,用户(管理员)将逻辑路由器与特定的物理网关机器集合相关联。管理平面然后将PLR的各个上行链路指派给这个物理网关机器集合中的不同网关机器。一些实施例实行可指定的集合内的各个网关机器具有到外部网络的一致的(uniform)物理连接性(例如,所有机器都可以访问相同的VLAN集合)的规则,这简化了管理平面处的逻辑。在管理平面已向其指派上行链路的每个网关机器处,创建SR。
一些实施例对一致的物理连接性施加附加要求。具体而言,在一些实施例中,PLR跨越的所有网关机器具有相同的L3连接性(即,所有这些机器都连接到相同的物理路由器集合)。此外,在启用BGP(ECMP的要求)的情况下,所有这些物理下一跳(物理路由器)都需要具有相同的物理连接性。这意味着特定PLR的所有SR将从它们的物理下一跳接收相同的路由集合,并且SR之间的瞬时路由差异的可能性相当快地消失。在有这个要求集合的情况下,不需要伪上行链路,因为分组将不需要在上行链路之间被重定向(因为所有上行链路都具有相同的策略和相同的连接性)。
图18和图19示出了单层逻辑网络拓扑1800,以及该拓扑的满足上述对于使用ECMP的要求的管理平面视图。网络拓扑1800类似于图9的网络拓扑,但是两条上行链路中的每条上行链路具有相同的L3连接性。逻辑网络拓扑1800包括连接到逻辑路由器1815的两个逻辑交换机1805和1810。除了上行链路连接到的物理路由器的配置不同之外,这些部件的配置与网络拓扑900的相同。即,逻辑路由器1815与逻辑交换机1805和1810之间的接口全部相同,并且逻辑路由器1815的两条上行链路U1和U2连接到具有相同下一跳IP地址的物理路由器1820和1825。然而,尽管在前面的示例中物理路由器提供到不同网络的连接性,在这里物理路由器都具有到互联网的相同的L3连接性。
因此,在图19中,逻辑网络的管理平面视图1900也几乎相同。管理平面同样为逻辑路由器1815定义DR部件1905、用于两条上行链路的两个SR 1910和1915以及中转逻辑交换机1920。对该配置的唯一修改是在SR上没有配置伪接口,因为两条上行链路具有相同的配置和RIB,所以SR中的一个SR不应当接收需要从第二个SR转发出来的分组。照此,先前的部分中描述的RIB中用于重定向的路由将不被包括在这些SR的RIB中。
在一些实施例中,ECMP与BGP(或其它动态路由协议)结合使用。逻辑路由器的每个SR与它所连接的一个或多个物理路由器建立BGP会话。例如,在图18和图19的示例中,SR1910发起与物理路由器1820的会话,而SR 1915发起与物理路由器1825的会话。在一些实施例中,上行链路中的每条上行链路将被连接到这两个物理路由器两者,因此每个上行链路将具有两个路由会话。在一些实施例中,与SR实现分离的网关机器上的模块发起与路由器的BGP会话。例如,当SR被实现为VM时,BGP模块可以是VM的一部分或者是作为管理程序的一部分、在分开的VM或其它数据计算节点中操作的分开的模块等。在这些会话期间,SR向物理路由器通告在逻辑空间(例如,逻辑交换机子网1.1.1.0/24和1.1.2.0/24)中的前缀,并且对这些前缀中的每个前缀使用相同的度量。一些实施例的BGP集成技术在2014年3月14日提交的美国专利申请14/214,561中描述,该美国专利申请通过引用并入本文。
在所有SR向物理路由器通告相同的路由的情况下,物理路由器然后可以将SR视为等价路由选项,并且通过各个SR散布流量。在图18和图19所示的示例中,物理路由器中的每个物理路由器只能向SR中的一个SR发送分组。然而,每个物理路由器具有相同的连接性,因此从它们后面的网络朝着逻辑网络发送的分组将在两个路由器1820和1825之间均匀分布,并且因此在两个SR之间均匀散布。当每个SR连接到所有的物理路由器时,则这些物理路由器中的每个物理路由器都可以独立地在SR之间均匀地散布流量。
对于北向分组,一些实施例的DR使用ECMP技术来在各个SR之间分发分组,这为北向分组提供相等的连接性。通过运行BGP(或不同的动态路由协议),SR除了通告用于逻辑网络前缀的路由之外,还学习来自物理路由器的路由。如所提到的,SR在本地将这些路由并入它们的RIB中,并且可以基于新学习的路由来重新计算它们的FIB。然而,为了让DR使用ECMP,还必须将路由给予DR的RIB,这在许多机器处实现。
在一些实施例中,SR将学习到的路由报告给配置和管理SR的集中式网络控制器(以及实现分布式逻辑转发元件的MFE)。然后,集中式控制器相应地更新DR的RIB,并且将更新分发到实现DR的MFE。依赖于保持最新的RIB和中央控制器上的处理负载之间的期望的平衡,不同的实施例可以以不同的速率更新DR。一些实施例不是分发RIB,而是在集中式控制器处计算FIB,然后将更新的FIB分发到实现DR的MFE。
在其它实施例中,集中式控制器不是持续更新路由,而是将指向所有SR的缺省路由添加到DR RIB。这些路由被分类为管理平面内部,因此它们仅当没有被管理员输入的静态路由否决时才由DR使用。因为不同SR的路由具有相同的管理距离度量,所以DR将它们视为等价选项,从而利用ECMP技术在SR之间划分流量。
V.用于有状态服务的活动-备用
虽然上面的部分描述了用于利用ECMP的活动-活动配置的SR设置(当两个或更多个SR中的所有SR被视为相等选项时),但是一些实施例使用具有两个SR的活动-备用配置。一些实施例在SR上配置了有状态服务时使用活动-备用配置。在这种情况下,避免必须在SR之间持续共享状态的好处可能会超过在多个SR之间发送所有北向流量和南向流量(同时使用备用进行备份以免发生故障)的负面效应。在活动-备用情况下,状态在两个SR之间周期性地同步,但是这不需要以每分组的速度完成。
在一些实施例中,对于活动-备用配置,管理员在定义逻辑路由器时需要配置两条上行链路,并且上行链路不需要在相同的L2域中。然而,因为活动SR和备用SR应当对于DR是等价选项(其中活动SR是两个选项中的优选项),所以一些实施例要求这两个SR具有统一的L3连接性。当然,当活动-备用SR被配置为用于具有有状态服务的TLR时,这不是问题,因为两个SR都将具有一个下一跳,即TLR连接到的PLR的DR。对于活动-备用配置下的PLR,在一些实施例中,两条上行链路应当被配置为具有相同的连接性。此外,对于PLR,一些实施例允许(或要求)在SR上配置动态路由协议(例如,BGP)。
图20示出了当逻辑路由器被配置为活动-备用模式而不是活动-活动(ECMP)模式时逻辑网络拓扑1800的管理平面视图2000。在这里,与图19所示的活动-活动模式在配置上唯一的差异是,SR 2010和2015的南向接口被指派了相同的IP地址,但是被指派了不同的MAC地址。
在向DR 2005的南向接口和北向接口指派MAC地址和IP地址方面,管理平面以与图9和图10的一般情况中的相同的方式来配置DR 2005。当构建RIB时,使用相同的已连接的路由,并且与上文在部分II中所描述的相同的静态路由规则适用(例如,北向路由被复制到DR,但是被修改以将SR IP地址设置为它的下一跳)。在这种情况下,因为对于SR仅存在一个IP地址,因此所有北向路由都使用该单个IP作为下一跳地址。类似地,具有该单独IP地址作为下一跳的单条缺省路由被添加到DR的RIB,而不是创建到各个不同的SR IP地址的多条缺省路由。因此,用于图20中DR 2005的RIB包括以下路由:
1.1.1.0/24输出到L1
1.1.2.0/24输出到L2
192.168.100.0/24输出到DRP1
192.168.1.0/24经由IP1
192.168.2.0/24经由IP1
0.0.0.0/0经由IP1
SR 2005中的每个SR将以大致相同的方式被配置。当逻辑路由器是PLR(或者在一层拓扑中,如在该示例中)时,北向接口的IP地址和MAC地址与被指派给为PLR配置的两条上行链路的IP地址和MAC地址相同。另一方面,当逻辑路由器是TLR时,它可以仅具有被配置为连接到PLR的一条上行链路。在这种情况下,两个北向接口的IP地址相同,但是每个SR被指派不同的MAC地址。类似地,在这两种情况中的任一种情况(PLR或TLR)下,向两个南向接口指派单个IP地址(如图20中那样,其中这两个接口都具有IP1的IP地址),并且对于两个SR指派两个不同的MAC地址。
在一些实施例中,控制器将任何上行链路独立的服务策略完全相同地推送到这两个SR。如果依赖于上行链路的任何服务策略被允许并且被配置,那么这些服务策略被推送到它们所关联的上行链路存在于其上的SR。此外,逻辑路由器端口的任何动态路由配置都被传送到SR的北向接口。
用于SR的RIB类似于上文在部分II中针对一般情况所描述的RIB。从逻辑路由器的上行链路出去的静态路由和已连接的路由被添加到SR的RIB,而不进行修改。对于逻辑路由器的每个南向接口(例如,用于逻辑交换机子网的路由),用于网络的路由被添加,其中下一跳IP地址被设置为DR的北向接口。逻辑路由器的RIB中的从这个南向接口出去的任何路由也被添加到具有该相同的下一跳IP地址的SR的RIB。在图20的示例中,在经由动态路由协议学习任何其它路由之前,SR1 2010的RIB将包括以下路由:
0.0.0.0/0经由192.168.1.252输出到U1
192.168.1.0/24输出到U1
192.168.100.0/24输出到SRP1
1.1.1.0/24经由IP3
1.1.2.0/24经由IP3
此外,在一些实施例中,当SR被设置为备用SR(而不是活动SR)时,SR不回答它的南向接口上的ARP。对于SR的南向IP的ARP分组将在连接SR和DR的中转逻辑交换机上广播,并且活动SR和备用SR两者都将响应该IP地址。然而,仅活动SR将响应ARP请求,以使得DR将把分组路由到活动SR而不是备用SR的MAC地址。然而,在一些实施例中,备用SR将接受由北向接口接收的分组,以便运行它的动态路由协议并且保持最新的路由集合,以免它成为主动SR。然而,备用SR不向外部网络通告前缀,除非它变为活动的。
VI.SR故障转移
如上文所描述的,SR可以在不同的实施例中被实现为VM或其它数据计算节点或被实现为基于DPDK的数据路径内的VRF。在这两种情况下,不同类型的故障(部分隧道故障、完整隧道故障、物理机器崩溃等)的可能性可能导致SR停机。然而,不同的SR实现可以以不同的方式响应不同类型的故障。
A.基于DPDK的SR的故障处理
在一些实施例中,如所描述的,逻辑路由器的SR作为基于DPDK的数据路径内的VRF在网关机器或边缘节点上操作。这些网关机器(例如,基于数据中心内的物理位置)被分组成集合,并且总体地托管特定逻辑路由器的所有SR的集合中的网关机器通过一组隧道(例如,在一些实施例中,完整的隧道网格)连接。因此,在SR在其上操作的所有网关机器之间存在隧道。
一些实施例使用双向转发检测(BFD)会话来维护这些隧道,以便监视对等网关机器的存活性(aliveness)。然而,由于仅使用隧道端点之间的单个BFD会话将需要依赖于单个信息信道来检测对等体的存活性,因此一些实施例还使用每对网关机器之间的第二信道。具体而言,在一些实施例中,在网关之间存在用于发送控制数据(例如,用于与网络控制器通信)的单独的管理网络。因此,每个网关在管理网络上具有单独的IP地址,并且这些连接可以被用来通过管理网络发送心跳消息。这防止两个对等体之间的隧道故障的可能性导致当对等体实际没有停机时,两个网关机器确定另一个已经崩溃并且发起引发混乱的动作。相反,在隧道故障期间,每个节点可以检测到它们的对等机器仍然工作,并且因此推断出:隧道已经发生故障,而不是对等机器(并且因此它的SR)本身发生故障。
在一些实施例中,故障条件对于PLR的SR和TLR的SR是不同的。当提供到用户VM在其上运行的MFE(例如,图13的用户VM直接连接到的MFE 1325)的连接性的网关机器的隧道发生故障时,网关机器上的所有SR不再可操作(甚至对于PLR的SR也是如此,因为由外部物理路由器发送到PLR的流量将被黑洞化(blackholed))。另一方面,当网关机器丢失它到物理路由器的连接性时,网关上的TLR的SR仍然被视为可操作的,因为到TLR的北向流量将把PLR的DR作为下一跳,PLR的DR应当始终是可用的(因为它也在网关上的数据路径内实现)。然而,PLR的SR不再被认为是可操作的,因为源自逻辑网络的VM的任何北向流量都将被黑洞化。当托管PLR的SR的网关机器丢失它的物理连接性(或它的BGP会话)时,在一些实施例中,网关机器向托管同一PLR的SR的其它网关机器发送消息(例如,特定的诊断代码,诸如“连结路径故障”)。
基于在隧道上与对等体的BFD会话、在与对等体的第二(例如,管理)信道上的心跳消息的状态以及是否已经从对等体接收到指示对等体的物理连接性故障的消息,第一网关机器可以作出关于它的对等的第二网关机器的结论并且基于这些结论采取某些动作。例如,如果隧道处于活动状态并且没有接收到连接性故障的消息,那么第一网关机器推断出对等的第二网关机器是健康的,并且第一网关机器继续正常地处理分组。然而,如果到对等体的隧道在工作但是已经接收到连接性故障的消息,那么第一网关机器推断出对等体仍处于活动状态但是已经失去了它的物理连接性。因此,如果第二网关机器上的SR属于PLR,那么第一网关机器上的SR接替第二网关机器上的SR(如下文所描述的),但是对于TLR的SR不采取任何行动。
如果第一网关机器和对等的第二网关机器之间的隧道故障(基于BFD会话不再活动)但是仍然接收到辅助信道心跳消息,那么第一网关机器推断出对等的第二网关机器仍然是健康的并且正在处理北向和南向分组(但是如果需要的话,重定向可能是问题)。然而,如果隧道和辅助信道两者都故障,那么第一网关机器推断出对等体已经故障(例如,崩溃)。在这种情况下,不管SR是属于PLR还是TLR,第一网关机器上的SR都接管第二网关机器上的SR(如下文所描述的)。
在一些实施例中,每个网关机器具有在该机器上操作的本地网络控制器(有时被称为机箱(chassis)控制器)。一些实施例的机箱控制器接收来自中央网络控制器的数据元组,并且使用数据元组来配置机器上的MFE。在一些实施例中,该机箱控制器还负责确定它的网关机器的健康状况何时改变以及对等网关机器的健康状况何时改变。当网关机器之间的三个通信指标(隧道BFD会话、辅助信道和物理连接性故障消息)中的一个通信指标(基于连接性丢失、网关机器崩溃等)受到影响时,一些实施例的机箱控制器确定这如何影响在它的网关机器上托管的每个SR。
然后,机箱控制器相对于它的SR中的特定的SR采取的动作依赖于(i)SR属于PLR还是TLR、(ii)SR是在活动-活动模式还是活动-备用模式下工作、(iii)它本身的本地健康状况、以及(iv)托管同一逻辑路由器的其它SR的(一个或多个)对等网关机器的健康状况。例如,机箱控制器可以确定它的本地SR应当不再被视为起作用的,在这种情况下,机箱控制器可以将对于这种效果的信号发送到以下各项的组合:(i)其它网关机器、(ii)用户VM驻留在其上的主机机器、(iii)物理外部路由器。机箱控制器还可以做出本地SR应当变为活动状态的确定,在这种情况下,它可以启动故障转移过程来激活SR。此外,机箱控制器可以做出远程SR不再起作用的确定,并且启动故障转移过程以在本地接管这个远程SR。
当检测到故障条件时,各种实施例可以采取各种不同的动作来部分地或完全地补救这种情况。不同类型的故障情况可以包括完全或部分隧道故障、网关机器或MFE崩溃、链路聚合组(LAG)状态故障、BGP会话故障、SR之间的不统一路由。虽然SR的复活实际上不是故障场景,但是它也导致(一个或多个)网关机器机箱控制器采取管理SR的动作。
1.完整的隧道故障
完整的隧道故障可能由于网关机器崩溃或由于pNIC或物理网络问题而发生。当完整的隧道故障在特定的网关机器上发生时,(i)在具有用户VM或其它数据计算节点的主机机器处的所有MFE都丢失到特定网关机器的隧道,(ii)其它网关机器丢失到该特定网关机器的隧道,以及(iii)该特定网关机器丢失到其它网关机器的隧道。
从主机机器处的MFE的视角来看,当它到特定网关机器的隧道故障时,PLR的DR可以到达一些SR(假设PLR跨越的所有网关机器不会一次都发生故障),但是无法到达该特定网关机器上的SR。照此,在一些实施例中,主机机器上的机箱控制器或数据路径自动从DR的FIB中移除(使用该特定网关机器上的SR作为下一跳IP地址的)受影响的路由。一些实施例将每个下一跳与相应网关机器的虚拟隧道端点(VTEP)相关联。当朝着特定VTEP的隧道故障时,与特定VTEP相关联的所有下一跳将被标记为故障的,并且因此在本地机箱控制器计算DR的FIB时被移除。
其它网关机器通过BFD会话的状态来检测特定网关机器隧道的故障,并且检测到辅助信道仍然在工作。然后这些其它网关机器(例如,其它网关机器上的本地机箱控制器)可以发起故障转移过程,以接管在故障的网关机器上托管的SR。
对于在故障网关机器上被配置为活动-活动模式的SR,一些实施例使用排名机制来确定故障SR如何由其它机器之一接管。在一些实施例中,管理平面向在活动-活动配置下的N个SR中的每个SR指派从1到N的排名。这些排名可以是随机指派的,或者使用不同的技术指派,并且被分发给托管特定逻辑路由器的在活动-活动配置下的SR的所有网关机器的本地机箱控制器。基于故障SR的排名,具有下一个最高排名的SR自动接管故障SR的南向接口。对于北向接口,其它SR不需要采取任何动作,因为物理路由器将在BGP会话终止时识别出SR发生故障。为了接管该接口,接管SR向它的南向接口上的中转逻辑交换机发送用于它正在接管的所有IP地址的若干无故ARP(GARP)消息。这些消息宣布这些IP地址现在与接管SR的南向接口的MAC地址相关联。如果发生故障的SR已经接管了其它IP地址(由于用于逻辑路由器的其它SR的先前故障),那么新的接管SR将接管多个IP地址。
对于故障网关机器上的以活动-备用模式配置的SR,一些实施例不同地处理活动SR的故障和备用SR的故障。具体而言,如果发生故障的SR是备用的,那么基于备用机器将被及时恢复的假设,一些实施例不采取任何动作(即,它们不实例化新的备用机器)。如果发生故障的SR是TLR的主动SR,那么南向接口IP地址和北向接口IP地址两者都被迁移到备用SR。因为TLR仅具有单条上行链路,所以这两个SR共享北向和南向IP地址,但是具有不同的MAC地址。在这两种情况下,一些实施例向相关中转逻辑交换机发送GARP消息,以实现IP地址的迁移。对于PLR的SR,仅迁移南向接口,因为即使在活动-备用模式下,两条上行链路也应当具有单独的IP地址。此外,新的活动SR开始向物理路由器通告前缀,以将南向分组吸引到它自己而不是发生故障的SR。在相同的IP地址和MAC地址被用于活动-备用SR的南向接口的情况下,一些实施例使用反向ARP(RARP)来刷新MAC:VTEP映射(即,因此分组将经正确的隧道被发送到新的活动SR)。
在已经丢失了它的所有隧道的网关机器上,机箱控制器确定最可能的原因是某种本地故障,并且因此确定它的本地SR应当不再是活动的。因此,经由BGP会话向外部物理路由器通告前缀的任何SR撤回它通告的前缀,以避免吸引将被黑洞化的南向流量。
2.部分隧道故障
当数据中心中的网关机器和其它机器之间的隧道中的一些隧道发生故障时,部分隧道故障发生。这可以是由于在具有到特定网关机器的通道的机器中的一个机器的完整故障(这将导致一个隧道的丢失)、由于特定网关机器处的条件导致它的隧道中的一些隧道发生故障等。这里描述的情况是特定网关机器处的条件导致它的隧道的子集发生故障。因此,(i)具有用户VM或其它数据计算节点的主机机器处的MFE中的一些MFE丢失到该特定网关机器的隧道,(ii)其它网关机器中的一些网关机器丢失到该特定网关机器的隧道,以及(iii)该特定网关机器丢失到一些其它网关机器的隧道。
主机机器处丢失到特定网关机器的隧道的MFE将以与完整隧道故障相同的方式对待这种情况,因为从主机机器的角度看,这仅是不可达的网关。照此,如上文在第1小节中所描述的,主机机器上的机箱控制器或数据路径将自动从DR的FIB移除使用特定网关机器上的SR作为下一跳IP地址的受影响的路由。
如所指出的,部分隧道故障可以导致各种不同的场景。例如,在一些情况下,网关机器可以是主机机器MFE中的一些主机机器MFE可达的,但是不能由它的对等体到达。参考图13(图13将SR示为VM,但是仍然适用)作为示例,网关机器1330可以是主机机器1305-1320可达的,但是不是网关1335和1340可达的。在这种情况下,网关机器1330上的本地机箱控制器将接管PLR的在这两个网关机器1335和1340上运行的SR。此外,网关机器1335(或机器1340,这依赖于排名)将接管在网关机器1330上运行的SR。这导致当在(可以到达所有网关机器的)MFE中的一些MFE上运行的DR发送对于在第一网关机器1330上托管的SR的南向接口IP地址的ARP请求时,该MFE接收到来自多个网关机器的回复。只要SR处于活动-活动配置(没有有状态服务),这就将不会造成正确性问题。然而,在活动-备用配置的情况下,这将意味着两个SR现在都是活动的,这可能导致流量中断问题。
当在特定网关机器处到主机机器中的一些主机机器的隧道发生故障,但是对等网关机器仍然可达时,部分隧道故障还可能导致在活动-备用模式下的问题。在这种情况下,因为SR之间的隧道正在起作用,所以不会发生故障转移。在活动-活动模式下,主机机器(或本地机箱控制器)处的数据路径可以决定通过仍然工作而没有问题的隧道转发流量。然而,在活动-备用模式下,如果到活动SR的隧道发生故障,那么MFE将向备用SR发送分组,该备用SR不处理分组。类似地,在活动-活动配置和活动-备用配置两者中,网关机器都可能不能传递来自物理路由器的南向流量,因此在一些实施例中该南向流量被黑洞化。
3.机器崩溃
在一些情况下,整个网关机器可能崩溃,或者DPDK快速路径可能崩溃。由于在一些实施例中快速路径负责发送BFD分组,因此这些情况中的任一情况都与完整隧道故障相同。由于MSR进程(MSR进程处理网关机器上的SR的BGP会话)可以在仅快速路径崩溃(而整个网关机器没有崩溃)时继续运行,因此物理路由器将仍然具有向网关机器发送分组的能力。在一些实施例中,这种流量被黑洞化,直到快速路径被重新启动为止。
4.LAG状态故障
在一些实施例中,网关机器使用链路聚合组(LAG)来到达外部物理路由器。当托管PLR的SR的网关机器丢失整个LAG时,在一些实施例中,机器经隧道向也托管该PLR的SR的对等网关机器发送(如上文所描述的)物理连接性故障消息。在这种情况下,上文针对完整隧道故障所描述的接管过程发生(具有下一个最高排名的SR接管SR的IP地址)。
一些实施例替代地将所有隧道都标记为故障的,以作为引起故障转移的技术。然而,这导致该机器上的TLR的SR也被故障转移到其它网关机器,而当仅物理连接性发生故障时,这是不必要的。这可以导致向主机处的MFE发送许多GARP消息,因此一些实施例使用仅故障转移PLR的SR的第一技术。
在一些情况下,LAG中的物理上行链路中的仅一些物理上行链路故障。只要LAG中的物理上行链路中的至少一条物理上行链路保持起作用,网关机器就不采取任何动作并且继续正常操作。此外,在一些实施例中,(数据中心内的)隧道流量使用单独的LAG。如果该整个LAG发生故障,则这导致如上文在第1小节中所描述的完整隧道故障。
5.BGP会话故障
在一些情况下,SR的BGP会话可能发生故障(例如,因为网关机器上的MSR进程崩溃)。当对BGP进程启用优雅(graceful)重启时,只要在为优雅重启设置的超时内会话被重建,就不需要采取故障转移动作。为了能够检测MSR进程(或其它BGP模块)何时发生故障,一些实施例要求即使状态没有改变,该进程也周期性地刷新所有BGP会话的状态。
另一方面,如果没有启用优雅重启或者重启的超时到期,那么一些实施例的网关机器向也托管同一PLR的SR的它的对等网关机器发送物理连接性故障消息,以便指示该网关机器的SR不再起作用。从对等网关机器的角度来看,这就像LAG状态发生故障一样,因为网关上的具有不起作用的BGP会话的SR接口将被具有下一个最高排名的SR接管。此外,只要一个BGP会话正在起作用,并且所有物理下一跳都具有相同的L3连接性,就不需要采取故障转移动作。
6.SR之间的非统一路由
PLR的SR所连接的外部物理网络中的故障也可能影响SR。例如,一些外部物理路由器可能会撤销对于子网的路由,而其它物理路由器不撤销对于子网的路由。一些实施例在网关机器上本地解决这个问题,而不涉及中央网络控制器。
如所提到的,在一些实施例中,SR具有彼此对等的iBGP,并且(从外部物理路由器学习的)eBGP路由经iBGP会话被发送,而不改变下一跳。参考图10,由具有下一跳192.168.2.252(该下一跳与上行链路U2在同一子网中)的SR 1015所学习的任何eBGP路由被SR1010经由iBGP学习。然后这些路由被安装在SR 1010中,并且下一跳为192.168.2.252,因为SR具有用于在另一个SR 1015上的实际上行链路的伪接口(U2')。路由撤销场景也发生同样的技术。
7.SR复活
虽然由于前面的小节中指出的各种原因,SR可能发生故障,但是SR一般将在一段时间后恢复工作。在其它机器处这可以由朝着具有已经发生故障的SR的特定网关机器的BFD会话恢复工作或者由接收清除物理连接性故障标志的消息来指示。在一些实施例中,所有其它网关机器上的本地机箱控制器然后评估本地SR是否应当使用与上文描述的相同的方法来继续接管远程SR。
例如,如果当前由本地SR从远程SR接管的IP地址应当被归还给远程SR(即,本地SR应当不再接管该IP地址),那么本地SR停止回答对于该IP地址的ARP。对于一些实施例,本地机箱控制器从本地SR的南向接口移除该IP地址。如果IP地址应当由本地SR接管(例如,因为它已经恢复工作(come back up)),那么它遵循上文在第1小节中所描述的故障转移过程。此外,如果本地SR被指定为备用的,并且活动SR恢复起作用,那么本地SR停止向外部物理路由器通告前缀。类似地,如果被指定为活动的本地SR恢复起作用,那么它也恢复通告前缀。
B.基于VM的SR的故障处理
如上面所指出的,一些实施例使用网关机器上的VM(或其它数据计算节点)来在数据中心中托管SR,而不是(或附加于)在网关机器的基于DPDK的数据路径中托管SR。图21示出了托管特定PLR的三个SR 2120-2130的三个网关机器2105-2115的示例物理实现2100。网关机器中的每个网关机器包括MFE、BGP进程(例如,上面小节A中描述的MSR进程)以及本地控制平面或机箱控制器。
网关机器2105-2115上的MFE 2135-2145可以是可以处理分布式L2和L3转发的虚拟交换机,诸如OVS、ESX、基于不同管理程序的虚拟交换机或其它软件转发元件。如图所示,三个MFE 2135-2145具有在它们之间的完整隧道网格,并且这三个MFE还具有到位于托管用户VM的主机机器集合2150-2155的MFE的隧道。主机机器2150-2155还具有本地控制平面。
具有作为VM操作的三个活动SR的网络拓扑的物理实现2100将在本小节中用来描述各种不同的故障场景。一般而言,当托管SR的VM中的一个VM发生故障或者它们之间的隧道发生故障时,其它对等SR将尝试接管发生故障的SR的责任。在一些实施例中,属于同一逻辑路由器的SR经由中转逻辑交换机周期性地彼此发送心跳消息(例如,通过将心跳消息广播到中转逻辑交换机上,心跳消息将在中转逻辑交换机上被递送到所有其它SR)。
1.托管SR的VM的崩溃
在一些情况下,托管SR中的一个SR的实际VM可能由于任何数量的原因而崩溃。如上面所提到的,当SR在活动-活动模式下操作时(如在图21中),管理平面向VM中的每个VM指派用于在故障转移场景中使用的排名。在图21的情况下,网关机器2105上的SR1排名最高,网关机器2110上的SR2排名第二高,网关机器2115上的SR3在SR中排名第三。
图22概念性地示出了VM中的一个VM崩溃的结果。具体而言,这个图示出了网关机器2110上的SR 2125在其中操作的VM崩溃。因此,这个VM不能向其它SR 2120和2130发出心跳消息,但是(例如,对于在网关机器上的其它VM中操作的其它SR)网关机器之间的隧道仍然可操作。从这个意义上讲,虽然各种故障机制影响机器上所有基于DPDK的SR(因为它们都被实现为数据路径内的VRF),但是用于基于VM的SR的VM的崩溃仅影响在该VM中操作的单个SR,而不影响在网关机器上的其它SR。
由于缺少心跳,所以其它SR 2120和2130检测到SR 2125的故障,并且因此接管发生故障的SR的责任。通常,所有SR都存储用于它们自己的南向接口以及其它SR的南向接口的IP地址的信息。即,SR 2120存储关于到连接SR的中转逻辑交换机的它自身的接口以及SR2125和2130的对应接口的信息。然而,SR 2120通常仅回答对于它自身的接口的ARP请求。
当SR的VM崩溃时,如图22中所示,仍然存活的具有下一个最高排名的SR负责接管发生故障的SR的南向接口IP地址以及故障的SR先前已经接管的任何IP地址。例如,如果SR32130先前已经崩溃,那么它的南向接口将由SR2 2125接管。因此,图22示出了SR2120现在充当SR1和SR2两者。假设逻辑网络使用ECMP原则来转发北向分组,那么主机机器2150-2155应当向网关2105上的VM(例如,向该VM的MAC地址)路由针对SR 2120-2130所属的逻辑路由器的所有北向流量的三分之二,因为向SR1和SR2的IP地址转发的分组将都被路由到该MAC。
为了使网关2105上的VM接管SR2 2125的IP地址,VM向连接DR和SR 2120-2130的中转逻辑交换机发送对于这个IP地址(并且在其它情况下还发送对于它接管的所有IP地址)的GARP消息。在一些实施例中,VM发送多个GARP消息,以便更好地确保消息被接收。MFE2135接收这些GARP消息,并且将它们发送到MFE 2145(以便递送到SR3 2130)并且发送到各个主机2150-2155处的MFE(以使得DR将知道从它的ARP高速缓存中移除旧的SR2 IP到MAC地址映射)。
在两个SR处于活动-备用模式的情况下(例如,如果SR属于TLR或被配置了有状态服务的PLR),则在一些实施例中南向接口共享相同的IP地址,但是具有不同的MAC地址,如上文所描述的。如果备用的VM崩溃,那么在一些实施例中,基于该虚拟机将恢复工作并且活动SR的VM不发生故障的假设,管理平面不发起新的备用。然而,当活动SR的VM发生故障时,备用VM识别出这个故障(由于没有接收到心跳消息),并且生成GARP消息,以便移除在ARP表中对于主机MFE中的DR的南向IP地址到已崩溃的SR的MAC地址的映射(以使得这些MFE将把分组路由到新的活动SR而不是旧的活动SR)。在一些实施例中,主机机器上的隧道传输协议层(例如,VXLAN层)还学习对于新的MAC地址的MAC:VTEP映射,相同的IP地址和MAC地址被用于活动-备用SR的南向接口,一些实施例使用反向ARP(RARP)来刷新主机机器MFE处的MAC:VTEP映射(以使得分组将通过正确的隧道被发送到新的活动SR)。
最后,如果备用(现在活动的)VM作为PLR的SR操作,那么它开始向物理外部路由器通告路由。当具有发生故障的SR的网关机器上的BGP进程在具有该SR的VM外部操作时,在一些实施例中,该网关机器处的本地控制平面也阻止BGP进程继续通告路由,以使得网关机器将不吸引对于发生故障的SR的入口流量。
2.完整隧道故障
完整隧道故障可能由于网关机器崩溃、网关机器上的MFE有问题或由于pNIC或物理网络问题而发生。当在特定网关机器处发生完整隧道故障时,(i)在具有用户VM的主机机器或网关机器处的所有MFE都丢失到该特定网关机器的隧道,(ii)其它网关机器上的SR确定该特定网关机器上的SR网关机器已经发生故障,以及(iii)该特定网关机器上的SR确定其它网关机器上的SR发生故障。在一些实施例中,如果特定网关机器不再在隧道中的任何隧道上接收心跳消息,那么该特定网关机器上的逻辑确定它已经失去了它的隧道连接性,而不是其它VM已经失去隧道连接性。
图23概念性地示出了托管SR3 2130的网关机器2115上的MFE 2145处的完整隧道故障的结果。如图所示,MFE 2145已经发生故障,以使得从该MFE到其它网关机器和主机机器的隧道发送故障(由虚线指示)。因此,属于同一PLR的(被配置为活动-活动模式的)其它SR将启动故障转移过程,以接管发生故障的SR 2130的南向接口IP地址。
在一些实施例中,仍然存活的具有下一个最高排名的SR负责接管发生故障的SR的南向接口IP地址以及发生故障的SR先前已经接管的任何IP地址。因此,图23示出了SR 2125的VM现在充当SR2和SR3两者。假设逻辑网络使用ECMP原则来转发北向分组,则主机机器2150-2155应当向网关2110上的VM(例如,向该VM的MAC地址)路由对于SR 2120-2130所属的逻辑路由器的所有北向流量的三分之二,因为向SR2和SR3的IP地址转发的分组将都被路由到该MAC。
为了使网关2110上的VM接管SR3 2130的IP地址,VM向连接DR和SR 2120-2130的中转逻辑交换机发送对于该IP地址(并且,在其它情况下,还发送对于该VM接管的所有IP地址)的GARP消息。在一些实施例中,VM发送多个GARP消息,以便更好地确保该消息被接收。MFE 2140接收这些GARP消息,并且将它们发送到MFE 2135(以便被递送到SR1 2120)以及发送到各个主机2150-2155处的MFE(以使得DR将知道从它的ARP高速缓存中移除旧的SR2 IP到MAC地址的映射)。
在两个SR处于活动-备用模式的情况下(例如,如果SR属于TLR或配置了有状态服务的PLR),在一些实施例中,南向接口共享相同的IP地址,但是具有不同的MAC地址。在一些实施例中,如果来自具有备用SR的网关机器的隧道发生故障,那么管理平面不发起新的备用SR。然而,当来自具有活动SR的网关机器的隧道发生故障时,备用VM识别这个故障(由于没有从活动SR接收到心跳消息),并且生成GARP消息,以便移除在ARP表中对于主机机器MFE中的DR的南向IP地址到发生故障的SR的MAC地址的映射(以使得这些MFE将把分组路由到新的活动SR而不是旧的活动SR)。在一些实施例中,主机机器上的隧道传输协议层(例如,VXLAN层)还学习对于新MAC地址的MAC:VTEP映射。最后,如果备用(现在活动的)VM作为PLR的SR操作,那么它开始向物理外部路由器通告路由。此外,在一些实施例中,具有发生故障的隧道的网关机器阻止它自身的BGP进程继续通告路由。
3.部分隧道故障
当数据中心中的网关机器和其它机器之间的隧道中的仅一些隧道发生故障时,部分隧道故障发生。这可以是由于在具有到特定网关机器的隧道的机器中的一个机器处的完整故障(这将导致一个隧道的丢失)、由于特定网关机器处的条件导致它的隧道中的一些隧道发生故障等。这里描述的是当特定网关机器处的条件导致它的隧道的子集发生故障的情况。因此,(i)在具有用户VM的主机机器处的MFE中的一些MFE丢失到该特定网关机器的隧道,(ii)其它网关机器中的一些网关机器丢失到该特定网关机器的隧道,以及(iii)该特定网关机器丢失到一些其它网关机器的隧道。
在主机处丢失到特定网关机器的隧道的MFE以与完整隧道故障相同的方式来对待这种情况,因为从主机的角度来看,这仅仅是不可达的网关。照此,主机机器上的数据路径或机箱控制器从DR的FIB自动移除使用特定网关机器上的SR作为下一跳IP地址的受影响的路由。
如所指出的,部分隧道故障可以导致各种不同的场景。例如,在一些情况下,网关机器可以是主机机器MFE中的一些主机机器MFE可达的,但不是它自己的对等体可达的。参考图13作为示例,网关机器1330可以是主机机器1305-1320可达的,但是网关1335和1340不可达。在这种情况下,网关机器1330上的本地机箱控制器将接管PLR的正在网关机器1335和1340两者上运行的SR。此外,网关机器1335(或机器1340,这依赖于排名)将接管在网关机器1330上运行的SR。这导致当在(可以到达所有网关机器的)MFE中的一些MFE上运行的DR发送对于在第一网关机器1330上托管的SR的南向接口IP地址的ARP请求时,该MFE接收到来自多个网关机器的回复。只要SR处于活动-活动配置(没有有状态服务),这就将不会造成正确性问题。然而,在活动-备用配置的情况下,这将意味着两个SR现在都是活动的,这可以造成流量中断问题。
当在特定网关机器处到主机机器中的一些主机机器的隧道发生故障但是对等网关机器保持可达时,部分隧道故障还可能导致在活动-备用模式下的问题。在这种情况下,因为SR之间的隧道正在起作用,所以不发生故障转移。在活动-活动模式下,主机机器(或本地机箱控制器)处的数据路径可以决定通过仍然工作而没有问题的隧道转发流量。然而,在活动-备用模式下,如果到活动SR的隧道发生故障,那么MFE将向备用SR发送分组,备用SR不处理分组。类似地,在活动-活动配置和活动-备用配置两者中,网关机器都可能不能传递来自物理路由器的南向流量,因此在一些实施例中该南向流量被黑洞化。
4.到物理路由器的vNlC故障
在一些实施例中,SR在其上运行的每个VM使用第一vNIC来连接到MFE以用于向(一个或多个)物理路由器发送以及从(一个或多个)物理路由器接收的分组(如果SR属于PLR)、使用第二vNIC以用于向它的对等体发送心跳消息、使用第三vNIC以用于向逻辑网络发送以及从逻辑网络接收的分组。在一些实施例中,这些vNIC中的一些或全部可以是相同的。例如,SR可以使用同一vNIC来发送心跳消息以及与物理路由器通信,或发送心跳消息以及与逻辑网络通信。
如果出于任何原因VM丢失(与物理路由器通信的)第一vNIC,那么在一些实施例中,SR停止发送心跳消息。照此,一旦托管PLR的其它SR的它的对等VM检测到来自该SR的心跳消息已经停止,这些对等VM就采取如上文在第1小节中所描述的故障转移动作,就像VM已经崩溃一样。如果VM丢失(用于心跳消息的)第二vNIC,那么对等VM将检测到没有心跳消息传入,并且采取相同的故障转移动作来控制发生故障的SR的IP地址。最后,如果VM丢失(用于逻辑网络流量的)第三vNIC,那么它在心跳消息中指示该情况,并且对等体可以遵循相同的故障转移过程。
5.BGP会话故障
在一些情况下,SR的BGP会话可能发生故障(例如,因为网关机器上的MSR进程崩溃)。当对BGP进程启用优雅重启时,只要在为优雅重启设置的超时内会话被重建,就不需要采取故障转移动作。为了能够检测MSR进程(或其它BGP模块)何时发生故障,一些实施例要求即使状态没有改变,该进程也周期性地刷新所有BGP会话的状态。
另一方面,如果没有启用优雅重启或者重启的超时到期,那么网关机器使用心跳消息来指示SR不再起作用(例如,通过终止心跳消息)。从对等SR的角度来看,具有不起作用的BGP的SR将被视为故障的,并且上面的故障转移过程适用。
C.故障转移过程
图24概念性地示出了由SR在对等SR故障转移的情况下执行的过程2400。在各种实施例中,这个过程可以由在SR的网关机器上操作的本地控制平面(对于VM或者基于DPDK的数据路径中的VRF)、SR本身(如果SR被实现为边缘VM)或数据路径(如果被实现为基于DPDK的数据路径中的VRF)实现。即,虽然对于不同类型而言过程的实现可以是不同的,但是过程2400的操作适用于所描述的这两种类型的SR。
如图所示,过程2400通过(在2405处)确定对等SR已经发生故障而开始。如前面的小节中所描述的,SR可能由于各种原因并且在不同的能力的方面发生故障。例如,数据中心内实现逻辑网络通信的隧道连接性可能发生故障,SR与外部物理网络通信的能力可能变得不可用,实现SR的VM可能会崩溃(如果SR是这样实现的),数据路径可能崩溃,托管SR的整个网关机器可能崩溃,等等。应当理解的是,在一些情况下(例如,来自网关机器的所有隧道连接性发生故障、数据路径崩溃等),网关机器上的所有SR将被认为故障的,并且它们的各个对等体将执行过程2400或类似的过程。
在确定它的对等SR已经发生故障后,然后过程2400(在2410处)确定是否接替发生故障的对等体。例如,如果发生故障的对等体是在活动-备用配置下的备用SR,那么活动的SR不需要采取任何动作。此外,对于活动-活动配置,对等SR中只有一个对等SR需要接替发生故障的SR。如上文所描述的,SR中的哪个SR接替特定的发生故障的SR是基于在创建SR时由管理平面指派的排名而预先确定的。
当SR不负责接替发生故障的SR时,该过程结束。否则,该过程(在2415处)识别由发生故障的对等体拥有的现在由它负责的南向IP地址。与活动-备用模式相比,这些可以是活动-活动模式下的不同情况。具体而言,在活动-备用模式下,两个SR共享南向接口上的IP地址,所以SR将仅接管对它自己的IP地址的行动。在活动-活动模式下,SR都具有不同的南向IP地址。在这种情况下,接管的SR现在负责发生故障的SR的原始指派的IP地址、以及发生故障的SR先前(由于其它对等SR的故障)负责的任何其它南向接口IP地址。
对于每个识别出的南向IP地址,过程2400(在2420处)向连接它们的逻辑路由器的DR和SR的中转逻辑交换机发送一个或多个GARP回复消息。GARP消息将SR本身的南向MAC地址识别为现在与在操作2415处识别出的一个或多个南向IP地址相关联。这使得中转逻辑交换机上的其它部件能够清除它们的ARP高速缓存,以避免将向识别出的IP地址路由的分组发送到发生故障的目的地。对于在整个数据中心的许多网关机器和主机机器上实现的DR,GARP回复被广播到这些许多机器,以便各个MFE上的ARP高速缓存可以被清除。
然后,该过程(在2425处)确定执行该过程的SR(或其本地控制器机箱正在执行该过程的机器上的SR)是否先前是TLR的备用SR。应当理解的是,过程2400仅仅是概念性的,并且在一些实施例中操作2425缺省地在所有TLR备用SR上实现,并且不需要进行具体的确定。当发生故障的SR是在活动-备用配置下的活动SR时,备用SR负责吸引先前已经被发送到发生故障的SR的南向流量。
因此,如果SR以前是TLR的备用SR,那么过程2400(在2430处)识别发生故障的对等体的北向IP地址,发生故障的对等体共享该北向IP地址(因为在一些实施例中,TLR仅被允许一条上行链路)。该过程接下来(在2430处)将一个或多个GARP回复消息发送到将SR连接到PLR的DR的中转逻辑交换机。GARP消息将SR本身的北向MAC地址识别为现在与为TLR配置的上行链路的IP地址相关联。这使得PLR的DR能够清除它的ARP高速缓存(更具体而言,让跨数据中心实现这个DR的各个MFE清除它们的ARP高速缓存)。然后该过程结束。
如果执行该过程的SR不是TLR的备用SR,那么该过程(在2440处)确定这个SR是否先前是PLR的备用SR。同样,应当理解的是,在一些实施例中,执行过程2400的SR或本地控制器机箱实际上不进行具体的确定。当该SR是PLR的备用SR时,SR(在2445处)开始向它的外部物理路由器通告前缀。在活动-活动的情况下,SR将已经在通告这些前缀,以便吸引ECMP流量。然而,在活动-备用配置下,备用不通告前缀,而是仅从外部路由器接收路由。然而,为了吸引南向流量,新的活动(以前备用的)SR开始通告前缀。然后该过程结束。
VII.电子系统
上文描述的特征和应用中的许多特征和应用被实现为被指定为在计算机可读存储介质(也被称为计算机可读介质)上记录的指令集合的软件过程。当这些指令由一个或多个处理单元(例如,一个或多个处理器、处理器的核心或其它处理单元)执行时,它们使得(一个或多个)处理单元执行指令中指示的动作。计算机可读介质的示例包括但不限于CD-ROM、闪存驱动器、RAM芯片、硬盘驱动器、EPROM等。计算机可读介质不包括无线地或经有线连接传递的载波和电子信号。
在这个说明书中,术语“软件”意在包括可以被读入到存储器中以供处理器处理的驻留在只读存储器中的固件或存储在磁性存储装置中的应用。而且,在一些实施例中,多个软件发明可以被实现为较大程序的子部分,同时保留独特的软件发明。在一些实施例中,多个软件发明还可以被实现为分开的程序。最后,一起实现这里描述的软件发明的分开的程序的任何组合都在本发明的范围内。在一些实施例中,软件程序当被安装以在一个或多个电子系统上操作时,定义执行和进行软件程序的操作的一个或多个具体机器实现。
图25概念性地示出了利用其实现本发明的一些实施例的电子系统2500。电子系统2500可以被用来执行上文描述的控制应用、虚拟化应用或操作系统应用中的任何应用。电子系统2500可以是计算机(例如,台式计算机、个人计算机、平板计算机、服务器计算机、大型机、刀片计算机等)、电话、PDA或任何其它种类的电子设备。这样的电子系统包括各种类型的计算机可读介质和用于各种其它类型的计算机可读介质的接口。电子系统2500包括总线2505、(一个或多个)处理单元2510、系统存储器2525、只读存储器2530、永久存储设备2535、输入设备2540和输出设备2545。
总线2505总体地表示可通信地连接电子系统2500的许多内部设备的所有系统总线、外围总线和芯片组总线。例如,总线2505将(一个或多个)处理单元2510与只读存储器2530、系统存储器2525和永久存储设备2535可通信地连接。
(一个或多个)处理单元2510从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行本发明的过程。在不同的实施例中,(一个或多个)处理单元可以是单个处理器或多核处理器。
只读存储器(ROM)2530存储(一个或多个)处理单元2510和电子系统的其它模块所需要的静态数据和指令。另一方面,永久存储设备2535是读写存储器设备。这个设备是即使当电子系统2500关闭时也存储指令和数据的非易失性存储器单元。本发明的一些实施例使用大容量存储设备(诸如磁盘或光盘及其对应的盘驱动器)作为永久存储设备2535。
其它实施例使用可移动存储设备(诸如软盘、闪存驱动器等)作为永久存储设备。像永久存储设备2535一样,系统存储器2525是读写存储器设备。然而,与存储设备2535不同,系统存储器是易失性读写存储器,诸如随机存取存储器。系统存储器存储处理器在运行时需要的指令和数据中的一些指令和数据。在一些实施例中,本发明的过程被存储在系统存储器2525、永久存储设备2535和/或只读存储器2530中。(一个或多个)处理单元2510从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行一些实施例的过程。
总线2505还连接到输入设备2540和输出设备2545。输入设备使得用户能够向电子系统传送信息以及选择命令。输入设备2540包括字母数字键盘和指向设备(也被称为“光标控制设备”)。输出设备2545显示由电子系统生成的图像。输出设备包括打印机和显示设备,诸如阴极射线管(CRT)或液晶显示器(LCD)。一些实施例包括诸如充当输入设备和输出设备两者的触摸屏之类的设备。
最后,如图25中所示,总线2505还通过网络适配器(未示出)将电子系统2500耦接到网络2565。以这种方式,计算机可以是计算机网络(诸如局域网(“LAN”)、广域网(“WAN”)或内联网、或者网络的网络(诸如互联网))的一部分。电子系统2500的任何部件或所有部件可以与本发明结合使用。
一些实施例包括电子部件,诸如微处理器、在机器可读或计算机可读介质(可替代地称为计算机可读存储媒介、机器可读媒介或机器可读存储媒介)中存储计算机程序指令的存储装置和存储器。这种计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、只读数字通用盘(例如,DVD-ROM、双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存存储器(例如,SD卡、迷你SD卡、微SD卡等)、磁性和/或固态硬盘驱动器、只读和可记录
Figure BDA0003842094720000691
盘、超密度光盘、任何其它光学或磁性介质、以及软盘。计算机可读介质可以存储可由至少一个处理单元执行并且包括用于执行各种操作的指令集的计算机程序。计算机程序或计算机代码的示例包括(诸如由编译器产生的)机器代码以及包括由计算机、电子部件或微处理器使用解释器执行的较高级别的代码的文件。
虽然上面的讨论主要关于执行软件的微处理器或多核处理器,但是一些实施例由一个或多个集成电路(诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA))执行。在一些实施例中,这样的集成电路执行存储在电路本身上的指令。
如本说明书中所使用的,术语“计算机”、“服务器”、“处理器”和“存储器”都指代电子设备或其它技术设备。这些术语不包括人或人的群体,为了说明书的目的,术语“显示”是指在电子设备上显示。如在本说明书中使用的,术语“计算机可读介质”、“计算机可读媒介”和“机器可读介质”完全限于以计算机可读的形式存储信息的有形物理对象。这些术语不包括任何无线信号、有线下载信号以及任何其它短暂信号。
本说明书全文涉及包括虚拟机(VM)的计算环境和网络环境。然而,虚拟机仅是数据计算节点(DCN)或数据计算端节点的一个示例,也被称为可寻址节点。DCN可以包括非虚拟化的物理主机、虚拟机器、在主操作系统之上运行而不需要管理程序或单独的操作系统的容器以及管理程序内核网络接口模块。
在一些实施例中,VM使用由虚拟化软件(例如,管理程序、虚拟机监视器等)虚拟化的主机的资源而在主机上利用它们自己的访客操作系统来操作。租户(即,VM的所有者)可以选择哪些应用在访客操作系统之上进行操作。另一方面,一些容器是在主操作系统之上运行而不需要管理程序或单独的访客操作系统的构造。在一些实施例中,主操作系统使用命名空间将容器彼此隔离,并且因此提供在不同容器内操作的不同应用组的操作系统级隔离。这种隔离类似于在使系统硬件虚拟化的管理程序虚拟化的环境中提供的VM隔离,并且因此可以被视为隔离在不同容器中操作的不同应用组的虚拟化形式。这种容器比VM更轻量级。
在一些实施例中,管理程序内核网络接口模块是包括具有管理程序内核网络接口和接收/发送线程的网络堆栈的非VM DCN。管理程序内核网络接口模块的一个示例是作为Vmware公司的ESXiTM管理程序的一部分的vmknic模块。
应当理解的是,虽然说明书关于VM,但是给出的示例可以是任何类型的DCN,包括物理主机、VM、非VM容器和管理程序内核网络接口模块。实际上,在一些实施例中,示例网络可以包括不同类型的DCN的组合。
虽然已经参考许多具体细节描述了本发明,但是本领域普通技术人员将认识到,在不背离本发明的精神的情况下,本发明可以以其它具体形式体现。此外,附图中的若干个图(包括图11、图12和图24)概念性地示出了过程。这些过程的具体操作可以不按照所示出和描述的确切次序执行。具体操作可以不在一系列连续操作中执行,并且在不同的实施例中可以执行不同的具体操作。此外,该过程可以使用若干子过程来实现,或者可以被实现为更大的宏观过程的一部分。因此,本领域普通技术人员将理解的是,本发明不受前述说明性细节的限制,而是由所附权利要求限定。

Claims (27)

1.一种用于定义逻辑网络中的逻辑路由器的网关部件的方法,所述方法包括:
定义逻辑路由器的至少两个集中式网关部件,并将所述集中式网关部件中的每个集中式网关部件指派给不同的网关计算设备,所述集中式网关部件用于处理所述逻辑网络和所述逻辑网络外部的网络之间的流量;以及
对于所述集中式网关部件中的被指派给第一网关计算设备的第一集中式网关部件,定义(i)第一接口,用于让第一集中式网关部件将从所述逻辑网络接收到的第一组流量转发到所述外部网络,以及(ii)第二接口,用于让第一集中式网关部件将从所述逻辑网络接收到的第二组流量转发到所述集中式网关部件中的被指派给第二网关计算设备的第二集中式网关部件。
2.根据权利要求1所述的方法,其中第一集中式网关部件对第一组流量执行第一组服务和对第二组流量执行不同的第二组服务。
3.根据权利要求1所述的方法,其中第一集中式网关部件和第二集中式网关部件与所述外部网络具有不同的连接性。
4.根据权利要求1所述的方法,其中第二集中式网关部件将第二组流量转发到所述外部网络。
5.根据权利要求1所述的方法,其中第一网关计算设备将第二组流量隧道传送到第二网关计算设备。
6.根据权利要求1所述的方法,还包括将第一网关计算设备配置为执行第一集中式网关部件和将第二网关计算设备配置为执行第二集中式网关部件。
7.根据权利要求1所述的方法,还包括接收用于所述逻辑路由器的配置,所述配置指定至少两个上行链路接口,其中为所述集中式网关部件定义的第一接口与所述上行链路接口中的被指派给第一集中式网关部件中的第一上行链路接口对应,并且为所述集中式网关部件定义的第二接口与所述上行链路接口中的被指派给第二集中式网关部件的第二上行链路接口对应。
8.根据权利要求1所述的方法,还包括,对于第二集中式网关部件,定义(i)第三接口,用于让第二集中式网关部件将从所述逻辑网络接收到的第三组流量转发到所述外部网络,以及(ii)第四接口,用于让第二集中式网关部件将从所述逻辑网络接收到的第四组流量转发到第一集中式网关部件,其中:
第一集中式网关部件对第一组流量执行第一组服务,和对第二组流量执行不同的第二组服务;以及
第二集中式网关部件对第四组流量执行第一组服务,和对第三组流量执行第二组服务。
9.根据权利要求1所述的方法,还包括:
定义所述逻辑路由器的分布式路由部件,用于由在一组计算设备上执行的多个受管理的转发元件实现,所述一组计算设备包括(i)第一网关计算设备和第二网关计算设备以及(ii)连接到所述逻辑网络的数据计算节点也在其上执行的多个计算设备;以及
为第一集中式网关部件定义第三接口以与所述逻辑路由器的所述分布式路由部件逻辑地交换流量。
10.根据权利要求1所述的方法,还包括在第一网关计算设备上配置第一集中式网关部件以与所述外部网络交换动态路由信息,其中由第一集中式网关部件通过交换动态路由信息而学习的路由被结合到第一集中式网关部件的路由表中,以及指定具有第一组目的地地址的数据流量经由第一接口输出。
11.根据权利要求10所述的方法,其中第二网关计算设备上的第二集中式网关部件也与所述外部网络交换动态路由信息,其中由第二集中式网关部件通过交换动态路由信息而学习的路由被结合到第二集中式网关部件的路由表中,以及指定具有第二组目的地地址的数据消息经由第二接口输出。
12.根据权利要求10所述的方法,其中:
第一集中式网关部件将所学习的路由传递给集中式网络控制器;以及
所述集中式网络控制器将所学习的路由结合到所述逻辑路由器的分布式路由部件的路由表中。
13.一种用于定义逻辑路由器的网关部件的方法,所述方法包括:
对于为所述逻辑路由器配置的多条上行链路中的每条上行链路,将该上行链路指派给不同的网关机器;
对于所述上行链路中的第一上行链路,定义用于在第一上行链路被指派到的第一网关计算设备上实现的所述逻辑路由器的第一集中式网关部件;
为第一集中式网关部件定义根据第一上行链路而配置的第一本地接口,第一集中式网关部件的第一本地接口用于将流量转发到在所述逻辑路由器的实现的外部的网络;以及
为第一集中式网关部件定义根据第二上行链路而配置的第二接口,第二接口用于将根据第二上行链路配置而处理的流量重定向到在第二网关计算设备上实现的第二集中式网关部件,以用于让第二集中式网关部件将所述流量转发到外部网络。
14.根据权利要求13所述的方法,还包括配置第一集中式网关部件,以与所述外部网络交换动态路由信息,其中由第一集中式网关部件通过交换动态路由信息而学习的路由被结合到第一集中式网关部件的路由表中。
15.根据权利要求14所述的方法,其中第二集中式网关部件也与所述外部网络交换动态路由信息;其中由第二集中式网关部件学习的路由被结合到第一集中式网关部件的所述路由表中。
16.根据权利要求15所述的方法,其中由第一集中式网关部件学习的路由在第一集中式网关部件的所述路由表中具有比由第二集中式网关部件学习的路由更短的管理距离。
17.根据权利要求15所述的方法,其中第一集中式网关部件优选由第一集中式网关部件学习的路由而不是由第二集中式网关部件学习的路由。
18.根据权利要求13所述的方法,还包括定义所述逻辑路由器的分布式路由部件,以用于由多个计算设备处的多个受管理的转发元件实现,所述多个计算设备至少包括所述上行链路被指派到的所述网关计算设备。
19.根据权利要求18所述的方法,其中第一集中式网关部件使用动态路由协议学习来自所述外部网络的路由信息,并且提供所述路由信息以用于结合到所述分布式路由部件的路由表中。
20.根据权利要求19所述的方法,其中:
第一集中式网关部件将所学习的路由信息传递到集中式网络控制器,以用于结合到分布式路由部件的路由表中;以及
集中式网络控制器将所述路由表分发到实现所述分布式路由部件的所述多个计算设备。
21.根据权利要求18所述的方法,还包括为第一集中式网关部件定义第三接口,所述第三接口用于让第一集中式网关部件与所述分布式路由部件交换流量。
22.根据权利要求13所述的方法,还包括:
对于所述上行链路中的第二上行链路,定义用于在第二上行链路被指派到的第二网关计算设备上实现的所述逻辑路由器的第二集中式网关部件;
为第二集中式网关部件定义根据第二上行链路而配置的第一本地接口,第一本地接口用于让第二集中式网关部件将流量转发到外部网络;以及
为第二集中式网关部件定义根据第一上行链路而配置的第二接口,第二接口用于将根据第一上行链路配置而处理的流量重定向到第一集中式网关部件,以用于让第一集中式网关部件将所述流量转发到外部网络。
23.根据权利要求1所述的方法,其中第一上行链路和第二上行链路具有以下中的至少一个:(i)不同的配置的服务策略和(ii)与外部网络的不同L3连接。
24.一种存储程序的机器可读介质,所述程序在由至少一个处理单元执行时实现如权利要求1-23中任一项所述的方法。
25.一种电子设备,包括:
一组处理单元;以及
存储程序的机器可读介质,所述程序在由所述处理单元中的至少一个处理单元执行时实现如权利要求1-23中任一项所述的方法。
26.一种包括用于实现如权利要求1-23中任一项所述的方法的装置的系统。
27.一种包括指令的计算机程序产品,所述指令在由计算机执行时使得所述计算机执行如权利要求1-23中任一项所述的方法。
CN202211107867.8A 2015-01-30 2016-01-29 具有多个路由部件的逻辑路由器 Pending CN115442303A (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201562110061P 2015-01-30 2015-01-30
US62/110,061 2015-01-30
US14/814,477 US10129180B2 (en) 2015-01-30 2015-07-30 Transit logical switch within logical router
US14/841,473 2015-07-30
US14/814,469 2015-07-30
US14/814,473 US9787605B2 (en) 2015-01-30 2015-07-30 Logical router with multiple routing components
US14/814,469 US10079779B2 (en) 2015-01-30 2015-07-30 Implementing logical router uplinks
US14/814,477 2015-07-30
US14/841,473 US9628092B2 (en) 2013-12-27 2015-08-31 Apparatus for a monotonic delay line, method for fast locking of a digital DLL with clock stop/start tolerance, apparatus and method for robust clock edge placement, and apparatus and method for clock offset tuning
CN201680006264.5A CN107210959B (zh) 2015-01-30 2016-01-29 具有多个路由部件的逻辑路由器
PCT/US2016/015778 WO2016123550A1 (en) 2015-01-30 2016-01-29 Logical router with multiple routing components

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201680006264.5A Division CN107210959B (zh) 2015-01-30 2016-01-29 具有多个路由部件的逻辑路由器

Publications (1)

Publication Number Publication Date
CN115442303A true CN115442303A (zh) 2022-12-06

Family

ID=56553456

Family Applications (6)

Application Number Title Priority Date Filing Date
CN202010831065.6A Active CN111865775B (zh) 2015-01-30 2016-01-29 具有多个路由部件的逻辑路由器
CN202211107837.7A Pending CN115442302A (zh) 2015-01-30 2016-01-29 具有多个路由部件的逻辑路由器
CN201680006264.5A Active CN107210959B (zh) 2015-01-30 2016-01-29 具有多个路由部件的逻辑路由器
CN202211107867.8A Pending CN115442303A (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 (3)

Application Number Title Priority Date Filing Date
CN202010831065.6A Active CN111865775B (zh) 2015-01-30 2016-01-29 具有多个路由部件的逻辑路由器
CN202211107837.7A Pending CN115442302A (zh) 2015-01-30 2016-01-29 具有多个路由部件的逻辑路由器
CN201680006264.5A Active CN107210959B (zh) 2015-01-30 2016-01-29 具有多个路由部件的逻辑路由器

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202110039636.7A Pending CN112769695A (zh) 2015-01-30 2016-10-29 边缘网关处的动态数据通路
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) CN111865775B (zh)
AU (5) AU2016211222B2 (zh)
CA (2) CA3148877A1 (zh)
WO (4) WO2016123550A1 (zh)

Families Citing this family (208)

* Cited by examiner, † Cited by third party
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
US9575782B2 (en) 2013-10-13 2017-02-21 Nicira, Inc. ARP for 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
US11496606B2 (en) 2014-09-30 2022-11-08 Nicira, Inc. Sticky service sessions in a datacenter
US9825810B2 (en) 2014-09-30 2017-11-21 Nicira, Inc. Method and apparatus for distributing load among a plurality of service nodes
US10250443B2 (en) 2014-09-30 2019-04-02 Nicira, Inc. Using physical location to modify behavior of a distributed virtual network element
US10257095B2 (en) 2014-09-30 2019-04-09 Nicira, Inc. Dynamically adjusting load balancing
US10511458B2 (en) 2014-09-30 2019-12-17 Nicira, Inc. Virtual distributed bridging
US9971397B2 (en) 2014-10-08 2018-05-15 Apple Inc. Methods and apparatus for managing power 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
US10609091B2 (en) 2015-04-03 2020-03-31 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
US9923811B2 (en) 2015-06-27 2018-03-20 Nicira, Inc. Logical routers and switches in a multi-datacenter environment
US10348625B2 (en) 2015-06-30 2019-07-09 Nicira, Inc. Sharing common L2 segment in a virtual distributed router environment
US10129142B2 (en) 2015-08-11 2018-11-13 Nicira, Inc. 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
US10871981B2 (en) 2015-11-01 2020-12-22 Nicira, Inc. Performing logical network functionality within data compute nodes
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
CN114697189A (zh) 2016-08-27 2022-07-01 Nicira股份有限公司 网络控制系统到公共云中的扩展
US10193749B2 (en) 2016-08-27 2019-01-29 Nicira, Inc. Managed forwarding element executing in public cloud data compute node without overlay network
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
US10802857B2 (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 比亚迪股份有限公司 基于轨道交通的远程测试方法、网关和系统
US10757005B2 (en) 2017-04-09 2020-08-25 Barefoot Networks, Inc. Execution of packet-specified actions at forwarding element
US11093284B2 (en) * 2017-05-12 2021-08-17 Xilinx, Inc. Data processing system
US11146508B2 (en) * 2017-05-12 2021-10-12 Xilinx, Inc. Data processing system
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
US10432523B2 (en) 2017-05-31 2019-10-01 Juniper Networks, Inc. Routing protocol signaling of multiple next hops and their relationship
US10659352B2 (en) 2017-05-31 2020-05-19 Juniper Networks, Inc. Signaling private context forwarding tables for a private forwarding layer
US10382333B2 (en) * 2017-05-31 2019-08-13 Juniper Networks, Inc. Fabric path context-based forwarding for virtual nodes
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地址复用的装置及操作方法
US10587434B2 (en) 2017-07-14 2020-03-10 Nicira, Inc. In-band management interface with user space datapath
US10432513B2 (en) * 2017-07-14 2019-10-01 Nicira, Inc. Asymmetric network elements sharing an anycast address
EP3656099B1 (en) 2017-07-17 2022-12-28 Nicira Inc. Distributed multicast logical router
US20190036770A1 (en) * 2017-07-31 2019-01-31 Cisco Technology, Inc. Network route provisioning
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
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
EP3673627B1 (en) * 2017-08-27 2023-09-13 Nicira, Inc. Performing in-line service in public cloud
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
US11502948B2 (en) 2017-10-16 2022-11-15 Mellanox Technologies, Ltd. Computational accelerator for storage operations
US11005771B2 (en) 2017-10-16 2021-05-11 Mellanox Technologies, Ltd. Computational accelerator for packet payload 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
US10797966B2 (en) 2017-10-29 2020-10-06 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
CN111095880B (zh) * 2017-12-04 2022-02-22 Nicira股份有限公司 用于公共云逻辑网络的方法、设备、系统和可读介质
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
US10659252B2 (en) 2018-01-26 2020-05-19 Nicira, Inc Specifying and utilizing paths through a network
US10797910B2 (en) 2018-01-26 2020-10-06 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
US10728174B2 (en) 2018-03-27 2020-07-28 Nicira, Inc. Incorporating layer 2 service between two interfaces of gateway device
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
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
JP2021532609A (ja) * 2018-07-26 2021-11-25 ドライブネッツ リミテッド 複数のルーティングエンティティを含むプラットフォーム
US10530634B1 (en) * 2018-07-27 2020-01-07 Vmware, Inc. Two-channel-based high-availability
TWI813743B (zh) * 2018-08-23 2023-09-01 美商阿爾克斯股份有限公司 在網路路由環境中的獨立資料儲存空間
US11374794B2 (en) 2018-08-24 2022-06-28 Vmware, Inc. Transitive routing in public cloud
CN112640369B (zh) 2018-08-24 2023-01-10 Vm维尔股份有限公司 在公共云中智能地使用对等的方法、设备和机器可读介质
US10846224B2 (en) 2018-08-24 2020-11-24 Apple Inc. Methods and apparatus for control of a jointly shared memory-mapped region
US11196591B2 (en) 2018-08-24 2021-12-07 Vmware, Inc. Centralized overlay gateway in public cloud
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
EP3815312A1 (en) * 2018-09-02 2021-05-05 VMware, Inc. Service insertion at logical network gateway
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
WO2020112817A1 (en) * 2018-11-26 2020-06-04 Arrcus Inc. Logical router comprising 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
US11240160B2 (en) 2018-12-28 2022-02-01 Alibaba Group Holding Limited Method, apparatus, and computer-readable storage medium for network control
KR102097999B1 (ko) * 2018-12-28 2020-04-07 주식회사 아라드네트웍스 가상 라우터를 이용한 IP in IP 통신 시스템
US11074097B2 (en) 2019-02-22 2021-07-27 Vmware, Inc. Specifying service chains
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
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
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
US11240154B2 (en) * 2020-01-14 2022-02-01 Cisco Technology, Inc. Dynamic hardware forwarding pipeline compression
CN114342333B (zh) * 2020-01-14 2023-10-20 Vm维尔股份有限公司 在物理和逻辑网络之间提供有状态服务的透明隔离区
US11411777B2 (en) 2020-01-14 2022-08-09 Vmware, Inc. Port mapping for bonded interfaces of ECMP group
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
WO2021196080A1 (en) 2020-04-01 2021-10-07 Vmware Information Technology (China) Co., Ltd. Auto deploying network elements for heterogeneous compute elements
US11683233B2 (en) 2020-04-06 2023-06-20 Vmware, Inc. Provision of logical network data from global manager to local managers
US11316773B2 (en) 2020-04-06 2022-04-26 Vmware, Inc. Configuring edge device with multiple routing tables
US11277331B2 (en) 2020-04-06 2022-03-15 Vmware, Inc. Updating connection-tracking records at a network edge using flow programming
US11777793B2 (en) 2020-04-06 2023-10-03 Vmware, Inc. Location criteria for security groups
US11088919B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Data structure for defining multi-site logical network
US11088902B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Synchronization of logical network state between global and local managers
US11258713B2 (en) 2020-04-06 2022-02-22 Vmware, Inc. 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
EP4173239B1 (en) 2020-06-24 2024-04-17 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
US11516125B2 (en) 2020-07-21 2022-11-29 Vmware, Inc. Handling packets travelling towards logical service routers (SRs) for active-active stateful service insertion
US11108728B1 (en) * 2020-07-24 2021-08-31 Vmware, Inc. Fast distribution of port identifiers for rule processing
US11611613B2 (en) 2020-07-24 2023-03-21 Vmware, Inc. Policy-based forwarding to a load balancer of a load balancing cluster
US11451413B2 (en) 2020-07-28 2022-09-20 Vmware, Inc. Method for advertising availability of distributed gateway service and machines at host computer
US11902050B2 (en) 2020-07-28 2024-02-13 VMware LLC Method for providing distributed gateway service at host computer
US11803408B2 (en) 2020-07-29 2023-10-31 Vmware, Inc. Distributed network plugin agents for container networking
CN114095153A (zh) 2020-08-05 2022-02-25 迈络思科技有限公司 密码数据通信装置
IL276538B2 (en) 2020-08-05 2023-08-01 Mellanox Technologies Ltd A cryptographic device for data communication
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
US11601474B2 (en) 2020-09-28 2023-03-07 Vmware, Inc. Network virtualization infrastructure with divided user responsibilities
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)
US11934333B2 (en) 2021-03-25 2024-03-19 Mellanox Technologies, Ltd. Storage protocol emulation in a peripheral device
US11934658B2 (en) 2021-03-25 2024-03-19 Mellanox Technologies, Ltd. Enhanced 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
US11876719B2 (en) 2021-07-26 2024-01-16 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements
US11882051B2 (en) 2021-07-26 2024-01-23 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

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1523850A (zh) * 2003-02-19 2004-08-25 ���ǵ�����ʽ���� 用于分布式处理边界网关协议的设备和方法
CN1714548A (zh) * 2002-11-20 2005-12-28 4198638加拿大公司 具有多个逻辑子系统功能的转发系统
CN1849783A (zh) * 2003-10-02 2006-10-18 思科技术公司 用于实现边界网关协议(bgp)的分布式软件体系结构
JP2011139299A (ja) * 2009-12-28 2011-07-14 Nippon Telegr & Teleph Corp <Ntt> DNS(DomainNameSystem)登録装置、VPN(VirtualPrivateNetwork)間接続管理システム、広域DNS装置、DNS登録プログラム、広域DNSプログラム、DNS登録方法、及びVPN間接続管理方法
JP2011228864A (ja) * 2010-04-16 2011-11-10 Nippon Telegr & Teleph Corp <Ntt> トラヒック制御指示装置、トラヒック制御指示プログラム、トラヒック制御指示システム、及びトラヒック制御指示方法
US20130044636A1 (en) * 2011-08-17 2013-02-21 Teemu Koponen Distributed logical l3 routing
US20130223444A1 (en) * 2012-02-23 2013-08-29 Christopher D. Liljenstolpe System and methods for managing network packet forwarding with a controller
JP2014534789A (ja) * 2011-11-29 2014-12-18 アマゾン・テクノロジーズ・インコーポレーテッド 直接ネットワークピアリングを管理するためのインターフェース

Family Cites Families (429)

* Cited by examiner, † Cited by third party
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
AU659101B2 (en) 1990-09-17 1995-05-11 Aprisma Management Technologies, 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 ルータネットワーク管理方法
CN1328885C (zh) * 1999-02-23 2007-07-25 阿尔卡塔尔互联网运行公司 具有接入质量的多业务网络交换机
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
US7209439B2 (en) 2001-03-20 2007-04-24 Mci, Llc Pool-based resource management in a data network
US7069337B2 (en) 2001-03-20 2006-06-27 Mci, Inc. Policy-based synchronization of per-class resources between routers 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
US7447197B2 (en) 2001-10-18 2008-11-04 Qlogic, Corporation System and method of providing network node services
US7200144B2 (en) 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
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
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 株式会社東芝 ネットワークシステム及びノード装置
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
US8281067B2 (en) 2003-04-21 2012-10-02 Nvidia Corporation Disk array controller with reconfigurable data path
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
WO2005038599A2 (en) 2003-10-14 2005-04-28 Raptor Networks Technology, Inc. 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
CN1282348C (zh) * 2003-10-29 2006-10-25 深圳市研祥智能科技股份有限公司 多功能宽带网关及其通信方法
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
CN101411156B (zh) 2004-05-12 2011-04-20 阿尔卡特朗讯 对网络入侵者的自动阻止
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
CA2591222C (en) 2004-12-21 2014-07-08 Telefonaktiebolaget L M Ericsson (Publ) An arrangement and a method relating to flow of packets in communication systems
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
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
WO2006099296A2 (en) 2005-03-10 2006-09-21 Nexthop Technologies, Inc. Flexible, scalable, wireless data forwarding and mobility for secure wireless networks
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
WO2007021836A2 (en) 2005-08-15 2007-02-22 Toutvirtual Inc. Virtual systems management
EP1932265B1 (en) 2005-09-16 2017-10-25 Acme Packet, Inc. Improvements to a session border controller
JP2007135109A (ja) 2005-11-11 2007-05-31 Hitachi Ltd 仮想ネットワーク管理方法、仮想ネットワーク管理プログラム、仮想ネットワーク管理システムおよび仮想ネットワーク管理手段
CA2631770A1 (en) * 2005-12-01 2007-06-07 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
US8838756B2 (en) 2009-07-27 2014-09-16 Vmware, Inc. Management and implementation of enclosed local networks in a virtual lab
US8619771B2 (en) 2009-09-30 2013-12-31 Vmware, Inc. Private allocated networks over shared communications infrastructure
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
ATE418219T1 (de) 2006-08-04 2009-01-15 Alcatel Lucent Vorrichtung, modul und verfahren zur leitweglenkung für ein zugangsnetz
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
WO2008093174A1 (en) 2007-02-02 2008-08-07 Groupe Des Ecoles Des Telecommuinications (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
US7796594B2 (en) 2007-02-14 2010-09-14 Marvell Semiconductor, Inc. Logical bridging 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
US8868626B2 (en) 2007-04-12 2014-10-21 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
JP5427181B2 (ja) 2007-10-03 2014-02-26 ヴァーテラ テクノロジー サーヴィシズ インコーポレイテッド 仮想化アプリケーション加速化インフラストラクチャ
US7751329B2 (en) 2007-10-03 2010-07-06 Avaya Inc. Providing an abstraction layer in a cluster switch that includes plural switches
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
GB2458154B (en) 2008-03-07 2012-06-27 Hewlett Packard Development Co Routing across a virtual network
GB2458157B (en) 2008-03-07 2012-04-25 Hewlett Packard Development Co Virtual machine liveness check
US8155028B2 (en) 2008-03-17 2012-04-10 Alcatel Lucent Method and apparatus for providing full logical connectivity in MPLS networks
JP2011515944A (ja) 2008-03-20 2011-05-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ローカルネットワーク間のデータパケットの通信方法および装置
US8146147B2 (en) 2008-03-27 2012-03-27 Juniper Networks, Inc. Combined firewalls
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
EP2272216A1 (en) 2008-04-10 2011-01-12 Telefonaktiebolaget L M Ericsson (PUBL) 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
WO2009152861A1 (en) 2008-06-19 2009-12-23 Telefonaktiebolaget L M 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 株式会社日立製作所 アクセスゲートウェイ装置の制御方法及び通信システム
BRPI0913789A2 (pt) * 2008-09-22 2015-10-20 Ibm "método, equipamento e programa de computador para reproduzir vídeo num dispositivo móvel"
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
US8331362B2 (en) 2008-12-30 2012-12-11 Juniper Networks, Inc. Methods and apparatus for distributed dynamic 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
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
US8351418B2 (en) 2009-02-19 2013-01-08 Futurewei Technologies, Inc. System and method for point to multipoint inter-domain multiprotocol label switching traffic engineering path calculation
US8213336B2 (en) 2009-02-23 2012-07-03 Cisco Technology, Inc. Distributed data center access switch
EP2408155A4 (en) 2009-03-09 2015-01-28 Nec Corp OPENFLOW COMMUNICATION SYSTEM AND OPENFLOW COMMUNICATION METHOD
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
CA3204215A1 (en) 2009-04-01 2010-10-07 Nicira, Inc. Method and apparatus for implementing and managing virtual switches
US8345650B2 (en) 2009-04-17 2013-01-01 Viasat, Inc. Access node/gateway to access node/gateway layer-2 connectivity (end-to-end)
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
US8625594B2 (en) 2009-11-02 2014-01-07 Marvell World Trade Ltd. Switching apparatus 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
US8325730B2 (en) 2009-12-17 2012-12-04 Amazon Technologies, Inc. Distributed routing architecture
US8331371B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
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
US8504718B2 (en) 2010-04-28 2013-08-06 Futurewei Technologies, Inc. System and method for a context layer switch
US8989186B2 (en) 2010-06-08 2015-03-24 Brocade Communication Systems, Inc. Virtual port grouping for virtual cluster switching
US8625616B2 (en) 2010-05-11 2014-01-07 Brocade Communications Systems, Inc. Converged network extension
EP2567512B1 (en) * 2010-05-03 2016-04-13 Brocade Communications Systems, Inc. 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
BR112012018762B1 (pt) 2010-05-28 2022-06-21 Huawei Technologies Co., Ltd Sistema, componente de rede e método para promover uma comunicação entre uma pluralidade de domínios de acesso
US8374183B2 (en) 2010-06-22 2013-02-12 Microsoft Corporation Distributed virtual network gateways
US8559324B1 (en) 2010-06-29 2013-10-15 Amazon Technologies, Inc. Network routing metering
WO2012006190A1 (en) 2010-06-29 2012-01-12 Huawei Technologies Co., Ltd. Delegate gateways and proxy for target hosts in large layer 2 and address resolution with duplicated internet protocol addresses
WO2012006170A2 (en) 2010-06-29 2012-01-12 Huawei Technologies Co., Ltd. Layer two over multiple sites
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
US8964528B2 (en) 2010-07-06 2015-02-24 Nicira, Inc. Method and apparatus for robust packet distribution among hierarchical managed switching elements
US8718070B2 (en) 2010-07-06 2014-05-06 Nicira, Inc. Distributed network virtualization apparatus and method
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
US8565108B1 (en) 2010-09-28 2013-10-22 Amazon Technologies, Inc. Network data transmission analysis
US8416709B1 (en) 2010-09-28 2013-04-09 Amazon Technologies, Inc. Network data transmission analysis management
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
WO2012082792A2 (en) * 2010-12-13 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for auto-commit memory
US8769494B2 (en) 2010-12-14 2014-07-01 Microsoft Corporation Globally sound and consistent configuration management for distributed datacenter components
US8943221B2 (en) * 2010-12-16 2015-01-27 Openet Telecom Ltd. Methods, systems and devices for pipeline processing
US8880726B2 (en) * 2010-12-16 2014-11-04 Openet Telecom Ltd. Methods, systems and devices for dynamic context-based routing using a topology tree
US8824370B2 (en) * 2010-12-16 2014-09-02 Openet Telecom Ltd. Methods, systems and devices for dynamic context-based routing
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 富士通株式会社 情報処理装置、情報処理プログラムおよび管理方法
ES2713078T3 (es) 2011-08-04 2019-05-17 Mido Holdings Ltd Sistema y método para implementar y gestionar redes virtuales
EP2745473B1 (en) * 2011-08-17 2018-09-19 Nicira, Inc. Hierarchical controller clusters for interconnecting different logical domains
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
WO2013074855A1 (en) * 2011-11-15 2013-05-23 Nicira, Inc. Control plane interface for logical middlebox services
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
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 傳送遠端封包至主機的伺服器系統及其管理方法
US10965615B2 (en) 2012-03-30 2021-03-30 Nokia Solutions And Networks Oy Centralized IP address management for distributed gateways
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
EP2955886B1 (en) 2012-04-18 2020-05-06 Nicira Inc. Using transactions to compute and propagate network forwarding state
US8959185B2 (en) 2012-06-06 2015-02-17 Juniper Networks, Inc. Multitenant server for virtual networks within datacenter
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
US9710762B2 (en) 2012-06-06 2017-07-18 Juniper Networks, Inc. Dynamic logging
EP3451587B1 (en) 2012-06-06 2021-04-28 Juniper Networks, Inc. Creating searchable and global database of user visible process traces
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
US9065780B2 (en) * 2012-09-18 2015-06-23 Cisco Technology, Inc. Low latency networking device using header prediction
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
US9363172B2 (en) 2012-11-27 2016-06-07 Red Hat Israel, Ltd. Managing a configurable routing scheme for virtual appliances
US9535871B2 (en) 2012-11-27 2017-01-03 Red Hat Israel, Ltd. Dynamic routing through virtual appliances
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
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
CN105379197B (zh) 2013-07-05 2019-01-11 华为技术有限公司 建立隧道的方法、分配标签的方法、设备及网络系统
US9325630B2 (en) 2013-07-05 2016-04-26 Red Hat, Inc. Wild card flows for switches and virtual switches based on hints from hypervisors
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
JPWO2015015787A1 (ja) 2013-07-30 2017-03-02 日本電気株式会社 制御装置、管理装置、制御方法、管理方法、および、プログラム
WO2015015505A1 (en) * 2013-08-01 2015-02-05 Hewlett-Packard Development Company, L.P. 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
US9826505B2 (en) 2013-08-30 2017-11-21 Telefonaktiebolaget Lm 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
US9577845B2 (en) 2013-09-04 2017-02-21 Nicira, Inc. Multiple active 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
US9575782B2 (en) 2013-10-13 2017-02-21 Nicira, Inc. ARP for logical router
US10063458B2 (en) 2013-10-13 2018-08-28 Nicira, Inc. Asymmetric connection with external networks
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
US9313129B2 (en) 2014-03-14 2016-04-12 Nicira, Inc. Logical router processing by network controller
US9590901B2 (en) 2014-03-14 2017-03-07 Nicira, Inc. Route advertisement by managed gateways
US9419855B2 (en) 2014-03-14 2016-08-16 Nicira, Inc. Static routes for logical routers
US9503321B2 (en) 2014-03-21 2016-11-22 Nicira, Inc. Dynamic routing for logical routers
EP3624407B1 (en) 2014-03-21 2023-05-17 Nicira Inc. Dynamic routing for logical routers
US9647883B2 (en) 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
CN103888555A (zh) * 2014-03-26 2014-06-25 清华大学 一种IPv4/IPv6无状态翻译算法
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
JP6721166B2 (ja) 2014-10-14 2020-07-08 ミド ホールディングス リミテッド 仮想ネットワークにおける分散型フロー状態p2p設定のためのシステムおよび方法
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
US11121967B2 (en) 2015-03-05 2021-09-14 Algoblu Holdings Limited Data routing across multiple autonomous network systems
EP3268873B1 (en) 2015-03-09 2020-06-24 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
WO2017027073A1 (en) 2015-08-11 2017-02-16 Nicira, Inc. Route configuration for logical router
US10129142B2 (en) 2015-08-11 2018-11-13 Nicira, Inc. Route configuration for logical router
US10165093B2 (en) 2015-08-31 2018-12-25 Cisco Technology, Inc. Generating segment routing conduit in service provider network for routing packets
US10075363B2 (en) 2015-08-31 2018-09-11 Nicira, Inc. Authorization for advertised routes among logical routers
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
WO2018036746A1 (en) 2016-08-24 2018-03-01 British Telecommunications Public Limited Company Data network address sharing
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1714548A (zh) * 2002-11-20 2005-12-28 4198638加拿大公司 具有多个逻辑子系统功能的转发系统
CN1523850A (zh) * 2003-02-19 2004-08-25 ���ǵ�����ʽ���� 用于分布式处理边界网关协议的设备和方法
CN1849783A (zh) * 2003-10-02 2006-10-18 思科技术公司 用于实现边界网关协议(bgp)的分布式软件体系结构
JP2011139299A (ja) * 2009-12-28 2011-07-14 Nippon Telegr & Teleph Corp <Ntt> DNS(DomainNameSystem)登録装置、VPN(VirtualPrivateNetwork)間接続管理システム、広域DNS装置、DNS登録プログラム、広域DNSプログラム、DNS登録方法、及びVPN間接続管理方法
JP2011228864A (ja) * 2010-04-16 2011-11-10 Nippon Telegr & Teleph Corp <Ntt> トラヒック制御指示装置、トラヒック制御指示プログラム、トラヒック制御指示システム、及びトラヒック制御指示方法
US20130044636A1 (en) * 2011-08-17 2013-02-21 Teemu Koponen Distributed logical l3 routing
JP2014534789A (ja) * 2011-11-29 2014-12-18 アマゾン・テクノロジーズ・インコーポレーテッド 直接ネットワークピアリングを管理するためのインターフェース
US20130223444A1 (en) * 2012-02-23 2013-08-29 Christopher D. Liljenstolpe System and methods for managing network packet forwarding with a controller

Also Published As

Publication number Publication date
EP3700144A1 (en) 2020-08-26
WO2017099901A1 (en) 2017-06-15
US11283731B2 (en) 2022-03-22
US20160226795A1 (en) 2016-08-04
CA2974535A1 (en) 2016-08-04
US11929943B2 (en) 2024-03-12
CN111865775A (zh) 2020-10-30
JP2022191323A (ja) 2022-12-27
US20230362105A1 (en) 2023-11-09
EP3654592B1 (en) 2023-03-08
US20160226700A1 (en) 2016-08-04
WO2016123550A1 (en) 2016-08-04
CN112769695A (zh) 2021-05-07
US11706159B2 (en) 2023-07-18
EP3654592A1 (en) 2020-05-20
US20160226967A1 (en) 2016-08-04
AU2019203294A1 (en) 2019-05-30
AU2019203294B2 (en) 2020-10-08
US20200267095A1 (en) 2020-08-20
WO2017079068A1 (en) 2017-05-11
CN111865775B (zh) 2022-09-16
CN108293021A (zh) 2018-07-17
CN107210959B (zh) 2020-08-25
US20160226822A1 (en) 2016-08-04
JP2021184604A (ja) 2021-12-02
US10700996B2 (en) 2020-06-30
US20190207870A1 (en) 2019-07-04
WO2017099900A1 (en) 2017-06-15
US20160226957A1 (en) 2016-08-04
JP2018507635A (ja) 2018-03-15
AU2016211222A1 (en) 2017-09-07
US10110514B2 (en) 2018-10-23
US20210377186A1 (en) 2021-12-02
AU2023219914A1 (en) 2023-09-14
US9973445B2 (en) 2018-05-15
EP3366012B1 (en) 2020-04-22
US10153987B2 (en) 2018-12-11
JP7153774B2 (ja) 2022-10-14
US20190306085A1 (en) 2019-10-03
US9787605B2 (en) 2017-10-10
US9979677B2 (en) 2018-05-22
US20160226960A1 (en) 2016-08-04
EP3251306A1 (en) 2017-12-06
US10193828B2 (en) 2019-01-29
US20160226763A1 (en) 2016-08-04
US20220255882A1 (en) 2022-08-11
EP3366012A1 (en) 2018-08-29
AU2021245096B2 (en) 2023-05-25
US20160226821A1 (en) 2016-08-04
US20190020600A1 (en) 2019-01-17
US20160226961A1 (en) 2016-08-04
CN108293021B (zh) 2021-01-22
EP3251306B1 (en) 2020-01-15
US10243883B2 (en) 2019-03-26
US10057191B2 (en) 2018-08-21
US11095574B2 (en) 2021-08-17
CA3148877A1 (en) 2016-08-04
CA2974535C (en) 2022-05-03
US20220141155A1 (en) 2022-05-05
AU2021245096A1 (en) 2021-10-28
US10700997B2 (en) 2020-06-30
US20240007419A1 (en) 2024-01-04
CN107210959A (zh) 2017-09-26
US11799800B2 (en) 2023-10-24
US20160226759A1 (en) 2016-08-04
US10079779B2 (en) 2018-09-18
US10129180B2 (en) 2018-11-13
US10084726B2 (en) 2018-09-25
US20160226762A1 (en) 2016-08-04
JP6908525B2 (ja) 2021-07-28
US20160226959A1 (en) 2016-08-04
AU2021200083A1 (en) 2021-03-18
US20160226958A1 (en) 2016-08-04
US20200287843A1 (en) 2020-09-10
JP7417826B2 (ja) 2024-01-19
AU2016211222B2 (en) 2019-02-14
US10341257B2 (en) 2019-07-02
US20160226754A1 (en) 2016-08-04
AU2021200083B2 (en) 2021-07-29
CN115442302A (zh) 2022-12-06
US10798023B2 (en) 2020-10-06
US10050905B2 (en) 2018-08-14
US11343204B2 (en) 2022-05-24

Similar Documents

Publication Publication Date Title
US11799800B2 (en) Logical router with multiple routing components
CN112437026B (zh) 逻辑路由器的路由配置方法、设备及系统
CN107534578B (zh) 用于配置逻辑路由器的介质、设备、系统和方法

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