A method for establishing a control channel, comprising: sending, by a controller, a control link discovery message to a peer node of the control link by using a first subchannel on the control link, and receiving the control link discovery message sent by the peer node, wherein the control link discovery message comprises a port identifier at a sending end and node address information at the sending end of the control link; obtaining, by the controller, a control link notification message sent by a node in a network, wherein the control link notification message comprises node address information of both ends of a control link, port identifiers of both ends of the control link, and resource information of a second subchannel of the control link; obtaining, by the controller, bandwidth information of a control channel between the controller and a destination node, wherein the bandwidth information of the control channel comprises a resource of a second subchannel that needs to be occupied by the control channel; obtaining, by the controller through calculation according to the control link notification message and the bandwidth information of the control channel, routing information of the control channel between the controller and the destination node; selecting, by the controller, a first control link from control links between the controller and an adjacent downstream node on the control channel, wherein an idle resource of the first control link is greater than or equal to the resource of the second subchannel that needs to be occupied by the control channel; and sending, by the controller, a control channel establishment message to the adjacent downstream node by using a first subchannel between the controller and the adjacent downstream node, so that the adjacent downstream node establishes the control channel on the second subchannel of the first control link, wherein the control channel establishment message comprises the routing information of the control channel, information about the first control link selected by the controller, and the bandwidth information of the control channel. sending, by a controller, a control link discovery message to a peer node of the control link by using a first subchannel on the control link, and receiving the control link discovery message sent by the peer node, wherein the control link discovery message comprises a port identifier at a sending end and node address information at the sending end of the control link; obtaining, by the controller, a control link notification message sent by a node in a network, wherein the control link notification message comprises node address information of both ends of a control link, port identifiers of both ends of the control link, and resource information of a second subchannel of the control link; obtaining, by the controller, bandwidth information of a control channel between the controller and a destination node, wherein the bandwidth information of the control channel comprises a resource of a second subchannel that needs to be occupied by the control channel; obtaining, by the controller through calculation according to the control link notification message and the bandwidth information of the control channel, routing information of the control channel between the controller and the destination node; selecting, by the controller, a first control link from control links between the controller and an adjacent downstream node on the control channel, wherein an idle resource of the first control link is greater than or equal to the resource of the second subchannel that needs to be occupied by the control channel; and sending, by the controller, a control channel establishment message to the adjacent downstream node by using a first subchannel between the controller and the adjacent downstream node, so that the adjacent downstream node establishes the control channel on the second subchannel of the first control link, wherein the control channel establishment message comprises the routing information of the control channel, information about the first control link selected by the controller, and the bandwidth information of the control channel.