In our GBN protocol, the receiver discards out-of-order packets. Although it
may seem silly and wasteful to discard a correctly received (but out-of-order)
packet, there is some justification for doing so. Recall that the receiver must deliver
data in order to the upper layer. Suppose now that packet n is expected, but packet
n + 1 arrives. Because data must be delivered in order, the receiver could buffer
(save) packet n + 1 and then deliver this packet to the upper layer after it had later