IP Library Granted Patent US 9,419,874
Granted Patent B2
US 9,419,874 · App. 14/226,851 · Granted Aug 16, 2016

Packet tracing in a software-defined networking environment

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 9,419,874
App. No.
14/226,851
Granted
Aug 16, 2016
Kind
B2
Abstract

An example method to perform packet tracing in a Software-Defined Networking (SDN) environment is provided. The SDN environment comprises an SDN controller device and a plurality of forwarding devices configurable by the SDN controller device. The method may comprise the SDN controller device configuring the plurality of forwarding devices to generate trace information of packets associated with a communication flow in the SDN environment, and the SDN controller device receiving, from the plurality of forwarding devices, trace information comprising header information and payload information of packets associated with the communication flow. Based on the trace information, the SDN controller device may generate aggregated trace information that identifies forwarding devices that processed a particular packet associated with the communication flow, or packets associated with the communication flow that are processed by a particular forwarding device, or both.

Claims (62)

1. A method for a Software-Defined Networking (SDN) controller device to perform packet tracing in an SDN environment comprising the SDN controller device and a plurality of forwarding devices configurable by the SDN controller device, the method comprising:

configuring the plurality of forwarding devices to generate trace information of packets associated with a communication flow in the SDN environment;

receiving, from the plurality of forwarding devices, trace information of packets associated with the communication flow, wherein the trace information includes first header information and first payload information from a first forwarding device and second header information and second payload information from a second forwarding device; and

based on the trace information, generating aggregated trace information by

identifying a particular packet processed by the first forwarding device based the first header information and first payload information; and

identifying that the particular packet is processed by the second forwarding device by comparing the first header information and first payload information with the second header information and second payload information.

2. The method of claim 1 , wherein configuring the plurality of forwarding devices comprises updating a flow table of each forwarding device to include:

characteristic information of the communication flow, and

an action for the forwarding device to generate the trace information if header information of a packet matches with the characteristic information.

3. The method of claim 2 , wherein configuring the plurality of forwarding devices further comprises:

setting a trace duration for the forwarding device, during which the trace information is generated by the forwarding device.

4. The method of claim 2 , wherein the communication flow is from a source device to a destination device in the SDN environment, and the characteristic information is associated with the source device and destination device and comprises at least one of the following:

source and destination Internet Protocol (IP) addresses; source and destination Media Access Control (MAC) addresses; source and destination port numbers of a transport layer protocol; and IP version.

5. The method of claim 4 , wherein:

the header information of each of the packets matches with the characteristic information and comprises at least one of the following: source and destination Internet Protocol (IP) addresses; source and destination Media Access Control (MAC) addresses; source and destination port numbers of a transport layer protocol; and IP version; and

the payload information in the trace information comprises a copy of payload information of each of the packets.

6. The method of claim 1 , wherein the trace information received from each forwarding device further comprises at least one of:

an identifier of the communication flow, an identifier of the forwarding device and a forwarding direction of each packet.

7. The method of claim 6 , wherein generating aggregated trace information further comprises:

identifying the first forwarding device and second forwarding device that processed the particular packet based on respective identifiers of the first forwarding device and second forwarding device, and the forwarding direction of the particular packet.

8. The method of claim 6 , wherein generating aggregated trace information further comprises one or more of the following:

identifying first packets associated with the communication flow based on the first header information and first payload information, and the first forwarding device that processed the first packets based on an identifier of the first forwarding device; and

identifying second packets associated with the communication flow based on the second header information and second payload information, and the second forwarding device that processed the packets based on an identifier of the second forwarding device.

9. The method of claim 1 , wherein the plurality of forwarding devices are configured using one of the following SDN protocols:

OpenFlow protocol (OFP); CLIs (Command-line Interfaces); NETCONF (Network Configuration Protocol); NETCONF (Yang Schema); SNMP (Simple Network Management Protocol); XMPP (Extensible Messaging and Presence Protocol); OpenStack; virtualization software APIs (Application Programming Interfaces); OF-Config (OpenFlow Management and Configuration Protocol); and Secure Shell (SSH).

10. A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor of a Software-Defined Networking (SDN) controller device in an SDN environment, causes the processor to perform packet tracing, comprising:

configuring a plurality of forwarding devices in the SDN environment to generate trace information of packets associated with a communication flow in the SDN environment;

receiving, from the plurality of forwarding devices, trace information of packets associated with the communication flow, wherein the trace information includes first header information and first payload information from a first forwarding device and second header information and second payload information from a second forwarding device; and

