Stateless replay attack mitigation in network protocols

WO2025185807A8PCT designated stage Publication Date: 2025-10-02HUAWEI TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/055698
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-05
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

Conventional methods for mitigating replay attacks in network protocols, such as those used in IPsec, result in significant memory overhead due to per-connection state management, posing challenges for systems with numerous connections.

Method used

Implementing synchronized sending and receiving clocks in both nodes of a data communication network, with dynamic threshold adjustments based on real-time measurements, to ensure accurate timestamping and coordination, and incorporating integrity protection mechanisms for timestamps.

Benefits of technology

This approach reduces memory consumption by proactively discarding unreliable data, enhances accuracy and reliability in message reception, and adapts to varying network conditions, ensuring robust and efficient data communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024055698_02102025_PF_FP_ABST
    Figure EP2024055698_02102025_PF_FP_ABST
Patent Text Reader

Abstract

A Data Communication Network comprises a sending node and a receiving node. The sending node comprises a sending controller and a communication interface and the receiving node comprises a receiving controller and a communication interface. The sending controller is configured to maintain a synchronized sending clock, generate a sending timestamp based on the synchronized clock which includes the sending timestamp in a message and transmit the message to the receiving node. The receiving controller is configured to maintain a synchronized receiving clock, receive the message from the sending node, and generate a reception timestamp based on the synchronized receiving clock and determine whether the difference between timestamps is greater than a first threshold and less than a second threshold, and if so determine that the message is correctly received. The synchronized sending clock is synchronized with the synchronized receiving clock.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] STATELESS REPLAY ATTACK MITIGATION IN NETWORK PROTOCOLS

[0002] TECHNICAL FIELD

[0003] The present disclosure relates generally to the field of wireless communication systems and more specifically, to a stateless replay attack mitigation in network protocols. Furthermore, the present disclosure relates specifically to a data communication network and a method for the data communication network.

[0004] BACKGROUND

[0005] Replay attacks pose a significant threat to the security of communication systems, involving interception and retransmission of legitimate packets by malicious actors. Such replay attacks compromise the integrity and confidentiality of data in transit and hence emphasize an important role of security protocols in safeguarding digital communications. In the context of security protocols, conventional methods, such as utilising sequence numbers in the IPsec protocol, have been employed to mitigate the replay attacks. In conventional methods, employed in the IPsec protocol, sender maintains the next sequence number for each connection, and receiver, upon receiving a packet, checks the sequence number against expected value. While the use of sequence numbers has been effective in mitigating replay attacks, it introduces challenges, particularly concerning memory consumption. For each connection, both the sender and the receiver need to maintain per-connection state, involving storage of the highest received sequence number and a list (bitmap) of sequence numbers within a window. This extensive per-connection state management results in significant memory overhead for systems with a large number of connections. Thus, the conventional methods present challenges related to memory consumption and per-connection state management, and there exists a technical problem of how to achieve replay attack protection with minimal memory usage, with an efficient and scalable solution for communication systems handling numerous connections.

[0006] Therefore, in light of the foregoing discussion, there exists a need to overcome the aforementioned drawbacks associated with the conventional methods in order to allow replay attack mitigation with a small amount of space.

[0007] SUMMARY

[0008] The present disclosure provides a data communication network and a corresponding method for the data communication network. Furthermore, the present disclosure further provides a sending node and a corresponding method for use in the sending node. Moreover, the present disclosure further provides a receiving node and a corresponding method for use in the receiving node. The present disclosure provides a solution to the existing problem with the conventional methods for mitigating replay attacks. An objective of the present disclosure is to provide a solution that overcomes at least partially the problems encountered in the prior art and provides an improved data communication network and an improved method for the data communication network. The present disclosure further provides an improved sending node and an improved method for use in the sending node. The present disclosure further provides an improved receiving node and an improved method for use in the receiving node.

[0009] One or more objectives of the present disclosure are achieved by the solutions provided in the enclosed independent claims. Advantageous implementations of the present disclosure are further defined in the dependent claims.

[0010] In one aspect, the present disclosure provides a data communication network comprising a sending node and a receiving node, wherein the sending node comprises sending controller and a communication interface, and the receiving node comprises a receiving controller and a communication interface, wherein the sending controller is configured to maintain a synchronized sending clock to generate a sending timestamp, Tl, based on the synchronized sending clock which include the sending timestamp in a message and transmit the message to the receiving node via the communication interface of the sending node and wherein the receiving controller is configured to maintain a synchronized receiving clock is configured to receive the message from the sending node via the communication interface of the receiving node and generate a reception timestamp, T2, based on the synchronized receiving clock, determine whether the difference between the receiving timestamp and the sending time stamp is greater than a first threshold El and less than a second threshold E2, and if so determine that the message is correctly received, wherein the synchronized sending clock is synchronized with the synchronized receiving clock.

[0011] The data communication network of the present invention implements the synchronized clocks in both the sending node and the receiving node ensuring precise temporal alignment, fostering accurate timestamping and coordination of data transmission. The dynamic adjustment of threshold error levels, based on real-time measurements and latency considerations, enhances adaptability to varying network conditions, contributing to improved accuracy and reliability in message reception. The data communication network's responsiveness to measurement messages and periodic measurement procedures further supports dynamic adjustments of the thresholds. Additionally, the incorporation of integrity protection mechanisms for timestamps enhances data security, ensuring the trustworthiness of transmitted information. Thus, the data communication network helps in maintaining responsiveness and data integrity, collectively providing a robust and efficient foundation for reliable data communication.

[0012] In an implementation form, the receiving controller is further configured to discard the message if the difference between the receiving timestamp and the sending timestamp is less than the first threshold E 1 or greater than the second threshold E2.

[0013] By virtue of discarding messages with timestamps outside the defined time range, the data communication network proactively mitigates potential errors that help in preventing the processing of unreliable or outdated data, improving the overall accuracy of the data communication network.

[0014] In a further implementation form, the receiving controller is further configured to determine the first threshold and the second threshold, by periodically or repeatedly sending measurement messages and noting the time it takes to send these measurement messages and basing the first and second threshold error levels on the time it takes to send the measurement messages.

[0015] By the virtue of assessing the time it takes to send measurement messages, the data communication network adapts error thresholds in real-time to account for changes in network conditions which ensures that the thresholds remain relevant and effective even in dynamic or varying environments.

[0016] In a further implementation form, the second threshold error level, represents a maximum difference in time for transmission of a message, and the first threshold error level, El, represents a minimum difference in time for transmission of a message.

[0017] The dual-threshold approach allows for fine-tuned control over the acceptance criteria for message transmission times. By defining both El and E2 thresholds, the data communication network can distinguish between messages that are transmitted too quickly or too slowly, enabling precise error handling.

[0018] In a further implementation form, the receiving controller is further configured to determine the first and second threshold error levels by measuring the latency, L, for transmitting the measurement message, and determine the first threshold error level El as -(e-Lmin), and the second threshold error level E2 as e+Lmax, where Lmn is a minimum latency, Lmax is a maximum latency, e is an error value indicating an acceptable error margin.

