Systems and methods for implementing protocol-aware network firewall
AssigneeVerizon Services Corp.
InventorsGaston S. Ormazabal, Henning G. Schulzrinne, Eilon Yardeni, Jonathan Lennox
Life of this patent
Estimating the term…
Abstract
A method may include receiving a first packet; determining, in a first processor, whether the first packet meets a criterion to be forwarded to a destination indicated in the first packet; receiving a second packet; determining whether the second packet is of a type for changing the criterion and sending the second packet to a second processor if the second packets is of the type for changing the criterion; receiving instructions, based on the second packet sent to the second processor, to change the criterion; and changing the criterion.
Claims39
A method comprising:
- receiving a first packet;
- determining, in a first processor, whether the first packet matches static criteria in a first table for the first packet to be forwarded to a destination;
- determining, in the first processor only when the first packet does not match the static criteria in the first table, whether the first packet matches dynamic criteria in a second table for the first packet to be forwarded to a destination;
- receiving a second packet;
- determining whether the second packet is of a type for changing the dynamic criteria in the second table and sending the second packet to a second processor when the second packet is of the type for changing the dynamic criteria in the second table;
- receiving instructions, based on the second packet sent to the second processor, to change the dynamic criteria in the second table;
- and
- changing the dynamic criteria in the second table.
A system comprising:
- an input port to receive a packet;
- a memory to store
- a first table including static criteria for determining whether the packet should be forwarded to a destination, and
- a second table including dynamic criteria for determining whether the packet should be forwarded to a destination;
- a first processor to determine whether the packet is of a type to establish or terminate a session between two devices by determining whether the packet meets the static criteria in the first table and to determine, only when the packet is not of the type to establish or terminate the session, whether the packet meets the dynamic criteria in the second table for the packet to be forwarded to the destination;
- and
- an output port to send the packet to a second processor when the first processor determines that the packet is of the type to establish or terminate the session, wherein the first processor is configured to receive instructions, based on the packet sent to the second processor, to change the dynamic criteria in the second table;
- wherein the first processor is configured to change the dynamic criteria based on the instructions.
A system comprising:
- an input port to receive packets from a first network comprising a first device;
- an output port to transmit packets to a second network comprising a second device;
- a memory to store
- a first table including static criteria for determining whether the received packets should be forwarded to destinations in the first or second network, and
- a second table including dynamic criteria for determining whether the received packets should be forwarded to destinations in the first or second network;
- and
- a first processor to determine whether one of the received packets matches the static criteria in the first table and, only when the packet does not match the static criteria in the first table, to determine whether the one of the received packets matches the dynamic criteria in the second table;
- and
- a second processor to determine whether one or more of the received packets establishes or terminates a session between the first device and the second device and to instruct a change to the dynamic criteria in the second table based on the one or more of the received packets establishing or terminating the session between the first device and the second device.
A system comprising:
- an input port to receive a packet;
- a content-addressable memory (CAM) to store criteria for determining whether the packet should be forwarded to a destination on a network,
- wherein the CAM includes
- a first table including static criteria for determining whether the packet should be forwarded to the destination, and
- a second table including dynamic criteria for determining whether the packet should be forwarded to the destination;
- a processor to determine whether the packet matches the static criteria in the first table and, only when the packet does not match the static criteria in the first table, to determine whether the packet matches the dynamic criteria in the second table;
- and
- an output port to forward the packet to the destination when the packet matches the criteria in the first or second table.
Dependencies are inferred from the claim text.