A communication method, wherein the method comprises: determining, by a sending device (501, 180, 700), a sequence identifier of a to-be-transmitted data packet and an identifier of a first link for transmitting the data packet, wherein the determining, by the sending device (501, 180, 700), the identifier of the first link for transmitting the data packet is based on a correspondence between the identifier of the first link or identifiers of a plurality of links in a link group and a service flow identifier, wherein the service flow identifier is used to identify a service flow to which the data packet belongs, and wherein the service flow identifier comprises a quality of service flow identifier QFI or a service flow identifier at a session granularity, wherein the determining, by the sending device (501, 180, 700) based on a correspondence between the identifier of the first link or identifiers of a plurality of links in a link group and a service flow identifier, the identifier of the first link for transmitting the data packet includes: determining, by the sending device (501, 180, 700), the service flow identifier based on a 5-tuple of the data packet and determining, by the sending device (501, 180, 700) based on the service flow identifier and the correspondence between the identifier of the first link or identifiers of a plurality of links in a link group and the service flow identifier, the identifier of the first link for transmitting the data packet, so that when the data packet is transmitted, the 5-tuple of the data packet is learned, then the QFI or the service flow identifier at the session granularity is determined based on the 5-tuple of the data packet, and the identifier of the first link for transmitting the data packet is determined based on the QFI or the service flow identifier at the session granularity and the correspondence between the identifier of the first link and the service flow identifier; and sending, by the sending device (501, 180, 700), the data packet to a receiving device, wherein a header of the data packet comprises the identifier of the first link and the sequence identifier, the identifier of the first link is used to identify the first link, and the sequence identifier is used to identify a sending order of the data packet over the first link or in the link group to which the first link belongs. determining, by a sending device (501, 180, 700), a sequence identifier of a to-be-transmitted data packet and an identifier of a first link for transmitting the data packet, wherein the determining, by the sending device (501, 180, 700), the identifier of the first link for transmitting the data packet is based on a correspondence between the identifier of the first link or identifiers of a plurality of links in a link group and a service flow identifier, wherein the service flow identifier is used to identify a service flow to which the data packet belongs, and wherein the service flow identifier comprises a quality of service flow identifier QFI or a service flow identifier at a session granularity, wherein the determining, by the sending device (501, 180, 700) based on a correspondence between the identifier of the first link or identifiers of a plurality of links in a link group and a service flow identifier, the identifier of the first link for transmitting the data packet includes: determining, by the sending device (501, 180, 700), the service flow identifier based on a 5-tuple of the data packet and determining, by the sending device (501, 180, 700) based on the service flow identifier and the correspondence between the identifier of the first link or identifiers of a plurality of links in a link group and the service flow identifier, the identifier of the first link for transmitting the data packet, so that when the data packet is transmitted, the 5-tuple of the data packet is learned, then the QFI or the service flow identifier at the session granularity is determined based on the 5-tuple of the data packet, and the identifier of the first link for transmitting the data packet is determined based on the QFI or the service flow identifier at the session granularity and the correspondence between the identifier of the first link and the service flow identifier; and sending, by the sending device (501, 180, 700), the data packet to a receiving device, wherein a header of the data packet comprises the identifier of the first link and the sequence identifier, the identifier of the first link is used to identify the first link, and the sequence identifier is used to identify a sending order of the data packet over the first link or in the link group to which the first link belongs.