IP Library › Granted Patent US 11,516,080
Granted Patent B2
US 11,516,080 · App. 17/119,944 · Granted Nov 29, 2022

Using virtual networking devices and routing information to associate network addresses with computing nodes

Inventors: Kevin Christopher Miller (Herndon, VA); Eric Jason Brandwine (Haymarket, VA); Andrew J. Doane (Vienna, VA)
Assignee: Amazon Technologies, Inc.
H04L41/0816H04L45/02H04L45/04H04L45/586H04L41/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,516,080
App. No.
17/119,944
Granted
Nov 29, 2022
Kind
B2
Abstract

Techniques are described for providing managed virtual computer networks that have a configured logical network topology with virtual networking devices, such as by a network-accessible configurable network service, with corresponding networking functionality provided for communications between multiple computing nodes of the virtual computer network by emulating functionality that would be provided by the virtual networking devices if they were physically present. In some situations, the networking functionality provided for a managed computer network of a client includes receiving routing communications directed to the virtual networking devices and using included routing information to update the configuration of the managed computer network, such as to allow at least some computing nodes of a managed computer network to dynamically signal particular types of uses of one or more indicated target network addresses and/or to dynamically signal use of particular external public network addresses based on such routing information.

Claims (63)

1. A method, comprising:

performing, by one or more computing systems of a configurable network service:

receiving first configuration information for a first virtual computer network of computing nodes to be provided for a first client, wherein the first configuration information indicates a first range of network addresses to be assigned to the computing nodes of the first virtual computer network;

providing the first virtual computer network to the first client according to the first configuration information, wherein the first virtual computer network is overlaid on a substrate network of the configurable network service;

assigning one of the network addresses in the first range to one of the computing nodes in the first virtual computer network;

receiving second configuration information for a second virtual computer network of computing nodes to be provided for a second client, wherein the second configuration information indicates a second range of network addresses to be assigned to the computing nodes of the second virtual computer network;

providing the second virtual computer network to the second client according to the second configuration information, wherein the second virtual computer network is overlaid on the substrate network of the configurable network service;

assigning one of the network addresses in the first range to one of the computing nodes in the first virtual computer network;

providing a virtual peering router configured to manage an interconnection between the first virtual computer network and the second virtual computer network; and

routing, using the virtual peering router, network traffic from the computing nodes of the first virtual computer network to the computing nodes of the second virtual computer network over the substrate network.

2. The method of claim 1 , wherein:

the substrate network of the configurable network service includes a plurality of connected physical computing systems; and

the computing nodes of the first virtual computer network are implemented as virtual machines hosted on respective ones of the physical computing systems.

3. The method of claim 1 , wherein:

the first virtual computer network is a private network of the first client; and

the first range of network addresses are private network addresses that are not directly addressable from a public network.

4. The method of claim 1 , wherein the virtual peering router is provided according to interconnectivity information received from the first client.

5. The method of claim 4 , further comprising performing, by the configurable network service:

providing a second peering router in the second virtual computer network to manage the interconnection, wherein the second peering router is provided according to interconnectivity information received from the second client.

6. The method of claim 1 , wherein the first virtual computer network and the second computer network are provided in different geographical locations of the configurable network service.

7. The method of claim 1 , wherein the routing of the network traffic comprises modifying a destination address of a network communication to indicate a next destination in a routing path taken by the network communication.

8. The method of claim 1 , further comprising performing, by the configurable network service:

exchanging routing information between the first and second virtual computer networks according to a Border Gateway Protocol (BGP).

9. The method of claim 8 , further comprising performing, by the configurable network service:

intercepting a BGP routing communication in the first virtual computer network;

analyzing the BGP routing communication to determine that a particular network address is associated with the first virtual computer network; and

responsive to the determination that the particular network address is associated with the first virtual computer network, sending another BGP routing communication indicating the association of the particular network address with the first virtual computer network.

10. A system, comprising:

one or more hardware processors with associated memory that implement a configurable network service, configured to:

receive first configuration information for a first virtual computer network of computing nodes to be provided for a first client, wherein the first configuration information indicates a first range of network addresses to be assigned to the computing nodes of the first virtual computer network;

