KR101440271B1 - Method and system for processing packet - Google Patents

Method and system for processing packet Download PDF

Info

Publication number
KR101440271B1
KR101440271B1 KR1020120117441A KR20120117441A KR101440271B1 KR 101440271 B1 KR101440271 B1 KR 101440271B1 KR 1020120117441 A KR1020120117441 A KR 1020120117441A KR 20120117441 A KR20120117441 A KR 20120117441A KR 101440271 B1 KR101440271 B1 KR 101440271B1
Authority
KR
South Korea
Prior art keywords
packet
header information
output
header
unit
Prior art date
Application number
KR1020120117441A
Other languages
Korean (ko)
Other versions
KR20140052186A (en
Inventor
송영하
이승동
Original Assignee
주식회사 다산네트웍스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 다산네트웍스 filed Critical 주식회사 다산네트웍스
Priority to KR1020120117441A priority Critical patent/KR101440271B1/en
Publication of KR20140052186A publication Critical patent/KR20140052186A/en
Application granted granted Critical
Publication of KR101440271B1 publication Critical patent/KR101440271B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

페이로드 전단에 부가되는 헤더들 중에서 원하는 내부 헤더 정보를 분석, 처리할 수 있는 패킷 처리 방법 및 시스템이 개시된다. 이를 위한 패킷 처리부를 포함하며, 외부의 수신기로 처리된 패킷을 송신하는 패킷 처리 시스템에서의 패킷 처리 방법은 패킷 헤더의 제1 헤더정보 앞부분의 제2 헤더정보를 읽어내는 단계, 패킷의 제2 헤더정보 부분을 분리하여 제1 헤더정보가 당초보다 앞부분으로 이동된 출력 패킷으로 재배열하는 단계 및 재배열된 출력 패킷을 패킷 처리부에서 처리하는 단계를 포함할 수 있다. 또한, 패킷 처리 시스템은 외부 송신기로부터 패킷을 수신하는 패킷 수신부, 패킷의 제2 헤더정보 부분을 분리하여 제1 헤더정보가 당초보다 앞부분으로 이동된 출력 패킷으로 재배열하는 패킷 재배열부, 재배열된 출력 패킷을 처리하는 패킷 처리부 및 외부 수신기로 출력 패킷을 송신하는 패킷 송신부를 포함할 수 있다.A packet processing method and system capable of analyzing and processing desired internal header information among headers added to a payload front end are disclosed. A packet processing method in a packet processing system that includes a packet processing unit for transmitting a packet processed by an external receiver includes reading second header information at a head portion of a first header information of a packet header, Separating the information part and rearranging the first header information as an output packet moved earlier than the original information, and processing the rearranged output packet in the packet processing part. The packet processing system includes a packet receiving unit for receiving a packet from an external transmitter, a packet rearranging unit for rearranging the second header information portion of the packet into an output packet whose first header information is moved earlier than the original, A packet processing unit that processes the output packet, and a packet transmission unit that transmits the output packet to the external receiver.

Figure R1020120117441
Figure R1020120117441

Description

패킷 처리 방법 및 시스템 {METHOD AND SYSTEM FOR PROCESSING PACKET}[0001] METHOD AND SYSTEM FOR PROCESSING PACKET [0002]

통신 방법, 보다 상세하게는 패킷 통신에서 패킷 처리 방법 및 시스템에 관한 기술이 개시된다.TECHNICAL FIELD [0001] The present invention relates to a communication method, and more particularly, to a packet processing method and system in packet communication.

패킷(packet)이란 데이터 통신과 관련하여 OSI(Open Systems Interconnection) 7 계층 중에서 네트워크 계층의 기본전송 단위를 의미하며, 패킷의 생성은 데이터 캡슐화 과정을 통하여 이루어진다. 인터넷의 기본적인 통신 프로토콜인 TCP/IP(Transmission Control Protocol/Internet Protocol)를 예로 들면, 데이터를 응용 계층(application layer)에서 전송 계층(transport layer)으로 전달하면 TCP 헤더가 데이터에 붙어서 세그먼트(segment)가 되고 세그먼트를 네트워크 계층(network layer)으로 전달하면 IP 헤더가 붙어서 패킷이 생성된다.A packet refers to a basic transmission unit of the network layer among OSI (Open Systems Interconnection) 7 layers with respect to data communication, and packet generation is performed through a data encapsulation process. For example, in TCP / IP (Transmission Control Protocol / Internet Protocol), which is the basic communication protocol of the Internet, when data is transferred from the application layer to the transport layer, the TCP header attaches to the data, When a segment is transmitted to a network layer, a packet is generated with an IP header.

전송 계층인 TCP는 메시지나 파일들을 좀더 작은 패킷으로 나누어 각각에 헤더(header)를 붙여 인터넷을 통해 전송하는 일과, 수신된 패킷들을 원래의 메시지로 재조립하는 일을 담당한다. 헤더는 수신한 곳에서 데이터가 전송되는 동안 변경되지 않았음을 확인하고 원래의 형태로 재결합하기 위해 사용하는 정보를 포함한다. 네트워크 계층인 IP는 각 패킷의 주소 부분을 처리함으로써, 패킷들이 목적지에 정확하게 도달할 수 있게 한다.TCP, which is a transport layer, is responsible for dividing a message or files into smaller packets, sending them over the Internet with a header, and reassembling the received packets into the original message. The header contains information that is used to confirm that the data has not been changed while the data was being transmitted and to recombine in its original form. IP, the network layer, handles the address portion of each packet, allowing packets to reach their destination precisely.

도 1에서는 일반적인 패킷(100) 구조를 도시하였다. 도시한 바와 같이 패킷 기반의 데이터 통신에서는 데이터 전송 시 데이터를 나누어 페이로드(payload)(130)부분에 두고 각 계층에서 헤더(110, 120)를 부가하여 패킷(100) 구조로 전송하며, 수신단에서는 패킷(100) 전단의 헤더정보를 차례로 읽어 페이로드(130)들을 결합함으로써 데이터를 복원하게 된다.1 shows a general packet 100 structure. As shown in the figure, in the packet-based data communication, the data is divided at the time of data transmission, and the data is divided into a payload 130, the header 110 and 120 are added to each layer, The header information of the packet 100 is sequentially read and the payloads 130 are combined to restore the data.

패킷을 처리하기 위한 상용 시스템 온 칩(System on Chip: SoC)들은 처리 길이에 한계가 있으므로 다양한 패킷 처리에 적합하게 충분한 여유를 두고 설계된다. 또한, 패킷의 효율적 처리를 위한 기술로서 등록특허 10-0919216과 같은 기술이 제안되었다. 그러나 통신 기술의 발전에 따른 네트워크의 복잡화로 인하여 어떤 상용 SoC의 경우에는 처리 능력보다 긴 헤더가 붙은 패킷을 처리 못하는 경우도 발생한다.
Commercial System on Chips (SoCs) for processing packets are designed with sufficient margin to accommodate various packet processing because of the limited processing length. Further, a technique such as that disclosed in Japanese Patent Laid-Open No. 10-0919216 has been proposed as a technique for efficiently processing packets. However, due to the complexity of the network due to the development of communication technology, some commercial SoCs sometimes fail to process packets with a header longer than the processing capability.

페이로드 전단에 부가되는 헤더들 중에서 원하는 내부 헤더 정보를 분석, 처리할 수 있는 패킷 처리 방법 및 시스템을 제공하는 것을 목적으로 한다.And an object of the present invention is to provide a packet processing method and system that can analyze and process desired internal header information among the headers added to the previous stage of payload.

일 양상에 따르면, 패킷 처리부를 포함하며, 외부의 수신기로 처리된 패킷을 송신하는 패킷 처리 시스템에서의 패킷 처리 방법은 패킷 헤더의 제1 헤더정보 앞부분의 제2 헤더정보를 읽어내는 단계, 패킷의 제2 헤더정보 부분을 분리하여 제1 헤더정보가 당초보다 앞부분으로 이동된 출력 패킷으로 재배열하는 단계 및 재배열된 출력 패킷을 패킷 처리부에서 처리하는 단계를 포함할 수 있다.According to one aspect, a packet processing method in a packet processing system that includes a packet processing unit and transmits a packet processed by an external receiver includes the steps of reading second header information at the beginning of the first header information of the packet header, Separating the second header information portion and rearranging the first header information as an output packet shifted from the first header information, and processing the rearranged output packet in the packet processing portion.

일 양상에 따르면, 출력 패킷으로 재배열하는 단계는 분리한 제2 헤더정보를 당초 패킷의 뒷부분에 부가하여 출력 패킷으로 재배열하는 것을 포함할 수 있다.According to an aspect, the step of rearranging into an output packet may include rearranging the separated second header information to an output packet by adding the rear part of the original packet to the output packet.

일 양상에 따르면, 패킷 처리 방법은 출력 패킷과 함께 당초 패킷 내에서 제2 헤더정보의 위치에 관한 정보를 외부의 수신기로 송신하는 단계를 더 포함할 수 있다.According to an aspect, the packet processing method may further include transmitting information regarding the location of the second header information in the packet, together with the output packet, to an external receiver.

일 양상에 따르면, 패킷 처리 방법은 분리한 제2 헤더정보를 패킷 처리부에서 처리한 출력 패킷의 제1 헤더정보의 앞부분에 부가하여 당초 패킷으로 복원하는 단계 및 외부 수신기로 복원된 패킷을 송신하는 단계를 더 포함할 수 있다.According to an aspect of the present invention, a packet processing method includes a step of restoring original second packets by adding a separated second header to a first part of a first header of an output packet processed by a packet processor, As shown in FIG.

일 양상에 따르면, 패킷 처리 방법은 패킷 처리부에서 처리한 출력 패킷의 제2 헤더정보를 제1 헤더정보의 앞부분으로 이동시켜 당초 패킷으로 복원하는 단계 및 외부 수신기로 복원된 패킷을 송신하는 단계를 더 포함할 수 있다.According to an aspect of the present invention, the packet processing method further includes a step of moving the second header information of the output packet processed by the packet processing unit to the beginning of the first header information to restore the original packet, and transmitting the packet restored to the external receiver .

다른 일 양상에 따르면, 패킷 처리 시스템은 외부 송신기로부터 패킷을 수신하는 패킷 수신부, 패킷의 제2 헤더정보 부분을 분리하여 제1 헤더정보가 당초보다 앞부분으로 이동된 출력 패킷으로 재배열하는 패킷 재배열부, 재배열된 출력 패킷을 처리하는 패킷 처리부 및 외부 수신기로 출력 패킷을 송신하는 패킷 송신부를 포함할 수 있다.According to another aspect, the packet processing system includes a packet receiving unit for receiving a packet from an external transmitter, a packet rearranging unit for rearranging the second header information part of the packet into an output packet whose first header information is moved earlier than the original, A packet processing unit for processing the rearranged output packet, and a packet transmitting unit for transmitting the output packet to the external receiver.

일 양상에 따르면, 패킷 재배열부는 분리한 제2 헤더정보를 당초 패킷의 뒷부분에 부가하여 출력 패킷으로 재배열하는 것을 포함할 수 있다.According to an aspect, the packet rearrangement unit may include rearranging the separated second header information to an output packet by adding it to the rear portion of the original packet.

일 양상에 따르면, 패킷 송신부는 출력 패킷과 함께 당초 패킷 내에서 제2 헤더정보의 위치에 관한 정보를 외부의 수신기로 송신하는 것을 포함할 수 있다.According to an aspect, the packet transmission unit may include initially transmitting information regarding the location of the second header information in the packet to the external receiver together with the output packet.

일 양상에 따르면, 패킷 재배열부는 분리한 제2 헤더정보를 패킷 처리부에서 처리한 출력 패킷의 제1 헤더정보의 앞부분에 부가하여 당초 패킷으로 복원하는 것을 포함할 수 있다.According to an aspect, the packet rearrangement unit may include restoring the separated second header information to the original packet by appending the first header information of the output packet processed by the packet processing unit.

일 양상에 따르면, 패킷 재배열부는 패킷 처리부에서 처리한 출력 패킷의 제2 헤더정보를 제1 헤더정보의 앞부분으로 이동시켜 당초 패킷으로 복원하는 것을 포함할 수 있다.According to an aspect, the packet reordering unit may include restoring the second header information of the output packet processed by the packet processing unit to the beginning of the first header information and reconstructing the original packet.

일 양상에 따르면, 패킷 송신부는 외부 수신기로 복원된 패킷을 송신하는 것According to one aspect, the packet transmitting unit transmits a packet restored to an external receiver

을 포함할 수 있다.. ≪ / RTI >

개시된 패킷 처리 방법 및 시스템은 패킷의 페이로드 앞에 부가되는 헤더들 중 전단의 일부를 분리, 재배열하여 원하는 내부 헤더 정보에 대한 분석, 처리가 가능할 수 있다.The disclosed packet processing method and system can analyze and process desired internal header information by separating and rearranging a part of the front end of the header added before the payload of the packet.

또한, 개시된 패킷 처리 방법 및 시스템은 상용 SoC 에서 분석할 수 없었던 내부 헤더 정보까지 분석할 수 있도록 하여 하드웨어적 한계에 따른 문제를 해결할 수 있다.In addition, the disclosed packet processing method and system can resolve internal header information that could not be analyzed in a commercial SoC, thereby solving the problem according to hardware limitations.

도 1은 일반적인 패킷 구조를 개략적으로 나타낸 도면이다.
도 2는 일 실시예에 따른 출력 패킷의 구조를 개략적으로 나타낸 도면이다.
도 3은 또다른 일 실시예에 따른 출력 패킷의 구조를 개략적으로 나타낸 도면이다.
도 4는 일 실시예에 따른 패킷 구조를 나타낸 도면이다.
도 5는 일 실시예에 따른 패킷 처리 방법의 구성을 개략적으로 도시한 흐름도이다.
도 6은 또다른 일 실시예에 따른 패킷 처리 방법의 구성을 개략적으로 도시한 흐름도이다.
도 7은 또다른 일 실시예에 따른 패킷 처리 방법의 구성을 개략적으로 도시한 흐름도이다.
도 8은 일 실시예에 따른 패킷 처리 시스템의 개략적인 구성도이다.
도 9a, 도 9b 및 도 9c는 일 실시예에 따른 패킷의 재배열을 개략적으로 나타낸 도면이다.
1 is a diagram schematically showing a general packet structure.
2 is a diagram schematically illustrating the structure of an output packet according to an exemplary embodiment.
3 is a diagram schematically showing the structure of an output packet according to another embodiment.
4 is a diagram illustrating a packet structure according to an embodiment.
5 is a flowchart schematically showing a configuration of a packet processing method according to an embodiment.
6 is a flowchart schematically showing a configuration of a packet processing method according to another embodiment.
7 is a flowchart schematically showing a configuration of a packet processing method according to another embodiment.
8 is a schematic configuration diagram of a packet processing system according to an embodiment.
9A, 9B, and 9C are schematic diagrams of packet rearrangement according to one embodiment.

전술한, 그리고 추가적인 발명의 양상들은 후술하는 실시예들을 통해 명백해질 것이다. 본 명세서에서 선택적으로 기재된 양상이나 선택적으로 기재된 실시예의 구성들은 비록 도면에서 단일의 통합된 구성으로 도시되었다 하더라도 달리 기재가 없는 한 당업자에게 기술적으로 모순인 것이 명백하지 않다면 상호간에 자유롭게 조합될 수 있는 것으로 이해된다.The foregoing and further aspects of the invention will become apparent through the following examples. The configurations of the selectively described embodiments or selectively described embodiments of the present invention may be freely combined with each other if they are not explicitly contradictory to those of ordinary skill in the art, I understand.

도 1은 일반적인 패킷 구조를 개략적으로 나타낸 도면이다. 패킷(100)은 데이터 전송과정에서의 전송단위를 의미한다. 패킷(100)은 데이터 부분인 페이로드(130) 전단에 통신규약에 따라 각 헤더(110, 120)들을 부가하여 구성된다. 헤더(110, 120)에는 패킷을 수신한 곳에서 후단의 페이로드(130)가 전송되는 동안 변경되지 않았음을 확인하고 원래 형태로 재결합될수 있도록 하는 정보를 포함한다. 이러한 패킷의 처리 방법과 관련하여 이하에서 일 실시예에 따른 도면들을 참조하여 설명하기로 한다.1 is a diagram schematically showing a general packet structure. The packet 100 indicates a transmission unit in the data transmission process. The packet 100 is constructed by adding the headers 110 and 120 in front of the payload 130, which is a data portion, according to a communication protocol. Headers 110 and 120 contain information that allows the payload 130 to be reassembled in its original form after confirming that the payload 130 has not been changed in the place where the packet was received. Hereinafter, a method of processing such a packet will be described with reference to the drawings according to one embodiment.

도 1의 경우 m+n개의 헤더가 부가된 구조를 도시한 것이다. 여기서 m, n은 임의의 정수이다. m+n개의 각 헤더는 각각 별개의 패킷에 대한 정보를 가지며, 데이터 통신 방식에 따라 부가되는 m+n개의 헤더가 정해질 수 있다. 일 실시예에 따르면, n은 수신한 패킷(100)의 헤더 중 패킷 처리부(730)에서 처리될 제1 헤더정보(110)의 헤더 갯수를 나타내고 m은 분리될 제2 헤더정보(120)의 헤더 갯수를 나타낼 수 있다.1, m + n headers are added. Here, m and n are arbitrary integers. Each of m + n headers has information on a separate packet, and m + n headers added according to a data communication scheme can be determined. According to one embodiment, n represents the number of headers of the first header information 110 to be processed by the packet processing unit 730 among the headers of the received packet 100 and m represents the header of the second header information 120 to be separated Can be expressed.

일 실시예에 따른 패킷 처리 방법이 도 5에서 개략적으로 도시된다. 패킷 헤더의 제1 헤더정보 앞부분의 일정 크기의 패킷 정보인 제2 헤더정보를 읽어내는 단계(S410)에서는 패킷(100)을 외부 네트워크로부터 수신한다. 수신한 패킷의 전단에 부가된 제2 헤더정보(120)를 읽고, 제1 헤더정보(110)와 제2 헤더정보(120)를 구분하는 위치를 결정할 수 있다. 패킷(100)의 전단에서부터 임의의 m개의 헤더가 제2 헤더정보(120)로 결정될 수 있다. 제2 헤더정보(120)를 구성하는 m개의 헤더는 데이터 통신 방식이나 패킷 처리부(730)의 종류에 따라 목적에 맞게 적절히 선택될 수 있다.A packet processing method according to one embodiment is schematically illustrated in FIG. In step S410 of reading the second header information, which is packet information of a certain size before the first header information of the packet header, the packet 100 is received from the external network. It is possible to read the second header information 120 added to the front end of the received packet and determine a position to distinguish the first header information 110 from the second header information 120. [ Any m headers from the front end of the packet 100 may be determined as the second header information 120. [ The m headers constituting the second header information 120 can be appropriately selected according to the purpose according to the data communication method and the type of the packet processing unit 730. [

일 실시예에 따르면, 패킷 처리부(730)에서 제한된 길이의 헤더를 처리하는 경우 예를 들어 임의의 n개의 헤더를 분석, 처리하려 한다면, 패킷(100)의 전단의 1에서 m까지의 m개의 헤더를 제2 헤더정보로 결정하고, 그 뒤의 m+1에서 m+n까지 n개의 헤더를 제1 헤더정보로 결정할 수 있다. 또한, 패킷 처리부(730)가 특정의 헤더 부분만 처리하면 되는 경우 예를 들어 도 4에 도시된 패킷에서 TCP 헤더만 처리하면 된다면, 페이로드(130)앞의 TCP 헤더부터 제1 헤더정보로 결정하고, 그전단의 헤더들을 제2 헤더정보로 결정할 수 있다.According to one embodiment, when the packet processor 730 processes a header having a limited length, for example, if it is desired to analyze and process any of n headers, m headers 1 to m in the previous stage of the packet 100 Can be determined as the second header information, and n headers from m + 1 to m + n following the header information can be determined as the first header information. If the packet processing unit 730 only processes a specific header part, for example, if the TCP header only needs to be processed in the packet shown in FIG. 4, the TCP header before the payload 130 is determined as the first header information. And determine the headers of the previous stage as the second header information.

패킷의 제2 헤더정보 부분을 분리하여 제1 헤더정보가 당초보다 앞부분으로 이동된 출력 패킷으로 재배열하는 단계(S430)에서는 도 2에 도시된 바와 같이 결정된 제2 헤더정보(120) 부분을 분리한 나머지 부분을 포함하는 패킷을 생성할 수 있다. 이 경우 제1 헤더정보(210)가 당초 패킷(100)보다 앞부분으로 이동된 출력 패킷(200)으로 재배열될 수 있다.In step S430 of separating the second header information part of the packet and rearranging the first header information as an output packet shifted to the beginning, the part of the second header information 120 determined as shown in FIG. 2 is separated It is possible to generate a packet including the remaining part. In this case, the first header information 210 may be rearranged into an output packet 200 that is moved earlier than the packet 100 originally.

일 실시예에 따르면, 패킷 재배열부(720)에서는 어드레스 카운트(address count)를 제1 헤더정보(110)의 시작 위치로 변화시켜 제1 헤더정보(110)부터 읽고 이를 버퍼에 저장함으로써 재배열할 수 있다. 일 실시예에 따라 제2 헤더정보(120)가 분리된, 제1 헤더정보(210)가 전단에 위치하도록 재배열된 출력 패킷(200)을 패킷 처리부(730)에 보낼 수 있다.According to one embodiment, the packet reordering unit 720 rearranges the address count by changing the address count to the start position of the first header information 110, reading the first address information 110 from the first header information 110, . The packet processor 730 may send an output packet 200 in which the first header information 210 is rearranged so that the first header information 210 is separated from the second header information 120 according to an embodiment.

재배열된 출력 패킷을 패킷 처리부에서 처리하는 단계(S450)에서는 전단에 분석하고자하는 제1 헤더정보(210) 부분이 있는 재배열된 출력 패킷(200)에 대하여 분석, 처리할 수 있다. 제1 헤더정보(210)가 전단에 있도록 재배열함으로써 부가된 헤더정보 중 원하는 내부의 헤더정보인 제1 헤더정보(210)를 바로 분석할 수 있다. 또한 제한된 길이의 헤더만을 처리할 수 있는 패킷 처리부(730)의 경우에도 제1 헤더정보(210)을 바로 분석하여 패킷을 처리할 수 있다.In the step S450 of processing the rearranged output packet by the packet processing unit, the rearranged output packet 200 having the first header information 210 to be analyzed at the previous stage can be analyzed and processed. The first header information 210 which is the desired internal header information among the added header information can be directly analyzed by rearranging the first header information 210 at the previous stage. Also, in the case of the packet processor 730 capable of processing only a header having a limited length, the first header information 210 can be directly analyzed to process the packet.

일 양상에 따르면, 패킷 처리 방법에서 출력 패킷으로 재배열하는 단계(S430)는 분리한 제2 헤더정보(120)를 페이로드(130)의 뒷부분에 부가하여 도 3에 도시된 출력 패킷(300)으로 재배열하는 것을 포함할 수 있다. 일 실시예에 따라 제2 헤더정보(320)가 페이로드(330)의 후단에 위치하도록 재배열된 출력 패킷(300)을 패킷 처리부(730)에 보낼 수 있다. 이 경우 패킷 처리부(730)에서 전단에 분석하고자하는 제1 헤더정보(310) 부분이 있는 재배열된 출력 패킷(300)에 대하여 분석, 처리할 수 있다.According to one aspect, the step of rearranging (S430) the output packet in the packet processing method adds the separated second header information 120 to the rear part of the payload 130 to generate the output packet 300 shown in FIG. As shown in FIG. According to one embodiment, the second header information 320 may be sent to the packet processing unit 730 such that the output packet 300 is rearranged to be positioned behind the payload 330. In this case, the packet processing unit 730 can analyze and process the rearranged output packet 300 having the first header information 310 to be analyzed at the preceding stage.

도 6은 또다른 일 실시예에 따른 패킷 처리 방법의 구성을 개략적으로 도시한 흐름도이다. 일 양상에 따르면, 패킷 처리 방법은 출력 패킷과 함께 당초 패킷(100) 내에서 제2 헤더정보(120)의 위치에 관한 정보를 외부의 수신기로 송신하는 단계(S570)를 더 포함할 수 있다. 일 실시예에 따라 제2 헤더정보(120)의 위치에 관한 정보와 함께 출력 패킷(300)을 외부 수신기에 송신할 수 있다. 다른 일 실시예에 따라 제2 헤더정보(120)의 위치에 관한 정보와 함께 출력 패킷(200) 및 분리된 제2 헤더정보(120)을 외부 수신기에 송신할 수 있다.6 is a flowchart schematically showing a configuration of a packet processing method according to another embodiment. According to an aspect, the packet processing method may further include transmitting (S570) the information regarding the location of the second header information 120 within the packet 100, together with the output packet, to an external receiver. And may send the output packet 300 to an external receiver with information about the location of the second header information 120 according to one embodiment. And may send the output packet 200 and the separated second header information 120 to an external receiver with information about the location of the second header information 120 according to another embodiment.

이에 따라 외부 수신기에서는 제1 헤더정보(310)을 바로 분석할 수 있고, 또한 제2 헤더정보(320)의 위치에 관한 정보를 이용하여 후단에 부가된 제2 헤더정보(320)을 분리, 전단에 부가함으로써 원래 패킷(100) 형태로 복원할 수 있다. 제2 헤더정보(120)의 위치에 관한 정보는 재배열 전 패킷(100)에서의 제2 헤더정보(120)가 분리되는 위치, 즉 제1 헤더정보(110)의 시작 위치의 어드레스 카운트를 포함할 수 있다.Accordingly, the external receiver can directly analyze the first header information 310 and can separate the second header information 320 added to the subsequent stage by using the information about the position of the second header information 320, To the original packet (100). The information on the position of the second header information 120 includes the address count of the position where the second header information 120 in the packet 100 before rearrangement is separated, that is, the start position of the first header information 110 can do.

도 7은 또다른 일 실시예에 따른 패킷 처리 방법의 구성을 개략적으로 도시한 흐름도이다. 출력 패킷(200, 300)을 당초 패킷(100)으로 복원하는 단계(S670)에서는 패킷 처리부(730)에서 출력 패킷(200, 300)을 분석, 처리한 후 다시 패킷 재배열부(720)로 출력 패킷(200, 300)을 보내면 당초 패킷(100)으로 복원할 수 있다.7 is a flowchart schematically showing a configuration of a packet processing method according to another embodiment. In the step S670 of restoring the output packets 200 and 300 to the original packet 100, the packet processing unit 730 analyzes and processes the output packets 200 and 300 and then transmits the output packets 200 and 300 to the packet rearrangement unit 720. [ It is possible to restore the original packet 100 by sending the packets 200 and 300.

일 양상에 따르면, 패킷 처리 방법은 분리한 제2 헤더정보(120)를 패킷 처리부(730)에서 처리한 출력 패킷(200)의 제1 헤더정보(210)의 앞부분에 부가하여 당초 패킷(100)으로 복원하는 단계(S670) 및 외부 수신기로 복원된 패킷(100)을 송신하는 단계(S690)를 더 포함할 수 있다. 별도의 버퍼 등에 저장해 놓은 당초 패킷(100)에서 분리한 제2 헤더정보(120)을 출력 패킷(200)의 제1 헤더정보(210)의 앞부분에 부가시킴으로써 복원할 수 있다. 이후 복원된 패킷을 송신하는 단계(S690)에서는 복원된 패킷(100)을 패킷 송신부(740)로 보낸 후 외부 수신기로 송신할 수 있다.According to an aspect of the present invention, the packet processing method includes adding the separated second header information 120 to the beginning of the first header information 210 of the output packet 200 processed by the packet processing unit 730, (S670), and transmitting the restored packet 100 to the external receiver (S690). The second header information 120 separated from the original packet 100 stored in a separate buffer or the like can be restored by adding the header information 120 to the beginning of the first header information 210 of the output packet 200. In the step S690 of transmitting the recovered packet, the restored packet 100 may be transmitted to the packet transmitter 740 and then transmitted to the external receiver.

다른 일 양상에 따르면, 패킷 처리 방법은 패킷 처리부(730)에서 처리한 출력 패킷(300)의 제2 헤더정보(320)를 제1 헤더정보(310)의 앞부분으로 이동시켜 당초 패킷(100)으로 복원하는 단계(S670) 및 외부 수신기로 복원된 패킷(100)을 송신하는 단계(S690)를 더 포함할 수 있다. 출력 패킷(300)의 후단에 부가된 제2 헤더정보(320)를 제1 헤더정보(310)의 앞부분으로 이동시킴으로써 복원할 수 있다. 이후 복원된 패킷을 송신하는 단계(S690)에서는 복원된 패킷(100)을 패킷 송신부(740)로 보낸 후 외부 수신기로 송신할 수 있다.According to another aspect, in the packet processing method, the second header information 320 of the output packet 300 processed by the packet processing unit 730 is moved to the beginning of the first header information 310, (S670), and transmitting the restored packet 100 to the external receiver (S690). By moving the second header information 320 attached to the rear end of the output packet 300 to the beginning of the first header information 310. In the step S690 of transmitting the recovered packet, the restored packet 100 may be transmitted to the packet transmitter 740 and then transmitted to the external receiver.

또 다른 일 실시예에 따른 패킷 처리 시스템(700)의 개략적인 구성도가 도 8에 도시된다. 외부 송신기로부터 패킷을 수신하는 패킷 수신부(710)의 경우 외부 네트워크(800)상의 외부 송신기로부터 패킷(100)을 수신할 수 있다. 수신한 패킷(100)은 패킷 재배열부(720)로 보내질 수 있다. 패킷 수신부(710)는 통신을 위한 칩에 해당될 수 있으며, 일 실시예에 따라 PHY칩 등으로 구현될 수 있다.A schematic configuration diagram of a packet processing system 700 according to yet another embodiment is shown in FIG. In the case of the packet receiving unit 710 that receives a packet from an external transmitter, the packet receiving unit 710 can receive the packet 100 from an external transmitter on the external network 800. The received packet 100 may be sent to the packet reordering unit 720. The packet receiver 710 may correspond to a chip for communication, and may be implemented as a PHY chip or the like according to an embodiment.

패킷 재배열부(720)는 패킷의 제2 헤더정보 부분을 분리하여 제1 헤더정보가 당초보다 앞부분으로 이동된 출력 패킷으로 재배열한다. 패킷 재배열부(720)는 수신한 패킷(100)중 패킷 처리부(730)에서 처리될 제1 헤더정보(110) 부분의 전단에 부가된 제2 헤더정보(120)를 읽고, 제1 헤더정보(110)와 제2 헤더정보(120)를 구분하는 위치를 결정할 수 있다. 패킷(100)의 전단에서부터 임의의 m개의 헤더가 제2 헤더정보(120)로 결정될 수 있다. 제2 헤더정보(120)를 구성하는 m개의 헤더는 데이터 통신 방식이나 패킷 처리부(730)의 종류에 따라 목적에 맞게 적절히 선택될 수 있다.The packet reordering unit 720 separates the second header information portion of the packet and rearranges the first header information into an output packet shifted to the beginning. The packet reordering unit 720 reads the second header information 120 added to the previous portion of the first header information 110 to be processed in the packet processing unit 730 among the received packets 100, 110 and the second header information 120. The first header information 120 and the second header information 120 may be separated from each other. Any m headers from the front end of the packet 100 may be determined as the second header information 120. [ The m headers constituting the second header information 120 can be appropriately selected according to the purpose according to the data communication method and the type of the packet processing unit 730. [

패킷 처리부(730)에서 제한된 길이의 헤더를 처리하는 경우 예를 들어 임의의 n개의 헤더를 분석, 처리하려 한다면, 패킷(100)의 전단의 1에서 m까지의 m개의 헤더를 제2 헤더정보로 결정하고, 그 뒤의 m+1에서 m+n까지 n개의 헤더를 제1 헤더정보로 결정할 수 있다. 또한, 패킷 처리부(730)가 특정의 헤더 부분만 처리하면 되는 경우 예를 들어 도 4에 도시된 패킷에서 TCP 헤더만 처리하면 된다면, 페이로드(130)앞의 TCP 헤더부터 제1 헤더정보(110)로 결정하고, 그전단의 헤더들을 제2 헤더정보(120)로 결정할 수 있다.When processing a header of a limited length by the packet processor 730, for example, if it is desired to analyze and process any of n headers, m headers from 1 to m in the previous stage of the packet 100 may be referred to as second header information And determine n headers from m + 1 to m + n following the header information as the first header information. If the packet processor 730 processes only a specific header portion, for example, if only the TCP header is to be processed in the packet shown in FIG. 4, the TCP header before the payload 130, the first header information 110 ), And determine the headers of the previous stage as the second header information 120. [

패킷 재배열부(720)에서 제2 헤더정보(120) 부분을 결정한 경우 패킷(100)의 제1 헤더정보(110)부터 패킷을 읽어서 버퍼등에 저장함으로써 제1 헤더정보(110)가 전단에 있는 도 2에 도시된 출력 패킷(200)으로 재배열할 수 있다. 일 실시예에 따르면, 패킷의 분리 및 재배열은 어드레스 카운트를 변화시킴으로써 구현될 수 있다. 만약 재배열의 필요가 없는 경우라면 재배열 없이 패킷 처리부(730)로 패킷(100)을 보낼 수 있다. 패킷 재배열부(720)은 패킷의 임시 저장을 위한 버퍼를 구비할 수 있으며, 재배열 처리가 가능한 구성으로서 일 실시예에 따르면 CPU로 구현될 수 있다.When the packet reordering unit 720 determines the portion of the second header information 120, the packet is read from the first header information 110 of the packet 100 and is stored in a buffer or the like so that the first header information 110 Lt; RTI ID = 0.0 > 200 < / RTI > According to one embodiment, the separation and rearrangement of the packets may be implemented by changing the address count. If reordering is not required, the packet processing unit 730 can send the packet 100 without reordering. The packet reordering unit 720 may include a buffer for temporary storage of packets, and may be implemented by a CPU according to an embodiment, which is capable of reordering.

재배열된 출력 패킷을 처리하는 패킷 처리부(730)에서는 패킷 재배열부(720)를 거친 출력 패킷(200)에 대하여 분석, 처리할 수 있다. 패킷 처리부(730)는 패킷의 분석 및 처리를 하는 구성으로서 일 실시예에 따르면 SoC로 구현될 수 있다. 제1 헤더정보(210)가 전단에 있도록 재배열함으로써 부가된 헤더정보 중 원하는 내부의 헤더정보인 제1 헤더정보(210)를 바로 분석할 수 있다. 또한 제한된 길이의 헤더만을 처리할 수 있는 패킷 처리부(30)의 경우에도 제1 헤더정보(210)을 바로 분석하여 패킷을 처리할 수 있다.The packet processing unit 730 for processing the rearranged output packet can analyze and process the output packet 200 through the packet rearranging unit 720. The packet processor 730 is a configuration for analyzing and processing packets and may be implemented in SoC according to an embodiment. The first header information 210 which is the desired internal header information among the added header information can be directly analyzed by rearranging the first header information 210 at the previous stage. Also, in the case of the packet processing unit 30 capable of processing only a header having a limited length, the first header information 210 can be directly analyzed to process the packet.

외부 수신기로 출력 패킷을 송신하는 패킷 송신부(740)의 경우 외부 네트워크(800)상의 외부 수신기에 재배열 후 복원된 패킷(100) 또는 출력 패킷(300)과 제2 헤더정보의 위치에 관한 정보를 송신할 수 있다. 일 실시예에 따라 패킷 수신부(710)와 패킷 송신부(740)가 분리되어 구현되었으나, 다른 일 실시예에 따라 패킷 수신부(710)와 패킷 송신부(740)가 1개의 패킷 송수신부로 구현될 수 있다. 일 실시예에 따르면 패킷 수신부(710)와 패킷 송신부(740)은 PHY칩 등으로 구현될 수 있다.In the case of the packet transmitter 740 transmitting the output packet to the external receiver, information on the restored packet 100 or the output packet 300 and the position of the second header information after being rearranged in the external receiver on the external network 800 Can be transmitted. The packet receiving unit 710 and the packet transmitting unit 740 are implemented separately. However, according to another embodiment, the packet receiving unit 710 and the packet transmitting unit 740 may be implemented as one packet transmitting / receiving unit. According to one embodiment, the packet receiving unit 710 and the packet transmitting unit 740 may be implemented as a PHY chip or the like.

일 양상에 따르면, 패킷 처리 시스템(700)에서 패킷 재배열부(720)는 분리한 제2 헤더정보(120)를 당초 패킷(100)의 뒷부분에 부가하여 출력 패킷(300)으로 재배열하는 것을 포함할 수 있다. 일 실시예에 따르면, 제 2 헤더정보(120)를 읽고 버퍼에서 출력 패킷(300) 후단에 부가함으로써 출력 패킷(300)으로 재배열할 수 있다. 이 경우 패킷 처리부(730)에서 출력 패킷(300)을 분석한 후 다시 패킷 재배열부(740)에서 원래 패킷(100) 형태로 복원하여 패킷 송신부(740)를 통하여 외부 네트워크(800)상의 외부 수신기로 송신할 수 있다.According to an aspect of the present invention, in the packet processing system 700, the packet reordering unit 720 includes rearranging the separated second header information 120 to the output packet 300, can do. According to one embodiment, the second header information 120 can be read and rearranged into an output packet 300 by appending to the output packet 300 after the buffer. In this case, the packet processor 730 analyzes the output packet 300 and then restores the original packet 100 in the packet reordering unit 740 to an external receiver on the external network 800 through the packet transmitter 740 Can be transmitted.

일 양상에 따르면, 패킷 송신부(740)은 출력 패킷(300)과 함께 당초 패킷 내에서 제2 헤더정보(120)의 위치에 관한 정보를 외부의 수신기로 송신하는 것을 포함할 수 있다. 이 경우 제2 헤더정보(120)의 위치에 관한 정보와 함께 제2 헤더정보(320)가 후단에 부가된 구조의 출력 패킷(300)을 외부 수신기에 송신할 수 있다.According to an aspect, the packet transmission unit 740 may include transmitting information about the location of the second header information 120 in the packet with the output packet 300 to an external receiver. In this case, the output packet 300 having the structure in which the second header information 320 is added to the rear end together with the information about the position of the second header information 120 can be transmitted to the external receiver.

이에 따라 외부 네트워크(800)상의 외부 수신기에서는 제1 헤더정보(310)을 바로 분석할 수 있고, 또한 제2 헤더정보(320)의 위치에 관한 정보를 이용하여 후단에 부가된 제2 헤더정보(320)을 분리, 전단에 부가함으로써 원래 패킷(100) 형태로 복원할 수 있다. 제2 헤더정보(120)의 위치에 관한 정보는 재배열 전 패킷(100)에서의 제2 헤더정보(120)가 분리되는 위치, 즉 제1 헤더정보(110)의 시작 위치의 어드레스 카운트를 포함할 수 있다.Accordingly, the external receiver on the external network 800 can directly analyze the first header information 310, and can also use the information on the position of the second header information 320, 320 can be separated and added to the previous stage to restore original packet 100 form. The information on the position of the second header information 120 includes the address count of the position where the second header information 120 in the packet 100 before rearrangement is separated, that is, the start position of the first header information 110 can do.

일 양상에 따르면, 패킷 재배열부(720)는 분리한 제2 헤더정보(120)를 패킷 처리부(730)에서 처리한 출력 패킷(200)의 제1 헤더정보(210)의 앞부분에 부카하여 당초 패킷(100)으로 복원하는 것을 포함할 수 있다. 패킷 처리부(730)에서 출력 패킷(200)을 분석, 처리한 후 다시 패킷 재배열부(720)로 출력 패킷(200)을 보내면 분리시 별도의 버퍼에 저장했던 제2 헤더정보(120)를 제1 헤더정보(210)의 앞부분에 부가함으로써 복원할 수 있다. 이후 일 양상에 따르면, 패킷 송신부(740)는 외부 수신기로 복원된 패킷(100)을 송신하는 것을 포함할 수 있다.According to an aspect of the present invention, the packet reordering unit 720 adds the separated second header information 120 to the first header information 210 of the output packet 200 processed by the packet processing unit 730, 0.0 > 100 < / RTI > The packet processor 730 analyzes and processes the output packet 200 and then sends the output packet 200 to the packet reordering unit 720. The second header information 120, Can be restored by adding the header information 210 to the beginning of the header information 210. According to an aspect thereafter, the packet transmitter 740 may include transmitting the recovered packet 100 to an external receiver.

일 양상에 따르면, 패킷 재배열부(720)는 패킷 처리부(730)에서 처리한 출력 패킷(300)의 제2 헤더정보(320)를 제1 헤더정보(310)의 앞부분으로 이동시켜 당초 패킷(100)으로 복원하는 것을 포함할 수 있다. 패킷 처리부(730)에서 출력 패킷(300)을 분석, 처리한 후 다시 패킷 재배열부(720)로 출력 패킷(300)을 보내면 출력 패킷(300)의 후단에 부가된 제2 헤더정보(320)를 제1 헤더정보(310)의 앞부분으로 이동시킴으로써 복원할 수 있다. 이후 일 양상에 따르면, 패킷 송신부는 외부 수신기로 복원된 패킷(100)을 송신하는 것을 포함할 수 있다.The packet reordering unit 720 moves the second header information 320 of the output packet 300 processed by the packet processing unit 730 to the beginning of the first header information 310, ). ≪ / RTI > The packet processor 730 analyzes and processes the output packet 300 and then sends the output packet 300 to the packet rearrangement unit 720 so that the second header information 320 added to the rear end of the output packet 300 Can be restored by moving to the beginning of the first header information 310. According to an aspect thereafter, the packet transmitter may include transmitting the recovered packet 100 to an external receiver.

이하에서 패킷 재배열부(720)에서의 패킷 재배열 과정을 설명한다. 도 9a, 도 9b 및 도 9c는 일 실시예에 따른 패킷의 재배열을 개략적으로 나타낸다. 패킷 재배열부(720)는 제1 버퍼(721) 및 제2 버퍼(722)를 구비할 수 있다. a, b, c, d 는 순차적으로 커지는 임의의 정수로서, 비트(bit) 단위를 나타낼 수 있다. 제1 버퍼(721) 및 제2 버퍼(722)는 각각 d비트 크기로 설정될 수 있다. 제1 버퍼(721) 및 제2 버퍼(722)의 크기는 동일한 것으로 한정되는 것은 아니며 임의의 서로 다른 크기로 설정될 수 있다.Hereinafter, a packet reordering process in the packet reordering unit 720 will be described. Figures 9A, 9B and 9C schematically illustrate a rearrangement of a packet according to an embodiment. The packet reordering unit 720 may include a first buffer 721 and a second buffer 722. a, b, c and d are arbitrary integers sequentially increasing in size and can represent bit units. Each of the first buffer 721 and the second buffer 722 may be set to a d-bit size. The sizes of the first buffer 721 and the second buffer 722 are not limited to the same size but may be set to arbitrary different sizes.

도 9a에 도시된 바와 같이, 패킷 수신부(710)에서 수신한 c비트 크기의 패킷(100)을 보내면 패킷 재배열부(720)에서는 제1 버퍼(721)에 패킷(100)을 저장하고 패킷(100)에 부가된 헤더에서 제2 헤더정보(120)와 제1 헤더정보(110)의 구분 위치인 a비트에 대한 어드레스 카운트를 결정할 수 있다. 결정한 a 위치에서부터 제1 버퍼(721)에 저장된 패킷을 읽어 제2 버퍼(722)에 저장함으로써 제1 헤더정보(210)가 전단에 위치하는 c-a비트 크기의 출력 패킷(200)으로 재배열할 수 있다.9A, when a packet 100 of c-bit size received by the packet receiving unit 710 is transmitted, the packet reordering unit 720 stores the packet 100 in the first buffer 721 and transmits the packet 100 In the header added to the first header information 120 and the first header information 110. In this case, The packet stored in the first buffer 721 is read from the determined position a and stored in the second buffer 722 so that the first header information 210 can be rearranged into the output packet 200 of ca bit size have.

다른 실시예에 따라 도 9b에 도시된 바와 같이, 제1 버퍼(721)에서 제2 헤더정보(120)를 읽어 제2 버퍼(722)에 저장된 출력 패킷(200)의 c-a비트 부터 저장함으로써, 제2 헤더정보(320)가 후단에 부가된 구조의 c비트 크기의 출력 패킷(300)으로 재배열할 수 있다. 이후 제2 버퍼(722)에 저장된 출력 패킷(200, 300)을 읽어 패킷 처리부(730)나 패킷 송신부(740)로 보낼 수 있다.9B, the second header information 120 is read out from the first buffer 721 and stored from the ca bit of the output packet 200 stored in the second buffer 722, Size output packet 300 of the structure in which the header information 320 is added to the rear end. The first buffer 722 can read the output packets 200 and 300 stored in the second buffer 722 and send the packets to the packet processor 730 or the packet transmitter 740.

다른 실시예에 따라 도 9c에 도시된 바와 같이, 패킷 처리부(730)에서 처리된 후 패킷 재배열부(720)로 보내진 출력 패킷(300)을 제1 버퍼(721)에 저장하고, c-a비트 부터 제2 헤더정보(320)를 읽어 제2 버퍼(722)에 저장한뒤 제1 버퍼(721)에서 제1 헤더정보(310)과 페이로드(330)까지를 읽어 제2 버퍼(722)의 a비트 부터 저장함으로써 당초 패킷(100) 구조로 복원할 수 있다. 9C, an output packet 300, which has been processed by the packet processing unit 730 and then sent to the packet rearranger 720, is stored in the first buffer 721, 2 header information 320 and stores the header information 320 in the second buffer 722 and then reads the first header information 310 and the payload 330 from the first buffer 721 to read the first header information 310 from the a bit of the second buffer 722 The packet 100 can be restored to its original structure.

다른 실시예에 따라, 당초 패킷(100)의 a비트까지 제2 헤더정보(120)를 읽어 패킷 재배열부(720)내의 별도의 버퍼에 저장한 뒤, 패킷 처리부(730)에서 처리한 출력 패킷(200)이 다시 패킷 재배열부(720)으로 보내지면 별도 버퍼에 저장했던 제2 헤더정보(120)를 제1 버퍼(721)에 저장하고 패킷 처리부(730)에서 처리한 출력 패킷(200)을 제1 버퍼(721)의 a비트부터 저장함으로써 당초 패킷(100) 구조로 복원할 수 있다. 이상에서는 비트 단위로 정하였으나 이에 한정되는 것은 아니며, 그보다 큰 바이트(byte) 기타 단위로 구분할 수 있을 것이다.The second header information 120 is read up to a bit of the original packet 100 and stored in a separate buffer in the packet reordering unit 720 and then the output packet processed by the packet processing unit 730 200 is again sent to the packet reordering unit 720, the second header information 120 stored in the separate buffer is stored in the first buffer 721 and the output packet 200 processed by the packet processing unit 730 is stored in the first buffer 721 1 buffer of the buffer 721, thereby reconstructing the original packet (100) structure. In the above description, the number of bits is determined in units of bits. However, the present invention is not limited thereto, but may be divided into byte units and other units.

이하에서 일 실시예에 따른 구체적 경우를 살펴보기로 한다. 도 4는 일 실시예에 따른 패킷 구조를 나타낸 도면이다. 이는 TCP/IP(Transfer Control Protocol/Internet Protocol) 및 UDP/IP(User Datagram Protocol/Internet Protocol)에 따른 패킷의 구조를 나타낸다. 데이터 전송 시 각 통신규약에 따라 페이로드 앞에는 각각의 패킷에 대한 정보를 가지는 헤더가 부가된다.Hereinafter, a specific example according to an embodiment will be described. 4 is a diagram illustrating a packet structure according to an embodiment. This shows the structure of a packet according to TCP / IP (Transfer Control Protocol / Internet Protocol) and UDP / IP (User Datagram Protocol / Internet Protocol). At the time of data transmission, a header having information on each packet is added in front of the payload according to each communication protocol.

TCP/IP의 경우를 예로 들면, 도 4에 도시된 바와 같이 전송계층의 페이로드 전단에 Ether 헤더, IP 헤더, TCP 헤더가 순차적으로 부가된 형태로 패킷이 구성되어 있다. 패킷이 패킷 처리 시스템(700)의 패킷 수신부(710)에 수신되면 패킷 재배열부(720)에서는 수신된 패킷에서 정해진 제2 헤더정보 부분을 읽어낸다. 만약 TCP 헤더 부분부터를 제1 헤더정보로 정한다면, 제2 헤더정보는 TCP 헤더 전단의 Ether 헤더, IP 헤더 부분이 될 수 있다.In the case of TCP / IP, for example, as shown in FIG. 4, a packet is formed in a form in which an Ether header, an IP header, and a TCP header are sequentially added to the front end of a payload of a transport layer. When the packet is received by the packet receiving unit 710 of the packet processing system 700, the packet reordering unit 720 reads the second header information portion determined in the received packet. If the TCP header part is defined as the first header information, the second header information may be an Ether header or an IP header part of the TCP header.

이 경우 패킷 재배열부(720)에서는 제2 헤더정보인 Ether 헤더, IP 헤더 부분을 분리하여 TCP 헤더가 전단에 나오도록 재배열할 수 있다. 이를 통하여 패킷 처리부(730)에서 TCP 헤더부터 분석, 처리가 가능할 수 있다. 이에 의하여 제한된 길이의 헤더만을 분석할 수 있어 TCP 헤더까지 처리하지 못하는 패킷 처리부(730)의 경우에도 TCP 헤더의 처리가 가능할 수 있다. 계층별 헤더 부분을 분리, 재배열하는 것은 일 실시예에 해당되며, 목적에 따라 임의 계층의 헤더 내에서도 분리, 재배열할 수 있다. 예를 들어 도 4에 도시된 TCP 헤더 내의 Dport(Destination Port)까지를 제2 헤더정보로 결정할 수도 있다.In this case, in the packet reordering unit 720, the Ether header and the IP header part, which are the second header information, can be separated and the TCP header can be rearranged so as to appear at the front end. Accordingly, the packet processor 730 can analyze and process the TCP header. Accordingly, only the header of a limited length can be analyzed, and the TCP header can be processed even in the case of the packet processor 730 which can not process the TCP header. It is one embodiment to separate and rearrange the header part by layer, and it can be separated and rearranged in a header of any hierarchy according to the purpose. For example, up to Dport (Destination Port) in the TCP header shown in FIG. 4 may be determined as the second header information.

일 실시예에 따르면, 제2 헤더정보로 정한 Ether 헤더, IP 헤더 부분이 페이로드 후단에 부가되도록 패킷을 재배열할 수 있다. 이 경우에도 패킷 처리부(730)에서 TCP 헤더부터 분석, 처리가 가능할 수 있다. 패킷의 분석, 처리 후 패킷 처리 시스템(700)의 외부 네트워크(800)상의 외부 수신기에 패킷을 송신하기 위하여 패킷 재배열부(720)에서 재배열된 패킷 후단의 제2 헤더정보인 Ether 헤더, IP 헤더 부분을 다시 분리하여 TCP 헤더 전단에 부가함으로써 다시 원래의 패킷으로 복원할 수 있다.According to an embodiment, the packets may be rearranged such that an Ether header and an IP header portion defined by the second header information are added to the rear end of the payload. In this case as well, the packet processor 730 can analyze and process the TCP header. An Ether header, which is the second header information at the rear end of the packet rearranged in the packet rearrangement unit 720, and an IP header, which is the second header information after the rearranged packet, in order to transmit the packet to the external receiver on the external network 800 of the packet processing system 700, It is possible to restore the original packet again by adding the fragment to the front end of the TCP header.

일 실시예에 따르면, 외부 네트워크(800)상의 외부 수신기에 재배열된 출력 패킷(300)과 제2 헤더정보(320)의 위치에 관한 정보를 같이 송신할 수 있다. 제2 헤더정보(120)의 위치에 관한 정보는 재배열 전 패킷(100)에서의 제2 헤더정보(120)가 분리되는 위치, 즉 제1 헤더정보(110)의 시작 위치의 어드레스 카운트를 포함할 수 있다. 이를 통하여 외부 수신기에서도 제1 헤더정보(310)부터 분석, 처리할 수 있으며, 필요한 경우 원래 패킷(100)으로의 복원이 가능하도록 할 수 있다.According to one embodiment, information about the location of the output packet 300 and the second header information 320 rearranged to an external receiver on the external network 800 may be transmitted together. The information on the position of the second header information 120 includes the address count of the position where the second header information 120 in the packet 100 before rearrangement is separated, that is, the start position of the first header information 110 can do. Accordingly, an external receiver can analyze and process the first header information 310, and restore the original packet 100 if necessary.

이상에서 TCP/IP 헤더의 경우를 예로 들었으나 이는 일 실시예에 해당될 뿐이며, 이에 한정되는 것이 아니고 패킷 형태 기반의 모든 데이터 통신 방법 전반에 걸쳐 적용될 수 있다.Although the TCP / IP header is described as an example, the present invention is not limited thereto and can be applied to all data communication methods based on a packet type.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.It will be apparent to those skilled in the art that various modifications, substitutions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. will be. Therefore, the embodiments disclosed in the present invention and the accompanying drawings are intended to illustrate and not to limit the technical spirit of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments and the accompanying drawings . The scope of protection of the present invention should be construed according to the following claims, and all technical ideas falling within the scope of the same shall be construed as falling within the scope of the present invention.

100: 패킷 200, 300: 출력 패킷
110, 210, 310: 제1 헤더정보 120, 320: 제2 헤더정보
130, 230, 330: 페이로드 700: 패킷 처리 시스템
710: 패킷 수신부 720: 패킷 재배열부
721: 제1 버퍼 722: 제2 버퍼
730: 패킷 처리부 740: 패킷 송신부
800: 외부 네트워크
100: packet 200, 300: output packet
110, 210, 310: first header information 120, 320: second header information
130, 230, 330: payload 700: packet processing system
710: Packet receiving section 720: Packet reordering section
721: first buffer 722: second buffer
730: packet processor 740: packet transmitter
800: External network

Claims (11)

패킷 처리부를 포함하며, 외부의 수신기로 처리된 패킷을 송신하는 패킷 처리 시스템에서의 패킷 처리 방법에 있어서,
패킷 기반 통신의 전송계층의 패킷 헤더의 제1 헤더정보 앞부분의 제2 헤더정보를 읽어내는 단계;
패킷의 제2 헤더정보 부분을 분리하여 제1 헤더정보가 패킷의 선두에 위치하는 출력 패킷으로 재배열하는 단계; 및
재배열된 출력 패킷을 패킷 처리부에서 처리하는 단계;
를 포함하는 패킷 처리 방법.
A packet processing method in a packet processing system that includes a packet processing unit and transmits a packet processed by an external receiver,
Reading second header information of a first part of a packet header of a transport layer of packet-based communication;
Separating the second header information portion of the packet and rearranging the first header information into an output packet located at the head of the packet; And
Processing the rearranged output packet in a packet processing unit;
Lt; / RTI >
제 1 항에 있어서, 출력 패킷으로 재배열하는 단계는
분리한 제2 헤더정보를 당초 패킷의 뒷부분에 부가하여 출력 패킷으로 재배열하는 것;
을 포함하는 패킷 처리 방법.
2. The method of claim 1, wherein the step of rearranging to an output packet comprises:
Adding the separated second header information to the rear portion of the original packet and rearranging it as an output packet;
Lt; / RTI >
제 1 항 또는 제 2 항에 있어서, 패킷 처리 방법은
출력 패킷과 함께 당초 패킷 내에서 제2 헤더정보의 위치에 관한 정보를 외부의 수신기로 송신하는 단계;
를 더 포함하는 패킷 처리 방법.
3. The method according to claim 1 or 2,
Transmitting to the external receiver information about the location of the second header information within the packet, with the output packet initially;
Lt; / RTI >
제 1 항에 있어서, 패킷 처리 방법은
분리한 제2 헤더정보를 패킷 처리부에서 처리한 출력 패킷의 제1 헤더정보의 앞부분에 부가하여 당초 패킷으로 복원하는 단계; 및
외부 수신기로 복원된 패킷을 송신하는 단계;
를 더 포함하는 패킷 처리 방법.
The method of claim 1,
Adding the separated second header information to the first part of the first header information of the output packet processed by the packet processing unit and restoring the original packet as a packet; And
Transmitting a reconstructed packet to an external receiver;
Lt; / RTI >
제 2 항에 있어서, 패킷 처리 방법은
패킷 처리부에서 처리한 출력 패킷의 제2 헤더정보를 제1 헤더정보의 앞부분으로 이동시켜 당초 패킷으로 복원하는 단계; 및
외부 수신기로 복원된 패킷을 송신하는 단계;
를 더 포함하는 패킷 처리 방법.
3. The method of claim 2,
Moving the second header information of the output packet processed by the packet processing unit to the beginning of the first header information and reconstructing the original packet; And
Transmitting a reconstructed packet to an external receiver;
Lt; / RTI >
외부 송신기로부터 패킷을 수신하는 패킷 수신부;
패킷 기반 통신의 전송계층의 패킷의 제2 헤더정보 부분을 분리하여 제1 헤더정보가 패킷의 선두에 위치하는 출력 패킷으로 재배열하는 패킷 재배열부;
재배열된 출력 패킷을 처리하는 패킷 처리부; 및
외부 수신기로 출력 패킷을 송신하는 패킷 송신부;
를 포함하는 패킷 처리 시스템.
A packet receiving unit for receiving a packet from an external transmitter;
A packet reordering unit for separating a second header information portion of a packet in a transport layer of the packet-based communication and rearranging the first header information into an output packet located at the head of the packet;
A packet processing unit for processing the rearranged output packet; And
A packet transmitter for transmitting an output packet to an external receiver;
Gt;
제 6 항에 있어서, 패킷 재배열부는
분리한 제2 헤더정보를 당초 패킷의 뒷부분에 부가하여 출력 패킷으로 재배열하는 것
을 포함하는 패킷 처리 시스템.
7. The apparatus of claim 6, wherein the packet reordering unit
Adding the separated second header information to the rear part of the original packet and rearranging it as an output packet
Gt;
제 6 항 또는 제 7 항에 있어서, 패킷 송신부는
출력 패킷과 함께 당초 패킷 내에서 제2 헤더정보의 위치에 관한 정보를 외부 수신기로 송신하는 것
을 포함하는 패킷 처리 시스템.
8. The system according to claim 6 or 7, wherein the packet transmission unit
To the external receiver, information regarding the location of the second header information within the packet, together with the output packet
Gt;
제 6 항에 있어서, 패킷 재배열부는
분리한 제2 헤더정보를 패킷 처리부에서 처리한 출력 패킷의 제1 헤더정보의 앞부분에 부가하여 당초 패킷으로 복원하는 것
을 포함하는 패킷 처리 시스템.
7. The apparatus of claim 6, wherein the packet reordering unit
The separated second header information is added to the beginning of the first header information of the output packet processed by the packet processing unit and is restored to the original packet
Gt;
제 7 항에 있어서, 패킷 재배열부는
패킷 처리부에서 처리한 출력 패킷의 제2 헤더정보를 제1 헤더정보의 앞부분으로 이동시켜 당초 패킷으로 복원하는 것
을 포함하는 패킷 처리 시스템.
8. The apparatus of claim 7, wherein the packet rearranging unit
The second header information of the output packet processed by the packet processing unit is moved to the beginning of the first header information and is restored to the original packet
Gt;
제 9 항 또는 제 10 항에 있어서, 패킷 송신부는
외부 수신기로 복원된 패킷을 송신하는 것
을 포함하는 패킷 처리 시스템.
The packet transmission device according to claim 9 or 10, wherein the packet transmission unit
Transmitting the recovered packet to the external receiver
Gt;
KR1020120117441A 2012-10-22 2012-10-22 Method and system for processing packet KR101440271B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120117441A KR101440271B1 (en) 2012-10-22 2012-10-22 Method and system for processing packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120117441A KR101440271B1 (en) 2012-10-22 2012-10-22 Method and system for processing packet

Publications (2)

Publication Number Publication Date
KR20140052186A KR20140052186A (en) 2014-05-07
KR101440271B1 true KR101440271B1 (en) 2014-09-18

Family

ID=50885459

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120117441A KR101440271B1 (en) 2012-10-22 2012-10-22 Method and system for processing packet

Country Status (1)

Country Link
KR (1) KR101440271B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172342A1 (en) 2002-03-08 2003-09-11 Uri Elzur System and method for identifying upper layer protocol message boundaries
US20070076680A1 (en) 2003-03-04 2007-04-05 Bamboo Mediacasting Ltd Segmented data delivery over non-reliable link
KR101164670B1 (en) 2003-11-25 2012-07-11 톰슨 라이센싱 Method and apparatus for storage or relocation of defined positions in a data stream

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172342A1 (en) 2002-03-08 2003-09-11 Uri Elzur System and method for identifying upper layer protocol message boundaries
US20070076680A1 (en) 2003-03-04 2007-04-05 Bamboo Mediacasting Ltd Segmented data delivery over non-reliable link
KR101164670B1 (en) 2003-11-25 2012-07-11 톰슨 라이센싱 Method and apparatus for storage or relocation of defined positions in a data stream

Also Published As

Publication number Publication date
KR20140052186A (en) 2014-05-07

Similar Documents

Publication Publication Date Title
US11249688B2 (en) High-speed data packet capture and storage with playback capabilities
US9300579B2 (en) Packet metadata channels carrying infrastructure metadata in networks
KR101286415B1 (en) Method and apparatus for packet segmentation and concatenation signaling in a communication system
US9832745B2 (en) Transport stream packets with time stamp generation by medium access control
US10742555B1 (en) Network congestion detection and resolution
US20050243834A1 (en) Packet transfer method and device
US11681470B2 (en) High-speed replay of captured data packets
EP1952592B1 (en) Communication apparatus and method
US8406298B2 (en) Method and apparatus to transmit data on PLC network by aggregating data
CN109845217B (en) Method and apparatus for transmitting data in flexible Ethernet
US8166127B2 (en) Apparatus and methods for efficient insertion and removal of MPA markers and RDMA CRC digest
CN113612723B (en) Efficient encryption and decryption of duplicate packets communicated via a virtual private network
EP3672189A1 (en) Data transmission method, device and system
KR101440271B1 (en) Method and system for processing packet
JP7035771B2 (en) Packet acquisition device, packet acquisition method, and packet acquisition program
US7620050B2 (en) Communication control device and communication control method
US7281052B2 (en) Data tracing identifiers
CN117354005A (en) Efficient encryption and decryption of duplicate packets communicated via a virtual private network
CN104753803A (en) Data transmission method, device, equipment and system
JP2009171157A (en) Utilization method of ring buffer, and switching device
JP4581925B2 (en) Data transfer apparatus and data transfer method
CN113162866B (en) Message transmission method, communication equipment and medium
JP6830516B1 (en) Fast data packet capture and storage with playback capabilities
CN116418763A (en) Message processing method and related equipment
JP2004248187A (en) Control system for wireless lan device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
FPAY Annual fee payment

Payment date: 20170904

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 5