A communication method, comprising: receiving (S501), by a terminal device, first downlink control information, DCI, from a network device, wherein the first DCI comprises a first field and a second field, the first field is used to indicate that a retransmitted transport block, TB, exists in a TB scheduled by using the first DCI, and the second field is used to indicate an index of a retransmitted first TB in the TB scheduled by using the first DCI; and receiving (S502), by the terminal device, the retransmitted first TB from the network device based on the first field and the second field; wherein before the receiving (S501), by a terminal device, first DCI from a network device, the method further comprises: receiving, by the terminal device, second DCI from the network device, wherein the second DCI is used to schedule the initially transmitted first TB and an initially transmitted second TB; receiving, by the terminal device, the initially transmitted second TB from the network device based on the second DCI; and sending, by the terminal device, a negative acknowledgement, NACK, of the initially transmitted second TB to the network device; characterized in that after the receiving (S502), by the terminal device, the first TB from the network device, the method further comprises: if a buffer of the terminal device stores data of the second TB, replacing (S503), by the terminal device, the data of the second TB in the buffer with data of the first TB. receiving (S501), by a terminal device, first downlink control information, DCI, from a network device, wherein the first DCI comprises a first field and a second field, the first field is used to indicate that a retransmitted transport block, TB, exists in a TB scheduled by using the first DCI, and the second field is used to indicate an index of a retransmitted first TB in the TB scheduled by using the first DCI; and receiving (S502), by the terminal device, the retransmitted first TB from the network device based on the first field and the second field; wherein before the receiving (S501), by a terminal device, first DCI from a network device, the method further comprises: receiving, by the terminal device, second DCI from the network device, wherein the second DCI is used to schedule the initially transmitted first TB and an initially transmitted second TB; receiving, by the terminal device, the initially transmitted second TB from the network device based on the second DCI; and sending, by the terminal device, a negative acknowledgement, NACK, of the initially transmitted second TB to the network device; characterized in that after the receiving (S502), by the terminal device, the first TB from the network device, the method further comprises: if a buffer of the terminal device stores data of the second TB, replacing (S503), by the terminal device, the data of the second TB in the buffer with data of the first TB. receiving, by the terminal device, second DCI from the network device, wherein the second DCI is used to schedule the initially transmitted first TB and an initially transmitted second TB; receiving, by the terminal device, the initially transmitted second TB from the network device based on the second DCI; and sending, by the terminal device, a negative acknowledgement, NACK, of the initially transmitted second TB to the network device; characterized in that after the receiving (S502), by the terminal device, the first TB from the network device, the method further comprises: if a buffer of the terminal device stores data of the second TB, replacing (S503), by the terminal device, the data of the second TB in the buffer with data of the first TB. <EOS>