An information transmission method, comprising: receiving, by a terminal device, downlink control information sent by a network device, wherein the downlink control information comprises a resource allocation field, the resource allocation field is used to indicate an allocated resource block or subcarrier resource, and the resource allocation field comprises log 2 N RB UL 6 high-order bits and M low-order bits, wherein M is a positive integer, N RB UL represents a quantity of resource blocks comprised in uplink bandwidth, └ ┘ represents a rounding down operation, and ┌ ┐ represents a rounding up operation; and when the resource allocation field is used to indicate the allocated resource block, the log 2 N RB UL 6 high-order bits indicate a narrowband index, L bit states in bit states of the M low-order bits can be used to indicate allocation of resource blocks in a narrowband, a quantity of resource blocks indicated by each of the L bit states is greater than or equal to 1, and the resource allocation field indicates the allocated resource block by using one of the L bit states, wherein L is a positive integer; and when the resource allocation field is used to indicate the allocated subcarrier resource, K bit states in bit states of the M bits can be used to indicate allocation of subcarrier resources, a quantity of subcarriers indicated by each of the K bit states is less than 12, and the resource allocation field indicates the allocated subcarrier resource by using one of the K bit states, wherein K is a positive integer; wherein L and K are two different integer values of the bit states and determining, by the terminal device based on different values of the bit states included in the resource allocation field, whether the resource block or subcarrier resource is allocated and sending information on the allocated resource block or subcarrier resource. receiving, by a terminal device, downlink control information sent by a network device, wherein the downlink control information comprises a resource allocation field, the resource allocation field is used to indicate an allocated resource block or subcarrier resource, and the resource allocation field comprises log 2 N RB UL 6 high-order bits and M low-order bits, wherein M is a positive integer, N RB UL represents a quantity of resource blocks comprised in uplink bandwidth, └ ┘ represents a rounding down operation, and ┌ ┐ represents a rounding up operation; and when the resource allocation field is used to indicate the allocated resource block, the log 2 N RB UL 6 high-order bits indicate a narrowband index, L bit states in bit states of the M low-order bits can be used to indicate allocation of resource blocks in a narrowband, a quantity of resource blocks indicated by each of the L bit states is greater than or equal to 1, and the resource allocation field indicates the allocated resource block by using one of the L bit states, wherein L is a positive integer; and when the resource allocation field is used to indicate the allocated subcarrier resource, K bit states in bit states of the M bits can be used to indicate allocation of subcarrier resources, a quantity of subcarriers indicated by each of the K bit states is less than 12, and the resource allocation field indicates the allocated subcarrier resource by using one of the K bit states, wherein K is a positive integer; wherein L and K are two different integer values of the bit states and determining, by the terminal device based on different values of the bit states included in the resource allocation field, whether the resource block or subcarrier resource is allocated and sending information on the allocated resource block or subcarrier resource.