If we are sending a file in one go and if some error occurred in between the file transfer then the complete file has to be resend which wastes the bandwidth so to prevent this, the file to send is divided in to smaller unit which we call packet, and then send packets 1 by one so that if a packet is lost then we need to send only that particular packet not the complete file. As the packet reaches its destination, the destination source send acknowledgement to the sender that the packet has reached to it and it may send the next packet and if packet somehow lost before reaching to the destination source, then the sender itself resends the packet after a fixed amount of time.
Chat with our AI personalities