1. A method for communicating with a remote system using Internet Protocol (IP) via a computer network, the method comprising: transmitting, by a flow control module configured on a device, a data packet from a sender to a remote system, the transmitted data packet including a transport layer sequence number and a first internet layer internet protocol identifier (IP ID) field, the first IP ID field comprising a first unique value; retransmitting, by the flow control module, the data packet to the remote system, the retransmitted data packet including the transport layer sequence number and a second IP ID field, the second IP ID field comprising a second unique value different than the first unique value; receiving, by the flow control module, an acknowledgment packet sent by the remote system, the acknowledgement packet including the transport layer sequence number and a transport control protocol (TCP) timestamp echo reply field, the TCP timestamp echo reply field comprising one of the first unique value or the second unique value; and determining, by the flow control module, whether the received acknowledgment packet acknowledges receipt by the remote system of the transmission of the data packet or the retransmission of the data packet, via the value of the TCP timestamp echo reply field.