A data transmission method for transmitting packets on a number of packet flows between a first network element and a second network element connected through a number of member links, comprising: receiving a packet; determining a first member link in a first group of member links based on a first decision manner comprising obtaining flow information of the packet, wherein the flow information is used to describe the packet, performing a first hash calculation on the flow information, and determining the first member link in the first group of member links based on a modulo n operation of the calculated first hash value where n is the number of member links in the first group; if the first member link is unavailable, determining a second member link in a second group of member links based on a second decision manner, wherein all member links in the second group of member links are available and the first group of member links comprises the second group of member links and the unavailable first member link, the determining comprising performing a second hash calculation on the flow information, and determining the second member link in the second group of member links based on a modulo m operation on the calculated second hash value where m is the number of member links in the second group, and sending the packet through the second member link ; and if the first member link is available, sending the packet through the first member link; and wherein that a member link is available means that the member link is available both physically and in management, wherein available physically includes that a physical status of the link is normal and the link can be used to transmit data, and available in management includes that an administrator configures enabling of the link for participating in operating; and wherein that a member link is unavailable means that a link fails and cannot be used to transmit data. receiving a packet; determining a first member link in a first group of member links based on a first decision manner comprising obtaining flow information of the packet, wherein the flow information is used to describe the packet, performing a first hash calculation on the flow information, and determining the first member link in the first group of member links based on a modulo n operation of the calculated first hash value where n is the number of member links in the first group; if the first member link is unavailable, determining a second member link in a second group of member links based on a second decision manner, wherein all member links in the second group of member links are available and the first group of member links comprises the second group of member links and the unavailable first member link, the determining comprising performing a second hash calculation on the flow information, and determining the second member link in the second group of member links based on a modulo m operation on the calculated second hash value where m is the number of member links in the second group, and sending the packet through the second member link ; and if the first member link is available, sending the packet through the first member link; and wherein that a member link is available means that the member link is available both physically and in management, wherein available physically includes that a physical status of the link is normal and the link can be used to transmit data, and available in management includes that an administrator configures enabling of the link for participating in operating; and wherein that a member link is unavailable means that a link fails and cannot be used to transmit data. <EOS>