  We consider several basic questions on distributed routing in directed graphs
with multiple additive costs, or metrics, and multiple constraints. Distributed
routing in this sense is used in several protocols, such as IS-IS and OSPF. A
practical approach to the multi-constraint routing problem is to, first,
combine the metrics into a single `composite' metric, and then apply one-to-all
shortest path algorithms, e.g. Dijkstra, in order to find shortest path trees.
We show that, in general, even if a feasible path exists and is known for every
source and destination pair, it is impossible to guarantee a distributed
routing under several constraints. We also study the question of choosing the
optimal `composite' metric. We show that under certain mathematical assumptions
we can efficiently find a convex combination of several metrics that maximizes
the number of discovered feasible paths. Sometimes it can be done analytically,
and is in general possible using what we call a 'smart iterative approach'. We
illustrate these findings by extensive experiments on several typical network
topologies.
