A method for selecting a path, comprising: sending, by a first node, to at least one adjacent second node a path request message for acquiring a backhaul path from the first node to a target node, so that each second node of the at least one adjacent second node judges whether a backhaul service can be provided for the first node by the second node based on the path request message, and if the second node is the target node or the second node has a backhaul path to the target node, after determining that a backhaul service can be provided for the first node by the second node, the second node sends a path response message to the first node, or if the second node is not the target node, after determining, by the second node, that a backhaul service can be provided for the first node by the second node, the second node adds identifier information thereof into path information of the path request message and sends the path request message to at least one adjacent other second node, or adds identifier information thereof and information of a backhaul link between the second node and the first node into the path information of the path request message and sends the path request message to at least one adjacent other second node; wherein the target node is not preset by the first node or indicated in the path request message, and the target node can directly communicate with a network without needing other nodes to provide a backhaul service for the target node; and selecting, by the first node, at least one backhaul path based on a received path response message sent by the target node and/or a node having a backhaul path to the target node, wherein the received path response message comprises path information of the at least one backhaul path. sending, by a first node, to at least one adjacent second node a path request message for acquiring a backhaul path from the first node to a target node, so that each second node of the at least one adjacent second node judges whether a backhaul service can be provided for the first node by the second node based on the path request message, and if the second node is the target node or the second node has a backhaul path to the target node, after determining that a backhaul service can be provided for the first node by the second node, the second node sends a path response message to the first node, or if the second node is not the target node, after determining, by the second node, that a backhaul service can be provided for the first node by the second node, the second node adds identifier information thereof into path information of the path request message and sends the path request message to at least one adjacent other second node, or adds identifier information thereof and information of a backhaul link between the second node and the first node into the path information of the path request message and sends the path request message to at least one adjacent other second node; wherein the target node is not preset by the first node or indicated in the path request message, and the target node can directly communicate with a network without needing other nodes to provide a backhaul service for the target node; and selecting, by the first node, at least one backhaul path based on a received path response message sent by the target node and/or a node having a backhaul path to the target node, wherein the received path response message comprises path information of the at least one backhaul path.