IP Library Granted Patent US 10,225,186
Granted Patent B2
US 10,225,186 · App. 15/428,815 · Granted Mar 5, 2019

Statistical multiplexing of inline network tools

Inventors: Yingchun Ma (Sunnyvale, CA); Yan Xiu (San Ramon, CA); Ramakrishna Manchiraju-Venkata (Sunnyvale, CA); Zbigniew Sufleta (Cobb, CA)
Assignee: Gigamon Inc.
H04L45/74H04L1/24H04L12/4641H04L43/028H04L43/04H04L43/0817H04L43/16H04L47/125H04L47/2483H04L47/25H04L49/25H04L49/30H04L61/2596H04L69/22H04L61/6068
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,225,186
App. No.
15/428,815
Granted
Mar 5, 2019
Kind
B2
Abstract

A packet broker deployed in a visibility fabric may intelligently assign identifiers to data packets that are routed through sequences of one or more network tools for monitoring and/or security purposes. However, in some instances, it may be desirable for data packets the one or more network tools in a load-balanced manner rather than a cascaded manner. Accordingly, the packet broker may initially form a trunk group (i.e., a predefined group of ports that are treated as one port) based on input provided by an administrator. A group of network tools that share a load (i.e., a traffic flow) through trunking facilitated by the packet broker are referred to as a “trunk group” of network tools.

Claims (70)

1. A method comprising:

receiving a data packet at a network ingress port of a packet broker connected to a network;

applying a packet-matching criterion to identify a predetermined sequence of inline network tools through which the data packet is to be guided;

determining that a tool egress port that corresponds to an inline network tool within the predetermined sequence of inline network tools is part of a trunk,

wherein the trunk includes a defined subset of tool egress ports that are coupled to corresponding inline network tools, and

wherein each tool egress port of the defined subset of tool egress ports is a member of a Virtual Local Area Network (VLAN) membership group;

hashing a field of the data packet to produce a hash value; and

guiding the data packet through the predetermined sequence of inline network tools, wherein said guiding includes

dispatching the data packet to a particular tool egress port of the predefined subset of tool egress ports based on the hash value,

translating an internal identifier added to the data packet to an external identifier before transmission of the data packet by the packet broker to each of the inline network tools, and

translating the external identifier to a different internal identifier of the packet broker each time the data packet is received by the packet broker at a tool ingress port coupled to one of the inline network tools.

2. The method of claim 1 , wherein said hashing and said dispatching cause a traffic flow to be guided through the corresponding inline network tools in a load-balanced manner.

3. The method of claim 1 , further comprising:

receiving user input that specifies the corresponding inline network tools; and

forming the trunk responsive to receiving the user input.

4. The method of claim 1 , wherein the data packet is dispatched to the particular tool egress port based on the hash value, each of the corresponding inline network tools being associated with a different hash value.

5. The method of claim 1 , wherein the field of the data packet is specified by a user.

6. The method of claim 1 , wherein the field is an Internet Protocol (IP) source field or an IP destination field.

7. A method comprising:

receiving a data packet at a network ingress port of a packet broker connected to a network;

identifying a sequence of inline network tools through which the data packet is to be guided;

determining that a tool egress port corresponding to an inline network tool within the sequence of inline network tools is part of a trunk that includes a defined subset of tool egress ports coupled to corresponding inline network tools;

hashing a field of the data packet to produce a hash value;

dispatching the data packet to a particular tool egress port of the defined subset of tool egress ports based on the hash value;

identifying egress ports through which the packet broker forwards data packets to inline network tools;

for each egress port, implementing an egress translation scheme that causes an internal identifier appended to each data packet by the packet broker to be translated to an external identifier before transmission to a corresponding inline network tool;

identifying ingress ports through which the packet broker receives data packets from the inline network tools; and

for each ingress port, implementing an ingress translation scheme that causes the external identifier appended to a particular data packet by the packet broker to be translated to a different internal identifier each time the particular data packet is received from one of the inline network tools in the sequence.

8. The method of claim 7 , wherein the data packet is guided through the sequence of inline network tools in accordance with a packet guiding arrangement.

