A data transmission method, comprising: receiving, by a receive end, a first Radio Link Control protocol data unit, RLC PDU that is transmitted in unacknowledged mode, UM; determining, by the receive end, whether the first RLC PDU comprises a complete service data unit, SDU, or an SDU segment; and transmitting, by the receive end, to a Packet Data Convergence Protocol, PDCP, layer based on a result of the determining, the complete SDU or a complete SDU assembled by using the SDU segment, wherein the transmitting to a PDCP layer based on a result of the determining, the complete SDU or a complete SDU assembled by using the SDU segment comprises: when the result of the determining is that the first RLC PDU comprises an SDU segment, determining during running of a timer, whether all SDU segments that are required for assembling the complete SDU to which the SDU segment belongs are received; and when all the SDU segments that are required for assembling the complete SDU to which the SDU segment belongs are received, assembling, the SDU segments, and transmitting the assembled complete SDU to the PDCP layer, wherein the timer corresponds to a received SDU segment;wherein the method further comprises: when the timer expires, determining whether there is an SDU segment that waits for assembly; and when there is an SDU segment that waits for assembly, determining that the timer corresponds to a latest received SDU segment of all SDU segments that wait for assembly, and starting the timer. receiving, by a receive end, a first Radio Link Control protocol data unit, RLC PDU that is transmitted in unacknowledged mode, UM; determining, by the receive end, whether the first RLC PDU comprises a complete service data unit, SDU, or an SDU segment; and transmitting, by the receive end, to a Packet Data Convergence Protocol, PDCP, layer based on a result of the determining, the complete SDU or a complete SDU assembled by using the SDU segment, wherein the transmitting to a PDCP layer based on a result of the determining, the complete SDU or a complete SDU assembled by using the SDU segment comprises: when the result of the determining is that the first RLC PDU comprises an SDU segment, determining during running of a timer, whether all SDU segments that are required for assembling the complete SDU to which the SDU segment belongs are received; and when all the SDU segments that are required for assembling the complete SDU to which the SDU segment belongs are received, assembling, the SDU segments, and transmitting the assembled complete SDU to the PDCP layer, wherein the timer corresponds to a received SDU segment;wherein the method further comprises: when the timer expires, determining whether there is an SDU segment that waits for assembly; and when there is an SDU segment that waits for assembly, determining that the timer corresponds to a latest received SDU segment of all SDU segments that wait for assembly, and starting the timer. when the result of the determining is that the first RLC PDU comprises an SDU segment, determining during running of a timer, whether all SDU segments that are required for assembling the complete SDU to which the SDU segment belongs are received; and when all the SDU segments that are required for assembling the complete SDU to which the SDU segment belongs are received, assembling, the SDU segments, and transmitting the assembled complete SDU to the PDCP layer, wherein the timer corresponds to a received SDU segment;wherein the method further comprises: when the timer expires, determining whether there is an SDU segment that waits for assembly; and when there is an SDU segment that waits for assembly, determining that the timer corresponds to a latest received SDU segment of all SDU segments that wait for assembly, and starting the timer. when the timer expires, determining whether there is an SDU segment that waits for assembly; and when there is an SDU segment that waits for assembly, determining that the timer corresponds to a latest received SDU segment of all SDU segments that wait for assembly, and starting the timer.