IP Library › Granted Patent US 10,574,534
Granted Patent B2
US 10,574,534 · App. 15/996,371 · Granted Feb 25, 2020

Providing virtual networking device functionality for managed computer networks

Inventors: Eric Jason Brandwine (Haymarket, VA); Kevin Christopher Miller (Herndon, VA); Andrew J. Doane (Vienna, VA)
Assignee: Amazon Technologies, Inc.
H04L41/12G06F9/45558H04L41/0816H04L45/02H04L45/586H04L45/64H04L67/34G06F2009/45595H04L41/5096
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 10,574,534
App. No.
15/996,371
Granted
Feb 25, 2020
Kind
B2
Abstract

Techniques are described for providing virtual networking functionality for managed computer networks. In some situations, a user may configure or otherwise specify a logical network topology for a managed computer network with multiple computing nodes that includes one or more virtual networking devices each associated with a specified group of the multiple computing nodes. Corresponding networking functionality may be provided for communications between the multiple computing nodes by emulating functionality that would be provided by the networking devices if they were physically present and configured to support the specified network topology. In some situations, the managed computer network is a virtual computer network overlaid on a substrate network, and the networking device functionality emulating includes receiving routing communications directed to the networking devices and using included routing information to update the specified network topology for the managed computer network.

Claims (57)

1. A computer-implemented method, comprising:

hosting, by a configurable network service and for a plurality of clients, respective virtual computer networks of the clients according to configuration information provided by the clients, wherein a virtual computer network of the respective virtual computer networks includes a first computing node and a second computing node hosted as virtual machines on a set of physical hosts of the configurable network service and a virtual router device hosted on the set of physical hosts; and

performing, via a communication manager executing on a first host of the set of physical hosts:

intercepting a network communication from the first computing node of the virtual computer network to be routed to the second computing node of the virtual computer network;

determining that the network communication specifies the virtual router device as an intermediate destination of the network communication; and

emulating functionality of the virtual router device to route the network communication to the second computing node.

2. The computer-implemented method of claim 1 , wherein emulating the functionality of the virtual router device comprises:

selecting a next network entity in the virtual computer network as to route the network communication; and

updating a next hop address of the network communication to a network address of the next network entity.

3. The computer-implemented method of claim 2 , wherein the selecting of the next network entity is based at least in part on routing information indicating a network topology of the virtual computer network stored by the communication manager.

4. The computer-implemented method of claim 3 , further comprising updating the routing information responsive to configuration input from a client modifying the network topology of the virtual computer network.

5. The computer-implemented method of claim 1 , wherein emulating the functionality of the virtual router device comprises:

updating a next hop address of the network communication to a virtual hardware address corresponding to another virtual router device in the virtual computer network.

6. The computer-implemented method of claim 1 , wherein emulating the functionality of the virtual router device comprises:

decreasing, by the communication manager, a time to live (TTL) hop value for the network communication.

7. The computer-implemented method of claim 1 , wherein:

the first computing node is hosted on the first host;

the second computing node is hosted on a second host of the set of physical hosts; and

emulating the functionality of the virtual router device comprises sending the network communication from the communication manager on the first host to another communication manager on the second host via a substrate network of the configurable network service.

8. The computer-implemented method of claim 7 , wherein sending the network communication from the communication manager on the first host to another communication manager on the second host comprises sending the network communication in one or more packets encapsulated using a substrate network protocol and indicating a physical address of the second host.

9. The computer-implemented method of claim 8 , wherein the encapsulation is performed using mapping information that maps virtual network addresses of network entities in the virtual computer network to corresponding substrate network addresses.

10. The computer-implemented method of claim 1 , further comprising:

receiving, by the virtual router device, another network communication directed to the first computing node; and

discarding the network communication based at least in part on a filtering rule associated with the virtual router device.

11. The computer-implemented method of claim 1 , further comprising:

prior to intercepting the network communication, providing, by the communication manager, a virtual hardware address of the virtual router device to the first computing node via an address resolution protocol (ARP) message.

12. A system, comprising:

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

host a virtual computer network for a client according to configuration information provided by the client, wherein the virtual computer network includes a first computing node and a second computing node hosted as virtual machines on a set of physical hosts of the configurable network service and a virtual router device hosted on the set of physical hosts; and

a first host of the set of physical hosts configured to execute a communication manager to:

intercept a network communication from the first computing node of the virtual computer network to be routed to the second computing node of the virtual computer network;

determine that the network communication specifies the virtual router device as an intermediate destination of the network communication; and

emulate functionality of the virtual router device to route the network communication to the second computing node.

13. The system of claim 12 , wherein to emulate the functionality of the virtual router device, the communication manager is configured to:

select a next network entity in the virtual computer network as to route the network communication; and

update a next hop address of the network communication to a network address of the next network entity.

14. The system of claim 13 , wherein the communication manager is configured to select the next network entity based at least in part on routing information indicating a network topology of the virtual computer network stored by the communication manager.

15. The system of claim 12 , wherein to emulate the functionality of the virtual router device, the communication manager is configured to:

decrease a time to live (TTL) hop value for the network communication.

16. The system of claim 12 , wherein:

the first computing node is hosted on the first host;

the second computing node is hosted on a second host of the set of physical hosts; and

to emulate the functionality of the virtual router device, the communication manager is configured to send the network communication from the communication manager on the first host to another communication manager on the second host via a substrate network of the configurable network service.

17. The system of claim 16 , wherein to send the network communication, the communication manager is configured to send the network communication in one or more packets encapsulated using a substrate network protocol and indicating a physical address of the second host.

18. One or more non-transitory computer-readable storage media storing instructions that when executed on or across one or more processors, cause the one or more processors to:

host a virtual router device on a first host, wherein the virtual router device is part of a virtual computer network of a client hosted by a configurable network service, and the virtual computer network includes a first computing node and a second computing node hosted as virtual machines on a set of physical hosts including the first host;

execute a communication manager on the first host to:

intercept a network communication from the first computing node of the virtual computer network to be routed to the second computing node of the virtual computer network;

determine that the network communication specifies the virtual router device as an intermediate destination of the network communication; and

emulate functionality of the virtual router device to route the network communication to the second computing node.

19. The one or more non-transitory computer-readable storage media of claim 18 , wherein to emulate the functionality of the virtual router device, the instructions when executed on or across the one or more processors cause the communication manager to:

select a next network entity in the virtual computer network as to route the network communication; and

update a next hop address of the network communication to a network address of the next network entity.

20. The one or more non-transitory computer-readable storage media of claim 18 , wherein:

the first computing node is hosted on the first host;

the second computing node is hosted on a second host of the set of physical hosts; and

to emulate the functionality of the virtual router device, the instructions when executed on or across the one or more processors cause the communication manager to send the network communication from the communication manager on the first host to another communication manager on the second host via a substrate network of the configurable network service.

Continuity (3)
Continuation 14952519 · Nov 25, 2015
Continuation 12632678 · Dec 7, 2009
Related Publication 20180351813A1 · Dec 6, 2018
Cited By (8)
US 12,238,165 US 12,284,253 US 12,301,443 US 12,316,477 US 12,373,262 US 12,375,350 US 12,463,904 US 12,494,997