[0019] By the virtue of incorporating an acceptable error margin (e) into the threshold calculations, the data communication network becomes more adaptive to variations in latency which allows for a more nuanced and responsive handling of latency-related issues, striking a balance between sensitivity and tolerance.

[0020] In an implementation form, the sending controller is configured to receive the measurement message from the receiving node via the communication interface of the sending node, generate a second transmission timestamp, T3, based on the synchronized receiving clock, and transmit the second transmission timestamp T3 to the receiving node in a measurement response message via the communication interface of the sending node, and wherein the receiving controller is further configured to receive the measurement response message and generate a second reception timestamp T4 for the time when the measurement response message is received and determine the second threshold error level as a value larger than T4-T3 and determine the first threshold error level as a value smaller than T4-T3.

[0021] The bidirectional exchange of timestamps between the sending node and the receiving node provides a more comprehensive view of the communication process which enables both nodes to have insight into the time it takes for a message to travel between the sending node and the receiving node.

[0022] In another aspect, a method for the data communication network, comprising the sending node and the receiving node, and wherein the method comprises the sending node maintaining a synchronized sending clock, generating a sending timestamp, Tl, based on the synchronized sending clock, including the sending timestamp in a message, and transmitting the message to the receiving node, and the receiving node maintaining a synchronized receiving clock, receiving the message from the sending node via the communication interface of the receiving node, generating a reception timestamp, T2, based on the synchronized receiving clock, determining whether the difference between the receiving timestamp and the sending time stamp is greater than a first threshold error level and less than a second threshold error level, and if so determining that the message is correctly received, wherein the synchronized sending clock is synchronized with the synchronized receiving clock.

[0023] The method achieves all the advantages and technical effects of the data communication network of the present disclosure.

[0024] In another aspect, a sending node is configured to operate in the data communication network, comprising the sending node and a receiving node, wherein the sending node comprises a sending controller and a communication interface, wherein the sending controller is configured to maintain a synchronized sending clock, generate a sending timestamp, Tl , based on the synchronized sending clock, include the sending timestamp in a message, and transmit the message to the receiving node via the communication interface of the sending node.

[0025] The sending node achieves all the advantages and technical effects of the data communication network of the present disclosure.

[0026] In yet another aspect, a method for use in the sending node configured to operate in a data communication network, comprising the sending node and a receiving node, wherein the method comprises maintaining a synchronized sending clock generating a sending timestamp, Tl, based on the synchronized sending clock, including the sending timestamp in a message, and transmitting the message to the receiving node via the communication interface of the sending node. The method for use in the sending node achieves all the advantages and technical effects of the data communication network of the present disclosure.

[0027] In yet another aspect, a receiving node is configured to operate in the data communication network, comprising a sending node and the receiving node, wherein the receiving node comprises a receiving controller and a communication interface, and wherein the receiving controller is configured to maintain a synchronized receiving clock, receive a message including a sending timestamp, Tl, from the sending node via the communication interface of the receiving node, generate a reception timestamp, T2, based on the synchronized receiving clock, determine whether the difference between the receiving timestamp and the sending time stamp is greater than a first threshold error level and less than a second threshold error level, and if so determine that the message is correctly received, wherein the synchronized sending clock is synchronized with the synchronized receiving clock.

[0028] The receiving node achieves all the advantages and technical effects of the data communication network of the present disclosure.

[0029] In yet another aspect, a method for use in the receiving node configured to operate in the data communication network, comprising the sending node and the receiving node, wherein the method comprises maintaining the synchronized receiving clock, receiving the message including a sending timestamp, Tl, from the sending node via the communication interface of the receiving node, generating a reception timestamp, T2, based on the synchronized receiving clock, determining whether the difference between the receiving timestamp and the sending time stamp is greater than the first threshold error level and less than the second threshold error level, and if so determine that the message is correctly received, wherein the synchronized sending clock is synchronized with the synchronized receiving clock.

[0030] The method for use in the receiving node achieves all the advantages and technical effects of the data communication network of the present disclosure.

[0031] It is to be appreciated that all the aforementioned implementation forms can be combined.

[0032] It has to be noted that all devices, elements, circuitry, units and means described in the present application could be implemented in the software or hardware elements or any kind of combination thereof. All steps which are performed by the various entities described in the present application as well as the functionalities described to be performed by the various entities are intended to mean that the respective entity is adapted to or configured to perform the respective steps and functionalities. Even if, in the following description of specific embodiments, a specific functionality or step to be performed by external entities is not reflected in the description of a specific detailed element of that entity which performs that specific step or functionality, it should be clear for a skilled person that these methods and functionalities can be implemented in respective software or hardware elements, or any kind of combination thereof. It will be appreciated that features of the present disclosure are susceptible to being combined in various combinations without departing from the scope of the present disclosure as defined by the appended claims.

[0033] Additional aspects, advantages, features and objects of the present disclosure would be made apparent from the drawings and the detailed description of the illustrative implementations construed in conjunction with the appended claims that follow. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] The summary above, as well as the following detailed description of illustrative embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the present disclosure, exemplary constructions of the disclosure are shown in the drawings. However, the present disclosure is not limited to specific methods and instrumentalities disclosed herein. Moreover, those in the art will understand that the drawings are not to scale. Wherever possible, like elements have been indicated by identical numbers.

[0035] Embodiments of the present disclosure will now be described, by way of example only, with reference to the following diagrams wherein:

[0036] FIG. 1 is a block diagram of a data communication network, in accordance with an embodiment of the present disclosure;

[0037] FIG. 2 is a flow chart that depicts a method for the data communication network, in accordance with an embodiment of the present disclosure;

[0038] FIG. 3 is a block diagram that depicts a sending node configured to operate in the data communication network, in accordance with an embodiment of the present disclosure;

[0039] FIG. 4 is a flow chart of a method for use in the sending node configured to operate in the data communication network, in accordance with an embodiment of the present disclosure;

[0040] FIG. 5 is a block diagram that depicts a receiving node configured to operate in the data communication network, in accordance with an embodiment of the present disclosure;

[0041] FIG. 6 is a flow chart of a method for use in the receiving node configured to operate in the data communication network, in accordance with an embodiment of the present disclosure; and

[0042] FIG. 7 is an exemplary diagram depicting transmittal of a message from sending node to the receiving node in the data communication network, in accordance with an embodiment of the present disclosure.

[0043] In the accompanying drawings, an underlined number is employed to represent an item over which the underlined number is positioned or an item to which the underlined number is adjacent. A non-underlined number relates to an item identified by a line linking the non-underlined number to the item. When a number is non-underlined and accompanied by an associated arrow, the non-underlined number is used to identify a general item at which the arrow is pointing.

[0044] DETAILED DESCRIPTION OF EMBODIMENTS

[0045] The following detailed description illustrates embodiments of the present disclosure and ways in which they can be implemented. Although some modes of carrying out the present disclosure have been disclosed, those skilled in the art would recognize that other embodiments for carrying out or practicing the present disclosure are also possible.

