IP Library › Granted Patent US 10,917,322
Granted Patent B2
US 10,917,322 · App. 16/056,078 · Granted Feb 9, 2021

Network traffic tracking using encapsulation protocol

Inventor: David Sean Russell (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04L43/08H04L12/4633H04L43/06H04L43/0852
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,917,322
App. No.
16/056,078
Filed
Aug 6, 2018
Granted
Feb 9, 2021
Kind
B2
Art Unit
2457
USPC
709/224
Abstract

A first encapsulation protocol processing component (EPPC) at a particular device of a virtualized computing service establishes a network packet tracking session with a second EPPC at another device. The first EPPC tags at least some encapsulation packets (which contain baseline packets generated at or directed to guest virtual machines) sent to the second EPPC as tracked packets. The first EPPC obtains network metrics corresponding to the tracked packets of the session from the second EPPC, prepares network health updates based on the metrics, and send the updates to a network health management service associated with the virtualized computing service.

Claims (58)

1. A method, comprising:

performing, by an encapsulation protocol processing component (EPPC) at a computing device:

receiving a request from a requester EPPC at another computing device to establish a packet tracking session between the requester EPPC and the EPPC at the computing device, the packet tracking session for collecting network health metrics associated with network traffic during the packet tracking session;

responsive to a determination that one or more acceptance criteria are satisfied, sending an acceptance response to the requester EPPC to establish the packet tracking session;

during the packet tracking session between the requester EPPC and the EPPC at the computing device:

receiving a plurality of encapsulation packets from the requester EPPC;

determining that some of the encapsulation packets are indicated to be tracked packets based at least in part on their encapsulation headers;

collecting network metrics for the tracked packets; and

sending the network metrics collected to the requester EPPC.

2. The method of claim 1 , wherein collecting the network metrics comprises collecting one or more of: a number of packets dropped, a number of packets corrupted, a number of packets that are received out-of-order, and a latency metric.

3. The method of claim 1 , wherein:

the request from requester EPPC indicates one or more types of network metrics to be collected; and

determining that the acceptance criteria are satisfied comprises determining whether the one or more types of network metrics can be collected by the EPPC.

4. The method of claim 1 ,

wherein determining that the acceptance criteria are satisfied comprises determining that sufficient tracking resources are available for the packet tracking session; and

further comprising allocating, by the EPPC, tracking resources for the packet tracking session.

5. The method of claim 1 , wherein the acceptance response indicates a number of distinct ports that can be used by the EPPC to collect distinct sets of network metrics.

6. The method of claim 1 , wherein the acceptance response indicates a number of hops encountered by the request to establish the packet tracking session to reach the EPPC.

7. The method of claim 1 , wherein determining that some of the encapsulation packets are indicated as tracked packets comprises detecting a session identifier in some of the encapsulation headers.

8. The method of claim 1 , wherein the sending of the network metrics collected is performed in response to a tracking synchronization message received from the requester EPPC.

9. The method of claim 1 , wherein the computing device comprises a virtualization host and further comprising performing, by the EPPC:

extracting respective baseline packets from the encapsulation packets; and

forwarding the baseline packets to a guest virtual machine hosted on the virtualization host.

10. The method of claim 1 , wherein the computing device comprises an edge router of a provider network further comprising performing, by the EPPC:

extracting respective baseline packets from the encapsulation packets; and

forwarding the baseline packets toward a destination outside of the provider network.

11. The method of claim 1 , further comprising performing, by the EPPC:

terminating the packet tracking session in response to a determination that the EPPC has not received a communication from the requester EPPC for a threshold time period.

12. A system, comprising:

an encapsulation protocol processing component (EPPC) of a computing device configured to:

receive a request from a requester EPPC at another computing device to establish a packet tracking session between the requester EPPC and the EPPC of the computing device, the packet tracking session for collecting network health metrics associated with network traffic during the packet tracking session;

responsive to a determination that one or more acceptance criteria are satisfied, send an acceptance response to the requester EPPC to establish the packet tracking session;

during the packet tracking session between the requester EPPC and the EPPC of the computing device:

receive a plurality of encapsulation packets from the requester EPPC;

determine that some of the encapsulation packets are indicated to be tracked packets based at least in part on their encapsulation headers;

collect network metrics for the tracked packets; and

send the network metrics collected to the requester EPPC.

13. The system of claim 12 , wherein to collect the network metrics, the EPPC is configured to collect one or more of: a number of packets dropped, a number of packets corrupted, a number of packets that are received out-of-order, and a latency metric.

14. The system of claim 12 , wherein:

the request from requester EPPC indicates one or more types of network metrics to be collected; and

to determining that the acceptance criteria are satisfied, the EPPC is configured to determine whether the one or more types of network metrics can be collected by the EPPC.

15. The system of claim 12 , wherein the acceptance response indicates a number of distinct ports that can be used by the EPPC to collect distinct sets of network metrics.

16. The system of claim 12 , wherein to determine that some of the encapsulation packets are indicated as tracked packets, the EPPC is configured to detect a session identifier in some of the encapsulation headers.

17. The system of claim 12 , wherein the computing device comprises a virtualization host and the EPPC is configured to:

extract respective baseline packets from the encapsulation packets; and

forward the baseline packets to a guest virtual machine hosted on the virtualization host.

18. The system of claim 12 , wherein the computing device comprises an edge router of a provider network, and the EPPC is configured to:

extract respective baseline packets from the encapsulation packets; and

forward the baseline packets toward a destination outside of the provider network.

19. One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors implement an encapsulation protocol processing component (EPPC) at a computing device and cause the EPPC to:

receive a request from a requester EPPC at another computing device to establish a packet tracking session between the requester EPPC and the EPPC at the computing device, the packet tracking session for collecting network health metrics associated with network traffic during the packet tracking session;

responsive to a determination that one or more acceptance criteria are satisfied, send an acceptance response to the requester EPPC to establish the packet tracking session;

during the packet tracking session between the requester EPPC and the EPPC at the computing device:

receive a plurality of encapsulation packets from the requester EPPC;

determine that some of the encapsulation packets are indicated to be tracked packets based at least in part on their encapsulation headers;

collect network metrics for the tracked packets; and

send the network metrics collected to the requester EPPC.

20. The one or more non-transitory computer-accessible storage media as recited in claim 19 , wherein to collect the network metrics, the program instructions when executed on or across the one or more processors cause the EPPC to collect one or more of: a number of packets dropped, a number of packets corrupted, a number of packets that are received out-of-order, and a latency metric.

Continuity (2)
Continuation 14869907 · Sep 29, 2015
Related Publication 20180375748A1 · Dec 27, 2018
Cited By (9)
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,432,110 US 12,463,904 US 12,494,997