IP Library Granted Patent US 10,447,605
Granted Patent B2
US 10,447,605 · App. 15/233,182 · Granted Oct 15, 2019

Flow-based host discovery in SDN networks

Inventors: Anil Vishnoi (San Jose, CA); Balaji Varadaraju (Austin, TX); Vasu Srinivasan (Cedar Park, TX)
Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
H04L47/2483H04L41/12H04L45/02
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,447,605
App. No.
15/233,182
Granted
Oct 15, 2019
Kind
B2
Abstract

Techniques for performing flow-based host discovery in an SDN network are provided. According to one embodiment, an SDN controller can select, based on network topology information that is stored on the controller, a leaf network device in the network, and can determine a traffic flow corresponding to a flow rule installed on the leaf network device. The determining of the traffic flow can be based on flow rule information that is stored on the SDN controller. The SDN controller can further determine a forward path for the traffic flow through the network, where the determining of the forward path is performed by associating the flow rule with other flow rules for the traffic flow that are included in the flow rule information, and where the other flow rules are installed on other network devices in the network. The SDN controller can then determine, based on at least the forward path, host information for the source and destination hosts of the traffic flow.

Claims (56)

1. A method comprising:

selecting, by a software-defined networking (SDN) controller, a leaf network device in a network, the selecting being based on network topology information that is stored on the SDN controller;

determining, by the SDN controller, a traffic flow corresponding to a flow rule installed on the leaf network device, the traffic flow originating at a source host and ending at a destination host, the determining of the traffic flow being based on flow rule information that is stored on the SDN controller;

determining, by the SDN controller, a forward path for the traffic flow through the network, the determining of the forward path being performed by associating the flow rule with other flow rules for the traffic flow that are included in the flow rule information, the other flow rules being installed on other network devices in the network;

determining, by the SDN controller, host information for the source host and the destination host based on at least the forward path; and

determining a reverse path for the traffic flow through the network, the determining of the reverse path being performed by associating the flow rule with other flow rules included in the flow rule information that correspond to a reversed version of the traffic flow,

wherein the determining of the reverse path allows the SDN controller to identify a first network device in the forward path and an output port of the first network device to which the source host is connected.

2. The method of claim 1 , wherein the network is proactively configured.

3. The method of claim 1 , wherein the leaf network device is selected at random.

4. The method of claim 1 , wherein the SDN controller selects the flow rule based on one or more criteria that are applied to one or more match parameters of the flow rule.

5. The method of claim 4 , wherein the one or more criteria include a criterion that indicates the one or more match parameters should include:

a parameter for matching a source IP address of an incoming packet with an IP address of the source host; and

a parameter for matching a destination IP address of an incoming packet with an IP address of the destination host.

6. The method of claim 4 , wherein the one or more criteria includes a criterion that indicates the one or more match parameters should include:

a parameter for matching a source MAC address of an incoming packet with a MAC address of the source host; and

a parameter for matching a destination MAC address of an incoming packet with a MAC address of the destination host.

7. The method of claim 4 , wherein the one or more criteria includes a criterion that indicates the one or more match parameters should include a parameter for matching a destination IP address of an incoming packet with an IP address of the destination host.

8. The method of claim 4 , wherein the one or more criteria includes a criterion that indicates the one or more match parameters should include a parameter for matching a destination MAC address of an incoming packet with a MAC address of the destination host.

9. The method of claim 4 , wherein the SDN controller further selects the flow rule based on whether a flow counter for the flow rule that is locally stored on the SDN controller is determined to be increasing.

10. The method of claim 1 , wherein the determining of the forward path allows the SDN controller to identify the last network device in the forward path and an output port of the last network device to which the destination host is connected.

11. The method of claim 1 , wherein associating the flow rule with other flow rules for the traffic flow that are included in the flow rule information comprises:

determining, based on an action configured in the flow rule, an output port of the leaf network device through which the traffic flow should be forwarded; and