[0046] FIG. 1 is a block diagram of a data communication network, in accordance with an embodiment of the present disclosure. With reference to FIG. 1, there is shown the block diagram of a data communication network 100 that includes a sending node 102 and receiving node 104 connected through a communication network 114. The data communication network 100 refers to a network comprising the sending node 102 and the receiving node 104. The data communication network 100 specifically refers to the network employing replay attack mitigation technique of the present invention. The data communication network 100 is useful in scenarios like NTP (Network Time Protocol)-synchronized systems, demonstrating reduction of the replay attack impact within a calculated time window. In an example, the data communication networks may include but are not limited to, Internet, local area networks (LANs), and wide area networks (WANs), where devices communicate and exchange data.

[0047] The sending node 102 refers to a component within the data communication network 100 responsible for transmitting data packets. The sending node comprises a sending controller 106 and a communication interface 108. In an example, the sending node 102 may include but are not limited to, a transmitter, a sender, a transceiver, an encoder, a user terminal of a cellular network, a customized hardware for wireless telecommunication, or any other portable or nonportable electronic device, client device, user equipment, and the like.

[0048] The sending controller 106 refers to a processing unit configured to coordinate and manage the transmission of the data packets in the data communication network 100. Examples of implementation of the sending controller 106 may include but are not limited to a central data processing device, a microprocessor, a microcontroller, a complex instruction set computing (CISC) processor, an application-specific integrated circuit (ASIC) processor, a reduced instruction set (RISC) processor, a very long instruction word (VLIW) processor, a state machine, and other processors or control circuitry. The communication interface 108 is configured to enable communication of the sending node 102 with the communication network 114. Examples of the communication interface 108 include but are not limited to, a network interface card, and the like.

[0049] The receiving node 104 refers to a component in the data communication network 100 responsible for accepting and processing the data packets transmitted by the sending node 102. The receiving node comprises a receiving controller 110 and a communication interface 112. In an example, the receiving node 104 may include but are not limited to, a transmitter, a transceiver, an encoder, a user terminal of a cellular network, a customized hardware for wireless telecommunication, or any other portable or non-portable electronic device, client device, user equipment, and the like.

[0050] The receiving controller 110 refers to a processing unit configured to receive and process the data packets in the data communication network 100. Examples of implementation of the receiving controller 110 may include but are not limited to a central data processing device, a microprocessor, a microcontroller, a complex instruction set computing (CISC) processor, an application-specific integrated circuit (ASIC) processor, a reduced instruction set (RISC) processor, a very long instruction word (VLIW) processor, a state machine, and other processors or control circuitry. The communication interface 112 is configured to enable communication of the receiving node 104 with the communication network 114. Examples of the communication interface 112 include but are not limited to, a network interface card, and the like.

[0051] The communication network 114 includes a medium (e.g., a communication channel) through which the sending node 102 communicates with the receiving node 104. The communication network 114 may be a wired or wireless communication network. Examples of the communication network 114 may include, but are not limited to, Internet, a Local Area Network (LAN), a wireless personal area network (WPAN), a Wireless Local Area Network (WLAN), a wireless wide area network (WWAN), a cloud network, a Long-Term Evolution (LTE) network, a plain old telephone service (POTS), a Metropolitan Area Network (MAN), and / or the Internet.

[0052] In operation, the sending controller 106 is configured to maintain a synchronized sending clock. In an implementation, the synchronized sending clock is maintained based on standard synchronization protocols such as Network Time Protocol (NTP) and Precision Time Protocol (PTP). In another implementation, the synchronized sending clock is maintained with a reference time source. By configuring the sending controller 106 to utilize standard synchronization protocols like Network Time Protocol (NTP) and Precision Time Protocol (PTP), the sending controller 106 ensures precise temporal alignment. The synchronized sending clock facilitates coordinated actions among interconnected nodes (for example, the sending node 102 and the receiving node 104), improving overall efficiency, accuracy, and reliability of the data communication network 100.

[0053] The sending controller 106 is configured to generate a sending timestamp, T1 , based on the synchronized sending clock. In other words, the sending controller 106 utilizes the synchronized sending clock to derive the sending timestamp, T1 , corresponding to moment of sending of a message. The technical effect of generating the sending timestamp, Tl, is the accurate recording of time information through the generation of a synchronized sending timestamp, enhancing precision in timestamping activities within the data communication network 100.

[0054] The sending controller 106 is configured to include the sending timestamp in a message. In other words, the sending controller 106 is configured to incorporate the generated sending timestamp, Tl, into the message. The technical effect of including the sending timestamp in the message is the inclusion of temporal information within the message, facilitating chronological alignment and aiding in the coordination of events across the data communication network 100. The sending controller 106 is configured to transmit the message to the receiving node 104 via the communication interface 108 of the sending node 102. In other words, the sending controller 106 initiates transmission of the message using the communication interface 108 of the sending node 102 through the communication network 114 to reach the receiving node 104.

[0055] The receiving controller 110 is configured to maintain a synchronized receiving clock. In an implementation, the synchronized receiving clock is maintained based on standard synchronization protocols such as Network Time Protocol (NTP) and Precision Time Protocol (PTP). In another implementation, the synchronized receiving clock is maintained with a reference time source. By configuring the receiving controller 110 to utilize standard synchronization protocols like Network Time Protocol (NTP) and Precision Time Protocol (PTP), the receiving controller 110 ensures precise temporal alignment. The synchronized receiving clock facilitates coordinated actions among interconnected nodes (for example, the sending node 102 and the receiving node 104), improving overall efficiency, accuracy, and reliability of the data communication network 100.

[0056] The receiving controller 110 is configured to receive the message from the sending node 102 via the communication interface 112 of the receiving node 104. In other words, the receiving controller 106 initiates receiving of the message using the communication interface 112 of the receiving node 104 through the communication network 114 from the sending node 102.

[0057] The receiving controller 110 is configured to generate a reception timestamp, T2, based on the synchronized receiving clock. In other words, the receiving controller 110 utilizes the synchronized receiving clock to derive a reception timestamp, T2, corresponding to moment of receiving of the message. The technical effect of generating the reception timestamp, T2, is the accurate recording of time information through the generation of a synchronized receiving timestamp, enhancing precision in timestamping activities within the data communication network 100.

[0058] The receiving controller 110 is configured to determine whether the difference between the receiving timestamp and the sending timestamp is greater than a first threshold El and less than a second threshold E2, and if so determine that the message is correctly received. In an implementation, the receiving controller 110, upon receiving the message, is configured to determine the time difference, T, between the sending timestamp, Tl, and the receiving timestamp, T2. T = T2-T1

[0059] Further, the receiving controller 110 verifies that the time difference, T, falls within a maximum error range, i.e. the time difference, T, is greater than the first threshold, El, and less than the second threshold, E2.

[0060] El < T < E2

