A method (no) for monitoring a Transmission Control Protocol, TCP, connection between a transmitting device and a receiving device, wherein the transmitting device sends a plurality of packets to the receiving device through a monitoring device, the method comprising: detecting, at the monitoring device, a Selective Acknowledgement, SACK, message sent via the TCP connection from the receiving device to the transmitting device; storing, at the monitoring device, the detected SACK message for a pre-determined time period in order to be transmitted to the transmitting device after the pre determined time period has expired: detecting, at the monitoring device, an acknowledgement, ACK, message sent from the receiving device to the transmitting device; and discarding, at the monitoring device, the stored SACK message when determining that the detected ACK message is correlated with the stored SACK message according to sequence numbers of the detected ACK message and the stored SACK message, wherein the detected ACK message is correlated with the stored SACK message if the sequence number of the detected ACK message is equal or greater than the sequence number of the stored SACK message, wherein the method further comprises: providing the detected SACK message with a time stamp; recording a time of detection of the ACK message that correlated with the detected SACK message; and updating the pre-determined time period for a next circle based on a currently real time period, wherein the currently real time period is the time period between the recorded time of detection of the ACK message and the time stamp of the correlated SACK message. detecting, at the monitoring device, a Selective Acknowledgement, SACK, message sent via the TCP connection from the receiving device to the transmitting device; storing, at the monitoring device, the detected SACK message for a pre-determined time period in order to be transmitted to the transmitting device after the pre determined time period has expired: detecting, at the monitoring device, an acknowledgement, ACK, message sent from the receiving device to the transmitting device; and discarding, at the monitoring device, the stored SACK message when determining that the detected ACK message is correlated with the stored SACK message according to sequence numbers of the detected ACK message and the stored SACK message, wherein the detected ACK message is correlated with the stored SACK message if the sequence number of the detected ACK message is equal or greater than the sequence number of the stored SACK message, wherein the method further comprises: providing the detected SACK message with a time stamp; recording a time of detection of the ACK message that correlated with the detected SACK message; and updating the pre-determined time period for a next circle based on a currently real time period, wherein the currently real time period is the time period between the recorded time of detection of the ACK message and the time stamp of the correlated SACK message. detecting, at the monitoring device, an acknowledgement, ACK, message sent from the receiving device to the transmitting device; and discarding, at the monitoring device, the stored SACK message when determining that the detected ACK message is correlated with the stored SACK message according to sequence numbers of the detected ACK message and the stored SACK message, wherein the detected ACK message is correlated with the stored SACK message if the sequence number of the detected ACK message is equal or greater than the sequence number of the stored SACK message, wherein the method further comprises: providing the detected SACK message with a time stamp; recording a time of detection of the ACK message that correlated with the detected SACK message; and updating the pre-determined time period for a next circle based on a currently real time period, wherein the currently real time period is the time period between the recorded time of detection of the ACK message and the time stamp of the correlated SACK message. providing the detected SACK message with a time stamp; recording a time of detection of the ACK message that correlated with the detected SACK message; and updating the pre-determined time period for a next circle based on a currently real time period, wherein the currently real time period is the time period between the recorded time of detection of the ACK message and the time stamp of the correlated SACK message.