determining, based on the output port and the network topology information, whether a next hop for the traffic flow is another network device in the network.

12. The method of claim 11 , wherein associating the flow rule with other flow rules for the traffic flow that are included in the flow rule information further comprises, if the next hop for the traffic flow is another network device:

selecting, based on the flow rule information, a flow rule installed on the other network device that corresponds to the traffic flow from the source host to the destination host; and

determining, based on an action configured in the flow rule installed on the other network device, an output port of the other network device through which the traffic flow should be forwarded; and

determining, based on the output port of the other network device and the network topology information, whether a next hop for the traffic flow is yet another network device in the network.

13. The method of claim 11 , wherein associating the flow rule with other flow rules for the traffic flow that are included in the flow rule information further comprises, if the next hop for the traffic flow is not another network device:

concluding that the leaf network device is the last network device in the forward path; and

identifying the destination host as being connected to the output port.

14. The method of claim 1 , further comprising, upon determining the host information for the source host and the destination host:

identifying, based on the flow rule information, a flow rule installed on a first network device of the traffic flow that includes a match parameter for matching a source IP address of an incoming packet with an IP address of the source host;

determining, based on flow counter information stored on the SDN controller, a flow counter for the flow rule; and

verifying that the flow counter is increasing.

15. The method of claim 1 , further comprising, upon determining the host information for the source host and the destination host:

identifying, based on the flow rule information, a flow rule installed on a last network device of the traffic flow that includes a match parameter for matching a source IP address of an incoming packet with an IP address of the destination host;

determining, based on flow counter information stored on the SDN controller, a flow counter for the flow rule; and

verifying that the flow counter is increasing.

16. A computer system, comprising:

a processor;

a storage component storing topology information for a network and flow rule information including flow rules that have been proactively configured in the network; and

a non-transitory computer readable storage medium having stored thereon program code that, when executed by the processor, cause the processor to:

select a leaf network device in the network, the selecting being based on network topology information that is stored;

determine a traffic flow corresponding to a flow rule installed on the leaf network device, the traffic flow originating at a source host and ending at a destination host, the determining of the traffic flow being based on the flow rule information;

determine a forward path for the traffic flow through the network, the determining of the forward path being performed by associating the flow rule with other flow rules for the traffic flow that are included in the flow rule information, the other flow rules being installed on other network devices in the network;

determine host information for the source host and the destination host based on at least the forward path; and

determine a reverse path for the traffic flow through the network, the determining of the reverse path being performed by associating the flow rule with other flow rules included in the flow rule information that correspond to a reversed version of the traffic flow;

wherein the determining of the reverse path allows the processor to identify a first network device in the forward path and an output port of the first network device to which the source host is connected.

17. A non-transitory computer readable medium having stored thereon program code executable by a software-defined networking (SDN) controller, the program code comprising:

code that causes the SDN controller to select a leaf network device in a network, the selecting being based on network topology information that is stored on the SDN controller;

code that causes the SDN controller to determine a traffic flow corresponding to a flow rule installed on the leaf network device, the traffic flow originating at a source host and ending at a destination host, the determining of the traffic flow being based on flow rule information that is stored on the SDN controller;

code that causes the SDN controller to determine a forward path for the traffic flow through the network, the determining of the forward path being performed by associating the flow rule with other flow rules for the traffic flow that are included in the flow rule information, the other flow rules being installed on other network devices in the network;

code that causes the SDN controller to determine host information for the source host and the destination host based on at least the forward path;

code that causes the SDN controller to monitor a flow counter maintained on the SDN controller that identifies a match count for the traffic flow;

code that causes the SDN controller to determine whether the flow counter has increased within a user-defined time interval; and

if the flow counter has not increased within the user-defined time interval, determining that the source host has become inactive.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2016
From: VISHNOI, ANIL; VARADARAJU, BALAJI; SRINIVASAN, VASU
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 039395/0105 →