Unicast routing refers to finding a feasible path between a single source and a single destination. On the other hand, multicast routing refers to finding a feasible tree covering a single source and a set of destinations. They are classfied according to the way how the network information is maintained and how the search of feasible paths is carried out. In source routing algorithms, a feasible path is locally computed at the source node. In order to do that, each node would maintain the information of the whole network.
Every node usually maintains a distance vector.
Each node maintains an aggregated global state. This state contains the detail state information about the nodes in the same group and the aggregated state information about the other groups. Source routing is used to find a path between groups from the aggregated state information. Then, a border node is responsible to compute the path within its own group. There are various different problems in QoS routing.