based on the trace information, generating aggregated trace information by

identifying a particular packet processed by the first forwarding device based the first header information and first payload information; and

identifying that the particular packet is processed by the second forwarding device by comparing the first header information and first payload information with the second header information and second payload information.

11. The non-transitory computer-readable storage medium of claim 10 , wherein configuring the plurality of forwarding devices comprises updating a flow table of each forwarding device to include:

characteristic information of the communication flow, and

an action for the forwarding device to generate the trace information if header information of a packet matches with the characteristic information.

12. The non-transitory computer-readable storage medium of claim 11 , wherein configuring the plurality of forwarding devices further comprises:

setting a trace duration for the forwarding device, during which the trace information is generated by the forwarding device.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the communication flow is from a source device to a destination device in the SDN environment, and the characteristic information is associated with the source device and destination device and comprises at least one of the following:

source and destination Internet Protocol (IP) addresses; source and destination Media Access Control (MAC) addresses; source and destination port numbers of a transport layer protocol; and IP version.

14. The non-transitory computer-readable storage medium of claim 13 , wherein:

the header information of each of the packets matches with the characteristic information and comprises at least one of the following: source and destination Internet Protocol (IP) addresses; source and destination Media Access Control (MAC) addresses; source and destination port numbers of a transport layer protocol; and IP version; and

the payload information in the trace information comprises a copy of payload information of each of the packets.

15. The non-transitory computer-readable storage medium of claim 10 , wherein the trace information received from each forwarding device further comprises at least one of:

an identifier of the communication flow, an identifier of the forwarding device and a forwarding direction of each packet.

16. The non-transitory computer-readable storage medium of claim 15 , wherein generating aggregated trace information further comprises:

identifying the first forwarding device and second forwarding device that processed the particular packet based on respective identifiers of the first forwarding device and second forwarding device, and the forwarding direction of the particular packet.

17. The non-transitory computer-readable storage medium of claim 15 , wherein generating aggregated trace information further comprises one or more of the following:

identifying first packets associated with the communication flow based on the first header information and first payload information, and the first forwarding device that processed the first packets based on an identifier of the first forwarding device; and

identifying second packets associated with the communication flow based on the second header information and second payload information, and the second forwarding device that processed the packets based on an identifier of the second forwarding device.

18. The non-transitory computer-readable storage medium of claim 10 , wherein the plurality of forwarding devices are configured using one of the following SDN protocols:

OpenFlow protocol (OFP); CLIs (Command-line Interfaces); NETCONF (Network Configuration Protocol); NETCONF (Yang Schema); SNMP (Simple Network Management Protocol); XMPP (Extensible Messaging and Presence Protocol); OpenStack; virtualization software APIs (Application Programming Interfaces); OF-Config (OpenFlow Management and Configuration Protocol); and Secure Shell (SSH).

19. A method for a forwarding device, being a first forwarding device, to perform packet tracing in a Software-Defined Networking (SDN) environment, wherein the first forwarding device is configurable by an SDN controller device, and the method comprises:

based on configuration information received from the SDN controller device, updating a flow table to generate first trace information of packets associated with a communication flow in the SDN environment;

in response to receiving packets associated with the communication flow, generating first trace information comprising first header information and first payload information of the received packets according to the flow table; and

sending the first trace information to the SDN controller device such that the first trace information is aggregated with at least second trace information from a second forwarding device for the SDN controller to generate aggregated trace information by:

identifying a particular packet processed by the first forwarding device based on the first header information and first payload information; and

identifying that the particular packet is processed by the second forwarding device by comparing the first header information and first payload information with the second header information and second payload information.

20. A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor of a forwarding device in a Software-Defined Networking (SDN) environment, the forwarding device being a first forwarding device, causes the processor to perform packet tracing, comprising:

based on configuration information received from the SDN controller device, updating a flow table to generate first trace information of packets associated with a communication flow in the SDN environment;

in response to receiving packets associated with the communication flow, generating first trace information comprising first header information and first payload information of the received packets according to the flow table; and

sending the first trace information to the SDN controller device such that the first trace information is aggregated with at least second trace information from a second forwarding device for the SDN controller to generate aggregated trace information by:

identifying a particular packet processed by the first forwarding device based on the first header information and first payload information; and

identifying that the particular packet is processed by the second forwarding device by comparing the first header information and first payload information with the second header information and second payload information.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2014
From: SUN, KEYONG; REN, MAOSHENG; WANG, YONGGANG; LU, KECHENG
To: NICIRA, INC.
Reel/Frame 032536/0204 →