A resource allocation method for use in a Software Defined Protocol SDP network, wherein the SDP network comprises a resource allocator (120, 320, 620, 720, 820, 1020, 1120, 1220) and a protocol stack deployment node (110, 310, 610, 710, 810, 1010, 1110, 1210), and the method comprises: Receiving (S210, S410, S510, S621), by the resource allocator (120, 320, 620, 720, 820, 1020, 1120, 1220), a resource request message sent by the protocol stack deployment node, wherein the resource request message carries information about the protocol stack deployment node (110, 310, 610, 710, 810, 1010, 1110, 1210); Determining (S220, S420, S520), by the resource allocator, information about an available resource on the SDP network, wherein the available resource is used for resource allocation; Determining (S230, S440, S550), by the resource allocator (120, 320, 620, 720, 820, 1020, 1120, 1220) according to the information and the information about the available resource, information about a resource allocated; and Sending (S240, S450, S560, S624), by the resource allocator (120, 320, 620, 720, 820, 1020, 1120, 1220), a resource feedback message to the protocol stack deployment node (110, 310, 610, 710, 810, 1010, 1110, 1210), wherein the resource feedback message carries the information about the resource allocated, wherein the information carried by the resource request message is about a protocol stack deployed on the protocol stack deployment node (110, 310, 610, 710, 810, 1010, 1110, 1210); and the information determined by the resource allocator (120, 320, 620, 720, 820, 1020, 1120, 1220) comprises information about a resource allocated to each protocol layer in the protocol stack, characterized in that the information about the available resource comprises a first quantity of protocol processing modules corresponding to the available resource; and the information about the resource allocated to each protocol layer in the protocol stack comprises a second quantity of protocol processing modules corresponding to the allocated resource, wherein the information about the protocol stack comprises a processing capability of a protocol processing module at each protocol layer in the protocol stack; and determining, by the resource allocator (120, 320, 620, 720, 820, 1020, 1120), the second quantity according to the information about the protocol stack and the first quantity comprises: determining, by the resource allocator (120, 320, 620, 720, 820, 1020, 1120), the second quantity according to the processing capability of the protocol processing module at each protocol layer in the protocol stack and the first quantity, so as to obtain an optimal processing capability of performing protocol processing at all the protocol layers by using allocated resources, wherein the processing capability of the protocol processing module at each protocol layer in the protocol stack comprises a processing delay of the protocol processing module at each protocol layer in the protocol stack, a transmission delay between protocol processing modules at two adjacent protocol layers, and a quantity of data packets of at least one to-be-processed service; and the optimal processing capability of performing protocol processing at all the protocol layers by using the allocated resources comprises: a minimum sum of delays in protocol processing at all the protocol layers by using the allocated resources, or a maximum data throughput in protocol processing at all the protocol layers by using the allocated resources. determining, by the resource allocator (120, 320, 620, 720, 820, 1020, 1120), the second quantity according to the processing capability of the protocol processing module at each protocol layer in the protocol stack and the first quantity, so as to obtain an optimal processing capability of performing protocol processing at all the protocol layers by using allocated resources, wherein the processing capability of the protocol processing module at each protocol layer in the protocol stack comprises a processing delay of the protocol processing module at each protocol layer in the protocol stack, a transmission delay between protocol processing modules at two adjacent protocol layers, and a quantity of data packets of at least one to-be-processed service; and the optimal processing capability of performing protocol processing at all the protocol layers by using the allocated resources comprises: a minimum sum of delays in protocol processing at all the protocol layers by using the allocated resources, or a maximum data throughput in protocol processing at all the protocol layers by using the allocated resources.