[0061] In such an implementation, if the receiving controller 110 verifies that the time difference, T, falls within the maximum error range, the receiving controller 110 is further configured to determine that the message is correctly received. The technical effect of the receiving controller 110, upon verifying that the time difference (T) falls within the specified maximum error range, is that the data communication network 100 gains the capability to accurately determine the correctness of the received message. The verification of the time difference ensures a robust and reliable mechanism for confirming the accuracy of the received data, enhancing the overall integrity and precision of the data communication network 100.

[0062] In an embodiment, the receiving controller 110 is further configured to discard the message if the difference between the receiving timestamp and the sending timestamp is less than the first threshold El or greater than the second threshold E2. The technical effect of discarding the message is that the receiving controller 110 is equipped to enhance data integrity by implementing a threshold-based filtering mechanism. If the difference between the receiving timestamp, T2, and the sending timestamp, T1 , falls below the first threshold, El , or exceeds the second threshold, E2, the receiving controller 110 takes the action of discarding the message. Thus, the receiving controller 110 ensures that only messages with time differences within a range are considered valid, contributing to the overall reliability and accuracy of the data communication network 100.

[0063] In an embodiment, the second threshold error level, E2, represents a maximum difference in time for transmission of a message, and the first threshold error level, El , represents a minimum difference in time for transmission of a message. In other words, El refers to a minimum acceptable difference in time for the transmission of the message. El may be set as a lower limit below which the difference between the receiving timestamp, T2, and the sending timestamp T1 is considered insufficient. Further, E2 refers to a maximum permissible difference in time for the transmission of the message. E2 may be set as an upper limit beyond which the difference between the receiving timestamp, T2, and the sending timestamp, Tl, is considered excessive. The technical effect of E2 is that E2 guards against potential issues arising from excessively delayed or prolonged message transmission and thus helps in filtering out messages with time differences beyond the defined maximum, contributing to the data communication network’s 100 reliability. The technical effect of El is that El serves as a lower limit to ensure that the messages are not considered valid if the time difference is too short and thus enhances precision and reliability by discarding messages with time differences below minimum threshold.

[0064] In an embodiment, the receiving controller 110 is further configured to determine the first threshold and the second threshold, by periodically or repeatedly sending measurement messages and noting the time it takes to send these measurement messages and basing the first and second threshold error levels on the time it takes to send the measurement messages. In other words, the receiving controller 110 is configured to establish the values for the first threshold, El , and the second threshold, E2. The determination of El and E2 includes periodically or repeatedly sending measurement messages and recording the time taken for these measurement messages to travel. The first and second threshold error levels are then derived based on the measured time durations for sending these measurement messages. The technical effect of the determination of El and E2 is that it allows the receiving controller 110 to dynamically adapt and set values of El and E2 based on real-time measurements. By periodically sending measurement messages and observing the transmission times, the data communication network 100 gains insights into current network conditions and adjusts the threshold levels accordingly. The dynamic adjustment of threshold values enhances the data communication network's 100 responsiveness to changing network characteristics, ensuring that the El and E2 align with the actual time it takes to transmit messages.

[0065] The synchronized sending clock is synchronized with the synchronized receiving clock. The technical effect of synchronizing the synchronized sending clock with the synchronized receiving clock lies in achieving temporal consistency and precision in data transmission. The synchronization ensures that messages are sent and received in a coordinated manner, maintaining chronological order, and reducing latency. The synchronized clocks enhance the reliability of communication by minimizing timing discrepancies, fostering a more predictable and accurate exchange of data between the sending node 102 and the receiving node 104.

[0066] In an embodiment, the receiving controller 110 is further configured to determine the first and second threshold error levels by measuring the latency, L, for transmitting the measurement message, and determine the first threshold error level El as (e-Lmin), and the second threshold error level E2 as e+Lmax, where Lmn is a minimum latency, Lmax is a maximum latency, and e is an error value indicating an acceptable error margin. In other words, the receiving controller 110 is configured to determine the first, El, and second, E2, threshold error levels by measuring the latency, L, associated with transmitting the measurement message. The determination of El and E2 includes setting the first threshold El as the difference between an acceptable error margin (e) and the minimum latency Lmin, and the second threshold E2 as the sum of the error margin (e) and the maximum latency Lmax, where, Lmin represents the minimum latency, Lmax denotes the maximum latency, and e is an error value indicating an acceptable margin for error. By considering the minimum and maximum latency values, the data communication network 100 can define the acceptable error range for the transmission process, enabling flexibility in adapting to varying network conditions. The technical effect of latency management ensures that the first and second threshold error levels align with the actual latency experienced during the transmission of measurement messages, thereby enhancing the data communication network’s 100 responsiveness to changes in network latency, contributing to improved accuracy and reliability in the determination of threshold error levels for message reception.

[0067] In another embodiment, the sending controller 106 is configured to receive the measurement message from the receiving node 104 via the communication interface 108 of the sending node 102, generate a second transmission timestamp, T3, based on the synchronized receiving clock, and transmit the second transmission timestamp T3 to the receiving node 104 in a measurement response message via the communication interface 108 of the sending node 102. In such an embodiment, the receiving controller 110 is further configured to receive the measurement response message and generate a second reception timestamp T4 for the time when the measurement response message is received, determine the second threshold error level as a value larger than T4-T3, and determine the first threshold error level as a value smaller than T4-T3. Thus, the data communication network 100 comprising the sending node 102 and the receiving node 104, enables accurate adjustment of threshold levels based on real-time measurements, contributing to improved synchronization and reliability in message transmission and reception.

[0068] In an embodiment, the receiving controller 110 is further configured to repeatedly transmit measurement messages to the sending node 102 via the communication interface 112 of the receiving node 104. In such an embodiment, the sending controller 106 is configured to receive the measurement messages from the receiving node 104 via the communication interface 108 of the sending node 102 and transmit a measurement response message for each received measurement message to the receiving node 104 via the communication interface 108 of the sending node 102. In such an embodiment, the receiving controller 110 is further configured to determine the second threshold error level E2 as a maximum of T4-T3 and determine the first threshold error level El as a minimum of T4-T3. Thus, the data communication network 100 comprising the sending node 102 and the receiving node 104, allows for real-time adjustment of threshold levels, enhancing precision and adaptability in maintaining synchronization between the sending node 102 and receiving node 104 during communication.

[0069] Fig 2 is a flow chart that depicts a method for the data communication network, in accordance with an embodiment of the present disclosure. FIG. 2 is described in conjunction with elements from FIG. 1. With reference to FIG. 2, there is shown a flow chart of a method 200 for use in the data communication network 100. The method 200 includes steps 202 to 216.

[0070] At step 202, the sending node 102 is configured to maintain the synchronized sending clock. In an implementation, the synchronized sending clock is maintained based on standard synchronization protocols such as Network Time Protocol (NTP) and Precision Time Protocol (PTP).

[0071] At step 204, the sending node 102 is configured to generate a sending timestamp, Tl, based on the synchronized sending clock. In other words, the sending controller 106 utilizes the synchronized sending clock to derive the sending timestamp, Tl, corresponding to moment of sending of a message.