provide the first virtual computer network to the first client according to the first configuration information, wherein the first virtual computer network is overlaid on a substrate network of the configurable network service;

assign one of the network addresses in the first range to one of the computing nodes in the first virtual computer network;

receive second configuration information for a second virtual computer network of computing nodes to be provided for a second client, wherein the second configuration information indicates a second range of network addresses to be assigned to the computing nodes of the second virtual computer network;

provide the second virtual computer network to the second client according to the second configuration information, wherein the second virtual computer network is overlaid on the substrate network of the configurable network service;

assign one of the network addresses in the first range to one of the computing nodes in the first virtual computer network;

provide a virtual peering router configured to manage an interconnection between the first virtual computer network and the second virtual computer network; and

route, using the virtual peering router, network traffic from the computing nodes of the first virtual computer network to the computing nodes of the second virtual computer network over the substrate network.

11. The system of claim 10 , wherein:

the substrate network of the configurable network service includes a plurality of connected physical computing systems; and

the computing nodes of the first virtual computer network are implemented as virtual machines hosted on respective ones of the physical computing systems.

12. The system of claim 10 , wherein:

the first virtual computer network is a private network of the first client; and

the first range of network addresses are private network addresses that are not directly addressable from a public network.

13. The system of claim 10 , wherein the virtual peering router is provided according to interconnectivity information received from the first client.

14. The system of claim 13 , wherein the configurable network service is configured to:

provide a second peering router in the second virtual computer network to manage the interconnection, wherein the second peering router is provided according to interconnectivity information received from the second client.

15. The system of claim 10 , wherein the first virtual computer network and the second computer network are provided in different geographical locations of the configurable network service.

16. The system of claim 10 , wherein the configurable network service is configured to:

exchange routing information between the first and second virtual computer networks according to a Border Gateway Protocol (BGP).

17. One or more computer-readable storage media storing program instructions that when executed on or across one or more processors, cause the one or more processors to implement at least a configurable network service, and to:

receive first configuration information for a first virtual computer network of computing nodes to be provided for a first client, wherein the first configuration information indicates a first range of network addresses to be assigned to the computing nodes of the first virtual computer network;

provide the first virtual computer network to the first client according to the first configuration information, wherein the first virtual computer network is overlaid on a substrate network of the configurable network service;

assign one of the network addresses in the first range to one of the computing nodes in the first virtual computer network;

receive second configuration information for a second virtual computer network of computing nodes to be provided for a second client, wherein the second configuration information indicates a second range of network addresses to be assigned to the computing nodes of the second virtual computer network;

provide the second virtual computer network to the second client according to the second configuration information, wherein the second virtual computer network is overlaid on the substrate network of the configurable network service;

assign one of the network addresses in the first range to one of the computing nodes in the first virtual computer network;

provide a virtual peering router configured to manage an interconnection between the first virtual computer network and the second virtual computer network; and

route, using the virtual peering router, network traffic from the computing nodes of the first virtual computer network to the computing nodes of the second virtual computer network over the substrate network.

18. The one or more computer-readable storage media of claim 17 , wherein the program instructions when executed on or across the one or more processors cause the configurable network service to provide the virtual peering router according to interconnectivity information received from the first client.

19. The one or more computer-readable storage media of claim 17 , wherein:

the substrate network of the configurable network service includes a plurality of connected physical computing systems; and

to provide the first virtual computer network, the program instructions when executed on or across the one or more processors cause the configurable network service to provide virtual machines as the computing nodes of the first virtual computer network, wherein the virtual machines are hosted on respective ones of the physical computing systems.

20. The one or more computer-readable storage media of claim 17 , wherein the program instructions when executed on or across the one or more processors cause the configurable network service to provide the first virtual computer network and the second computer network in different geographical locations of the configurable network service.

Continuity (5)
Continuation 16570925 · Sep 13, 2019
Continuation 15663592 · Jul 28, 2017
Continuation 14715412 · May 18, 2015
Continuation 12632718 · Dec 7, 2009
Related Publication 20210168032A1 · Jun 3, 2021
Cited By (2)
US 12,375,350 US 12,711,229