This illustration is similar to the one in figure 3.19, in which we see a series of multicolored rectangles positioned side-by-side like a line of dominoes. A key identifies what the various colors represent: dark blue = Already ACK'd; light blue = Send, not yet ACK'd; gray = Usable, not yet sent; white = Not usable. From left to right we see: six dark blue rectangles, followed by two light blue rectangles, followed by two dark blue rectangles, followed by one light blue, followed by two dark blue, followed by one light blue, followed by six gray rectangles, followed by seven white rectangles. The very first light blue rectangle is labeled "send_base," and the very first gray rectangle is labeled "nextseqnum." The area between the first light blue rectangle and the last gray rectangle is labeled as "Window size, N." The third light blue rectangle is linked by a dotted blue line to the very first light blue rectangle in the following figure.

In this illustration, we also see a series of multicolored rectangles positioned side-by-side like a line of dominoes. A key identifies what the various colors represent: dark blue = Out of order (buffered) but already ACK'd; light blue = Expected, not yet received; gray = Acceptable (within window); and white = "Not usable." From left to right we see: nine white rectangles, followed by one light blue rectangle, followed by three dark blue rectangles, followed by ten gray rectangles, followed by three white rectangles. The first (and only) light blue rectangle is labeled "rcv_base," and is linked by a dotted blue line to the previous figure. The area between the light blue rectangle and the last gray rectangle is labeled as "Window size, N."