[0072] At step 206, the sending node 102 is configured to include the sending timestamp, Tl, in the message. The technical effect of including the sending timestamp in the message is the inclusion of temporal information within the message, facilitating chronological alignment and aiding in the coordination of events across the data communication network 100.

[0073] At step 208, the sending node 102 is configured to transmit the message to the receiving node 104 via the communication interface 108 of the sending node 102. In other words, the sending controller 106 initiates transmission of the message using the communication interface 108 of the sending node 102 through the communication network 114 to reach the receiving node 104.

[0074] At step 210, the receiving node 104 is configured to maintain the synchronized receiving clock. In an implementation, the synchronized receiving clock is maintained based on standard synchronization protocols such as Network Time Protocol (NTP) and Precision Time Protocol (PTP).

[0075] At step 212, the receiving node 104 is configured to receive the message from the sending node 102 via the communication interface 112 of the receiving node 104. In other words, the receiving controller 106 initiates receiving of the message using the communication interface 112 of the receiving node 104 through the communication network 114 from the sending node 102.

[0076] At step 214, the receiving controller 110 is configured to generate a reception timestamp, T2, based on the synchronized receiving clock. In other words, the receiving controller 110 utilizes the synchronized receiving clock to derive a reception timestamp, T2, corresponding to moment of receiving of the message.

[0077] At step 216, the receiving controller 110 is configured to determine whether the difference between the receiving timestamp, T2 and the sending timestamp, Tl is greater than a first threshold El and less than a second threshold E2, and if so determine that the message is correctly received, wherein the synchronized sending clock is synchronized with the synchronized receiving clock.

[0078] Advantageously, the method 200 is adaptable to varying network conditions by incorporating synchronized clocks and error thresholds, the method 200 can adjust to changes in latency or other network dynamics, ensuring robust performance under different circumstances. Maintaining synchronized clocks in both the sending node 102 and the receiving node 104 ensures accurate timing throughout the communication process and minimizes the risk of data corruption or inaccuracies during the transmission process.

[0079] The steps 202 to 216 are only illustrative, and other alternatives can also be provided where one or more steps are added, one or more steps are removed, or one or more steps are provided in a different sequence without departing from the scope of the claims herein.

[0080] There is further provided, a computer program product comprising program instructions for performing the method 200 when executed by the sending node 102 and the receiving node 104 in the data communication network 100. The computer program product is implemented as an algorithm, embedded in a software stored in a non-transitory computer- readable storage medium. The non-transitory computer-readable storage means may include but are not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. Examples of implementation of computer- readable storage medium, but are not limited to, Electrically Erasable Programmable Read-Only Memory (EEPROM), Random Access Memory (RAM), Read Only Memory (ROM), Elard Disk Drive (EfDD), Flash memory, a Secure Digital (SD) card, Solid-State Drive (SSD), a computer-readable storage medium, and / or CPU cache memory.

[0081] FIG. 3 is a block diagram that depicts the sending node 102 configured to operate in the data communication network 100, in accordance with an embodiment of the present disclosure. FIG. 3 is described in conjunction with elements from FIG. 1. With reference to FIG. 3, there is shown an illustration of the operation of sending node 102 in the data communication network 100 that includes the sending node 102 comprising the sending controller 106, the communication interface 108 and a synchronized sending clock 302.

[0082] The synchronized sending clock 302 refers to a clock that is configured to ensure the coordination and precise timing in the transmission of data and helps in synchronizing the activities of different nodes within the data communication network 100, preventing conflicts, and optimizing the efficiency of data exchange.

[0083] In operation, the sending controller 106 is configured to maintain the synchronized sending clock 302. In an implementation, the synchronized sending clock 302 is maintained based on standard synchronization protocols such as Network Time Protocol (NTP) and Precision Time Protocol (PTP). In another implementation, the synchronized sending clock 302 is maintained with a reference time source. By configuring the sending controller 106 to utilize standard synchronization protocols like Network Time Protocol (NTP) and Precision Time Protocol (PTP), the sending controller 106 ensures precise temporal alignment. The synchronized sending clock 302 facilitates coordinated actions among interconnected nodes (for example, the sending node 102 and the receiving node 104), improving overall efficiency, accuracy, and reliability of the data communication network 100.

[0084] The sending controller 106 is configured to generate a sending timestamp, T1 , based on the synchronized sending clock 302. In other words, the sending controller 106 utilizes the synchronized sending clock 302 to derive the sending timestamp, Tl, corresponding to moment of sending of a message. The technical effect of generating the sending timestamp, Tl, is the accurate recording of time information through the generation of a synchronized sending timestamp, enhancing precision in timestamping activities within the data communication network 100.

[0085] The sending controller 106 is configured to include the sending timestamp in a message. In other words, the sending controller 106 is configured to incorporate the generated sending timestamp, Tl, into the message. The technical effect of including the sending timestamp in the message is the inclusion of temporal information within the message, facilitating chronological alignment and aiding in the coordination of events across the data communication network 100. The sending controller 106 is configured to transmit the message to the receiving node 104 via the communication interface 108 of the sending node 102. In other words, the sending controller 106 initiates transmission of the message using the communication interface 108 of the sending node 102 through the communication network 114 to reach the receiving node 104.

[0086] In an embodiment, the sending controller 106 is configured to receive the measurement message from the receiving node 104 via the communication interface 108 of the sending node 102, generate the second transmission timestamp, T3, based on the synchronized receiving clock, and transmit the second transmission timestamp T3 to the receiving node 104 in the measurement response message via the communication interface 108 of the sending node 102. Thus, the data communication network 100 comprising the sending node 102 and the receiving node 104, enables accurate adjustment of threshold levels based on real-time measurements, contributing to improved synchronization and reliability in message transmission and reception.

[0087] The sending node 102 maintains temporal synchronization with other nodes in the data communication network 100, ensuring that the synchronized sending clock 302 is aligned with the clocks of other nodes. The synchronization is essential for accurate timestamping and coordinated communication. Additionally, the sending node 102 exhibits responsiveness to measurement messages by promptly generating timestamped measurement replies. The responsiveness supports dynamic information exchange and real-time adjustments, contributing to effective synchronization in the communication process. Furthermore, the sending node 102 enhances data integrity by employing an integrity protection mechanism for the timestamp and potentially other parts of the message. The security measure ensures the reliability and trustworthiness of the transmitted data, adding an extra layer of assurance to the communication capabilities of the sending node 102.

[0088] FIG. 4 is a flow chart of a method for use in the sending node configured to operate in the data communication network, in accordance with an embodiment of the present disclosure. FIG. 4 is described in conjunction with elements from FIGs 1 and 3. With reference to FIG. 4, there is shown a flow chart of a method 400 for use in the sending node 102 in the data communication network 100. The method 400 includes steps 402 to 408.

[0089] At step 402, the sending node 102 is configured to maintain the synchronized sending clock 302. In an implementation, the synchronized sending clock 302 is maintained based on standard synchronization protocols such as Network Time Protocol (NTP) and Precision Time Protocol (PTP).

