If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

Main content

The problems with packets

The Internet Protocol (IP) describes how to split messages into multiple IP packets and route packets to their destination by hopping from router to router.
IP does not handle all the consequences of packets, however. For example:
A computer might send multiple messages to a destination, and the destination needs to identify which packets belong to which message.
Packets can arrive out of order. That can happen especially if two packets follow different paths to the destination.
Packets can be corrupted, which means that for some reason, the received data no longer matches the originally sent data.
Packets can be lost due to problems in the physical layer or in routers' forwarding tables. If even one packet of a message is lost, it may be impossible to put the message back together in a way that makes sense.
Similarly, packets might be duplicated due to accidental retransmission of the same packet.
Fortunately, there are higher level protocols in the Internet protocol stack that can deal with these problems. Transmission Control Protocol (TCP) is the data transport protocol that's most commonly used on top of IP and it includes strategies for packet ordering, retransmission, and data integrity. User Datagram Protocol (UDP) is an alternative protocol that solves fewer problems but offers faster data transport.
Internet applications can choose the data transport protocol that makes the most sense for their application.
In the next articles, we'll explore TCP and UDP in more detail.

🙋🏽🙋🏻‍♀️🙋🏿‍♂️Do you have any questions about this topic? We'd love to answer—just ask in the questions area below!

Want to join the conversation?