Which protocol prevents loops and calculates the best path through a switched network that contains redundant paths?