A data packet routing method, comprising: receiving, by a switch, a data packet sent by a service enabler, SE; the method further comprising: obtaining, by the switch according to a traffic flow which the data packet received from the SE belongs to, a forwarding rule of a service chain corresponding to the traffic flow wherein a service chain corresponds to traffic flows having a same service routing rule; and routing, by the switch according to the forwarding rule, the data packet received from the SE; wherein obtaining a forwarding rule of a service chain corresponding to the traffic flow comprises: receiving the forwarding rule delivered by a service path controller, SPC, wherein the forwarding rule indicates a routing path shared by at least two traffic flows corresponding to the service chain wherein a service traffic classifier STC identifies an application type of the at least two traffic flows and determines that service routing rules of the at least two traffic flows are the same such that the routing path of the traffic flows of different application types use the same traffic flows; wherein the forwarding rule comprises a tunnel identifier corresponding to the service chain and the data packet comprises information about the tunnel identifier and information about the traffic flow; and when routing of the traffic flows starts, the STC performs tunnel encapsulation on the data packets in the at least two traffic flows to encapsulate a same tunnel identifier into outer layers of the data packets; and when the data packets encapsulated with the tunnel identifier arrive at the switch, the switch routes the at least two traffic flows according to the forwarding rule pre-delivered by the SPC and associated with the tunnel identifier. obtaining, by the switch according to a traffic flow which the data packet received from the SE belongs to, a forwarding rule of a service chain corresponding to the traffic flow wherein a service chain corresponds to traffic flows having a same service routing rule; and routing, by the switch according to the forwarding rule, the data packet received from the SE; wherein obtaining a forwarding rule of a service chain corresponding to the traffic flow comprises: receiving the forwarding rule delivered by a service path controller, SPC, wherein the forwarding rule indicates a routing path shared by at least two traffic flows corresponding to the service chain wherein a service traffic classifier STC identifies an application type of the at least two traffic flows and determines that service routing rules of the at least two traffic flows are the same such that the routing path of the traffic flows of different application types use the same traffic flows; wherein the forwarding rule comprises a tunnel identifier corresponding to the service chain and the data packet comprises information about the tunnel identifier and information about the traffic flow; and when routing of the traffic flows starts, the STC performs tunnel encapsulation on the data packets in the at least two traffic flows to encapsulate a same tunnel identifier into outer layers of the data packets; and when the data packets encapsulated with the tunnel identifier arrive at the switch, the switch routes the at least two traffic flows according to the forwarding rule pre-delivered by the SPC and associated with the tunnel identifier. receiving the forwarding rule delivered by a service path controller, SPC, wherein the forwarding rule indicates a routing path shared by at least two traffic flows corresponding to the service chain wherein a service traffic classifier STC identifies an application type of the at least two traffic flows and determines that service routing rules of the at least two traffic flows are the same such that the routing path of the traffic flows of different application types use the same traffic flows; wherein the forwarding rule comprises a tunnel identifier corresponding to the service chain and the data packet comprises information about the tunnel identifier and information about the traffic flow; and when routing of the traffic flows starts, the STC performs tunnel encapsulation on the data packets in the at least two traffic flows to encapsulate a same tunnel identifier into outer layers of the data packets; and when the data packets encapsulated with the tunnel identifier arrive at the switch, the switch routes the at least two traffic flows according to the forwarding rule pre-delivered by the SPC and associated with the tunnel identifier.