Middlebox tracing in software defined networks

US10574569B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10574569-B2
Application numberUS-201916257284-A
CountryUS
Kind codeB2
Filing dateJan 25, 2019
Priority dateJun 2, 2016
Publication dateFeb 25, 2020
Grant dateFeb 25, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

At an SDN controller executing using a processor and a memory, a tracing packet is configured with a default value in a tag field. The tracing packet is inserted from the SDN controller into the SDN at a switch in the SDN. A returned packet and a port identifier is received at the controller, from the switch, the returned packet including a modified content in a location of the tracing packet that is different from the tag field. The port identifier corresponds to a port of the switch on which the switch received the returned packet from an middlebox. A function of the middlebox is identified by analyzing a modification applied to the modified content by the middlebox. The function of the middlebox and a location of the middlebox in the SDN are saved. The location includes the port identifier and an identifier of the switch.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: inserting, at a switch in a software defined network (SDN), a tracing packet from an SDN controller, the tracing packet including a default value in a tag field; receiving, at the SDN controller, from the switch, a returned packet and a port identifier, the returned packet including a modified content in a location of the tracing packet that is different from the tag field, the port identifier corresponding to a port of the switch on which the switch received the returned packet from an middlebox; and identifying a function and a location of the middlebox by analyzing a modification applied to the modified content by the middlebox, the location comprising the port identifier and an identifier of the switch. 2. The method of claim 1 , further comprising: configuring, for use by the switch, a set of packet forwarding rules, a packet forwarding rule in the set of packet forwarding rules being configured to forward the returned packet from the switch to the SDN controller when the returned packet includes a value in the tag field of the packet, wherein the packet forwarding rule specifies the value. 3. The method of claim 2 , further comprising: configuring the packet forwarding rule with the port identifier, such that the packet forwarding rule causes the switch to perform the forwarding when the returned packet having the specified value arrives on a port of the switch corresponding to the port identifier. 4. The method of claim 2 , further comprising: assigning a highest execution priority to the set of packet forwarding rules at the switch such that when the switch receives any packet, the set of packet forwarding rules is executed prior to executing any other rule at the switch relative to the received packet. 5. The method of claim 1 , further comprising: allowing a flow entry at the switch to route the tracing packet to the middlebox in the SDN; and allowing the middlebox to modify a content located in the tracing packet at a location other than the tag field of the tracing packet, wherein the middlebox modifies the content located in the tracing packet at the location other than the tag field in a manner consistent with an SDN function configured at the middlebox. 6. The method of claim 1 , further comprising: configuring a virtual middlebox template with a set of tag changing rules such that a virtual middlebox instantiated in the SDN using the virtual middlebox template includes the set of tag changing rules, wherein the middlebox is a virtual middlebox instantiated from the virtual middlebox template. 7. The method of claim 6 , further comprising: configuring the middlebox to change the default value to a modified value, wherein the modified value is determined according to a tag changing rule in the set of tag changing rules configured in the middlebox. 8. The method of claim 7 , further comprising: forming a new tracing packet using the modified content of the returned packet and the reset tag value; resetting, at the controller, in the new tracing packet, the tag field from modified value to the default value; and inserting the new tracing packet into the SDN. 9. The method of claim 8 , wherein the inserting the new tracing packet occurs at a second switch, further comprising: causing, at the switch, a forwarding of the new tracing packet to a second middlebox according to a service chain of middleboxes. 10. The method of claim 8 , wherein the inserting the new tracing packet occurs at the switch, further comprising: causing, at the switch, a forwarding of the new tracing packet to a second middlebox according to a service chain of middleboxes. 11. The method of claim 1 , further comprising: configuring a set of controller rules at the SDN controller; forming, at the controller, a new tracing packet using the modified content of the returned packet; determining according to a controller rule a new value to be placed in tag field of a new tracing packet, inserting the new tracing packet into the SDN. 12. The method of claim 11 , further comprising: configuring a controller rule in the set of controller rules to determine the new value according to a condition, wherein the condition evaluates a switch identifier of the switch and the port identifier of a port on the switch on which the switch received the returned packet. 13. The method of claim 12 , wherein the condition further evaluates a value in the tag field of the returned packet. 14. The method of claim 11 , wherein the inserting the new tracing packet occurs at the switch, further comprising: causing, at the switch, a forwarding of the new tracing packet to a second middlebox according to a service chain of middleboxes. 15. The method of claim 11 , wherein the new value is the default value, and wherein the inserting the new tracing packet occurs at a second switch, further comprising: causing, at the switch, a forwarding of the new tracing packet to a second middlebox according to a service chain of middleboxes. 16. The method of claim 11 , wherein the middlebox is a physical middlebox. 17. A computer usable program product comprising a computer readable storage device including computer usable code, the computer usable code comprising: computer usable code for inserting, at a switch in a software defined network (SDN), a tracing packet from an SDN controller, the tracing packet including a default value in a tag field; computer usable code for receiving, at the SDN controller, from the switch, a returned packet and a port identifier, the returned packet including a modified content in a location of the tracing packet that is different from the tag field, the port identifier corresponding to a port of the switch on which the switch received the returned packet from an middlebox; and computer usable code for identifying a function and a location of the middlebox by analyzing a modification applied to the modified content by the middlebox, the location comprising the port identifier and an identifier of the switch. 18. The computer usable program product of claim 17 , wherein the computer usable code is stored in a computer readable storage device in a data processing system, and wherein the computer usable code is transferred over a network from a remote data processing system. 19. The computer usable program product of claim 17 , wherein the computer usable code is stored in a computer readable storage device in a server data processing system, and wherein the computer usable code is downloaded over a network to a remote data processing system for use in a computer readable storage device associated with the remote data processing system. 20. A data processing system comprising: a storage device, wherein the storage device stores computer usable program code; and a processor, wherein the processor executes the computer usable program code, and wherein the computer usable program code comprises: computer usable code for inserting, at a switch in a software defined network (SDN), a tracing packet from an SDN controller, the tracing packet including a default value in a tag field; computer usable code for receiving, at the SDN controller, from the switch, a returned packet and a port identifier, the returned packet including a modified content in a location of the tracing packet that is different from the tag field, the port identifier corresponding to a port of the switch on which the switch received the returned packet from an middlebox; and compute

Assignees

Inventors

Classifications

  • Testing arrangements · CPC title

  • Arrangements for monitoring or testing data switching networks · CPC title

  • by monitoring network traffic (monitoring network traffic per se H04L43/00) · CPC title

  • using an overlay routing layer · CPC title

  • H04L41/12Primary

    Discovery or management of network topologies · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10574569B2 cover?
At an SDN controller executing using a processor and a memory, a tracing packet is configured with a default value in a tag field. The tracing packet is inserted from the SDN controller into the SDN at a switch in the SDN. A returned packet and a port identifier is received at the controller, from the switch, the returned packet including a modified content in a location of the tracing packet t…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L41/12. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 25 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).