Back to results
US 8,284,665 B1Granted
Flow-based rate limiting
AssigneeJuniper Networks, Inc.
InventorsGunes Aybay, Jack Kohn, Fuguang Shi
Life of this patent
Estimating the term…
Abstract
A device may include logic configured to receive a packet, identify a flow associated with the packet in a flow table, and identify a rate limit associated with the flow in the flow table. A current rate associated with the flow may be calculated based on the packet. It may be determined whether the current rate associated with the flow exceeds the rate limit associated with the flow. If so, the packet may be discarded or tagged as “over limit.”
Claims19
A method, comprising:
- receiving, using one or more processors, a packet;
- identifying, using one or more processors, a rate limit, associated with a flow that is associated with the received packet, based on:
- layer 2 information included in the received packet,
- layer 3 information included in the received packet, and
- layer 4 information included in the received packet;
- identifying, using one or more processors and based on the received packet, an entry in a flow table,
- the entry corresponding to the flow and including information identifying:
- a quantity of packets, associated with the flow, received during a time period,
- a quantity of bytes, associated with the flow, received during the time period, and
- the time period;
- calculating, using one or more processors, a current rate associated with the identified flow based on the time period and at least one of:
- the quantity of packets, or
- the quantity of bytes;
- determining, using one or more processors, whether the calculated current rate, associated with the flow, exceeds the identified rate limit associated with the flow;
- and
- discarding, using one or more processors, the received packet when the calculated current rate, associated with the identified flow, exceeds the identified rate limit associated with the identified flow.
13 more elements
A network device, comprising:
- a processor to:
- receive a data unit;
- identify a class associated with the received data unit, the class being identified based on:
- layer 2 information included in the received data unit,
- layer 3 information included in the received data unit, and
- layer 4 information included in the received data unit;
- identify a rate limit associated with the received data unit based on the identified class;
- identify, based on the received data unit, information identifying a flow, associated with the received data unit, in a memory;
- the information identifying the flow including:
- a quantity of packets, associated with the flow, received during a time period,
- a quantity of bytes, associated with the flow, received during the time period, and
- information identifying the time period;
- calculate a current rate associated with the flow based on the information identifying the time period and at least one of:
- the quantity of packets, or
- the quantity of bytes;
- determine whether the calculated current rate exceeds the identified rate limit;
- and
- discard the received data unit when the calculated current rate exceeds the identified rate limit.
15 more elements
A system comprising:
- a network device to:
- receive a packet;
- identify a rate limit associated with a flow corresponding to the packet,
- the rate limit being identified based on:
- layer 2 information included in the packet,
- layer 3 information included in the packet, and
- layer 4 information included in the packet;
- identify information identifying the flow corresponding to the packet, the information identifying the flow including information identifying:
- a quantity of packets, associated with the flow, received during a time period,
- a quantity of bytes, associated with the flow, received during the time period, and
- the time period;
- calculate a current rate associated with the flow based on the time period and at least one of:
- the quantity of packets, or
- the quantity of bytes;
- determine whether the calculated current rate exceeds the rate limit;
- and
- forward the packet for transmission when the calculated current rate does not exceed the identified rate limit.
14 more elements
Dependencies are inferred from the claim text.