KR20130126789A - Apparatus and method for processing packet using flow and sequence information - Google Patents
Apparatus and method for processing packet using flow and sequence information Download PDFInfo
- Publication number
- KR20130126789A KR20130126789A KR1020120040409A KR20120040409A KR20130126789A KR 20130126789 A KR20130126789 A KR 20130126789A KR 1020120040409 A KR1020120040409 A KR 1020120040409A KR 20120040409 A KR20120040409 A KR 20120040409A KR 20130126789 A KR20130126789 A KR 20130126789A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- flow
- packets
- output
- flow information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6255—Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
The present invention relates to a network device, and more particularly, to a packet processing device and a processing method using flow and order information.
With the development of network technology, the Internet has exploded. In addition, the data transmitted from the Internet occupies a large amount of multimedia data such as images, audio, and video as well as text.
In case of data transmission in audio, video, internet telephony and internet broadcasting, if the transmission data is large, it is divided into small data units called packets and transmitted sequentially. In this case, the transmission order of the packets must be maintained in order to transmit without interruption. The time should be within the allowable delay time.
Therefore, the network device requires a lot of data processing capability for quality of service (QoS) such as not only the transmission of the packet to the destination of the packet but also the maintenance of the packet transmission order and the maximum allowable delay time between packets. do.
In general, to improve the data throughput, rather than using a single processor to perform parallel processing using multiple processors to improve the overall throughput.
In this case, packet data transmission between the program transmitting the packet and the receiving program is regarded as one flow to maintain the packet transmission order. Processing can be done in parallel and transmission order is maintained on the receiving side. In this case, in general, since the number of flows is considerably larger than the number of processors, parallel processing may be performed by a plurality of processors, but only packets of the same flow may be input or only packets having a flow attribute that is considerably less than the number of processors. In this case, only a few processors process a packet and the remaining processors have a problem in that packet processing efficiency is lowered in a standby state.
In addition, if only packets of the same flow are input, if multiple processors perform parallel processing in the order of input, the flow properties are the same, but the attributes such as the size of each packet are different so that the packets are not processed in the assigned order. There is a problem that there is a possibility that a later allocated packet is outputted first.
The present invention is to solve this problem, by using the packet flow information and order information to allocate packet data to all processors regardless of the flow to improve the packet processing speed and in the order entered for packets of the same flow The purpose is to output the packet.
In order to achieve the above technical problem, a packet processing apparatus includes a packet receiving unit for receiving a packet, a scheduler for generating packet flow information and a packet storage address based on the received packet, and a memory for storing the received packet And a plurality of processors for processing the packets stored in the memory using the flow information and the packet storage address of the packet generated by the scheduler, and the flow information and the packet storage address of the packet generated by the scheduler. It may include a packet output unit for outputting the packet processed by the processor from the oldest packet for each flow information.
According to another aspect, a packet processing method includes receiving a packet, generating a flow information and a packet storage address based on the received packet, generating a flow-specific linked list based on the flow information and the packet storage address; Processing the received packet, comparing the packet storage address of the processed packet with the link list for each flow, and outputting if the processed packet is the packet of the oldest packet storage address for each flow information and storing the oldest packet for each flow information. If not the packet of the address may include the step of waiting.
According to the present invention, by using packet flow information and sequence information, packet data is allocated to all processors irrespective of the flow of packets to efficiently schedule a plurality of processors, thereby improving packet processing speed and inputting packets of the same flow. This has the effect of outputting the packets in the correct order.
1 is a block diagram showing the configuration of a packet processing apparatus according to an embodiment of the present invention.
2 is a flowchart illustrating a packet processing method according to an embodiment of the present invention.
Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. In addition, the terms described below are defined in consideration of the functions of the present invention, and this may vary depending on the intention of the user, the operator, or the like. Therefore, the definition should be based on the contents throughout this specification.
1 is a block diagram showing the configuration of a packet processing apparatus according to an embodiment of the present invention. As shown, the packet processing apparatus according to an embodiment includes a
The
The
The
The
Each processor 400-1 through 400-j transmits each processor ID to the
In detail, each of the processors 400-1 through 400-j reads packet data of the
Each processor 400-1 to 400-j transmits output information such as the output port of the packet and the packet storage address to the
The
If the packet storage address and flow information of the same flow is received later from the
The
When the
The
For example, when the output flag of the oldest packet among the packets in the association list is the output, the output time is compared with the current time.
) Is the current time ( ) And some time ( ) Within ) Sends the output information such as the output port to the output module along with the packet storage address and deletes the packet related node sent from the link list for each flow. Packets of all nodes are output and the association list in which all nodes of the association list for each flow is deleted is deleted.The output module receiving the output information outputs the packet to the corresponding output port using the packet storage address, and transmits the packet storage address to the
When the output flag of the oldest packet among the packets of the flow-specific association list is not output and the output flag of the remaining one or more packets is output, the
At this time, a predetermined time (
If all the output flags of old packet are changed to output within), the output time ( ) Is the current time ( ) And some time ( All packets within) are transmitted to the output module and the packet-related nodes sent from the flow related list are deleted.On the other hand, some time (
If the output flag of the old packet does not become output even after the elapse of), the packet whose output flag is not output is processed as an error and deleted from the association list. And the output time (for the packet whose output flag is output in the order of the old packet in the related list) ) Is the current time ( ) And some time ( All packets within) are transmitted to the output module and the packet-related nodes sent from the flow related list are deleted.If the output flag of all packets of the flow-associated association list is not output, the
As described above, in the packet processing apparatus according to the present exemplary embodiment, the
2 is a flowchart illustrating a packet processing method according to an embodiment of the present invention.
The packet is received (600) and generates flow information and a packet storage address based on the received packet. (610) In this case, the flow information may be generated based on 5-tuple information of the packet data header of the received packet. . In this case, the 5-tuple information of the packet data header may be classified into a source IP address, a destination IP address, a source port number, a destination port number, and protocol information.
A link list for each flow is generated based on the generated flow information and the packet storage address. In
The received packet is processed (630), and the flow information of the processed packet is compared with the flow information of the flow-specific association list (640). Review if they are the same (650)
If the processed packet is the same as the packet of the oldest packet storage address of the association list of the same flow, the processed packet is output (660), while the processed packet is of the oldest packet storage address of the association list of the same flow. If it is not the same as the packet, it waits until the packet of the oldest packet storage address of the association list of the same flow is processed and output.
After the packet of the oldest packet storage address in the association list of the same flow is processed and outputted, it is checked whether the waiting packet is the oldest packet in the association list, and (680) the waiting packet is the oldest in the association list. If it is not the old packet, the oldest packet in the corresponding list is processed and waited until output (690). If the waiting packet is the oldest packet in the corresponding list, the waiting packet is output.
After outputting the waiting packet, if the old packet of the relevant list is a packet to be output, the packets of the linked list are output in order, and the processed packet is output until the oldest packet of the linked list becomes an unprinted packet.
According to the present invention, the
The present invention has been described with reference to the preferred embodiments. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be construed to include various embodiments within the scope of the claims.
100: packet receiving unit, 200: scheduler,
300: memory, 400-1 to 400-j: processor,
500: packet output unit.
Claims (1)
A packet receiver for receiving a packet;
A scheduler for generating packet flow information and a packet storage address based on the received packet;
A memory for storing the received packet;
A plurality of processors for processing the packets stored in the memory using flow information and packet storage addresses of the packets generated by the scheduler; And
A packet output unit configured to output the packet processed by the processor from the oldest packet for each flow information using flow information and packet storage address of the packet generated by the scheduler;
Packet processing apparatus comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120040409A KR20130126789A (en) | 2012-04-18 | 2012-04-18 | Apparatus and method for processing packet using flow and sequence information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120040409A KR20130126789A (en) | 2012-04-18 | 2012-04-18 | Apparatus and method for processing packet using flow and sequence information |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20130126789A true KR20130126789A (en) | 2013-11-21 |
Family
ID=49854613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120040409A KR20130126789A (en) | 2012-04-18 | 2012-04-18 | Apparatus and method for processing packet using flow and sequence information |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20130126789A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200126542A (en) * | 2019-04-30 | 2020-11-09 | 동의대학교 산학협력단 | Packet processing apparatus and method in network processor |
-
2012
- 2012-04-18 KR KR1020120040409A patent/KR20130126789A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200126542A (en) * | 2019-04-30 | 2020-11-09 | 동의대학교 산학협력단 | Packet processing apparatus and method in network processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10135636B2 (en) | Method for generating forwarding information, controller, and service forwarding entity | |
WO2018086076A1 (en) | Data transmission method and apparatus | |
US11722407B2 (en) | Packet processing method and apparatus | |
US8229705B1 (en) | Performance monitoring in computer networks | |
US8711752B2 (en) | Distributed multicast packet replication with centralized quality of service | |
KR101893963B1 (en) | System and method for a software defined protocol network node | |
US20130033978A1 (en) | Source Alive Route Injection | |
US10104006B2 (en) | Bus interface apparatus, router, and bus system including them | |
US20140222960A1 (en) | Method and Apparatus for Rapid Data Distribution | |
JP2013034164A (en) | Relay device, and relay method | |
KR102430395B1 (en) | Method, apparatus, and system for transmitting multicast packets | |
EP2919426A1 (en) | Concurrent hashes and sub-hashes on data streams | |
US20130003748A1 (en) | Relay apparatus and relay control method | |
US7233578B1 (en) | Network with self regulating quality of service (QoS) | |
CN100561978C (en) | A kind of strategy route device and method | |
WO2016150020A1 (en) | Scheduling flow identifier-based packet scheduling method and device | |
US9942161B1 (en) | Methods and systems for configuring and updating session-based quality of service for multimedia traffic in a local area network | |
US7961612B2 (en) | Limiting transmission rate of data | |
JP5414506B2 (en) | Data processing apparatus, data processing method, and program | |
CN115037399A (en) | Message forwarding method, electronic device and storage medium | |
KR20130126789A (en) | Apparatus and method for processing packet using flow and sequence information | |
US20230385264A1 (en) | Managing subscriptions to data queries that react and update to change notifications | |
CN113518046B (en) | Message forwarding method and frame type switching equipment | |
Cavalieri | Modelling and analysing congestion in KNXnet/IP | |
JP2005033351A (en) | Packet relaying apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |