Data centers provide access to external networks at edge service gateways. In data centers providing software defined networks to tenants, a logical network may be organized in a manner that is significantly different from an underlying physical network. As such, edge service gateways placed on a same logical switch may be located in disparate locations of the physical network. Therefore, methods for addressing a closest edge service gateway from source machines connected to a logical network is needed.
Some embodiments provide a method for managing traffic in a virtualized environment. In some embodiments, the method is performed by a management plane that centrally manages the network (e.g., implemented in a network controller). The method, in some embodiments, configures multiple edge service gateways (ESGs) executing on multiple host machines (e.g., on a hypervisor) to use a same anycast inner internet protocol (IP) address and a same anycast inner media access control (MAC) address. In some embodiments, ESGs of a logical network facilitate communication between machines connected to the logical network and machines on external networks. In some embodiments, the method configures a set of virtual extensible local area network tunnel endpoints (VTEPs) connected to an ESG to use a same anycast VTEP IP address. The method, in some embodiments, configures a distributed logical router (DLR or DR) to send data packets with destinations outside the logical network from sources belonging to the logical network to the anycast VTEP IP address.
Configuring a DR, in some embodiments, includes configuring the DR to use the anycast inner IP address of the ESGs as a default gateway. In some embodiments, the anycast inner IP address maps to the inner MAC address of the ESGs, which in turn maps to the anycast VTEP IP address. Such configuration, in some embodiments, results in data packets being sent to an edge gateway that is closest according to a routing control protocol (e.g., a border gateway protocol (BGP); or an interior gateway protocol (IGP), such as open shortest path first (OSPF), routing information protocol (RIP), intermediate system to intermediate system (IS-IS), etc.). When multiple ESGs are closest according to the routing control protocol, in some embodiments, a load-balancing operation (e.g., equal-cost multi-path routing) is used to distribute data packets among the multiple closest ESGs.
In some embodiments, the availability of the anycast VTEP IP address at a particular host is advertised to a switch (or other forwarding element) connecting the host to an underlay network (e.g., a data center fabric). The switch, in some embodiments, then advertises the availability of the anycast VTEP IP address via the switch to other forwarding elements in the underlay network (e.g., top of rack (TOR) switches, routers, etc.).
In some embodiments, the method adds (e.g., provisions), removes, or migrates ESGs without having to reconfigure the default route or default gateway of a DR. In some embodiments, the method adds or removes ESGs based on a traffic load placed on each ESG or on the set of ESGs as a whole. In general, using an anycast address for all ESGs allows a larger number of ESGs to be provisioned for a particular logical switch and distributed router without having to reprogram a distributed router to handle more default gateways. In addition, using an anycast allows data message traffic to be routed more efficiently over a network by using a closest ESG for north-south traffic without creating unnecessary east-west traffic to reach a more distant ESG.
The preceding Summary is intended to serve as a brief introduction to some embodiments of the invention. It is not meant to be an introduction or overview of all inventive subject matter disclosed in this document. The Detailed Description that follows and the Drawings that are referred to in the Detailed Description will further describe the embodiments described in the Summary as well as other embodiments. Accordingly, to understand all the embodiments described by this document, a full review of the Summary, Detailed Description and the Drawings is needed. Moreover, the claimed subject matters are not to be limited by the illustrative details in the Summary, Detailed Description and the Drawing, but rather are to be defined by the appended claims, because the claimed subject matters can be embodied in other specific forms without departing from the spirit of the subject matters.
The novel features of the invention are set forth in the appended claims. However, for purpose of explanation, several embodiments of the invention are set forth in the following figures.
In the following description, numerous details are set forth for the purpose of explanation. However, one of ordinary skill in the art will realize that the invention may be practiced without the use of these specific details. In other instances, well-known structures and devices are shown in block diagram form in order not to obscure the description of the invention with unnecessary detail.
Some embodiments provide a method for managing traffic in a virtualized environment. In some embodiments, the method is performed by a management plane that centrally manages the network (e.g., implemented in a network controller). The method, in some embodiments, configures multiple edge service gateways (ESGs) executing on multiple host machines (e.g., on a hypervisor) to use a same anycast inner internet protocol (IP) address and a same anycast inner media access control (MAC) address. The anycast inner IP addresses and anycast inner MAC addresses in some embodiments are addresses in an overlay network. In some embodiments, ESGs of a logical network facilitate communication between machines connected to the logical network and machines on external networks. In some embodiments, the method configures a set of virtual extensible local area network tunnel endpoints (VTEPs) connected to an ESG to use a same anycast VTEP IP address. The method, in some embodiments, configures a distributed logical router (DLR or DR) to send data packets with destinations outside the logical network from sources belonging to the logical network to the anycast VTEP IP address.
Anycast addressing allows a same address to be used for multiple destinations (in some embodiments of this invention the multiple destinations are redundant destinations). A packet sent to an anycast address is forwarded to a nearest node (also referred to as a closest node or along a shortest path) according to an internal gateway protocol (IGP) (e.g., open shortest path first (OSPF), routing information protocol (RIP), intermediate system to intermediate system (IS-IS), etc.). Such a nearest node along a route, in some embodiments, is calculated based on administrative distance values, used to determine priority, with larger values indicating lower priority types of route.
As used in this document, the term data packet or packet refers to a collection of bits in a particular format sent across a network. It should be understood that the term data packet or packet may be used herein to refer to various formatted collections of bits that may be sent across a network, such as Ethernet frames, IP packets, TCP segments, UDP datagrams, etc. While the examples below refer to data packets or packets, it should be understood that the invention should not be limited to any specific format or type of data packet. Also, as used in this document, references to L2, L3, L4, and L7 layers (or layer 2, layer 3, layer 4, layer 7) are references respectively to the second data link layer, the third network layer, the fourth transport layer, and the seventh application layer of the OSI (Open System Interconnection) layer model.
Hypervisors 105A-N and X are illustrated conceptually as including VMs (ESGs 115A-X, and VMs 120) and as being spanned by distributed router 110 connected to logical switch 1. Hypervisors execute on a host machine (not shown) (e.g., directly on a host machine (bare metal), or on top of an operating system executing on the host machine). Hypervisors 115A-X in the embodiment depicted in
Distributed router 110, represents a logical router that is implemented by managed forwarding elements on the host machines or hypervisors. As shown, distributed router 110 is connected to logical switch 1, but in some embodiments connects to multiple logical switches belonging to a single tenant. in some embodiments, each managed forwarding element implements multiple distributed routers belonging to multiple tenants.
ESGs 115A-X are connected to external network 150 and provide virtual machines or other data compute nodes connected to data center fabric 130 access to external network 150 by performing routing services. ESGs provide routing services and, in some embodiments, a number of stateful (e.g., firewall, NAT, etc.) or stateless services (e.g., access control lists (ACLs)). In different embodiments, ESGs 115A-X may be implemented as virtual machines (sometimes referred to as Edge VMs), in other types of data compute nodes (e.g., namespaces, physical hosts, etc.), or by using the Linux-based datapath development kit (DPDK) packet processing software (e.g., as a VRF in the DPDK-based datapath).
Edge service gateways in some embodiments terminate tunnels (e.g., tunnels defined by a network manager). In some embodiments, some edge service gateways make use of a VTEP of a host machine on which they execute while others implement their own VTEP when the edge node executes in a dedicated server (not shown). In some embodiments, edge service gateways run on bare metal (e.g., directly on a server or host), while in others, edge service gateways run as virtual machines on top of a hypervisor. Edge service gateways in some embodiments advertise the availability of the anycast inner IP address and anycast VTEP IP address at the hypervisor VTEP IP address to peers on an ESG uplink. One of ordinary skill in the art will understand that a network may include a number of edge service gateways operating in any combination of the above modes.
Control VM 125 in some embodiments peers with all ESGs to learn routes from all ESGs with the ESG anycast overlay IP as a next-hop. Control VM in some embodiments passes the learned routes through netcpa to central control plane (CCP) 160 for CCP 160 to distribute the routes to all distributed routers on all hypervisors.
Physical forwarding elements 140A and 140B, in some embodiments, are part of data center fabric 130 (e.g., leaf switches in a leaf-spine topology) and provide the VMs (e.g., ESGs 115A-X, control VM 125, and VMs 120) executing on hypervisors 105A-N and 105X access to the data center fabric 130 and, through edge service gateways 115A-X, to external network 150. Physical forwarding elements in some embodiments may be implemented as physical top of rack switches. In some embodiments, the networking elements making up the data center fabric run internal gateway protocols (IGPs) (e.g., open shortest path first (OSPF), routing information protocol (RIP), intermediate system to intermediate system (IS-IS), etc.) to direct packets along a shortest path to a packet destination.
Central control plane 160 in some embodiments configures ESGs to use a same anycast inner IP address and a same anycast inner MAC address and in some embodiments also configures the ESGs to advertise the anycast inner IP and anycast VTEP IP address to peers as reachable at the hypervisor connected VTEP IP address. CCP 160 also configures managed forwarding elements implementing distributed router 110 to use the anycast inner IP address as the default gateway for the distributed router and associate the anycast inner IP with the anycast inner MAC which will further be associated with the anycast VTEP IP address used by the physical machines hosting ESGs. CCP 160 in some embodiments also programs managed forwarding elements to implement a logical switch (e.g., a virtual distributed logical switch, logical switching element, etc.) to use the anycast inner addresses for the ESGs, and to use an equal cost multi-pathing (ECMP) strategy to distribute data messages to all ESGs on the same host as the managed forwarding element.
One of ordinary skill in the art would understand that the underlying network structure may be implemented in any number of ways that are consistent with the spirit of the invention. The particular network structure should not be construed as limiting the invention but is used solely for illustrative purposes.
As shown, process 200 begins when a controller configures (at 210) a set of edge service gateways to use a same anycast inner IP address. The anycast inner IP address is found in the inner packet header that is encapsulated according to a tunneling protocol (e.g., GRE, VXLAN, etc.). The process 200 then configures (at 220) the set of edge service gateways to use a same anycast inner MAC address. In some embodiments, the anycast inner IP address and the anycast inner MAC address are associated with each other in a DR.
Process 200 continues by configuring (at 230) a set of VTEPs connected to the set of ESGs to use a same anycast VTEP IP address. In some embodiments, as part of configuring the set of VTEPs to use a same anycast VTEP IP address, the process configures the anycast VTEP IP address to be associated with the anycast inner MAC address of the ESG group. One of ordinary skill in the art will appreciate that a VTEP IP address is just one example of an outer IP address that may be used in a tunneling protocol and that other outer IP addresses would function in similar manners. It is to be understood that the steps 210-230 may be performed in any order and that the separate steps are not dependent on one another.
After configuring the ESGs and VTEPs with the anycast addresses, the process configures (at 240) a distributed router (DR) to direct outbound data packets to the anycast VTEP IP address. In some embodiments, configuring the DR includes providing the anycast inner IP address of the ESGs, the anycast inner MAC address of the ESGs, and the anycast VTEP IP address associated with the ESG group. The DR in some embodiments uses the anycast inner IP address as a default gateway that is associated with the anycast inner MAC address which in turn is associated with the anycast VTEP IP address. In such a configuration, a packet being sent to the default gateway is identified as being associated with the anycast inner MAC address and the anycast inner MAC address is identified as being associated with the anycast VTEP IP address such that the packet is sent (e.g., tunneled) to the anycast VTEP IP address. This configuration is in contrast to existing DR implementations that use a set of ESG unicast IP addresses as default gateways and perform load balancing (e.g., equal cost multi-pathing (ECMP)) to determine which ESG to direct the packet to without regard for the network topology or which ESG is “closest” according to an IGP. As noted above the DR also implements logical networks including logical switches (e.g., logical switch 1 in
One of ordinary skill in the art would understand that the physical forwarding element will continue to advertise the availability of the anycast VTEP IP address as long as one ESG is executing on a host connected to the physical forwarding element. Additionally, if all ESGs previously connected to a physical forwarding engine fail, are migrated to hosts not connected to the physical forwarding element, or are deprovisioned, the physical forwarding element will advertise that the VTEP IP address is no longer available via the physical forwarding element.
Process 400 continues by directing (at 420) the packet to the anycast VTEP IP address. In some embodiments, the default gateway address of the DR is set to the anycast inner IP address of the ESG group. The anycast inner IP address is associated with the anycast inner MAC address which is further associated with the anycast VTEP IP address. A packet for which the default gateway is used is directed to the anycast VTEP IP address. The process then ends.
The process 500 sends the packet (at 520) to a closest edge service gateway that is closest according to a routing control protocol (e.g., a border gateway protocol (BGP); or an interior gateway protocol (IGP), such as open shortest path first (OSPF), routing information protocol (RIP), intermediate system to intermediate system (IS-IS), etc.). When multiple ESGs are closest according to the routing control protocol, in some embodiments, a load-balancing operation (e.g., equal-cost multi-path routing) is used to distribute data packets among the multiple closest ESGs.
Operation ‘2’ of
Operations ‘3’ through ‘5’ of
Operation ‘5’ in some embodiments reflects the leaf switch informing other switches in the network that the anycast VTEP IP address is no longer available via leaf switch 740B if no other ESG connect to the network through leaf switch 740B. In other embodiments in which leaf switch 740B is connected to other ESGs, operation ‘5’ does not take place or contains information regarding the number of available ESGs or their capacity. Such information enables other switches to perform load-balancing operations (e.g., ECMP) for multiple next hop switches with equal administrative costs using a weight or distribution calculation that takes onto account the number or capacity of ESGs connected to the next-hop switches.
The path labeled “1” in
As shown in
In some embodiments, physical forwarding elements at each level of the network perform load balancing. Physical forwarding element 840A in
Distributed router 810 in some embodiments also performs load balancing when multiple ESGs execute on a same hypervisor. Along path “5”, distributed router 810 performs load balancing to divide the flows between ESG 815A and ESG 815B. In some embodiments, the load balancing protocol assigns weights to the ESGs 815A and 815B based on different factors (e.g., capacity, percent of capacity in use, etc.) to use to perform a load balancing operation. The load balancing operation results in packets being forwarded to ESG 815A (path “6”) or 815 B (path “7”).
In some embodiments, ESG 815C executes on the same hypervisor as a set of VMs 820B. In such an embodiment a packet sent from a VM in the set of VMs 820B would follow path “8” which goes directly from the distributed router to ESG 815C and does not reach physical forwarding element 840A connected to the hypervisor. The above description of possible paths for packets demonstrates one of the benefits of assigning all ESGs in a logical network a single anycast inner IP, inner MAC and VTEP IP address to use. Specifically, as shown above for a system in which ESGs are spread over multiple hypervisors connected to multiple physical forwarding elements a packet takes a shortest path to reach an ESG avoiding sending packets over higher level forwarding elements in a hierarchical network structure unnecessarily. For example, in
Electronic System
Many of the above-described features and applications are implemented as software processes that are specified as a set of instructions recorded on a computer readable storage medium (also referred to as computer readable medium). When these instructions are executed by one or more processing unit(s) (e.g., one or more processors, cores of processors, or other processing units), they cause the processing unit(s) to perform the actions indicated in the instructions. Examples of computer readable media include, but are not limited to, CD-ROMs, flash drives, RAM chips, hard drives, EPROMs, etc. The computer readable media does not include carrier waves and electronic signals passing wirelessly or over wired connections.
In this specification, the term “software” is meant to include firmware residing in read-only memory or applications stored in magnetic storage, which can be read into memory for processing by a processor. Also, in some embodiments, multiple software inventions can be implemented as sub-parts of a larger program while remaining distinct software inventions. In some embodiments, multiple software inventions can also be implemented as separate programs. Finally, any combination of separate programs that together implement a software invention described here is within the scope of the invention. In some embodiments, the software programs, when installed to operate on one or more electronic systems, define one or more specific machine implementations that execute and perform the operations of the software programs.
The bus 905 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the electronic system 900. For instance, the bus 905 communicatively connects the processing unit(s) 910 with the read-only memory 930, the system memory 925, and the permanent storage device 935.
From these various memory units, the processing unit(s) 910 retrieve instructions to execute and data to process in order to execute the processes of the invention. The processing unit(s) may be a single processor or a multi-core processor in different embodiments.
The read-only-memory (ROM) 930 stores static data and instructions that are needed by the processing unit(s) 910 and other modules of the electronic system. The permanent storage device 935, on the other hand, is a read-and-write memory device. This device is a non-volatile memory unit that stores instructions and data even when the electronic system 900 is off. Some embodiments of the invention use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as the permanent storage device 935.
Other embodiments use a removable storage device (such as a floppy disk, flash drive, etc.) as the permanent storage device. Like the permanent storage device 935, the system memory 925 is a read-and-write memory device. However, unlike storage device 935, the system memory is a volatile read-and-write memory, such a random access memory. The system memory stores some of the instructions and data that the processor needs at runtime. In some embodiments, the invention's processes are stored in the system memory 925, the permanent storage device 935, and/or the read-only memory 930. From these various memory units, the processing unit(s) 910 retrieve instructions to execute and data to process in order to execute the processes of some embodiments.
The bus 905 also connects to the input and output devices 940 and 945. The input devices enable the user to communicate information and select commands to the electronic system. The input devices 940 include alphanumeric keyboards and pointing devices (also called “cursor control devices”). The output devices 945 display images generated by the electronic system. The output devices include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD). Some embodiments include devices such as a touchscreen that function as both input and output devices.
Finally, as shown in
Some embodiments include electronic components, such as microprocessors, storage and memory that store computer program instructions in a machine-readable or computer-readable medium (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media). Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROM), recordable compact discs (CD-R), rewritable compact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc.), magnetic and/or solid state hard drives, read-only and recordable Blu-Ray® discs, ultra density optical discs, any other optical or magnetic media, and floppy disks. The computer-readable media may store a computer program that is executable by at least one processing unit and includes sets of instructions for performing various operations. Examples of computer programs or computer code include machine code, such as is produced by a compiler, and files including higher-level code that are executed by a computer, an electronic component, or a microprocessor using an interpreter.
While the above discussion primarily refers to microprocessor or multi-core processors that execute software, some embodiments are performed by one or more integrated circuits, such as application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs). In some embodiments, such integrated circuits execute instructions that are stored on the circuit itself.
As used in this specification, the terms “computer”, “server”, “processor”, and “memory” all refer to electronic or other technological devices. These terms exclude people or groups of people. For the purposes of the specification, the terms display or displaying means displaying on an electronic device. As used in this specification, the terms “computer readable medium,” “computer readable media,” and “machine readable medium” are entirely restricted to tangible, physical objects that store information in a form that is readable by a computer. These terms exclude any wireless signals, wired download signals, and any other ephemeral signals.
This specification refers throughout to computational and network environments that include virtual machines (VMs). However, virtual machines are merely one example of data compute nodes (DCNs) or data compute end nodes, also referred to as addressable nodes. DCNs may include non-virtualized physical hosts, virtual machines, containers that run on top of a host operating system without the need for a hypervisor or separate operating system, and hypervisor kernel network interface modules.
VMs, in some embodiments, operate with their own guest operating systems on a host using resources of the host virtualized by virtualization software (e.g., a hypervisor, virtual machine monitor, etc.). The tenant (i.e., the owner of the VM) can choose which applications to operate on top of the guest operating system. Some containers, on the other hand, are constructs that run on top of a host operating system without the need for a hypervisor or separate guest operating system. In some embodiments, the host operating system uses name spaces to isolate the containers from each other and therefore provides operating-system level segregation of the different groups of applications that operate within different containers. This segregation is akin to the VM segregation that is offered in hypervisor-virtualized environments that virtualize system hardware, and thus can be viewed as a form of virtualization that isolates different groups of applications that operate in different containers. Such containers are more lightweight than VMs.
Hypervisor kernel network interface modules, in some embodiments, is a non-VM DCN that includes a network stack with a hypervisor kernel network interface and receive/transmit threads. One example of a hypervisor kernel network interface module is the vmknic module that is part of the ESXi™ hypervisor of VMware, Inc.
It should be understood that while the specification refers to VMs, the examples given could be any type of DCNs, including physical hosts, VMs, non-VM containers, and hypervisor kernel network interface modules. In fact, the example networks could include combinations of different types of DCNs in some embodiments.
While the invention has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the invention can be embodied in other specific forms without departing from the spirit of the invention. In addition, a number of the figures (including
This present Application is a continuation application of U.S. patent application Ser. No. 15/445,922, filed Feb. 28, 2017, now published as U.S. Patent Publication 2018/0097734. U.S. patent application Ser. No. 15/445,922, claims the benefit of U.S. Provisional Patent Application 62/402,874, filed Sep. 30, 2016. U.S. patent application Ser. No. 15/445,922, now published as U.S. Patent Publication 2018/0097734 is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5504921 | Dev et al. | Apr 1996 | A |
5550816 | Hardwick et al. | Aug 1996 | A |
5751967 | Raab et al. | May 1998 | A |
6006275 | Picazo et al. | Dec 1999 | A |
6104699 | Holender et al. | Aug 2000 | A |
6219699 | McCloghrie et al. | Apr 2001 | B1 |
6359909 | Ito et al. | Mar 2002 | B1 |
6456624 | Eccles et al. | Sep 2002 | B1 |
6512745 | Abe et al. | Jan 2003 | B1 |
6539432 | Taguchi et al. | Mar 2003 | B1 |
6680934 | Cain | Jan 2004 | B1 |
6785843 | McRae et al. | Aug 2004 | B1 |
6914907 | Bhardwaj et al. | Jul 2005 | B1 |
6941487 | Balakrishnan et al. | Sep 2005 | B1 |
6950428 | Horst et al. | Sep 2005 | B1 |
6963585 | Pennec et al. | Nov 2005 | B1 |
6999454 | Crump | Feb 2006 | B1 |
7046630 | Abe et al. | May 2006 | B2 |
7107356 | Baxter et al. | Sep 2006 | B2 |
7197572 | Matters et al. | Mar 2007 | B2 |
7200144 | Terrell et al. | Apr 2007 | B2 |
7209439 | Rawlins et al. | Apr 2007 | B2 |
7260648 | Tingley et al. | Aug 2007 | B2 |
7283473 | Arndt et al. | Oct 2007 | B2 |
7342916 | Das et al. | Mar 2008 | B2 |
7391771 | Orava et al. | Jun 2008 | B2 |
7447197 | Terrell et al. | Nov 2008 | B2 |
7450598 | Chen et al. | Nov 2008 | B2 |
7463579 | Lapuh et al. | Dec 2008 | B2 |
7478173 | Delco | Jan 2009 | B1 |
7483411 | Weinstein et al. | Jan 2009 | B2 |
7555002 | Arndt et al. | Jun 2009 | B2 |
7606260 | Oguchi et al. | Oct 2009 | B2 |
7630358 | Lakhani et al. | Dec 2009 | B1 |
7643488 | Khanna et al. | Jan 2010 | B2 |
7649851 | Takashige et al. | Jan 2010 | B2 |
7653747 | Lucco et al. | Jan 2010 | B2 |
7710874 | Balakrishnan et al. | May 2010 | B2 |
7742459 | Kwan et al. | Jun 2010 | B2 |
7764599 | Doi et al. | Jul 2010 | B2 |
7778268 | Khan et al. | Aug 2010 | B2 |
7792987 | Vohra et al. | Sep 2010 | B1 |
7802000 | Huang et al. | Sep 2010 | B1 |
7818452 | Matthews et al. | Oct 2010 | B2 |
7826482 | Minei et al. | Nov 2010 | B1 |
7839847 | Nadeau et al. | Nov 2010 | B2 |
7885276 | Lin | Feb 2011 | B1 |
7936770 | Frattura et al. | May 2011 | B1 |
7937438 | Miller et al. | May 2011 | B1 |
7948986 | Ghosh et al. | May 2011 | B1 |
7953865 | Miller et al. | May 2011 | B1 |
7987506 | Khalid et al. | Jul 2011 | B1 |
7991859 | Miller et al. | Aug 2011 | B1 |
7995483 | Bayar et al. | Aug 2011 | B1 |
8027260 | Venugopal et al. | Sep 2011 | B2 |
8027354 | Portolani et al. | Sep 2011 | B1 |
8031633 | Bueno et al. | Oct 2011 | B2 |
8046456 | Miller et al. | Oct 2011 | B1 |
8054832 | Shukla et al. | Nov 2011 | B1 |
8055789 | Richardson et al. | Nov 2011 | B2 |
8060875 | Lambeth | Nov 2011 | B1 |
8131852 | Miller et al. | Mar 2012 | B1 |
8149737 | Metke et al. | Apr 2012 | B2 |
8155028 | Abu-Hamdeh et al. | Apr 2012 | B2 |
8166201 | Richardson et al. | Apr 2012 | B2 |
8194674 | Pagel et al. | Jun 2012 | B1 |
8199750 | Schultz et al. | Jun 2012 | B1 |
8223668 | Allan et al. | Jul 2012 | B2 |
8224931 | Brandwine et al. | Jul 2012 | B1 |
8224971 | Miller et al. | Jul 2012 | B1 |
8239572 | Brandwine et al. | Aug 2012 | B1 |
8259571 | Raphel et al. | Sep 2012 | B1 |
8265075 | Pandey | Sep 2012 | B2 |
8281067 | Stolowitz | Oct 2012 | B2 |
8312129 | Miller et al. | Nov 2012 | B1 |
8339959 | Moisand et al. | Dec 2012 | B1 |
8339994 | Gnanasekaran et al. | Dec 2012 | B2 |
8345650 | Foxworthy et al. | Jan 2013 | B2 |
8351418 | Zhao et al. | Jan 2013 | B2 |
8370834 | Edwards et al. | Feb 2013 | B2 |
8416709 | Marshall et al. | Apr 2013 | B1 |
8456984 | Ranganathan et al. | Jun 2013 | B2 |
8504718 | Wang et al. | Aug 2013 | B2 |
8559324 | Brandwine et al. | Oct 2013 | B1 |
8565108 | Marshall et al. | Oct 2013 | B1 |
8600908 | Lin et al. | Dec 2013 | B2 |
8611351 | Gooch et al. | Dec 2013 | B2 |
8612627 | Brandwine | Dec 2013 | B1 |
8625594 | Safrai et al. | Jan 2014 | B2 |
8625603 | Ramakrishnan et al. | Jan 2014 | B1 |
8625616 | Vobbilisetty et al. | Jan 2014 | B2 |
8627313 | Edwards et al. | Jan 2014 | B2 |
8644188 | Brandwine et al. | Feb 2014 | B1 |
8660129 | Brendel et al. | Feb 2014 | B1 |
8705513 | Merwe et al. | Apr 2014 | B2 |
8724456 | Hong et al. | May 2014 | B1 |
8745177 | Kazerani et al. | Jun 2014 | B1 |
8958298 | Zhang et al. | Feb 2015 | B2 |
9021066 | Singh et al. | Apr 2015 | B1 |
9059999 | Koponen et al. | Jun 2015 | B2 |
9137052 | Koponen et al. | Sep 2015 | B2 |
9313129 | Ganichev et al. | Apr 2016 | B2 |
9419855 | Ganichev et al. | Aug 2016 | B2 |
9485149 | Traina et al. | Nov 2016 | B1 |
9503321 | Neginhal et al. | Nov 2016 | B2 |
9559980 | Li et al. | Jan 2017 | B2 |
9647883 | Neginhal et al. | May 2017 | B2 |
9749214 | Han | Aug 2017 | B2 |
9787605 | Zhang et al. | Oct 2017 | B2 |
10057157 | Goliya et al. | Aug 2018 | B2 |
10075363 | Goliya et al. | Sep 2018 | B2 |
10079779 | Zhang et al. | Sep 2018 | B2 |
10095535 | Dubey et al. | Oct 2018 | B2 |
10110431 | Ganichev et al. | Oct 2018 | B2 |
10129142 | Goliya et al. | Nov 2018 | B2 |
10129180 | Zhang et al. | Nov 2018 | B2 |
10153973 | Dubey | Dec 2018 | B2 |
10230629 | Masurekar et al. | Mar 2019 | B2 |
10270687 | Mithyantha | Apr 2019 | B2 |
10341236 | Boutros | Jul 2019 | B2 |
10411955 | Neginhal et al. | Sep 2019 | B2 |
10454758 | Boutros et al. | Oct 2019 | B2 |
20010043614 | Viswanadham et al. | Nov 2001 | A1 |
20020067725 | Oguchi et al. | Jun 2002 | A1 |
20020093952 | Gonda | Jul 2002 | A1 |
20020194369 | Rawlins et al. | Dec 2002 | A1 |
20030041170 | Suzuki | Feb 2003 | A1 |
20030058850 | Rangarajan et al. | Mar 2003 | A1 |
20030067924 | Choe et al. | Apr 2003 | A1 |
20030069972 | Yoshimura et al. | Apr 2003 | A1 |
20040073659 | Rajsic et al. | Apr 2004 | A1 |
20040098505 | Clemmensen | May 2004 | A1 |
20040267866 | Carollo et al. | Dec 2004 | A1 |
20050018669 | Arndt et al. | Jan 2005 | A1 |
20050027881 | Figueira et al. | Feb 2005 | A1 |
20050053079 | Havala | Mar 2005 | A1 |
20050083953 | May | Apr 2005 | A1 |
20050120160 | Plouffe et al. | Jun 2005 | A1 |
20050132044 | Guingo et al. | Jun 2005 | A1 |
20060002370 | Rabie et al. | Jan 2006 | A1 |
20060018253 | Windisch et al. | Jan 2006 | A1 |
20060026225 | Canali et al. | Feb 2006 | A1 |
20060029056 | Perera et al. | Feb 2006 | A1 |
20060056412 | Page | Mar 2006 | A1 |
20060059253 | Goodman et al. | Mar 2006 | A1 |
20060092940 | Ansari et al. | May 2006 | A1 |
20060092976 | Lakshman et al. | May 2006 | A1 |
20060174087 | Hashimoto et al. | Aug 2006 | A1 |
20060187908 | Shimozono et al. | Aug 2006 | A1 |
20060193266 | Siddha et al. | Aug 2006 | A1 |
20060291387 | Kimura et al. | Dec 2006 | A1 |
20060291388 | Amdahl et al. | Dec 2006 | A1 |
20070043860 | Pabari | Feb 2007 | A1 |
20070064673 | Bhandaru et al. | Mar 2007 | A1 |
20070140128 | Klinker et al. | Jun 2007 | A1 |
20070156919 | Potti et al. | Jul 2007 | A1 |
20070201357 | Smethurst et al. | Aug 2007 | A1 |
20070206591 | Doviak et al. | Sep 2007 | A1 |
20070297428 | Bose et al. | Dec 2007 | A1 |
20080002579 | Lindholm et al. | Jan 2008 | A1 |
20080002683 | Droux et al. | Jan 2008 | A1 |
20080013474 | Nagarajan et al. | Jan 2008 | A1 |
20080049621 | McGuire et al. | Feb 2008 | A1 |
20080049646 | Lu | Feb 2008 | A1 |
20080059556 | Greenspan et al. | Mar 2008 | A1 |
20080071900 | Hecker et al. | Mar 2008 | A1 |
20080086726 | Griffith et al. | Apr 2008 | A1 |
20080151893 | Nordmark et al. | Jun 2008 | A1 |
20080159301 | Heer | Jul 2008 | A1 |
20080189769 | Casado et al. | Aug 2008 | A1 |
20080225853 | Melman et al. | Sep 2008 | A1 |
20080240122 | Richardson et al. | Oct 2008 | A1 |
20080253366 | Zuk et al. | Oct 2008 | A1 |
20080253396 | Olderdissen | Oct 2008 | A1 |
20080291910 | Tadimeti et al. | Nov 2008 | A1 |
20090031041 | Clemmensen | Jan 2009 | A1 |
20090043823 | Iftode et al. | Feb 2009 | A1 |
20090064305 | Stiekes et al. | Mar 2009 | A1 |
20090083445 | Ganga | Mar 2009 | A1 |
20090092137 | Haigh et al. | Apr 2009 | A1 |
20090122710 | Bar-Tor et al. | May 2009 | A1 |
20090150527 | Tripathi et al. | Jun 2009 | A1 |
20090161547 | Riddle et al. | Jun 2009 | A1 |
20090249470 | Litvin et al. | Oct 2009 | A1 |
20090249473 | Cohn | Oct 2009 | A1 |
20090279536 | Unbehagen et al. | Nov 2009 | A1 |
20090292858 | Lambeth et al. | Nov 2009 | A1 |
20090300210 | Ferris | Dec 2009 | A1 |
20090303880 | Maltz et al. | Dec 2009 | A1 |
20100002722 | Porat et al. | Jan 2010 | A1 |
20100046531 | Louati et al. | Feb 2010 | A1 |
20100107162 | Edwards et al. | Apr 2010 | A1 |
20100115101 | Lain et al. | May 2010 | A1 |
20100131636 | Suri et al. | May 2010 | A1 |
20100153554 | Anschutz et al. | Jun 2010 | A1 |
20100153701 | Shenoy et al. | Jun 2010 | A1 |
20100162036 | Linden et al. | Jun 2010 | A1 |
20100165877 | Shukla et al. | Jul 2010 | A1 |
20100169467 | Shukla et al. | Jul 2010 | A1 |
20100192225 | Ma et al. | Jul 2010 | A1 |
20100205479 | Akutsu et al. | Aug 2010 | A1 |
20100214949 | Smith et al. | Aug 2010 | A1 |
20100275199 | Smith et al. | Oct 2010 | A1 |
20100290485 | Martini et al. | Nov 2010 | A1 |
20100318609 | Lahiri et al. | Dec 2010 | A1 |
20100322255 | Hao et al. | Dec 2010 | A1 |
20110016215 | Wang | Jan 2011 | A1 |
20110022695 | Dalal et al. | Jan 2011 | A1 |
20110026537 | Kolhi et al. | Feb 2011 | A1 |
20110032830 | Merwe et al. | Feb 2011 | A1 |
20110032843 | Papp et al. | Feb 2011 | A1 |
20110075664 | Lambeth et al. | Mar 2011 | A1 |
20110075674 | Li et al. | Mar 2011 | A1 |
20110085557 | Gnanasekaran et al. | Apr 2011 | A1 |
20110085559 | Chung et al. | Apr 2011 | A1 |
20110103259 | Aybay et al. | May 2011 | A1 |
20110119748 | Edwards et al. | May 2011 | A1 |
20110134931 | Merwe et al. | Jun 2011 | A1 |
20110142053 | Merwe et al. | Jun 2011 | A1 |
20110149964 | Judge et al. | Jun 2011 | A1 |
20110149965 | Judge et al. | Jun 2011 | A1 |
20110194567 | Shen | Aug 2011 | A1 |
20110205931 | Zhou et al. | Aug 2011 | A1 |
20110261825 | Ichino | Oct 2011 | A1 |
20110283017 | Alkhatib et al. | Nov 2011 | A1 |
20110299534 | Koganti et al. | Dec 2011 | A1 |
20110310899 | Alkhatib et al. | Dec 2011 | A1 |
20110317703 | Dunbar et al. | Dec 2011 | A1 |
20120014386 | Xiong et al. | Jan 2012 | A1 |
20120014387 | Dunbar et al. | Jan 2012 | A1 |
20120131643 | Cheriton | May 2012 | A1 |
20120155467 | Appenzeller | Jun 2012 | A1 |
20120182992 | Cowart et al. | Jul 2012 | A1 |
20120236734 | Sampath et al. | Sep 2012 | A1 |
20130007740 | Kikuchi et al. | Jan 2013 | A1 |
20130044636 | Koponen et al. | Feb 2013 | A1 |
20130044641 | Koponen et al. | Feb 2013 | A1 |
20130051399 | Zhang et al. | Feb 2013 | A1 |
20130058225 | Casado et al. | Mar 2013 | A1 |
20130058229 | Casado et al. | Mar 2013 | A1 |
20130058335 | Koponen et al. | Mar 2013 | A1 |
20130058350 | Fulton | Mar 2013 | A1 |
20130058353 | Koponen et al. | Mar 2013 | A1 |
20130060940 | Koponen et al. | Mar 2013 | A1 |
20130094350 | Mandal et al. | Apr 2013 | A1 |
20130103817 | Koponen et al. | Apr 2013 | A1 |
20130103818 | Koponen et al. | Apr 2013 | A1 |
20130132536 | Zhang et al. | May 2013 | A1 |
20130142048 | Gross, IV et al. | Jun 2013 | A1 |
20130148541 | Zhang et al. | Jun 2013 | A1 |
20130148542 | Zhang et al. | Jun 2013 | A1 |
20130148543 | Koponen et al. | Jun 2013 | A1 |
20130148656 | Zhang et al. | Jun 2013 | A1 |
20130151661 | Koponen et al. | Jun 2013 | A1 |
20130151676 | Thakkar et al. | Jun 2013 | A1 |
20130212148 | Koponen et al. | Aug 2013 | A1 |
20130223444 | Liljenstolpe et al. | Aug 2013 | A1 |
20130230047 | Subrahmaniam et al. | Sep 2013 | A1 |
20130266007 | Kumbhare et al. | Oct 2013 | A1 |
20130266015 | Qu et al. | Oct 2013 | A1 |
20130266019 | Qu et al. | Oct 2013 | A1 |
20130268799 | Mestery et al. | Oct 2013 | A1 |
20130329548 | Nakil et al. | Dec 2013 | A1 |
20130332602 | Nakil et al. | Dec 2013 | A1 |
20130332619 | Xie et al. | Dec 2013 | A1 |
20130339544 | Mithyantha | Dec 2013 | A1 |
20140003434 | Assarpour et al. | Jan 2014 | A1 |
20140016501 | Kamath et al. | Jan 2014 | A1 |
20140059226 | Messerli et al. | Feb 2014 | A1 |
20140146817 | Zhang | May 2014 | A1 |
20140173093 | Rabeela et al. | Jun 2014 | A1 |
20140195666 | Dumitriu et al. | Jul 2014 | A1 |
20140229945 | Barkai et al. | Aug 2014 | A1 |
20140241247 | Kempf et al. | Aug 2014 | A1 |
20140269299 | Koornstra | Sep 2014 | A1 |
20140328350 | Hao et al. | Nov 2014 | A1 |
20140372582 | Ghanwani et al. | Dec 2014 | A1 |
20140376550 | Khan et al. | Dec 2014 | A1 |
20150016300 | Devireddy et al. | Jan 2015 | A1 |
20150063360 | Thakkar et al. | Mar 2015 | A1 |
20150089082 | Patwardhan et al. | Mar 2015 | A1 |
20150103838 | Zhang et al. | Apr 2015 | A1 |
20150188770 | Naiksatam et al. | Jul 2015 | A1 |
20150222550 | Anand | Aug 2015 | A1 |
20150263897 | Ganichev et al. | Sep 2015 | A1 |
20150263946 | Tubaltsev et al. | Sep 2015 | A1 |
20150263952 | Ganichev et al. | Sep 2015 | A1 |
20150271011 | Neginhal et al. | Sep 2015 | A1 |
20150271303 | Neginhal et al. | Sep 2015 | A1 |
20160105471 | Nunes et al. | Apr 2016 | A1 |
20160119229 | Zhou | Apr 2016 | A1 |
20160182287 | Chiba et al. | Jun 2016 | A1 |
20160191374 | Singh et al. | Jun 2016 | A1 |
20160226700 | Zhang et al. | Aug 2016 | A1 |
20160226754 | Zhang et al. | Aug 2016 | A1 |
20160226762 | Zhang et al. | Aug 2016 | A1 |
20160261493 | Li | Sep 2016 | A1 |
20160294612 | Ravinoothala et al. | Oct 2016 | A1 |
20160344586 | Ganichev et al. | Nov 2016 | A1 |
20170005923 | Babakian | Jan 2017 | A1 |
20170048129 | Masurekar et al. | Feb 2017 | A1 |
20170048130 | Goliya et al. | Feb 2017 | A1 |
20170063632 | Goliya et al. | Mar 2017 | A1 |
20170063633 | Goliya et al. | Mar 2017 | A1 |
20170064717 | Filsfils et al. | Mar 2017 | A1 |
20170070425 | Mithyantha | Mar 2017 | A1 |
20170126497 | Dubey et al. | May 2017 | A1 |
20170230241 | Neginhal et al. | Aug 2017 | A1 |
20170317919 | Fernando et al. | Nov 2017 | A1 |
20180006943 | Dubey | Jan 2018 | A1 |
20180062914 | Boutros et al. | Mar 2018 | A1 |
20180097734 | Boutros et al. | Apr 2018 | A1 |
20180367442 | Goliya et al. | Dec 2018 | A1 |
20190018701 | Dubey et al. | Jan 2019 | A1 |
20190020600 | Zhang et al. | Jan 2019 | A1 |
20190109780 | Nagarkar | Apr 2019 | A1 |
20190124004 | Dubey | Apr 2019 | A1 |
20190190885 | Krug et al. | Jun 2019 | A1 |
20190199625 | Masurekar et al. | Jun 2019 | A1 |
20190245783 | Mithyantha | Aug 2019 | A1 |
20190334767 | Neginhal et al. | Oct 2019 | A1 |
Number | Date | Country |
---|---|---|
1442987 | Sep 2003 | CN |
1714548 | Dec 2005 | CN |
103890751 | Jun 2014 | CN |
104335553 | Feb 2015 | CN |
1653688 | May 2006 | EP |
3013006 | Apr 2016 | EP |
2003069609 | Mar 2003 | JP |
2003124976 | Apr 2003 | JP |
2003318949 | Nov 2003 | JP |
1020110099579 | Sep 2011 | KR |
2005112390 | Nov 2005 | WO |
2008095010 | Aug 2008 | WO |
2013020126 | Feb 2013 | WO |
2013026049 | Feb 2013 | WO |
2013055697 | Apr 2013 | WO |
2013143611 | Oct 2013 | WO |
2013184846 | Dec 2013 | WO |
2015015787 | Feb 2015 | WO |
2015142404 | Sep 2015 | WO |
2016123550 | Aug 2016 | WO |
2017027073 | Feb 2017 | WO |
2018044746 | Mar 2018 | WO |
Entry |
---|
Cisco (“VXLAN Deployment Models—A practical perspective”, Victor Moreno, 2015, latter half of this document). (Year: 2015). |
Cisco (Cisco border gateway protocol control plane for virtual Extensible LAN, 2015). (Year: 2015). |
Cisco (“Cisco data Center Spine and Leaf Architecture: Design overview”, 2016). (Year: 2016). |
Cisco Border Gateway Protocol Control Plane for Virtual Extensible LAN (Year: 2015). |
Cisco Data Center Spine-and-Leaf Architecture: Design Overview (Year: 2016). |
VXLAN Deployment Models—A Practical Perspective (Year: 2015). |
Agarwal, Sugam, et al., “Traffic Engineering in Software Defined Networks,” 2013 Proceedings IEEE INFOCOM, Apr. 14, 2013, 10 pages, Bell Labs, Alcatel-Lucent, Holmdel, NJ, USA. |
Aggarwal, R. et al., “Data Center Mobility based on E-VPN, BGP/MPLS IP VPN, IP Routing and NHRP,” draft-raggarwa-data-center-mobility-05.txt, Jun. 10, 2013, 24 pages, Internet Engineering Task Force, IETF, Geneva, Switzerland. |
Author Unknown, “VMware® NSX Nework Virtualization Design Guide,” Month Unknown 2013, 32 pages, Item No. VMW-NSX-NTWK-VIRT-DESN-GUIDE-V2-101, VMware, Inc., Palo Alto, CA, USA. |
Ballani, Hitesh, et al., “Making Routers Last Longer with ViAggre,” NSDI '09: 6th Usenix Symposium on Networked Systems Design and Implementation, Apr. 2009, 14 pages, Usenix Association. |
Caesar, Matthew, et al., “Design and Implementation of a Routing Control Platform,” NSDI '05: 2nd Symposium on Networked Systems Design & Implementation, Apr. 2005, 14 pages, Usenix Association. |
Dobrescu, Mihai, et al., “RouteBricks: Exploiting Parallelism to Scale Software Routers,” SOSP'09, Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, Oct. 2009, 17 pages, ACM, New York, NY. |
Dumitriu, Dan Mihai, et al., (U.S. Appl. No. 61/514,990), filed Aug. 4, 2011. |
Fernando, Rex, et al., “Service Chaining using Virtual Networks with BGP,” Internet Engineering Task Force, IETF, Jul. 7, 2015, 32 pages, Internet Society (ISOC), Geneva, Switzerland, available at https://tools.ietf.org/html/draft-fm-bess-service-chaining-01. |
Handley, Mark, et al., “Designing Extensible IP Router Software,” Proc. of NSDI, May 2005, 14 pages. |
Kim, Changhoon, et al., “Revisiting Route Caching: The World Should be Flat,” in Proc. of International Conference on Passive and Active Network Measurement, Apr. 2009, 10 pages, Springer, Berlin, Heidelberg. |
Koponen, Teemu, et al., “Network Virtualization in Multi-tenant Datacenters,” Technical Report TR-2013-001E, Aug. 2013, 22 pages, VMware, Inc., Palo Alto, CA, USA. |
Lakshminarayanan, Karthik, et al., “Routing as a Service,” Report No. UCB/CSD-04-1327, Month Unknown 2004, 16 pages, Computer Science Division (EECS), University of California—Berkeley, Berkeley, California. |
Lowe, Scott, “Learning NSX, Part 14: Using Logical Routing,” Scott's Weblog: The weblog of an IT pro specializing in cloud computing, virtualization, and networking, all with an open source view, Jun. 20, 2014, 8 pages, available at https://blog.scottlowe.org/2014/06/20/leaming-nsx-part-14-using-logical-routing/. |
Maltz, David A., et al., “Routing Design in Operational Networks: A Look from the Inside,” SIGCOMM '04, Aug. 30-Sep. 3, 2004, 14 pages, ACM, Portland, Oregon, USA. |
Non-Published commonly owned U.S. Appl. No. 16/210,410, filed Dec. 5, 2018, 29 pages, VMware, Inc. |
Non-published commonly owned U.S. Appl. No. 6/218,433, filed Dec. 12, 2018, 27 pages, VMware, Inc. |
Non-published commonly owned U.S. Appl. No. 16/275,355, filed Feb. 14, 2019, 28 pages, VMware, Inc. |
Non-Published commonly Owned U.S. Appl. No. 16/290,864, filed Mar. 2, 2019, 76 pages, Nicira, Inc. |
Pelissier, Joe, “Network Interface Virtualization Review,” Jan. 2009, 38 pages. |
Rosen, E., “Applicability Statement for BGP/MPLS IP Virtual Private Networks (VPNs),” RFC 4365, Feb. 2006, 32 pages, The Internet Society. |
Shenker, Scott, et al., “The Future of Networking, and the Past of Protocols,” Dec. 2, 2011, 30 pages, USA. |
Wang, Anjing, et al., “Network Virtualization: Technologies, Perspectives, and Frontiers,” Journal of Lightwave Technology, Feb. 15, 2013, 15 pages, IEEE. |
Wang, Yi, et al., “Virtual Routers on the Move: Live Router Migration as a Network-Management Primitive,” SIGCOMM '08, Aug. 17-22, 2008, 12 pages, ACM, Seattle, Washington, USA. |
Non-published commonly owned U.S. Appl. No. 16/581,118, filed Sep. 24, 2019, 36 pages, Nicira, Inc. |
Number | Date | Country | |
---|---|---|---|
20190312812 A1 | Oct 2019 | US |
Number | Date | Country | |
---|---|---|---|
62402874 | Sep 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15445922 | Feb 2017 | US |
Child | 16447939 | US |