Out of order packets
out-of-order delivery is the delivery of data packets in a different order from which they were sent. Out-of-order delivery can be caused by packets following multiple paths through a network, or via parallel processing paths within network equipment that are not designed to ensure that packet ordering is preserved. One of the functions of TCP is to prevent the out-of-order delivery of data, either by reassembling packets into order or forcing retries of out-of-order packets.
IP protocol by nature does not guarantee packet delivery in the order in which they were sent, this is a common behavior since we can’t control the entire path of a packet when traversing different carrier’s networks/Paths.
In principle, applications that use a transport protocol such as TCP or SCTP [Stream control transmition protocol ] don't have to worry about packet reordering, because the transport protocol is responsible for reassembling the byte stream into the original ordering. However, reordering can have a severe performance impact on some implementations of TCP.
Real-time media applications such as audio/video conferencing tools often experience problems when run over networks that reorder packets. This is somewhat remarkable in that all of these applications have jitter buffers to eliminate the effects of delay variation on the real-time media streams.
Notes: Packet reordering can lead to re-transmissions, delays, and even connection timeouts.