Claims
- 1. A method for managing attacks in a computer system, the computer system used in sending, receiving, or sending and receiving a plurality of packets, the plurality of packets including a plurality of administrative packets, the method comprising the steps of:
(a) determining whether a congestion of the administrative packets exists, the congestion of the administrative packets indicating that a potential attack exists; and (b) discarding a portion of the plurality of administrative packets if it is declared that the congestion of the administrative packets exists, the portion of the plurality of packets being sufficient to ensure that a remaining portion of the plurality of packets transmitted is not more than a maximum administrative packet bandwidth limit and, if the plurality of administrative packets present a sufficient offered load, not less than a minimum administrative packet bandwidth guarantee.
- 2. The method of claim 1 wherein determining step (a) further includes the steps of:
(a1) determining congestion exists if the transmitting the plurality of administrative packets would exceed the maximum administrative packet bandwidth limit.
- 3. The method of claim 1 wherein the plurality of administrative packets include a plurality of types of administrative packets and wherein determining step (a) further includes the step of:
(a1) determining congestion exists if the transmitting a particular type of the plurality of types of administrative packets would exceed a maximum packet bandwidth limit for the particular type of the plurality of types of administrative packets.
- 4. The method of claim 3 wherein discarding step (b) further includes the step of:
(b1) discarding a first portion of the particular type of the plurality of types of administrative packets such that a first remaining portion of the particular type of the plurality of types of administrative packets transmitted is not less than a minimum packet bandwidth guarantee for the particular type of the plurality of types of administrative packets and not more than the maximum packet bandwidth limit.
- 5. The method of claim 1 wherein determining step (a) further includes the steps of:
(a1) determining congestion exists if it is determined that a suspicious randomness exists in the plurality of administrative packets.
- 6. The method of claim 5 wherein the congestion determining step (a1) further includes the step of:
(a1i) determining whether the plurality of administrative packets constitute at least a percentage of the plurality of packets.
- 7. The method of claim 5 wherein the congestion determining step (a1) further includes the step of:
(a1i) determining whether a particular type of the plurality of administrative packets reaches a particular limit.
- 8. The method of claim 1 wherein the computer system includes a cache and wherein determining step (a) further includes the steps of:
(a1) determining congestion exists if the cache reaches a particular occupancy level.
- 9. The method of claim 1 wherein the congestion determining step (a1) further includes the steps of:
(a1i) marking a portion of the plurality of administrative packets red, red being associated with a particular maximum bandwidth limit; (a1ii) determining congestion exists if the particular maximum bandwidth limit is reached for red.
- 10. The method of claim 1 wherein the congestion determining step (al) further includes the steps of:
(a1i) marking a second portion of the plurality of administrative packets red, red being associated with a particular a particular tag in at least one packet header field; and (a1ii) determining congestion exists if the particular maximum bandwidth limit is reached for red.
- 11. A computer-readable medium including a program for managing attacks in a computer system, the computer system used in sending, receiving, or sending and receiving a plurality of packets, the plurality of packets including a plurality of administrative packets, the program including instructions for:
(a) determining whether a congestion of the administrative packets exists, the congestion of the administrative packets indicating that a potential attack exists; and (b) discarding a portion of the plurality of administrative packets if it is declared that the congestion of the administrative packets exists, the portion of the plurality of packets being sufficient to ensure that a remaining portion of the plurality of packets transmitted is not more than a maximum administrative packet bandwidth limit and, if the plurality of administrative packets present a sufficient offered load, not less than a minimum administrative packet bandwidth guarantee.
- 12. The computer-readable medium of claim 11 wherein determining instruction (a) further includes instructions for:
(a1) determining congestion exists if the transmitting the plurality of administrative packets would exceed the maximum administrative packet bandwidth limit.
- 13. The computer-readable medium of claim 11 wherein the plurality of administrative packets include a plurality of types of administrative packets and wherein determining instructions (a) further include instructions for:
(a1) determining congestion exists if the transmitting a particular type of the plurality of types of administrative packets would exceed a maximum packet bandwidth limit for the particular type of the plurality of types of administrative packets.
- 14. The computer-readable medium of claim 13 wherein discarding instructions (b) further include instructions for:
(b1) discarding a first portion of the particular type of the plurality of types of administrative packets such that a first remaining portion of the particular type of the plurality of types of administrative packets transmitted is not less than a minimum packet bandwidth guarantee for the particular type of the plurality of types of administrative packets and not more than the maximum packet bandwidth limit.
- 15. The computer-readable medium of claim 11 wherein determining instructions (a) further include instructions for:
(a1) determining congestion exists if it is determined that a suspicious randomness exists in the plurality of administrative packets.
- 16. The computer-readable medium of claim 15 wherein the congestion determining instructions (a1) further include instructions for:
(a1i) determining whether the plurality of administrative packets constitute at least a percentage of the plurality of packets.
- 17. The computer-readable medium of claim 15 wherein the congestion determining instructions (a1) further include instructions for:
(a1i) determining whether a particular type of the plurality of administrative packets reaches a particular limit.
- 18. The computer-readable medium of claim 11 wherein the computer system includes a cache and wherein determining instructions (a) further include instructions for:
(a1) determining congestion exists if the cache reaches a particular occupancy level.
- 19. The computer-readable medium of claim 11 wherein the congestion determining instructions (a1) further include instructions for:
(a1i) marking a portion of the plurality of administrative packets red, red being associated with a particular maximum bandwidth limit; (a1ii) determining congestion exists if the particular maximum bandwidth limit is reached for red.
- 20. The computer-readable medium of claim 11 wherein the congestion determining instructions (a1) further include instructions for:
(a1i) marking a second portion of the plurality of administrative packets red, red being associated with a particular tag in at least one packet header field; and (a1ii) determining congestion exists if the particular maximum bandwidth limit is reached for red.
- 21. A system managing attacks in a computer network including a switch, the switch used in sending, receiving, or sending and receiving a plurality of packets to, from, or to and from the computer network, the plurality of packets including a plurality of administrative packets, the system comprising:
a queue for use in transmitting traffic through the switch; and an enqueuing mechanism, coupled with the queue, for controlling traffic through the switch using a minimum administrative packet bandwidth guarantee and a maximum administrative packet bandwidth limit, the enqueuing mechanism for determining whether congestions exists, the congestion of the administrative packets indicating that a potential attack exists, and for discarding a portion of the plurality of administrative packets if it is declared that the congestion of the administrative packets exists, the portion of the plurality of packets being sufficient to ensure that a remaining portion of the plurality of packets transmitted is not more than the maximum administrative packet bandwidth limit and, if the plurality of administrative packets present a sufficient offered load, not less than the minimum administrative packet bandwidth guarantee.
- 22. The system of claim 21 wherein the enqueuing mechanism further determines that congestion exists if the transmitting the plurality of administrative packets would exceed the maximum administrative packet bandwidth limit.
- 23. The system of claim 21 wherein the plurality of administrative packets include a plurality of types of administrative packets and wherein the enqueuing mechanism further determines that congestion exists if the transmitting a particular type of the plurality of types of administrative packets would exceed a maximum packet bandwidth limit for the particular type of the plurality of types of administrative packets.
- 24. The system of claim 23 wherein the enqueuing mechanism further discards a first portion of the particular type of the plurality of types of administrative packets such that a first remaining portion of the particular type of the plurality of types of administrative packets transmitted is not less than a minimum packet bandwidth guarantee for the particular type of the plurality of types of administrative packets and not more than the maximum packet bandwidth limit.
- 25. The system of claim 21 wherein the enqueuing mechanism further determines that congestion exists if it is determined that a suspicious randomness exists in the plurality of administrative packets.
- 26. The system of claim 25 wherein the enqueuing mechanism further determines that congestion exists by determining whether the plurality of administrative packets constitute at least a percentage of the plurality of packets.
- 27. The system of claim 25 wherein the enqueuing mechanism further determines that congestion exists by determining whether a particular type of the plurality of administrative packets reaches a particular limit.
- 28. The system of claim 21 wherein the computer system includes a cache and wherein the enqueuing mechanism further determines that congestion exists if the cache reaches a particular occupancy level.
- 29. The system of claim 21 wherein the enqueuing mechanism further determines whether congestion exists by marking a portion of the plurality of administrative packets red, red being associated with a particular maximum bandwidth limit, and determining congestion exists if the particular maximum bandwidth limit is reached for red.
- 30. The system of claim 21 wherein the enqueuing mechanism further determines whether congestion exists by marking a second portion of the plurality of administrative packets red, red being associated with a particular tag in at least one packet header field, and determining congestion exists if the particular maximum bandwidth limit is reached for red.
- 31. A processor for use with a switch in a computer network, the processor being coupled to a plurality of ports and a switch fabric, the switch for managing attacks in a computer network including a switch, the switch used in sending, receiving, or sending and receiving a plurality of packets to, from, or to and from the computer network, the plurality of packets including a plurality of administrative packets, the processor comprising:
a queue for use in transmitting traffic through the switch; and an enqueuing mechanism, coupled with the queue, for controlling traffic through the switch using a minimum administrative packet bandwidth guarantee and a maximum administrative packet bandwidth limit, the enqueuing mechanism for determining whether congestions exists, congestion of the administrative packets indicating that a potential attack exists, and for discarding a portion of the plurality of administrative packets if it is declared that the congestion of the administrative packets exists, the portion of the plurality of packets being sufficient to ensure that a remaining portion of the plurality of packets transmitted is not more than a maximum administrative packet bandwidth limit and, if the plurality of administrative packets present a sufficient offered load, not less than a minimum administrative packet bandwidth guarantee.
- 32. A switch for use in a computer network including a plurality of hosts, the switch comprising:
a plurality of processors, each of the plurality of processors coupled with a plurality of ports, the plurality of ports coupled with a portion of the plurality of hosts, each of the plurality of processors including a queue and an enqueuing mechanism, the enqueuing mechanism being coupled with the queue and for controlling traffic through the switch using a minimum administrative packet bandwidth guarantee and a maximum administrative packet bandwidth limit, the enqueuing mechanism for determining whether congestions exists, congestion of the administrative packets indicating that a potential attack exists, and for discarding a portion of the plurality of administrative packets if it is declared that the congestion of the administrative packets exists, the portion of the plurality of packets being sufficient to ensure that a remaining portion of the plurality of packets transmitted is not more than a maximum administrative packet bandwidth limit and, if the plurality of administrative packets present a sufficient offered load, not less than a minimum administrative packet bandwidth guarantee; and a switch fabric coupling the plurality of processors.
- 33. The switch of claim 32 wherein each of the plurality of processors corresponds to a blade of a plurality of blades.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is related to co-pending U.S. patent application Ser. No. ______ and entitled “METHOD AND SYSTEM FOR PRIORITY ENFORCEMENT WITH FLOW CONTROL” [Docket No. RPS92001017 1 US1] and assigned to the assignee of the present invention. The present invention is also related to co-pending U.S. patent application Ser. No. ______ [RPS920020028US1] and entitled “DETECTING RANDOMNESS IN COMPUTER NETWORK TRAFFIC” and assigned to the assignee of the present invention.