[0090] At step 404, the sending node is configured to generate a sending timestamp, Tl, based on the synchronized sending clock 302. In other words, the sending controller 106 utilizes the synchronized sending clock 302 to derive the sending timestamp, Tl, corresponding to moment of sending of a message.

[0091] At step 406, the sending node 102 is configured to include the sending timestamp, Tl, in the message. The technical effect of including the sending timestamp in the message is the inclusion of temporal information within the message, facilitating chronological alignment and aiding in the coordination of events across the data communication network 100.

[0092] At step 408, the sending node 102 is configured to transmit the message to the receiving node 104 via the communication interface 108 of the sending node 102. In other words, the sending controller 106 initiates transmission of the message using the communication interface 108 of the sending node 102 through the communication network 114 to reach the receiving node 104. The steps 402 to 408 are only illustrative, and other alternatives can also be provided where one or more steps are added, one or more steps are removed, or one or more steps are provided in a different sequence without departing from the scope of the claims herein.

[0093] There is further provided, a computer program product comprising program instructions for performing the method 400 when executed by the sending node 102 in the data communication network 100. The computer program product is implemented as an algorithm, embedded in a software stored in a non-transitory computer-readable storage medium. The non-transitory computer-readable storage means may include but are not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. Examples of implementation of computer-readable storage medium, but are not limited to, Electrically Erasable Programmable Read-Only Memory (EEPROM), Random Access Memory (RAM), Read Only Memory (ROM), Elard Disk Drive (1TDD), Flash memory, a Secure Digital (SD) card, Solid-State Drive (SSD), a computer-readable storage medium, and / or CPU cache memory.

[0094] Fig. 5 is a block diagram that depicts the receiving node 104 configured to operate in the data communication network 100, in accordance with an embodiment of the present disclosure. FIG. 5 is described in conjunction with elements from FIG. 1. With reference to FIG. 5, there is shown an illustration of the operation of receiving node 104 in the data communication network 100 that includes the receiving node 104 comprising the receiving controller 110, the communication interface 112, and a synchronized receiving clock 502.

[0095] The synchronized receiving clock 502 refers to a clock that is configured to ensure the coordination and precise timing in the transmission of data and helps in synchronizing the activities of different nodes within the data communication network 100, preventing conflicts, and optimizing the efficiency of data exchange.

[0096] In operation, the receiving controller 110 is configured to maintain the synchronized receiving clock 502. In an implementation, the synchronized receiving clock 502 is maintained based on standard synchronization protocols such as Network Time Protocol (NTP) and Precision Time Protocol (PTP). In another implementation, the synchronized receiving clock 502 is maintained with a reference time source. By configuring the receiving controller 110 to utilize standard synchronization protocols like Network Time Protocol (NTP) and Precision Time Protocol (PTP), the receiving controller 110 ensures precise temporal alignment. The synchronized receiving clock 502 facilitates coordinated actions among interconnected nodes (for example, the sending node 102 and the receiving node 104), improving overall efficiency, accuracy, and reliability of the data communication network 100.

[0097] The receiving controller 110 is configured to receive the message from the sending node 102 via the communication interface 112 of the receiving node 104. In other words, the receiving controller 106 initiates receiving of the message using the communication interface 112 of the receiving node 104 through the communication network 114 from the sending node 102.

[0098] The receiving controller 110 is configured to generate a reception timestamp, T2, based on the synchronized receiving clock 502. In other words, the receiving controller 110 utilizes the synchronized receiving clock 502 to derive a reception timestamp, T2, corresponding to moment of receiving of the message. The technical effect of generating the reception timestamp, T2, is the accurate recording of time information through the generation of a synchronized receiving timestamp, enhancing precision in timestamping activities within the data communication network 100.

[0099] The receiving controller 110 is configured to determine whether the difference between the receiving timestamp and the sending timestamp is greater than the first threshold El and less than the second threshold E2, and if so determine that the message is correctly received. In an implementation, the receiving controller 110, upon receiving the message, is configured to determine the time difference, T, between the sending timestamp, Tl, and the receiving timestamp, T2. Further, the receiving controller 110 verifies that the time difference, T, falls within a maximum error range, i.e. the time difference, T, is greater than the first threshold, El, and less than the second threshold, E2. In such an implementation, if the receiving controller 110 verifies that the time difference, T, falls within the maximum error range, the receiving controller 110 is further configured to determine that the message is correctly received. The technical effect of the receiving controller 110, upon verifying that the time difference (T) falls within the specified maximum error range, is that the data communication network 100 gains the capability to accurately determine the correctness of the received message. The verification of the time difference ensures a robust and reliable mechanism for confirming the accuracy of the received data, enhancing the overall integrity and precision of the data communication network 100.

[0100] The synchronized sending clock 302 is synchronized with the synchronized receiving clock 502. The technical effect of synchronizing the synchronized sending clock 302 with the synchronized receiving clock 502 lies in achieving temporal consistency and precision in data transmission. The synchronization ensures that messages are sent and received in a coordinated manner, maintaining chronological order, and reducing latency. The synchronized clocks enhance the reliability of communication by minimizing timing discrepancies, fostering a more predictable and accurate exchange of data between the sending node 102 and the receiving node 104.

[0101] In an embodiment, the receiving controller 110 is further configured to transmit the measurement response message to the sending node 102 via the communication interface 112 of the receiving node 104, receive the measurement response message from the sending node 102 via the communication interface 112 of the receiving node 104, the response message including the second transmission timestamp, T3, generate the second reception timestamp T4 for the time when the measurement response message was received based on the synchronized receiving clock 502, determine the second threshold error level as a value larger than T4-T3, and determine the first threshold error level as a value smaller than T4-T3. Thus, the data communication network 100 comprising the sending node 102 and the receiving node 104, enables accurate adjustment of threshold levels based on real-time measurements, contributing to improved synchronization and reliability in message transmission and reception.

[0102] In another embodiment, the receiving controller 110 is further configured to repeatedly generate a measurement message, transmit each measurement message to the sending node 102 via the communication interface 112 of the receiving node 104, receive a measurement response message for each measurement message from the sending node 102 via the communication interface 112 of the receiving node 104, the measurement response messages each including the second transmission timestamp, T3, generate the second reception timestamp T4 for each received measurement response message, determine the second threshold error level as a maximum of T4-T3 , and determine the first threshold error level as a minimum of T4-T3. Thus, the data communication network 100 comprising the sending node 102 and the receiving node 104, allows for real-time adjustment of threshold levels, enhancing precision and adaptability in maintaining synchronization between the sending node 102 and receiving node 104 during communication.

[0103] The receiving node 104 maintains synchronization with other nodes by utilizing the synchronized receiving clock 502 thereby ensuring accurate coordination of time across the data communication network 100. Upon receiving packets containing timestamps, the receiving node 104 efficiently compares the timestamp values to synchronized receiving clock 502. If the difference exceeds predetermined upper or lower bounds, the message is discarded, contributing to a robust error-checking mechanism. Moreover, the receiving node 104 enhances data integrity by verifying the integrity of timestamps protected by integrity protection mechanisms before forwarding messages to the upper layer. Additionally, the receiving node 104 periodically engages in a measurement procedure to random senders, sending measurement messages and receiving timestamped replies. By analysing differences between the receiving timestamps and sending timestamps from multiple measurements, the receiving node 104 estimates upper and lower bounds, contributing to adaptive adjustments and improved synchronization in the data communication network 100. Thus, the receiving node 104 is adept at ensuring accurate timekeeping, error detection, and maintaining synchronization with other nodes in the data communication network 100.

