1. A network controller comprising: a control unit; and one or more ports coupled to the control unit and configured to couple the network controller to one or more switches of a network; wherein the network controller is configured to: divide a physical topology of the network into a plurality of switch subgroups; determine one or more abstracted switch groups for each switch subgroup; select a base topology for each abstracted switch group; configure the each abstracted switch group with a corresponding first forwarding strategy consistent with each selected base topology; determine an abstracted topology for the network based on the physical topology and the each abstracted switch group; and configure the abstracted topology with a second forwarding strategy consistent with the abstracted topology.