Source: https://www.bortzmeyer.org/files/ospf.pdf