A data transmission method, wherein the method comprises: receiving, by a core forwarding device through a first virtual channel in a Peripheral Component Interconnect Express, PCIe, channel, a first PCIe packet sent by a core device, wherein a first traffic class of the first PCIe packet is allocated by the core device according to a destination-end device of the first PCIe packet, wherein the first traffic class is in a one-to-one correspondence with the destination-end device, and the first virtual channel is in a one-to-one correspondence with the first traffic class; encapsulating, by the core forwarding device according to the destination-end device, the first PCIe packet into a first Ethernet frame that has a first priority; sending, by the core forwarding device, the first Ethernet frame to a network switching device through a first-priority channel that is in a one-to-one correspondence with the first priority and is in an Ethernet channel, when a first-priority buffer that stores the first Ethernet frame is not under back pressure; receiving, by the core forwarding device through a second-priority channel in the Ethernet channel, a second Ethernet frame sent by the network switching device, wherein a second priority of the second Ethernet frame is in a one-to-one correspondence with the second-priority channel; parsing, by the core forwarding device, the second Ethernet frame to obtain a second PCIe packet, wherein a second traffic class of the second PCIe packet is in a one-to-one correspondence with a source-end device of the second PCIe packet; and sending, by the core forwarding device, the second PCIe packet to the core device through a second virtual channel that is in a one-to-one correspondence with the second traffic class and is in the PCIe channel, when a first sending buffer that stores the second PCIe packet is not under back pressure. receiving, by a core forwarding device through a first virtual channel in a Peripheral Component Interconnect Express, PCIe, channel, a first PCIe packet sent by a core device, wherein a first traffic class of the first PCIe packet is allocated by the core device according to a destination-end device of the first PCIe packet, wherein the first traffic class is in a one-to-one correspondence with the destination-end device, and the first virtual channel is in a one-to-one correspondence with the first traffic class; encapsulating, by the core forwarding device according to the destination-end device, the first PCIe packet into a first Ethernet frame that has a first priority; sending, by the core forwarding device, the first Ethernet frame to a network switching device through a first-priority channel that is in a one-to-one correspondence with the first priority and is in an Ethernet channel, when a first-priority buffer that stores the first Ethernet frame is not under back pressure; receiving, by the core forwarding device through a second-priority channel in the Ethernet channel, a second Ethernet frame sent by the network switching device, wherein a second priority of the second Ethernet frame is in a one-to-one correspondence with the second-priority channel; parsing, by the core forwarding device, the second Ethernet frame to obtain a second PCIe packet, wherein a second traffic class of the second PCIe packet is in a one-to-one correspondence with a source-end device of the second PCIe packet; and sending, by the core forwarding device, the second PCIe packet to the core device through a second virtual channel that is in a one-to-one correspondence with the second traffic class and is in the PCIe channel, when a first sending buffer that stores the second PCIe packet is not under back pressure.