A method for managing a virtual network by a Software Defined Network, SDN, controller in a centralized way, wherein, the method comprising: creating , by the SDN controller , a first computation domain and a second computation domain respectively for a first hypervisor manager and a second hypervisor manager in a virtual network, wherein the first hypervisor manager and the second hypervisor manager are heterogeneous, the first hypervisor manager manages a first virtual machine, VM, and a first virtual switch, vSwitch, and the second hypervisor manager manages a second VM and a second vSwitch; creating , by the SDN controller, topology management information based on a topology of the virtual network, wherein the topology management information comprises first virtual network topology information for the first computation domain, second virtual network topology information for the second computation domain, first configuration information for the first vSwitch and second configuration information for the second vSwitch, wherein the first configuration information comprises virtual extensible local area network, VXLAN, tunnel encapsulation information of the first vSwitch corresponding to the first VM, and the second configuration information comprises VXLAN tunnel encapsulation information of the second vSwitch corresponding to the second VM; associating , by the SDN controller, the topology management information with the first computation domain and the second computation domain respectively; and distributing , by the SDN controller, the first configuration information and the second configuration information in the topology management information to the first vSwitch and the second vSwitch respectively, so that the first vSwitch and the second vSwitch forward a packet between the first VM and the second VM according to the first configuration information and the second configuration information respectively. creating , by the SDN controller , a first computation domain and a second computation domain respectively for a first hypervisor manager and a second hypervisor manager in a virtual network, wherein the first hypervisor manager and the second hypervisor manager are heterogeneous, the first hypervisor manager manages a first virtual machine, VM, and a first virtual switch, vSwitch, and the second hypervisor manager manages a second VM and a second vSwitch; creating , by the SDN controller, topology management information based on a topology of the virtual network, wherein the topology management information comprises first virtual network topology information for the first computation domain, second virtual network topology information for the second computation domain, first configuration information for the first vSwitch and second configuration information for the second vSwitch, wherein the first configuration information comprises virtual extensible local area network, VXLAN, tunnel encapsulation information of the first vSwitch corresponding to the first VM, and the second configuration information comprises VXLAN tunnel encapsulation information of the second vSwitch corresponding to the second VM; associating , by the SDN controller, the topology management information with the first computation domain and the second computation domain respectively; and distributing , by the SDN controller, the first configuration information and the second configuration information in the topology management information to the first vSwitch and the second vSwitch respectively, so that the first vSwitch and the second vSwitch forward a packet between the first VM and the second VM according to the first configuration information and the second configuration information respectively. <EOS>