[0104] Fig. 6 is a flow chart of a method for use in the receiving node configured to operate in the data communication network, in accordance with an embodiment of the present disclosure. FIG. 6 is described in conjunction with elements from FIGs. 1 and 5. With reference to FIG. 6, there is shown a flow chart of a method 600 for use in the receiving node 104 in the data communication network 100. The method 600 includes steps 602 to 608.

[0105] At step 602, the receiving node 104 is configured to maintain the synchronized receiving clock 502. In an implementation, the synchronized receiving clock 502 is maintained based on standard synchronization protocols such as Network Time Protocol (NTP) and Precision Time Protocol (PTP).

[0106] At step 604, the receiving node 104 is configured to receive the message from the sending node 102 via the communication interface 112 of the receiving node 104. In other words, the receiving controller 106 initiates receiving of the message using the communication interface 112 of the receiving node 104 through the communication network 114 from the sending node 102.

[0107] At step 606, the receiving controller 110 is configured to generate a reception timestamp, T2, based on the synchronized receiving clock 502. In other words, the receiving controller 110 utilizes the synchronized receiving clock to derive a reception timestamp, T2, corresponding to moment of receiving of the message.

[0108] At step 608, the receiving controller 110 is configured to determine whether the difference between the receiving timestamp, T2 and the sending timestamp, T1 is greater than a first threshold El and less than a second threshold E2, and if so determine that the message is correctly received, wherein the synchronized sending clock 302 is synchronized with the synchronized receiving clock 502.

[0109] The steps 602 to 608 are only illustrative, and other alternatives can also be provided where one or more steps are added, one or more steps are removed, or one or more steps are provided in a different sequence without departing from the scope of the claims herein.

[0110] There is further provided, a computer program product comprising program instructions for performing the method 600 when executed by the receiving node 104 in the data communication network 100. The computer program product is implemented as an algorithm, embedded in a software stored in a non-transitory computer-readable storage medium. The non-transitory computer-readable storage means may include but are not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. Examples of implementation of computer-readable storage medium, but are not limited to, Electrically Erasable Programmable Read-Only Memory (EEPROM), Random Access Memory (RAM), Read Only Memory (ROM), Hard Disk Drive (HDD), Flash memory, a Secure Digital (SD) card, Solid-State Drive (SSD), a computer-readable storage medium, and / or CPU cache memory.

[0111] FIG. 7 is an exemplary diagram depicting transmittal of a message from the sending node to the receiving node in the data communication network, in accordance with an embodiment of the present disclosure. FIG. 7 is described in conjunction with elements from FIGs 1, 3, and 5. With reference to FIG. 7, there is shown an exemplary implementation of the data communication network 100 that includes the transmittal of the message from the sending node 102 to the receiving node 104 through the communication network 114. With reference to FIG. 7, point 702 represents the sending timestamp, Tl, that depicts the time at which the message has been sent from the sending node 102. Further, point 704 represents the receiving timestamp, T2, that depicts the time at which the message has been received by the receiving node 104. Moreover, point 706 represents the second transmission timestamp, T3, that depicts the time at which the measurement response message has been sent from the receiving node 104. Furthermore, point 708 represents the second reception timestamp, T4, that depicts the time at which the measurement response message has been received from the sending node 102. The sending node 102 transmits the message to the receiving node 104, and the receiving node 104 determines whether the message was received correctly. The sending node 102 includes the sending controller 106 and the communication interface 108. The sending controller 106 maintains the synchronized sending clock 302 and generates the sending timestamp when the message is sent. The communication interface 108 then transmits the message to the receiving node 104. The receiving node 104 also includes the receiving controller 110 and the communication interface 112. The receiving controller 110 maintains the synchronized receiving clock 502 and generates the receiving timestamp T2 when the message is received. The receiving controller 110 then compares the receiving timestamp T2 to the sending timestamp Tl to determine whether the message was received correctly. If the difference between the receiving timestamp T2 and the sending timestamp Tl is greater than the first threshold and less than the second threshold, then the message is considered to be received correctly. The first and second thresholds are determined by the receiving controller 110 based on the time it takes to send measurement messages. FIG. 7 depicts that the receiving node 104 can determine the first and second thresholds by sending measurement messages to the sending node 102 and measuring the time it takes for the sending node 102 to respond.

