A software-defined network (SDN) controller and a multipath routing method thereof are provided. In the method, a maximum bottleneck bandwidth (MBB) and a minimum hop count (MHC) of each of the nodes in the SDN are initiated. Next, a source node is visited, and neighboring nodes thereof are discovered to relax paths between the source node and each neighboring node. Then, a forwarding node having a maximum MBB among other nodes is visited, and its neighboring nodes which are connected therewith and unvisited are discovered to relax the paths between the forwarding node and each neighboring node. Afterwards, the rest of the nodes are consecutively visited until all nodes are visited. Finally, a disjoint path lookup table is established according to relation between the paths recorded for each node, and accordingly k disjoint paths having the maximum bottleneck bandwidth are found for transmitting k sub-flows divided from a data flow. |