The invention discloses a controller for determining a network state based on an SDN (
Software Defined Networking) and a determination method thereof. The controller comprises a state updating module, a calculation module, an execution module, a
flow management module and an evaluation module, wherein the state updating module is used for updating through a state and a path calculated by the calculation module; the calculation module is used for calculating a current network resource state N; the execution module is used for setting rules according to the path calculated by the calculation module and writing the path into a flow meter; the
flow management module is used for carrying out congestion avoidance, flow supervision and shaping; and the evaluation module is used for carrying out synthetic judgment according to the current network resource state N calculated by the calculation module and QoS (
Quality of Service) requirements of an application when receiving the application transmitted by a switch. According to the controller, the network state can be accurately controlled, a
forwarding plane is precisely controlled, a 'Q+X'
resource distribution mode is proposed, and the network resource is scheduled, so that the flexibility, the high efficiency, the intelligence and the optimization of a network can be realized.