9. The method of claim 7 , wherein each internal identifier assigned to a given data packet upon receipt by the packet broker is unique across all traffic flows received by the packet broker and all inline network tools coupled directly to the packet broker.

10. The method of claim 7 , further comprising:

continually monitoring whether each inline network tool within the trunk is in a non-functioning state.

11. A method comprising:

receiving a data packet at a network ingress port of a packet broker connected to a network;

identifying a sequence of inline network tools through which the data packet is to be guided;

determining that a tool egress port corresponding to an inline network tool within the sequence of inline network tools is part of a trunk that includes a defined subset of tool egress ports coupled to corresponding inline network tools;

hashing a field of the data packet to produce a hash value;

dispatching the data packet to a particular tool egress port of the defined subset of tool egress ports based on the hash value;

continually monitoring whether each inline network tool within the trunk is in a non-functioning state;

determining that a single inline network tool has entered the non-functioning state; and

redistributing the traffic flow between one or more remaining inline network tools within the trunk by

removing the single inline network tool from the trunk, and

removing the single inline network tool from a Virtual Local Area Network (VLAN) membership group that includes the corresponding inline network tools.

12. The method of claim 10 , further comprising:

determining a state of the trunk.

13. A method comprising:

receiving a data packet at a network ingress port of a packet broker connected to a network;

identifying a sequence of inline network tools through which the data packet is to be guided;

determining that a tool egress port corresponding to an inline network tool within the sequence of inline network tools is part of a trunk that includes a defined subset of tool egress ports coupled to corresponding inline network tools;

hashing a field of the data packet to produce a hash value;

dispatching the data packet to a particular tool egress port of the defined subset of tool egress ports based on the hash value; and

continually monitoring whether each inline network tool within the trunk is in a non-functioning state,

wherein the state of the trunk is determined to be functioning if a number of inline network tools within the trunk in the non-functioning state is lower than a specified threshold.

14. The method of claim 13 , wherein the state of the trunk is non-functioning if the number of inline network tools within the trunk in the non-functioning state is higher than the specified threshold.

15. The method of claim 14 , further comprising:

upon determining the trunk is in a non-functioning state, declaring the trunk as defective; and

readjusting egress translation schemes and ingress translation schemes implemented by the packet broker to avoid the corresponding inline network tools of the trunk.

16. A packet broker comprising:

a network port at which to receive data packets transmitted over a network to which the packet broker is connected;

a plurality of tool ports connected to a plurality of inline network tools that are external to the packet broker; and

a programmable switching fabric configured to:

identify a sequence of inline network tools through which a data packet received at the network port is to be guided;

determine that a tool port corresponding to an inline network tool within the sequence of inline network tools is part of a trunk that includes a defined subset of tool ports coupled to corresponding inline network tools;

hash a field of the data packet to produce a hash value;

dispatch the data packet to a particular tool port of the defined subset of tool ports based on the hash value;

translate an internal identifier added to the data packet to an external identifier before transmission of the data packet by the packet broker to each of the inline network tools; and

translate the external identifier to a different internal identifier of the packet broker each time the data packet is received by the packet broker at a tool ingress port coupled to one of the inline network tools.

17. The packet broker of claim 16 , wherein the programmable switching fabric is further configured to:

receive input indicative of a user request to form the trunk; and

responsive to receiving the input, form the trunk that includes the defined subset of tool ports.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: JEFFERIES FINANCE LLC
To: GIGAMON INC.
Reel/Frame 059362/0491 →
SECURITY INTEREST Recorded Mar 11, 2022
From: GIGAMON INC.; ICEBRG LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 059362/0717 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 11, 2020
From: GIGAMON INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 051898/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2017
From: MA, YINGCHUN; XIU, YAN; MANCHIRAJU-VENKATA, RAMAKRISHNA; SUFLETA, ZBIGNIEW
To: GIGAMON INC.
Reel/Frame 041442/0321 →
Continuity (3)
Continuation 15409903 · Jan 19, 2017
Provisional Application 62400452 · Sep 27, 2016
Related Publication 20180091428A1 · Mar 29, 2018