Lollipop sequence numbering


Lollipop sequence numbering is a numbering scheme used in routing protocols. In this numbering scheme, sequence numbers start at a negative value, increase until they reach zero, then cycle through a finite set of positive numbers indefinitely. When a system is rebooted, the sequence is restarted from a negative number again. This allows recently rebooted systems to be distinguished from systems which have simply looped around their numbering space. This path can be visualized as a line with a circle at the end; hence a lollipop.
Lollipop sequence numbering was originally believed to resolve the ambiguity problem in cyclic sequence numbering schemes, and was used in OSPF version 1 for this reason. Later work showed that this was not the case, like in the ARPANET sequence bug, and OSPF version 2 replaced it with a linear numbering space, with special rules for what happens when the sequence numbers reach the end of the numbering space.