A method for controlling connections from an IP entity to a server.
Initially, a limit count, representing a number of concurrently allowable
connections between the IP entity and the server, is determined. When an
incoming IP packet is received, the packet is processed to determine the
source and destination IP addresses for the packet. An entry is then
created in a limit table for the IP entity, if no entry for that IP
entity exists in the table. A determination is made as to whether a
pending connection should be allowed for the packet, by referring to the
limit count and the entry in the limit table. The connection is allowed,
and the limit count for the entry is incremented, if the attempted
connection would not exceed the limit count for the IP entity; otherwise,
the packet is blocked if the attempted connection would exceed the limit
count for the IP entity.