Packet processing apparatus for realizing wire-speed, and method thereof
Abstract
Provided are a packet processing apparatus for realizing a wire-speed, and a method thereof. The packet processing apparatus realizes a wire-speed by making an inputted packet be processed in another packet processing apparatus instead of processing the inputted packet for itself. The packet processing apparatus for realizing a wire-speed by having an inputted packet processed in a packet processor of another packet processing apparatus by making an inputted packet detour a packet processor into a detour path, includes: a packet classifier for classifying and storing the inputted packet in a multi-queue based on a priority; a queue manager for including the multi-queue, determining a detour packet among packets stored in the multi-queue and marking the packet as a detour packet; and a packet scheduler for transmitting the packet designated as the detour packet to the detour path. The apparatus is used for a packet communication system.
Claims
exact text as granted — not AI-modified1 . A packet processing apparatus by making an inputted packet detour a packet processor into a detour path and processing the inputted packet in a packet processing means of another packet processing apparatus, which is a second packet processing apparatus, comprising:
a packet classifying means for classifying and storing the inputted packet in a multi-queue based on a priority; a queue managing means for including the multi-queue, determining a detour packet among packets stored in the multi-queue and marking the packet as the detour packet; and a packet scheduling means for transmitting the packet designated as the detour packet to the detour path.
2 . The apparatus as recited in claim 1 , wherein the queue managing means marks the detour packet by using metadata,
wherein the metadata include: a field for providing position information of a packet; a field for providing information on whether a packet is a final detour packet; a field for providing information on which queue the packet comes from; and a field for providing information on which packet processing apparatus the packet is transmitted to.
3 . The apparatus as recited in claim 2 , wherein the packet scheduling means transmits the packet designated as the detour packet to the detour path with reference to the metadata.
4 . The apparatus as recited in claim 1 , wherein the packet scheduling means adds a header to the packet designated as the detour packet, and
the header includes: a field for providing information on which packet processing apparatus the packet is transmitted to; a field for providing information on whether the packet is the detour packet; a field for providing information on whether the packet is the final detour packet; a field for providing information on which queue the packet comes from; and a field for providing information on the packet processing apparatus that sets up the packet as the detour packet.
5 . The apparatus as recited in claim 1 , wherein the queue managing means determines a packet processing apparatus to receive the detour packet based on packet process rate information of the second packet processing apparatus which is stored in an external packet process rate storing means.
6 . The apparatus as recited in claim 5 , wherein the queue managing means acquires the packet process rate information of the second packet processing apparatus by transmitting a packet process rate information request packet to the packet process rate storing means.
7 . The apparatus as recited in claim 6 , wherein the packet process rate information request packet includes:
a field for providing information showing that the packet should be transmitted to the packet process rate storing means; a field for providing information showing that the packet requests the packet process rate information; a field for providing information of the packet processing apparatus requesting the packet process rate information; and a field for providing information on which packet processing apparatus the packet process rate information request is for.
8 . The apparatus as recited in claim 6 , wherein the packet process rate storing means transmits a packet process rate information providing packet in responds to the packet process rate information request packet transmitted from the queue managing means.
9 . The apparatus as recited in claim 8 , wherein the packet process rate information providing packet includes:
a field for providing information of the packet processing apparatus to receive the packet process rate information; a field for showing that the packet provides the packet process rate information; a field for providing information on which packet processing apparatus the packet process rate information is for; and a field for providing the packet process rate information of the requested packet processing apparatus.
10 . The apparatus as recited in claim 1 , wherein the packet scheduling means registers the packet process rate information of the packet processing apparatus by transmitting a packet process rate registration packet the external packet process rate storing means.
11 . The apparatus as recited in claim 10 , wherein the packet process rate registration packet includes:
a field for providing information showing that the packet should be transmitted to the packet process rate storing means; a field for providing information showing that the packet registers the packet process rate; a field for providing information on which packet processing apparatus the packet process rate belongs to; and a field for providing the packet process rate information of the packet processing apparatus.
12 . The apparatus as recited in claim 1 , wherein the queue managing means records the number of the packets to be detoured in a detour packet counter.
13 . The apparatus as recited in claim 12 , wherein the packet scheduling means reduces a counting number of detour packet counter one by one whenever the detour packet is processed one by one, and locks the queue after all detour packets are processed.
14 . A packet processing apparatus for processing a packet transmitted from another packet processing apparatus, which is a second packet processing apparatus, comprising:
a packet selecting means for checking whether an inputted packet is a normal packet transmitted after being processed in the second packet processing apparatus or a detour packet transmitted without being processed, and directing the packets into corresponding paths; a queue for storing the detour packet transmitted from the packet selecting means; a packet scheduling means for reading the detour packet stored in the queue and transmitting the detour packet to the packet processing means in the rear end of the packet processing apparatus; and a packet processing means for processing the detour packet transmitted from the packet scheduling means and outputting the detour packet as the normal packet.
15 . The apparatus as recited in claim 14 , wherein the packet selecting means determines whether the inputted packet is the normal packet or the detour packet based on an Opcode.
16 . The apparatus as recited in claim 14 , wherein the detour packet stored in the queue includes:
a field for providing information on whether the packet is a detour packet; a field for providing information on whether the packet is a final detour packet; a field for providing information on which queue the packet comes from; and a field for providing information of the packet processing apparatus which sets up the packet as the detour packet.
17 . The apparatus as recited in claim 16 , wherein the packet scheduling means generates a queue lock release packet based on field information of the detour packet and transmits the queue lock release packet to the packet processing apparatus which transmits the detour packet.
18 . The apparatus as recited in claim 17 , wherein the queue lock release packet includes:
a field for providing information of the packet processing apparatus that a locked queue exists; a field for providing information showing that the packet is the queue lock release packet; and a field for providing information of the locked queue.
19 . The apparatus as recited in claim 16 , wherein the packet scheduling means removes the field of the detour packet and transmits only a pure IP packet to the packet processing means.
20 . The apparatus as recited in claim 14 , wherein the normal packet of the packet selecting means includes:
a field for providing information showing that the packet is a normal packet; a field for providing port number information that the packet us outputted; and a field which includes an IP packet to be finally outputted, wherein the packet selecting means transmits the IP packet of the normal packet to a queue connected to a port of the port number.
21 . A packet processing method by making an inputted packet detour a packet processor into a detour path and processing the inputted packet in a packet processing means of another packet processing apparatus, which is a second packet processing apparatus, comprising:
a) classifying and storing the inputted packet in a multi-queue based on a priority; b) determining a packet to be detoured among packets stored in the multi-queue and marking the packet as a detour packet; and c) reading the packet determined as the detour packet out of the multi-queue and transmitting the detour packet to the second packet processing apparatus through the detour path.
22 . The method as recited in claim 21 , wherein metadata are generated to mark the detour packet in the step b),
the metadata including: a field for providing position information of the packet; a field for providing information on whether the packet is a final detour packet; a field for providing information on which queue the packet comes from; and a field for providing information on which packet processing apparatus the packet is transmitted to.
23 . The method as recited in claim 22 , wherein the detour packet is read out of the multi-queue based on the metadata and transmitted to the second packet processing apparatus through the detour path in the step c).
24 . The method as recited in claim 21 , wherein a header is added to the detour packet and the detour packet is transmitted to the second packet processing apparatus through the detour path in the step c),
the header including: a field for providing information on which packet processing apparatus the packet is transmitted to; a field for providing information on whether the packet is a detour packet; a field for providing information on whether the packet is a final detour packet; a field for providing information on which queue the packet comes from; and a field for providing information on the packet processing apparatus which sets up the packet as the detour packet.
25 . The method as recited in claim 21 , wherein the step b) includes:
b1) transmitting a packet process rate information request packet to an external packet process rate storing means in order to acquire packet process rate information of the second packet processing apparatus; and b2) determining a packet processing apparatus for receiving packet process rate information providing packet from the packet process rate storing means and transmitting the packet determined as the detour packet
26 . The method as recited in claim 25 , wherein the packet process rate information request packet includes:
a field for providing information showing that the packet should be transmitted to the packet process rate storing means; a field for providing information showing that the packet requests the packet process rate information; a field for providing information of the packet processing apparatus requesting the packet process rate information is for; and a field for providing information on which packet processing apparatus the packet process rate information request is for.
27 . The method as recited in claim 25 , wherein the packet process rate information providing packet includes:
a field for providing information of the packet processing apparatus to receive the packet process rate information; a field for providing information showing that the packet provides the packet process rate information; a field for providing information on which packet processing apparatus the packet process rate information is for; and a field for providing packet process rate information of a requested packet processing apparatus.
28 . The method as recited in claim 21 , further comprising:
d) registering the packet process rate information of the packet processing apparatus by transmitting a packet process rate registration packet to an external packet process rate storing means.
29 . The method as recited in claim 28 , wherein the packet process rate registration packet includes:
a field for providing information showing that the packet should be transmitted to the packet process rate storing means; a field for providing information showing that the packet registers a packet process rate; a field for providing information on which packet processing apparatus the packet process rate is for; and a field for providing information the packet process rate of the packet processing apparatus.
30 . The method as recited in claim 21 , further comprising:
e) recording the number of packets to be detoured in the detour packet counter; and f) reducing a counting number of the detour packet counter one by one whenever the detour packet is processed one by one.
31 . The method as recited in claim 30 , further comprising:
g) processing all packets to be detoured and locking the queue.
32 . A packet processing method for processing a packet transmitted from another packet processing apparatus, which is a second packet processing apparatus, comprising:
a) checking whether an inputted packet is a normal packet transmitted after being processed in the second packet processing apparatus or a detour packet transmitted without being processed, and dividing the packets into each path; and b) processing the divided detour packets and outputting the detour packet as the normal packet.
33 . The method as recited in claim 32 , wherein it is determined in the step a) whether the packet is a normal packet or a detour packet based on a Opcode of the packet transmitted from the second packet processing apparatus.
34 . The method as recited in claim 32 , wherein the detour packet includes:
a field for providing information on whether the packet is a detour packet; a field for providing information on whether the packet is a final detour packet; a field for providing information on which queue the packet comes from; and a field for providing information on the packet processing apparatus that sets up the packet as a detour packet.
35 . The method as recited in claim 34 , further comprising:
c) generating a queue lock release packet based on the field information of the detour packet and transmitting the queue lock release packet to the packet processing apparatus which transmits the detour packet.
36 . The method as recited in claim 35 , wherein the queue lock release packet includes:
a field for providing information of the packet processing apparatus having a locked queue; a field for providing information showing that the packet is a queue lock release packet; and a field for providing information of the locked queue.
37 . The apparatus as recited in claim 32 , wherein the normal packet processed in and transmitted from the second packet processing apparatus includes:
a field for providing information showing that the packet is a normal packet; a field for providing port number information that the packet is outputted; and a field including an IP packet to be finally outputted.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.