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.[1]


  • R. Perlman. "Fault-Tolerant Broadcasting of Routing Information." Computer Networks, Vol. 7, December 1983, pp. 395–405.
  1. ^ Jon T. Moy "Link State Advertisements (LSAs)." OSPF: Anatomy of an Internet Routing Protocol p. 77.

External links

  • Powerpoint presentation on routing protocols
  • Cisco press article on routing protocols, contains discussion of lollipop numbering, and its failure to resolve ambiguity
  • Mailing list post on vulnerabilities of lollipop approach