Understanding reordered packets

In general, packet reordering will only occur on multi-link load-balanced networks, and the likelihood of reordering increases as traffic loads increase. To understand why, let's first examine a multi-link network that is empty when a burst of packets arrives.

Diagram showing packets passing through a non-busy router where its queues are empty. Packets are not reordered.

Notice that when the burst of packets arrives, it is quite easy for the router to determine which queue each packet should be stored in. The first packet goes into the first queue; the second packet goes into the second queue, and so on. The effect of this round-robin queuing technique is that packets reach the target in the same order as they are sent.

If the burst arrives at the queues during busy periods, the queuing technique is not as straight forward. Examine the following diagram which illustrates a burst arriving at a time when the queues contain packets from other sources.

Diagram showing packets passing through a busy router where its queues are busy. Packet reordering is possible.

Notice that the decision as to which packet goes into which queue is not nearly as straight forward. The link device must decide which queue will be serviced first, and may decide to put the first packet into the second queue. This may seem to make sense because there is only one packet sitting in that queue. But, in this case the third queue had smaller packets, and the link device will service packet 4 before any others reach the front of the queue. The result is a burst that is out-of-sequence.