Symmetric connection detection
First Claim
1. A system for identifying establishment of a connection between a source host with a source address (Src) and a destination host with a destination address (Dst) in a data network, comprising:
- a flow identification unit for calculating a flow descriptor unique to said connection based on connection set-up datagrams exchanged between said source host and said destination host;
storage means, for storing said flow descriptor based on a relationship between said Src and Dst;
an access interface to said storage means for providing a flow present indication if said flow descriptor is found in said storage means; and
a controller for controlling operation of said flow identification unit and said access interface and determining that said connection has been established based on said relationship and on said flow present indication,wherein said storage means comprises a first container for storing flow descriptors obtained from connection set-up datagrams with a Src>
Dst, and a second container for storing flow descriptors obtained from connection set-up datagrams with a Src<
Dst.
2 Assignments
0 Petitions
Accused Products
Abstract
Symmetric Connection Detection (SCD) is a method of detecting when a connection has been fully established in a resource-constrained environment, and works in high-speed routers, at line speed. Many network monitoring applications are only interested in connections that become fully established, so other connection attempts, such as port scanning attempts, simply waste resources if not filtered. SCD filters out unsuccessful connection attempts using a simple combination of Bloom filters to track the state of connection establishment for every flow in the network. Unsuccessful flows can be filtered out to a very high degree of accuracy, depending on the size of the bloom filter and traffic rate. The SCD methodology can also easily be adapted to accomplish port scan detection, and to detect or filter other types of invalid TCP traffic.
17 Citations
18 Claims
-
1. A system for identifying establishment of a connection between a source host with a source address (Src) and a destination host with a destination address (Dst) in a data network, comprising:
-
a flow identification unit for calculating a flow descriptor unique to said connection based on connection set-up datagrams exchanged between said source host and said destination host; storage means, for storing said flow descriptor based on a relationship between said Src and Dst; an access interface to said storage means for providing a flow present indication if said flow descriptor is found in said storage means; and a controller for controlling operation of said flow identification unit and said access interface and determining that said connection has been established based on said relationship and on said flow present indication, wherein said storage means comprises a first container for storing flow descriptors obtained from connection set-up datagrams with a Src>
Dst, and a second container for storing flow descriptors obtained from connection set-up datagrams with a Src<
Dst. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for identifying establishment of a connection between a source host with a source address (Src) and a destination host with a destination address (Dst) in a data network, comprising:
-
a flow identification unit for calculating a flow descriptor unique to said connection based on connection set-up datagrams exchanged between said source host and said destination host; storage means, for storing said flow descriptor based on a relationship between said Src and Dst; an access interface to said storage means for providing a flow present indication if said flow descriptor is found in said storage means; and a controller for controlling operation of said descriptor calculating unit and said access interface and determining that said connection has been established based on said relationship and on said flow present indication, wherein said controller informs said access interface if the source address Src in said set-up datagram is greater than the destination address Dst.
-
-
10. A method for identifying establishment of a connection in a data network between a source host with a source address (Src) and a destination host with a destination address (Dst), comprising:
-
detecting a first connection set-up datagram transmitted from said source host to said destination host and identifying said connection set-up datagram as a connection request; detecting a second connection set-up datagram transmitted from said destination host to said source host and identifying said second connection set-up datagram as a request acknowledged datagram; generating a connection established indication if both said connection request datagram and said request acknowledged datagram have been identified in this order wherein detecting a first connection set-up datagram comprises; providing a first container for tracking connections with Src >
Dst and a second container for tracking connections with Src <
Dst;determining if a source address Src1 in said first connection set-up datagram is greater than a the destination address Dst1 in said first connection set-up datagram; calculating a flow descriptor unique to said connection from said first connection set-up datagram; and storing said first flow descriptor in said first container if Src1>
Dst1 and storing said first flow descriptor in said second container if Src1<
Dst1. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification