OSPF kiest de kortste routes op basis van de kosten die aan elke verbinding zijn toegewezen. De kosten worden bepaald door de kosten van de belangrijkste bandbreedte van elke link en worden toegewezen aan elke link in het netwerk. OSPF berekent vervolgens de totale kosten voor elke mogelijke route en kiest de route met de laagste totale kosten. Dit wordt gedaan door gebruik te maken van het Dijkstra-algoritme. Daarnaast kan OSPF ook rekening houden met verschillende factoren, zoals de betrouwbaarheid van de link en de beschikbare bandbreedte om ervoor te zorgen dat het de beste en meest betrouwbare route kiest naar de bestemming.