1. A method of selecting between multiple equal cost paths in a communication network, the method comprising: determining a set of equal cost paths between a pair of nodes on a communication network, each path comprising at least one link; constructing a first link identifier for each link of the at least one link on each of the equal cost paths, each of the first link identifiers being created by concatenating ordered node identifiers of nodes that connect to the link on the communication network; constructing a first path identifier for each of the equal cost paths, each of the first path identifiers being created by concatenating first link identifiers of the at least one link forming the respective path through the communication network; ranking the first path identifiers in a path-independent manner to select a first set of diverse paths through the communication network; constructing a second link identifier for each link of the at least one link on the equal cost paths, each of the second link identifiers being created by concatenating a node identifier of one of the nodes that connect to the each link on the communication network with an inverted node identifier of other of the nodes that connect to the each link on the communication network, the node identifiers being concatenated to form the respective second link identifiers in the same order as determined when constructing the first link identifiers; constructing a second path identifier for each of the equal cost paths, each of the second path identifiers being created by concatenating second link identifiers of the at least one link forming the respective equal cost path through the communication network; and ranking the second path identifiers in a path-independent manner to select a second set of diverse paths through the communication network.