Most applications like copy programs use TCP to ensure the data transfer. The sender should get an acknowledgement from the receiver to acknowledges sent data. If a packet is lost for any reason TCP re-transmit it.
Packets get lost for any number of reasons. Some possibly reason:
- Physical problem (cable, SPF module)
- Duplex mismatch between the devices
- Speed mismatch
- Misconfigured QoS