[0112] In an exemplary scenario, the data communication network 100 utilizes the network time protocol (NTP) for synchronization, and the maximal time error between any two hosts (for example, the sending node 102 and the receiving node 104 is set as e, e=100 microseconds. The latency between the hosts in the data communication network 100 is assumed to have a lower bound Lnin of 10 microseconds and an upper bound Lmax of 1000 microseconds. For each received message, the receiving node 104 performs a replay check to verify that the time difference falls within the specified bounds. In such an example, the parameters El and E2 are defined as El=-(e-Lmin) = -90 microseconds and E2 = e+Lmax = 1100 microseconds, respectively. Therefore, the replay attack in the example is confined to a time window of E2 - El = 1190 microseconds. Thus, the example demonstrates how parameters of the data communication network 100, such as time error, latency bounds, and replay check criteria, contribute to limiting the vulnerability window for potential replay attacks within the data communication network 100.

[0113] Modifications to embodiments of the present disclosure described in the foregoing are possible without departing from the scope of the present disclosure as defined by the accompanying claims. Expressions such as "including", "comprising", "incorporating", "have", "is" used to describe, and claim the present disclosure are intended to be construed in a non-exclusive manner, namely allowing for items, components or elements not explicitly described also to be present. Reference to the singular is also to be construed to relate to the plural. The word "exemplary" is used herein to mean "serving as an example, instance or illustration". Any embodiment described as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or to exclude the incorporation of features from other embodiments. The word "optionally" is used herein to mean "is provided in some embodiments and not provided in other embodiments". It is appreciated that certain features of the present disclosure, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable combination or as suitable in any other described embodiment of the disclosure.

Claims

CLAIMS1. A Data Communication Network (100), comprising a sending node (102) and a receiving node (104), wherein the sending node (102) comprises a sending controller (106) and a communication interface (108) and the receiving node (104) comprises a receiving controller (110) and a communication interface (112), and wherein the sending controller (106) is configured to: maintain a synchronized sending clock (302); generate a sending timestamp, Tl, based on the synchronized sending clock (302); include the sending timestamp in a message; and transmit the message to the receiving node (104) via the communication interface (108) of the sending node (102); and wherein the receiving controller (110) is configured to: maintain a synchronized receiving clock (502); receive the message from the sending node (102) via the communication interface (112) of the receiving node (104); generate a reception timestamp, T2, based on the synchronized receiving clock (502); and determine whether the difference between the receiving timestamp and the sending time stamp is greater than a first threshold El and less than a second threshold E2, and if so determine that the message is correctly received, wherein the synchronized sending clock (302) is synchronized with the synchronized receiving clock (502).

2. The Data Communication Network (100) according to claim 1, wherein the receiving controller (110) is further configured to: discard the message if the difference between the receiving timestamp and the sending time stamp is less than the first threshold El or greater than the second threshold E2.

3. The Data Communication Network (100) according to claims 1 or 2, wherein the receiving controller (110) is further configured to determine the first threshold and the second threshold, by periodically or repeatedly sending measurement messages and noting the time it takes to send these measurement messages and basing the first and second threshold error levels on the time it takes to send the measurement messages.

4. The Data Communication Network (100) according to claim 3, wherein the second threshold error level, represents a maximum difference in time for transmission of a message, and the first threshold error level, El , represents a minimum difference in time for transmission of a message.

5. The Data Communication Network (100) according to claim 3 or 4, wherein the receiving controller (110) is further configured to determine the first and second threshold error levels by measuring the latency, L, for transmitting the measurement message, and determine: the first threshold error level El as -(e-Lmin), and the second threshold error level E2 as e+Lmax, whereLmin is a minimum latency, Lmax is a maximum latency, and e is an error value indicating an acceptable error margin.

6. The Data Communication Network (100) according to claims 3, 4, or 5, wherein the sending controller (106) is configured to: receive the measurement message from the receiving node (104) via the communication interface (108) of the sending node (102), generate a second transmission timestamp, T3, based on the synchronized receiving clock (502), and transmit the second transmission timestamp T3 to the receiving node (104) in a measurement response message via the communication interface (108) of the sending node (102), and wherein the receiving controller (110) is further configured to: receive the measurement response message and generate a second reception timestamp T4 for the time when the measurement response message is received, determine the second threshold error level as a value larger than T4-T3 and determine the first threshold error level as a value smaller than T4-T3.

7. The Data Communication Network (100) according to claim 5, wherein the receiving controller(110) is further configured to: repeatedly transmit measurement messages to the sending node (102) via the communication interface (112) of the receiving node (104), wherein the sending controller (106) is configured to: receive the measurement messages from the receiving node (104) via the communication interface (108) of the sending node (102), and transmit a measurement response message for each received measurement message to the receiving node (104) via the communication interface (108) of the sending node (102), wherein the receiving controller (110) is further configured to: determine the second threshold error level E2 as a maximum of T4- 3: and determine the first threshold error level El as a minimum of T4-T3.

8. A method (200) for a Data Communication Network (100), comprising a sending node (102) and a receiving node (104), and wherein the method comprises: the sending node (102) maintaining a synchronized sending clock (302), generating a sending timestamp, Tl, based on the synchronized sending clock (302), including the sending timestamp in a message, and transmitting the message to the receiving node (104), and the receiving node (104) maintaining a synchronized receiving clock (502), receiving the message from the sending node (102) via the communication interface of the receiving node (104), generating a reception timestamp, T2, based on the synchronized receiving clock (502), determining whether the difference between the receiving timestamp and the sending time stamp is greater than a first threshold error level and less than a second threshold error level, and if so determining that the message is correctly received, wherein the synchronized sending clock is synchronized with the synchronized receiving clock (502).

9. A sending node (102) configured to operate in a Data Communication Network (100), comprising the sending node (102) and a receiving node (104), wherein the sending node (104) comprises a sending controller (106) and a communication interface (108), wherein the sending controller (106) is configured to: maintain a synchronized sending clock (302), generate a sending timestamp, Tl, based on the synchronized sending clock (302), include the sending timestamp in a message, and transmit the message to the receiving node (104) via the communication interface (112) of the sending node (102).

10. The sending node (102) according to claim 9, wherein the sending controller (106) is further configured to: receive the measurement message from the receiving node (104) via the communication interface (108) of the sending node (102), generate a second transmission timestamp, T3, based on the synchronized receiving clock (502), and transmit the second transmission timestamp T3 to the receiving node (104) in a measurement response message via the communication interface (108) of the sending node (102).

11. A method (400) for use in a sending node (102) configured to operate in a Data Communication Network (100), comprising the sending node (102) and a receiving node (104), wherein the method comprises: maintaining a synchronized sending clock (302), generating a sending timestamp, Tl, based on the synchronized sending clock (302), including the sending timestamp in a message, and transmitting the message to the receiving node (104) via the communication interface of the sending node (302).

12. A receiving node (104) configured to operate in a Data Communication Network (100), comprising a sending node (102) and the receiving node (104), wherein the receiving node (104) comprises a receiving controller (110) and a communication interface (112), and wherein receiving controller (110) is configured to: maintain a synchronized receiving clock (502), receive a message including a sending timestamp, Tl, from the sending node (102) via the communication interface (112) of the receiving node (104), generate a reception timestamp, T2, based on the synchronized receiving clock (502), determine whether the difference between the receiving timestamp and the sending time stamp is greater than a first threshold error level and less than a second threshold error level, and if so determine that the message is correctly received, wherein the synchronized sending clock (302) is synchronized with the synchronized receiving clock (502).

13. The receiving node (104) according to claim 12, wherein the receiving controller (108) is further configured to: transmit a measurement response message to the sending node (102) via the communication interface (112) of the receiving node (104), receive a measurement response message from the sending node (102) via the communication interface (112) of the receiving node (104), the response message including a second transmission timestamp, T3, generating a second reception timestamp T4 for the time when the measurement response message was received based on the synchronized receiving clock (502), determine the second threshold error level as a value larger than T4-T3, and determine the first threshold error level as a value smaller than T4-T3.

14. The receiving node (104) according to claim 13, wherein the receiving controller (108) is further configured to: repeatedly generate a measurement message, and transmit each measurement message to the sending node (102) via the communication interface (112) of the receiving node (104), receive a measurement response message for each measurement message from the sending node (102) via the communication interface (112) of the receiving node (104), the measurement response messages each including a second transmission timestamp, T3, generate a second reception timestamp T4 for each received measurement response message, determine the second threshold error level as a maximum of T4-T3, and determine the first threshold error level as a minimum of T4-T3.

15. A method (600) for use in a receiving node (104) configured to operate in a Data Communication Network (100), comprising a sending node (102) and the receiving node (104), wherein the method (600) comprises: maintaining a synchronized receiving clock (502), receiving a message including a sending timestamp, Tl, from the sending node (102) via the communication interface (112) of the receiving node (104), generating a reception timestamp, T2, based on the synchronized receiving clock (502), and determining whether the difference between the receiving timestamp and the sending time stamp is greater than a first threshold error level and less than a second threshold error level, and if so determine that the message is correctly received, wherein the synchronized sending clock (302) is synchronized with the synchronized receiving clock (502).

16. A computer program product comprising program instructions for performing the method according to claim 8, 11 or 15, when executed by one or more processors in a Data Communication Network (100) system.