Systems and methods for processing packets
AssigneeJuniper Networks, Inc.
InventorsDennis C. Ferguson, Rajiv Patel, Gerald Cheung, Pradeep Sindhu
Life of this patent
Estimating the term…
Abstract
Methods and devices for processing packets are provided. The processing device may include an input interface for receiving data units containing header information of respective packets; a first module configurable to perform packet filtering based on the received data units; a second module configurable to perform traffic analysis based on the received data units; a third module configurable to perform load balancing based on the received data units; and a fourth module configurable to perform route lookups based on the received data units.
Claims25
A processing device, comprising:
- an input interface to receive data units containing header information of respective packets;
- a first module including a user-configured filter rule to perform packet filtering based on the received data units, the first module to mark a packet for sampling by setting a bit in a packet notification when the packet matches the filter rule;
- and
- a second module to perform traffic analysis based on the received data units, the second module to generate a random number and sample the marked packet when the random number is less than a predetermined threshold.
A network device comprising:
- an input interface to receive a packet;
- and
- a load balancer to:
- accept the received packet when the received packet is determined to be in-profile, a first drop precedence being assigned to the in-profile accepted packet;
- drop the received packet when the received packet is determined to be out-of-profile;
- or
- accept the received packet when the received packet is determined to be out-of-profile and mark the accepted packet as out-of-profile, a second drop precedence being assigned to the out-of-profile accepted packet.
A method of forwarding data packets using an application-specific integrated circuit (ASIC)-based processor, comprising:
- receiving a packet including a header;
- filtering the received packet based on the header to accept or reject the received packet;
- performing traffic analysis on the accepted packet, including randomized sampling based on a user-configurable sampling rate of one divided by a user-specified integer;
- generating a random number;
- comparing the user-configurable sampling rate to the generated random number to form a resulting value;
- performing the sampling when the resulting value is less than the user-configurable sampling rate:
- performing a route lookup for the accepted packet;
- and
- forwarding the accepted packet based on the route lookup.
An application-specific integrated circuit (ASIC)-based filter for use in router, comprising:
- means for downloading a user-configured filter rule;
- means for applying the filter rule to a packet received by the router;
- means for accepting the packet when the packet is not explicitly rejected by the filter rule by setting a bit in a packet notification when the packet matches the filter rule;
- means for generating a random number;
- means for marking the accepted packet for sampling when the random number is less than a predetermined threshold;
- and
- means for determining whether the packet is to be further processed by the router based on a result of the applying the filter rule, the ASIC-based filter being configured to perform independently of other processes being performed by the router.
Dependencies are inferred from the claim text.