WO2003084137A2 - Methods for identifying network traffic flows - Google Patents

Methods for identifying network traffic flows Download PDF

Info

Publication number
WO2003084137A2
WO2003084137A2 PCT/US2003/009788 US0309788W WO03084137A2 WO 2003084137 A2 WO2003084137 A2 WO 2003084137A2 US 0309788 W US0309788 W US 0309788W WO 03084137 A2 WO03084137 A2 WO 03084137A2
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
network
hash key
conversation
hash
Prior art date
Application number
PCT/US2003/009788
Other languages
French (fr)
Other versions
WO2003084137A3 (en
Inventor
A. David Shay
Michael S. Percy
Jeffry G. Jones
Original Assignee
Network Genomics, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Network Genomics, Inc. filed Critical Network Genomics, Inc.
Priority to AU2003230764A priority Critical patent/AU2003230764A1/en
Publication of WO2003084137A2 publication Critical patent/WO2003084137A2/en
Publication of WO2003084137A3 publication Critical patent/WO2003084137A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Definitions

  • the field of the present invention relates generally to systems and methods for providing end-to-end quality of service measurements in a distributed network environment. More particularly, the present invention relates to systems and methods for identifying and tracking network data packets across a distributed network despite the masking effects of network address translations and other modifications.
  • Network monitoring devices e.g., flow meters
  • Traffic flows also referred to as conversations
  • Two or more network monitoring devices may be employed to compare attributes of particular data packets or conversations at different points in the network.
  • NAT network address translation
  • test packets may be identified by causing them to include an artificial pattern or other identifier that is unlikely to occur normally in the network.
  • test packets might not exhibit actual latencies if there are quality-of-service differences in the network for different types of traffic.
  • adding test packets to the data stream increases network congestion. Thus, a more accurate measurement of latency would be based on actual application packets measured in situ.
  • the present invention provides methods for identifying and tracking data packets across a network.
  • network monitoring devices are configured to identify particular data packets or traffic flows at different points in a network by conversation fingerprinting.
  • Conversation fingerprinting involves creating a unique identifier based on an invariant portion of one or more data packets in a traffic flow.
  • An equivalency test is then performed between two identifiers from different monitoring devices to determine if the same data packet is received at two or more network monitoring devices.
  • additional heuristics may be applied based on additional attributes of the data packet or conversation. If a match occurs, then the timestamps of the two identifiers are compared to determine the point-to-point network transit latency between the two network monitoring devices.
  • a method for system for identifying network traffic flows in order to provide end-to-end quality of service measurements in a distributed network environment comprises receiving a first observed data packet and applying a first timestamp thereto, identifying an invariant portion of the first observed data packet, applying a hash function to the invariant portion of the first observed data packet to produce a first hash key, comparing the first hash key to a second hash key produced by applying the hash function to another observed data packet, and if the first hash key matches the second hash key, comparing the first timestamp of the first observed data packet with a second time stamp of the second observed data packet in order to calculate network latency.
  • a method for system for identifying network traffic flows in order to provide end-to-end quality of service measurements in a distributed network environment comprises applying a hash function to the first invariant combination to produce a first hash key, recording one or more additional attributes of the first conversation instance, associating the first hash key with the timestamps of selected data packets of the first conversation instance and the one or more additional attributes, comparing the first hash key to a second hash key produced by applying the hash function to a second invariant combination derived from a second conversation instance, if the first hash key matches the second hash key, comparing the one or more additional attributes of the first conversation instance with one more corresponding attributes associated with the second conversation instance, and if the one or more additional attributes match the one more corresponding attributes, comparing the timestamps associated with the first hash key to corresponding timestamps associated with the second hash key in order to calculate network latencies.
  • FIG. 1 is a high-level block diagram illustrating the components that makeup the framework of the present invention according to one or more exemplary embodiments thereof.
  • FIG. 2 is a flow chart illustrating an exemplary conversation fingerprinting method of the present invention.
  • FIG. 3 is a flow chart illustrating an exemplary method for determining network latency based on conversation fingerprints.
  • FIG. 1 represents a high-level block diagram of an exemplary operating environment for implementation of certain embodiment of the present invention.
  • an exemplary operating environment includes various network devices configured for accessing and reading associated computer-readable media having stored thereon data and/or computer-executable instructions for implementing various methods of the present invention.
  • the network devices are interconnected via a distributed network 106 comprising one or more network segments.
  • the network 106 may comprise any telecommunication and/or data network, whether public or private, such as a local area network, a wide area network, an intranet, an internet and any combination thereof and may be wire-line and/or wireless.
  • a network device includes a communication device for transmitting and receiving data and/or computer-exec executable instructions over the network 106, and a memory for storing data andor computer-executable instructions.
  • a network device may also include a processor for processing data and executing computer- executable instructions, as well as other internal and peripheral components that are well known in the art (e.g., input and output devices.)
  • the term "computer- readable medium” describes any form of computer memory or a propagated signal transmission medium. Propagated signals representing data and computer-executable instructions are transferred between network devices.
  • a network device may generally comprise any device that is capable of communicating with the resources of the network 106.
  • a network device may comprise, for example, a server (e.g., firewall server 112 and application server 114), a workstation 104, a router 110, and other devices.
  • server generally refers to a computer system that serves as a repository of data and programs shared by users in a network 106. The term may refer to both the hardware and software or just the software that performs the server service.
  • a workstation 104 may comprise a desktop computer, a laptop computer and the like.
  • a workstation 104 may also be wireless and may comprise, for example, a personal digital assistant (PDA), a digital andor cellular telephone or pager, a handheld computer, or any other mobile device.
  • PDA personal digital assistant
  • Firewall servers 112 and routers 110 are well- known in the art and are therefore not described in further detail herein.
  • Network monitoring devices 105a-e may be installed on any network device or on any network segment 106a.
  • the term network monitoring device 105a-e may refer to software and/or hardware components for recording streams of network packets, classifying the recorded data packets into traffic flows (also referred to as conversations), summarizing attributes of the traffic flows, and storing the results for subsequent reporting.
  • network monitoring devices may be configured for implementing a process, referred to herein as "conversation fingerprinting," for identifying particular data packets or traffic flows at different points on the network 106.
  • Conversation fingerprinting involves creating a unique identifier based on an invariant portion of one or more data packets in a traffic flow (also referred to as a conversation).
  • the invariant portion of a data packet may be any portion that is not modified in transit due to network address translation or other modifications. Addresses and other fields in the header portion of a data packet are typically not invariant.
  • the data payload of a data packet is typically invariant (before or after encryption).
  • additional heuristics may be applied based on additional attributes of the data packets or conversations.
  • additional attributes may include the number of bits or bytes of the packet or conversation and/or the number of packets in the conversation. Since it is not rare to see a sequence of identically formed conversations (having the same invariant data and attributes in every regard) occurring several minutes apart, one other component of the heuristic may be time-based.
  • the invariant data from two or more data packets must be transferred to a common location, such as a network monitoring device 105 or a controller 109 configured for performing equivalence tests and additional heuristics.
  • a common location such as a network monitoring device 105 or a controller 109 configured for performing equivalence tests and additional heuristics.
  • each network monitoring device 105 must collect invariant data (and optionally other attributes) and transmit the collected data (and any attributes) to a common location.
  • This increases network usage by a factor of n, where n is the number of network monitors.
  • the essence of the invariant data may be distilled into a fixed number of bits that is substantially smaller than the number of bits in the original invariant data.
  • the distilled data and any associated attributes may be transmitted by each network monitoring device 105 to a common location for comparison.
  • Distilling the essence of the invariant data may be achieved, for example, by applying a hashing function to the invariant data.
  • the hashing function may be a cyclic redundancy check ("CRC") or any other sort of checksum mechanism.
  • CRC cyclic redundancy check
  • the hashing function may be chosen such that two identical sets of invariant data produce an equivalent hash key, while two sets of invariant data that produce different hash keys are not identical.
  • equivalent hash keys does not ensure matching of identical conversations or data packets because it is possible that different sets of invariant data might produce the same hash key.
  • the probability of different sets of invariant data producing the same hash key is dependent on the particular hashing mechanism used. For example if all invariant data patterns are equally likely and CC ⁇ TT-CRC32 (an international standard 32-bit CRC mechanism) is used, different patterns have different CRC values approximately 99.9999999767% of the time.
  • FIG. 2 is a flow chart illustrating an exemplary conversation fingerprinting method of the present invention.
  • the method begins at start step 201 and advances to step 202, where a data packet is received and time-stamped with time information from a coordinated time source.
  • the packet protocol fields are determined, which might involve identifying multiple protocol layers (e.g., Ethernet header, IP header, TCP header).
  • the data packet may be classified as belonging to a particular traffic flow, such as a particular TCP stream, at step 206.
  • the classified data packet is added to any packets already identified as belonging to the traffic flow, or is considered to be the initial data packet in a new traffic flow.
  • time stamps are determined for selected data packets in the traffic flow.
  • the selected data packets may be the first and last data packets in each direction of the traffic flow (i.e., first and last packets received by a network device and first and last packets sent by the network device).
  • the timestamps of the first and last data packets in each direction of a traffic flow are typically good indicators of latency.
  • Other selected data packets may be chosen if desired.
  • step 218 additional attributes of the traffic flow may be recorded.
  • step 220 the hash key, the timestamps of the selected data packets and any additional attributes of the conversation are transmitted to a designated network device for comparison. Following step 220, the method returns to step 202 where another data packet is received and the method is repeated.
  • FIG. 3 is a flow chart illustrating an exemplary method for determining network latency based on conversation fingerprints.
  • the exemplary method begins at step 301 and advances to step 302, where hash keys, associated timestamps and any additional attributes are received from a first network monitoring device.
  • hash keys, associated timestamps and any additional attributes are received from a second network monitoring device.
  • steps 302 and 304 are presented by way of illustration only and are not intended to reflect a fixed sequence. The order in which hash keys and associated data are received from different network monitoring devices may vary.
  • step 306 the hash keys received from the first network monitoring device are compared to the hash keys received from the second network monitoring device. If it is determined at step 308 that no hash key received from the first network monitoring device matches a hash key received from the second network monitoring device, the method returns to and is repeated from step 302. However, if it is determined at step 308 that a hash key received from the first network monitoring device matches a hash key received from the second network monitoring device, the method proceeds to step 310, where any additional attributes associated with the first hash key are compared to corresponding attributes of the second hash key.
  • step 312 If it is then determined at step 312 that the attributes associated with the first hash key do not match the corresponding attributes of the second hash key, the first and second hash keys are considered to have been derived from distinct conversations and the method returns to and is repeated from step 302. However, if the attributes associated with the first hash key do match the corresponding attributes of the second hash key, the probability of the first and second hash keys having been derived from the same conversation is considered to be very high and the method moves to step 314. At step 314, the timestamps associated with the first hash key are compared to the corresponding timestamps associated with the second hash key in order to determine point-to-point network transit latencies between the first network monitoring device and the second network monitoring device. Following step 314, the method returns to and is repeated from step 302.

Abstract

The present invention provides methods for identifying and tracking data packets across a network. Specifically, network monitoring devices are configured to identify particular data packets or traffic flows at different points in a network by conversation fingerprinting. Conversation fingerprinting involves creating a unique identifier based on an invariant portion of one or more data packets in a traffic flow. An equivalency test is then performed between two identifiers from different monitoring devices to determine if the same data packet is received at two or more network monitoring devices. In order to reduce the probability of mismatches, additional heuristics may be applied based on additional attributes of the data packet or conversation. If a match occurs, then the timestamps of the two identifiers are compared to determine the point-to-point network transit latency between the two network monitoring devices.

Description

METHODS FOR IDENTIFYING NETWORK TRAFFIC FLOWS
Technical Field
[001] The field of the present invention relates generally to systems and methods for providing end-to-end quality of service measurements in a distributed network environment. More particularly, the present invention relates to systems and methods for identifying and tracking network data packets across a distributed network despite the masking effects of network address translations and other modifications.
Background of the Invention
[002] In order to produce metrics needed for quality-of-service analyses and usage-based accounting, it is important to be able to identify and track particular data packets or groups of data packets at different points in the network. Tracking data packets andor network traffic flows across a network, in the abstract, is a simple concept. Network monitoring devices (e.g., flow meters) may be used to record streams of network packets and to classify the data packets into traffic flows (also referred to as conversations), summarize attributes of the traffic flows, and store the results for subsequent reporting. Two or more network monitoring devices may be employed to compare attributes of particular data packets or conversations at different points in the network.
[003] In practice, however, tracking data packets and/or network traffic flows across a network can be a complicated task. In particular, network devices, such as routers, firewalls, etc., can modify each data packet as it passes through the network device. Such modifications can prevent the use of simple equivalence tests to identify the same data packets or conversations at different network points. As an example, network address translation ("NAT") is performed by routers and firewalls to map a private network address into a public network address. Multiple network address translations may be applied to each data packet as it transits the network. Furthermore, it is generally impossible to know how many network address translations and/or other modifications have been applied to a data packet before it is observed by a network monitoring device.
[004] As an example, in order to measure a metric known as latency, it is critical to be able to identify a particular packet at different points in the network. A common method of estimating latency, in view of network address translations, is to inject test packets into the data stream that can clearly be identified at each network point. Test packets may be identified by causing them to include an artificial pattern or other identifier that is unlikely to occur normally in the network. However, such test packets might not exhibit actual latencies if there are quality-of-service differences in the network for different types of traffic. In addition, adding test packets to the data stream increases network congestion. Thus, a more accurate measurement of latency would be based on actual application packets measured in situ.
[005] Accordingly, there remains a need for a system and method for identifying and tracking particular data packets across a network despite the masking effects of network address translations and other modifications.
Summary of the Invention
[006] The present invention provides methods for identifying and tracking data packets across a network. Specifically, network monitoring devices are configured to identify particular data packets or traffic flows at different points in a network by conversation fingerprinting. Conversation fingerprinting involves creating a unique identifier based on an invariant portion of one or more data packets in a traffic flow. An equivalency test is then performed between two identifiers from different monitoring devices to determine if the same data packet is received at two or more network monitoring devices. In order to reduce the probability of mismatches, additional heuristics may be applied based on additional attributes of the data packet or conversation. If a match occurs, then the timestamps of the two identifiers are compared to determine the point-to-point network transit latency between the two network monitoring devices.
[007] In accordance with an aspect of the present invention, a method for system for identifying network traffic flows in order to provide end-to-end quality of service measurements in a distributed network environment comprises receiving a first observed data packet and applying a first timestamp thereto, identifying an invariant portion of the first observed data packet, applying a hash function to the invariant portion of the first observed data packet to produce a first hash key, comparing the first hash key to a second hash key produced by applying the hash function to another observed data packet, and if the first hash key matches the second hash key, comparing the first timestamp of the first observed data packet with a second time stamp of the second observed data packet in order to calculate network latency.
[008] In accordance with another aspect of the present invention, a method for system for identifying network traffic flows in order to provide end-to-end quality of service measurements in a distributed network environment comprises applying a hash function to the first invariant combination to produce a first hash key, recording one or more additional attributes of the first conversation instance, associating the first hash key with the timestamps of selected data packets of the first conversation instance and the one or more additional attributes, comparing the first hash key to a second hash key produced by applying the hash function to a second invariant combination derived from a second conversation instance, if the first hash key matches the second hash key, comparing the one or more additional attributes of the first conversation instance with one more corresponding attributes associated with the second conversation instance, and if the one or more additional attributes match the one more corresponding attributes, comparing the timestamps associated with the first hash key to corresponding timestamps associated with the second hash key in order to calculate network latencies.
Brief Description of the Drawings
[009] FIG. 1 is a high-level block diagram illustrating the components that makeup the framework of the present invention according to one or more exemplary embodiments thereof. [010] FIG. 2 is a flow chart illustrating an exemplary conversation fingerprinting method of the present invention.
[Oil] FIG. 3 is a flow chart illustrating an exemplary method for determining network latency based on conversation fingerprints.
Detailed Description of Exemplary Embodiments
[012] The present invention provides a system and method for identifying and tracking network data packets across a distributed network despite the masking effects of network address translations and other modifications. Exemplary embodiments of the present invention are described with reference to the figures, in which like numerals represent like elements. FIG. 1, represents a high-level block diagram of an exemplary operating environment for implementation of certain embodiment of the present invention. As depicted, an exemplary operating environment includes various network devices configured for accessing and reading associated computer-readable media having stored thereon data and/or computer-executable instructions for implementing various methods of the present invention. The network devices are interconnected via a distributed network 106 comprising one or more network segments. The network 106 may comprise any telecommunication and/or data network, whether public or private, such as a local area network, a wide area network, an intranet, an internet and any combination thereof and may be wire-line and/or wireless.
[013] Generally, a network device includes a communication device for transmitting and receiving data and/or computer-exec executable instructions over the network 106, and a memory for storing data andor computer-executable instructions. A network device may also include a processor for processing data and executing computer- executable instructions, as well as other internal and peripheral components that are well known in the art (e.g., input and output devices.) As used herein, the term "computer- readable medium" describes any form of computer memory or a propagated signal transmission medium. Propagated signals representing data and computer-executable instructions are transferred between network devices.
[014] A network device may generally comprise any device that is capable of communicating with the resources of the network 106. A network device may comprise, for example, a server (e.g., firewall server 112 and application server 114), a workstation 104, a router 110, and other devices. The term "server" generally refers to a computer system that serves as a repository of data and programs shared by users in a network 106. The term may refer to both the hardware and software or just the software that performs the server service.
[015] A workstation 104 may comprise a desktop computer, a laptop computer and the like. A workstation 104 may also be wireless and may comprise, for example, a personal digital assistant (PDA), a digital andor cellular telephone or pager, a handheld computer, or any other mobile device. These and other types of workstations 104 will be apparent to one of ordinary skill in the art. Firewall servers 112 and routers 110 are well- known in the art and are therefore not described in further detail herein.
[016] Network monitoring devices 105a-e (e.g., flow meters) may be installed on any network device or on any network segment 106a. The term network monitoring device 105a-e may refer to software and/or hardware components for recording streams of network packets, classifying the recorded data packets into traffic flows (also referred to as conversations), summarizing attributes of the traffic flows, and storing the results for subsequent reporting. In accordance with the present invention, network monitoring devices may be configured for implementing a process, referred to herein as "conversation fingerprinting," for identifying particular data packets or traffic flows at different points on the network 106.
[017] Conversation fingerprinting involves creating a unique identifier based on an invariant portion of one or more data packets in a traffic flow (also referred to as a conversation). The invariant portion of a data packet may be any portion that is not modified in transit due to network address translation or other modifications. Addresses and other fields in the header portion of a data packet are typically not invariant. The data payload of a data packet is typically invariant (before or after encryption).
[018] By identifying the invariant portion of a data packet, it is possible to perform a simple equivalence test to determine if the same data packet is received at two or more network monitoring devices 105a-e. Note that the equivalence test determines a relative equivalence and not an absolute identify between data packets because two unique data packets may contain the same invariant. As an analogy, consider two identical decks of playing cards, "deck A" and "deck B," that are shuffled together. A selected card may be identified as, for example, the two of hearts, thus distinguishing its relative functionality from that of the other cards. However, without more information, it is not possible to identify the selected card as being from deck A or from deck B.
[019] Accordingly, in the case were two unique data packets contain the same invariant data, using a simple equivalence test to compare invariant data may actually result in a mismatch. In order to reduce the probability of mismatches, additional heuristics may be applied based on additional attributes of the data packets or conversations. Such additional attributes may include the number of bits or bytes of the packet or conversation and/or the number of packets in the conversation. Since it is not rare to see a sequence of identically formed conversations (having the same invariant data and attributes in every regard) occurring several minutes apart, one other component of the heuristic may be time-based. In particular, it can be assumed that two equivalent packets or conversation seen at two points in the network a few hundred milliseconds apart instances of the identical data packet or conversation. While another instance of the equivalent data packet or conversation observed several minutes later may be assumed to be a distinct packet or conversation.
[020] Even when additional heuristics are applied, it is still statistically possible for mismatches to occur. As mentioned, two apparently equivalent conversations or data packets may actually be distinct conversations or data packets. In addition, because order- of-arrival cannot be guaranteed, it cannot be known with certainty whether two equivalent, yet distinct, conversations or data packets were received in the proper order, meaning that any latency measurements could be wrong. However, such mismatches and potential latency errors may be ignored as the rarity they are without loss of generality. In other words, an occasional missed measurement that otherwise is assumed to be drawn from the population at random does not hurt the statistical properties of the system.
[021] The invariant data from two or more data packets must be transferred to a common location, such as a network monitoring device 105 or a controller 109 configured for performing equivalence tests and additional heuristics. This implies that to compare multiple instances of a particular data packet or conversation, each network monitoring device 105 must collect invariant data (and optionally other attributes) and transmit the collected data (and any attributes) to a common location. This increases network usage by a factor of n, where n is the number of network monitors. In order to minimize the impact on network, the essence of the invariant data may be distilled into a fixed number of bits that is substantially smaller than the number of bits in the original invariant data. The distilled data and any associated attributes may be transmitted by each network monitoring device 105 to a common location for comparison.
[022] Distilling the essence of the invariant data may be achieved, for example, by applying a hashing function to the invariant data. The hashing function may be a cyclic redundancy check ("CRC") or any other sort of checksum mechanism. The hashing function may be chosen such that two identical sets of invariant data produce an equivalent hash key, while two sets of invariant data that produce different hash keys are not identical. However, as described above, equivalent hash keys does not ensure matching of identical conversations or data packets because it is possible that different sets of invariant data might produce the same hash key. The probability of different sets of invariant data producing the same hash key is dependent on the particular hashing mechanism used. For example if all invariant data patterns are equally likely and CCιTT-CRC32 (an international standard 32-bit CRC mechanism) is used, different patterns have different CRC values approximately 99.9999999767% of the time.
[023] An important property of the hash key mechanism is that it is noninvertible.
In other words, it is impossible to derive the input dataset from the hash key. Therefore, sending hash keys of data sets across a public network poses no security risk that the original data set can be reconstructed. Still, additional encryption techniques may be applied if desired.
[024] FIG. 2 is a flow chart illustrating an exemplary conversation fingerprinting method of the present invention. The method begins at start step 201 and advances to step 202, where a data packet is received and time-stamped with time information from a coordinated time source. At step 204, the packet protocol fields are determined, which might involve identifying multiple protocol layers (e.g., Ethernet header, IP header, TCP header). Using the protocol fields, the data packet may be classified as belonging to a particular traffic flow, such as a particular TCP stream, at step 206. Then at step 208, the classified data packet is added to any packets already identified as belonging to the traffic flow, or is considered to be the initial data packet in a new traffic flow.
[025] At step 210, a determination is made as to whether the data packet is the final packet in a conversation. This determination may be made based on protocol rules, a timeout interval or other methods. The timeout interval may be specified by the network administrator or any other person or entity. If the data packet is not the final data packet in the traffic flow, the method returns to step 202 to receive the next data packet. When the final data packet in the traffic flow is ultimately received, the method advances to step 212, where the invariant data from each data packet in the traffic flow is extracted. Again, the invariant data may be identified based on protocol rules. At step 214, the extracted invariant data from each data packet is combined and a hash key is computed for the combination.
[026] Next at step 216, time stamps are determined for selected data packets in the traffic flow. For example, the selected data packets may be the first and last data packets in each direction of the traffic flow (i.e., first and last packets received by a network device and first and last packets sent by the network device). The timestamps of the first and last data packets in each direction of a traffic flow are typically good indicators of latency. Other selected data packets may be chosen if desired.
[027] At step 218 additional attributes of the traffic flow may be recorded.
Again, such additional attributes may relate to the number of data packets, bytes or bits in the conversation. Other measurable attributes will occur to those of ordinary skill in the art and are therefore deemed to be contemplated by the present invention. At step 220 the hash key, the timestamps of the selected data packets and any additional attributes of the conversation are transmitted to a designated network device for comparison. Following step 220, the method returns to step 202 where another data packet is received and the method is repeated.
[028] FIG. 3 is a flow chart illustrating an exemplary method for determining network latency based on conversation fingerprints. The exemplary method begins at step 301 and advances to step 302, where hash keys, associated timestamps and any additional attributes are received from a first network monitoring device. Similarly, at step 304 hash keys, associated timestamps and any additional attributes are received from a second network monitoring device. It should be noted that steps 302 and 304 are presented by way of illustration only and are not intended to reflect a fixed sequence. The order in which hash keys and associated data are received from different network monitoring devices may vary.
[029] Next at step 306, the hash keys received from the first network monitoring device are compared to the hash keys received from the second network monitoring device. If it is determined at step 308 that no hash key received from the first network monitoring device matches a hash key received from the second network monitoring device, the method returns to and is repeated from step 302. However, if it is determined at step 308 that a hash key received from the first network monitoring device matches a hash key received from the second network monitoring device, the method proceeds to step 310, where any additional attributes associated with the first hash key are compared to corresponding attributes of the second hash key.
[030] If it is then determined at step 312 that the attributes associated with the first hash key do not match the corresponding attributes of the second hash key, the first and second hash keys are considered to have been derived from distinct conversations and the method returns to and is repeated from step 302. However, if the attributes associated with the first hash key do match the corresponding attributes of the second hash key, the probability of the first and second hash keys having been derived from the same conversation is considered to be very high and the method moves to step 314. At step 314, the timestamps associated with the first hash key are compared to the corresponding timestamps associated with the second hash key in order to determine point-to-point network transit latencies between the first network monitoring device and the second network monitoring device. Following step 314, the method returns to and is repeated from step 302.
[031] From a reading of the description above pertaining to various exemplary embodiments, many other modifications, features, embodiments and operating environments of the present invention will become evident to those of skill in the art. The features and aspects of the present invention have been described or depicted by way of example only and are therefore not intended to be interpreted as required or essential elements of the invention. It should be understood, therefore, that the foregoing relates only to certain exemplary embodiments of the invention, and that numerous changes and additions may be made thereto without departing from the spirit and scope of the invention as defined by any appended claims.

Claims

CLAIMSWe claim:
1. A method for system for identifying network traffic flows in order to provide end-to-end quality of service measurements in a distributed network environment, the method comprising: receiving a first observed data packet and applying a first timestamp thereto; identifying an invariant portion of the first observed data packet; applying a hash function to the invariant portion of the first observed data packet to produce a first hash key; comparing the first hash key to a second hash key produced by applying the hash function to another observed data packet; and if the first hash key matches the second hash key, comparing the first timestamp of the first observed data packet with a second time stamp of the second observed data packet in order to calculate network latency.
2. The method of Claim 1, wherein the hash function is a cyclic redundancy check mechanism.
3. The method of Claim 1, further including classifying the first observed data packet as belonging to a first traffic flow, wherein the other data packet also is classified as belonging to the first data traffic flow.
4. The method of Claim 1, further including determining if the first observed data packet is a final data packet in a traffic flow or conversation.
5. The method of Claim 1, further including receiving additional attributes associated with the first observed data packet.
6. The method of Claim 5, further including comparing the additional attributes of the first observed data packet to additional attributes associated with the other data packet.
7. A method for system for identifying network traffic flows in order to provide end-to-end quality of service measurements in a distributed network environment, the method comprising: applying a hash function to a first invariant combination of a first conversation instance to produce a first hash key; recording one or more additional attributes associated with the first invariant of the first conversation instance; associating the first hash key with the timestamps of selected data packets of the first conversation instance and the one or more additional attributes; comparing the first hash key to a second hash key produced by applying the hash function to a second invariant combination from a second conversation instance; if the first hash key matches the second hash key, comparing the one or more additional attributes of the first conversation instance with one more corresponding attributes associated with the second conversation instance; and if the one or more additional attributes match the one more corresponding attributes, comparing the timestamps associated with the first hash key to corresponding timestamps associated with the second hash key in order to calculate network latencies.
8. The method of Claim 7, wherein the hash function is a cyclic redundancy check mechanism.
9. The method of Claim 7, wherein the additional attributes include at least one of the number of bytes of data in the conversation instance and number of packets in the conversation instance.
10. The method of Claim 7, wherein the first conversation instance and the second conversation instance are received at two distinct network monitoring devices.
PCT/US2003/009788 2002-03-29 2003-03-31 Methods for identifying network traffic flows WO2003084137A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003230764A AU2003230764A1 (en) 2002-03-29 2003-03-31 Methods for identifying network traffic flows

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US36910102P 2002-03-29 2002-03-29
US60/369,101 2002-03-29

Publications (2)

Publication Number Publication Date
WO2003084137A2 true WO2003084137A2 (en) 2003-10-09
WO2003084137A3 WO2003084137A3 (en) 2010-06-10

Family

ID=28675565

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/009788 WO2003084137A2 (en) 2002-03-29 2003-03-31 Methods for identifying network traffic flows

Country Status (3)

Country Link
US (1) US20030223367A1 (en)
AU (1) AU2003230764A1 (en)
WO (1) WO2003084137A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006049672A2 (en) * 2004-10-28 2006-05-11 Rivulet Communications Inc. Empirical scheduling of networks packets using coarse and fine testing periods
US7339923B2 (en) 2003-10-31 2008-03-04 Rivulet Communications, Inc. Endpoint packet scheduling system
US7453885B2 (en) 2004-10-13 2008-11-18 Rivulet Communications, Inc. Network connection device
US7508813B2 (en) 2003-11-25 2009-03-24 Rivulet Communications Local area network contention avoidance
US7529247B2 (en) 2003-09-17 2009-05-05 Rivulet Communications, Inc. Empirical scheduling of network packets

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7570585B2 (en) * 2002-12-16 2009-08-04 Alcatel Lucent Facilitating DSLAM-hosted traffic management functionality
EP1548981A3 (en) * 2003-12-26 2011-05-11 Alcatel Lucent A method of monitoring a network
EP1548980A1 (en) 2003-12-26 2005-06-29 Alcatel A method of monitoring a network
US7676568B2 (en) * 2004-03-08 2010-03-09 Cisco Technology, Inc. Centrally-controlled distributed marking of content
US7751406B2 (en) * 2004-07-07 2010-07-06 At&T Intellectual Property I, Lp Controlling quality of service and access in a packet network based on levels of trust for consumer equipment
US8331234B1 (en) * 2004-09-08 2012-12-11 Q1 Labs Inc. Network data flow collection and processing
WO2006031881A2 (en) * 2004-09-14 2006-03-23 Watson Stuart T Method and system for tracking multiple information feeds on a communications network
JP4940464B2 (en) * 2005-09-16 2012-05-30 独立行政法人産業技術総合研究所 Network equipment test equipment
US8763113B2 (en) * 2005-11-28 2014-06-24 Threatmetrix Pty Ltd Method and system for processing a stream of information from a computer network using node based reputation characteristics
US8141148B2 (en) 2005-11-28 2012-03-20 Threatmetrix Pty Ltd Method and system for tracking machines on a network using fuzzy GUID technology
US9392009B2 (en) * 2006-03-02 2016-07-12 International Business Machines Corporation Operating a network monitoring entity
CN101056217B (en) * 2006-04-14 2011-01-19 华为技术有限公司 A network performance measurement method and system
CN101056218B (en) * 2006-04-14 2012-08-08 华为技术有限公司 A network performance measurement method and system
US8176178B2 (en) * 2007-01-29 2012-05-08 Threatmetrix Pty Ltd Method for tracking machines on a network using multivariable fingerprinting of passively available information
US9444839B1 (en) 2006-10-17 2016-09-13 Threatmetrix Pty Ltd Method and system for uniquely identifying a user computer in real time for security violations using a plurality of processing parameters and servers
US20080287118A1 (en) * 2007-01-12 2008-11-20 Kari Seppanen Method, apparatus and computer program for anonymization of identification data
US20120015634A1 (en) * 2010-07-19 2012-01-19 Christopher Anthony Silva Method and system for wireless phone recording
US9210453B1 (en) * 2012-04-19 2015-12-08 Arris Enterprises, Inc. Measuring quality of experience and identifying problem sources for various service types
GB201211323D0 (en) * 2012-06-26 2012-08-08 Bae Systems Plc Resolution of address translations
US9438517B2 (en) 2012-10-30 2016-09-06 Viavi Solutions Inc. Method and system for identifying matching packets
WO2014094818A1 (en) * 2012-12-17 2014-06-26 Telefonaktiebolaget L M Ericsson (Publ) Technique for monitoring data traffic
JP6105163B2 (en) * 2013-06-27 2017-03-29 徐 正 煥SEO, Jeong Hoan Multiple connection system and method for service using Internet protocol
US9680916B2 (en) 2013-08-01 2017-06-13 Flowtraq, Inc. Methods and systems for distribution and retrieval of network traffic records
US9407602B2 (en) * 2013-11-07 2016-08-02 Attivo Networks, Inc. Methods and apparatus for redirecting attacks on a network
US9742881B2 (en) * 2014-06-30 2017-08-22 Nicira, Inc. Network virtualization using just-in-time distributed capability for classification encoding
US9710648B2 (en) 2014-08-11 2017-07-18 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US11507663B2 (en) 2014-08-11 2022-11-22 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US9264370B1 (en) 2015-02-10 2016-02-16 Centripetal Networks, Inc. Correlating packets in communications networks
US10425308B2 (en) 2015-07-01 2019-09-24 Hewlett Packard Enterprise Development Lp Latency measurer
US11695800B2 (en) 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
JP2020530922A (en) 2017-08-08 2020-10-29 センチネル ラボ, インコーポレイテッドSentinel Labs, Inc. How to dynamically model and group edge networking endpoints, systems, and devices
US10853457B2 (en) 2018-02-06 2020-12-01 Didi Research America, Llc System and method for program security protection
US11470115B2 (en) 2018-02-09 2022-10-11 Attivo Networks, Inc. Implementing decoys in a network environment
WO2020236981A1 (en) 2019-05-20 2020-11-26 Sentinel Labs Israel Ltd. Systems and methods for executable code detection, automatic feature extraction and position independent code detection
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012096A (en) * 1998-04-23 2000-01-04 Microsoft Corporation Method and system for peer-to-peer network latency measurement
US6052726A (en) * 1997-06-30 2000-04-18 Mci Communications Corp. Delay calculation for a frame relay network
EP1130850A2 (en) * 2000-03-01 2001-09-05 Tektronix, Inc. Non-intrusive measurement of end-to-end network properties

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302236A (en) * 1994-05-06 1995-11-14 Hitachi Ltd Information processing system, method therefor and service providing method in the information processing system
US5781449A (en) * 1995-08-10 1998-07-14 Advanced System Technologies, Inc. Response time measurement apparatus and method
US5870557A (en) * 1996-07-15 1999-02-09 At&T Corp Method for determining and reporting a level of network activity on a communications network using a routing analyzer and advisor
US6031528A (en) * 1996-11-25 2000-02-29 Intel Corporation User based graphical computer network diagnostic tool
US6085243A (en) * 1996-12-13 2000-07-04 3Com Corporation Distributed remote management (dRMON) for networks
US6108782A (en) * 1996-12-13 2000-08-22 3Com Corporation Distributed remote monitoring (dRMON) for networks
US5893905A (en) * 1996-12-24 1999-04-13 Mci Communications Corporation Automated SLA performance analysis monitor with impact alerts on downstream jobs
US6006260A (en) * 1997-06-03 1999-12-21 Keynote Systems, Inc. Method and apparatus for evalutating service to a user over the internet
US5961598A (en) * 1997-06-06 1999-10-05 Electronic Data Systems Corporation System and method for internet gateway performance charting
US6078956A (en) * 1997-09-08 2000-06-20 International Business Machines Corporation World wide web end user response time monitor
US6021439A (en) * 1997-11-14 2000-02-01 International Business Machines Corporation Internet quality-of-service method and system
US6026442A (en) * 1997-11-24 2000-02-15 Cabletron Systems, Inc. Method and apparatus for surveillance in communications networks
US6188674B1 (en) * 1998-02-17 2001-02-13 Xiaoqiang Chen Method and apparatus for packet loss measurement in packet networks
US6154776A (en) * 1998-03-20 2000-11-28 Sun Microsystems, Inc. Quality of service allocation on a network
US7154858B1 (en) * 1999-06-30 2006-12-26 Cisco Technology, Inc. System and method for measuring latency of a selected path of a computer network
US6922417B2 (en) * 2000-01-28 2005-07-26 Compuware Corporation Method and system to calculate network latency, and to display the same field of the invention
US6873600B1 (en) * 2000-02-04 2005-03-29 At&T Corp. Consistent sampling for network traffic measurement
US20010051862A1 (en) * 2000-06-09 2001-12-13 Fujitsu Limited Simulator, simulation method, and a computer product
US6831890B1 (en) * 2000-10-31 2004-12-14 Agilent Technologies, Inc. Measuring network performance parameters in data communication networks
US6904020B1 (en) * 2000-11-01 2005-06-07 Agilent Technologies, Inc. System and method for monitoring communication networks using data stream characterization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052726A (en) * 1997-06-30 2000-04-18 Mci Communications Corp. Delay calculation for a frame relay network
US6012096A (en) * 1998-04-23 2000-01-04 Microsoft Corporation Method and system for peer-to-peer network latency measurement
EP1130850A2 (en) * 2000-03-01 2001-09-05 Tektronix, Inc. Non-intrusive measurement of end-to-end network properties

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529247B2 (en) 2003-09-17 2009-05-05 Rivulet Communications, Inc. Empirical scheduling of network packets
US7339923B2 (en) 2003-10-31 2008-03-04 Rivulet Communications, Inc. Endpoint packet scheduling system
US7508813B2 (en) 2003-11-25 2009-03-24 Rivulet Communications Local area network contention avoidance
US7453885B2 (en) 2004-10-13 2008-11-18 Rivulet Communications, Inc. Network connection device
WO2006049672A2 (en) * 2004-10-28 2006-05-11 Rivulet Communications Inc. Empirical scheduling of networks packets using coarse and fine testing periods
WO2006049672A3 (en) * 2004-10-28 2006-06-08 Rivulet Comm Inc Empirical scheduling of networks packets using coarse and fine testing periods
AU2005301330B2 (en) * 2004-10-28 2008-09-04 Rivulet Communications Inc. Empirical scheduling of networks packets using coarse and fine testing periods
AU2005301330C1 (en) * 2004-10-28 2009-01-22 Rivulet Communications Inc. Empirical scheduling of networks packets using coarse and fine testing periods

Also Published As

Publication number Publication date
WO2003084137A3 (en) 2010-06-10
AU2003230764A1 (en) 2003-10-13
AU2003230764A8 (en) 2010-07-08
US20030223367A1 (en) 2003-12-04

Similar Documents

Publication Publication Date Title
US20030223367A1 (en) Methods for identifying network traffic flows
McHugh Testing intrusion detection systems: a critique of the 1998 and 1999 darpa intrusion detection system evaluations as performed by lincoln laboratory
McHugh The 1998 Lincoln laboratory IDS evaluation: a critique
US8977705B2 (en) Method and system for data logging and analysis
Pang et al. The devil and packet trace anonymization
US8838820B2 (en) Method for embedding meta-commands in normal network packets
Morton et al. Packet reordering metrics
Callegari et al. Improving PCA‐based anomaly detection by using multiple time scale analysis and Kullback–Leibler divergence
JP2007507763A (en) High performance network content analysis platform
Yen et al. Browser fingerprinting from coarse traffic summaries: Techniques and implications
Elejla et al. Labeled flow-based dataset of ICMPv6-based DDoS attacks
US7907543B2 (en) Apparatus and method for classifying network packet data
Savola et al. Security-measurability-enhancing mechanisms for a distributed adaptive security monitoring system
Erlacher et al. How to test an IDS? GENESIDS: An automated system for generating attack traffic
Scheitle et al. Large-scale classification of IPv6-IPv4 siblings with variable clock skew
Csikor et al. Privacy of DNS-over-HTTPS: Requiem for a Dream?
CN111030888A (en) Domain name system DNS capacity measuring method, device, equipment and medium
KR102069142B1 (en) Apparatus and method for automatic extraction of accurate protocol specifications
Oujezsky et al. Botnet C&C traffic and flow lifespans using survival analysis
Fifield et al. Remote operating system classification over ipv6
US11789743B2 (en) Host operating system identification using transport layer probe metadata and machine learning
Dye Bandwidth and detection of packet length covert channels
Schoen et al. Towards generic quality assessment of synthetic traffic for evaluating intrusion detection systems
Doshi et al. Digital forensics analysis for network related data
Lee et al. PKG‐VUL: Security Vulnerability Evaluation and Patch Framework for Package‐Based Systems

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)