Link-state routing protocols use Dijkstra's shortest path first (SPF) algorithm to determine the optimal path to all destinations. Each router uses hello packets to discover neighbors and then floods link state packets (LSPs) throughout the network, allowing every router to build a topological map and independently calculate the shortest path to each destination using SPF trees. Common link-state routing protocols are Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (IS-IS).