KR20180020393A - Method, apparatus and system for processing packet in high availability configuration - Google Patents

Method, apparatus and system for processing packet in high availability configuration Download PDF

Info

Publication number
KR20180020393A
KR20180020393A KR1020160104629A KR20160104629A KR20180020393A KR 20180020393 A KR20180020393 A KR 20180020393A KR 1020160104629 A KR1020160104629 A KR 1020160104629A KR 20160104629 A KR20160104629 A KR 20160104629A KR 20180020393 A KR20180020393 A KR 20180020393A
Authority
KR
South Korea
Prior art keywords
packet
session
packet processing
processing device
synchronization
Prior art date
Application number
KR1020160104629A
Other languages
Korean (ko)
Other versions
KR101836938B1 (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 KR1020160104629A priority Critical patent/KR101836938B1/en
Publication of KR20180020393A publication Critical patent/KR20180020393A/en
Application granted granted Critical
Publication of KR101836938B1 publication Critical patent/KR101836938B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Landscapes

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

Abstract

According to the present invention, a method for processing a packet in a high availability (HA) environment comprises the following steps: (a) a second packet processing apparatus receives a packet; (b) the second packet processing apparatus determines a session from the packet, and searches for the determined session from multiple types of session information synchronized with a first packet processing apparatus; and (c) the second packet processing apparatus queues the packet when a condition that the determined session is not searched from the multiple types of session information is at least satisfied.

Description

HA 환경에서의 패킷 처리 방법, 패킷 처리 장치 및 패킷 처리 시스템{METHOD, APPARATUS AND SYSTEM FOR PROCESSING PACKET IN HIGH AVAILABILITY CONFIGURATION}TECHNICAL FIELD [0001] The present invention relates to a packet processing method, a packet processing apparatus, and a packet processing system in an HA environment,

본 발명은 HA 환경에서의 패킷 처리 방법, 패킷 처리 장치 및 패킷 처리 시스템에 관한 것으로서, 구체적으로는 네트워크 방화벽 등에 적용되는 HA(High Availability) 환경하에서 정상적인 응답 패킷의 차단을 방지할 수 있는, HA 환경에서의 패킷 처리 방법, 패킷 처리 장치 및 패킷 처리 시스템에 관한 것이다. The present invention relates to a packet processing method, a packet processing apparatus, and a packet processing system in an HA environment, and more particularly, to an HA environment capable of preventing blocking of a normal response packet under an HA (High Availability) A packet processing apparatus, and a packet processing system.

네트워크 방화벽(Network Firewall)의 HA(High Availability)의 구성은 방화벽의 장애 발생시에 서비스 다운시간을 최소화시켜 가용성을 높이고 경우에 따라 트래픽 처리를 분산시킬 수 있다. The configuration of the High Availability (HA) of the network firewall minimizes the service downtime in the event of a firewall failure, thereby increasing availability and distributing traffic in some cases.

그러나 스위치와 같이 Hardware 기반으로 패킷을 처리하는 것이 아닌 Software로써 패킷을 처리하는 방화벽의 경우, 유입된 패킷 순서와 다르게 패킷 처리가 될 수 있다.However, in the case of a firewall that handles packets as software rather than processing packets based on hardware such as switches, packet processing may be performed differently from the order of incoming packets.

Software 방식으로 NIC(Network Interface Card) 드라이버에서 패킷을 처리할 때, 매 패킷이 수신될 때마다 인터럽트를 발생시켜 해당 패킷처리를 처리할 경우 인터럽트 처리에 따른 오버헤드가 크기 때문에 성능상의 이유로 사용되지 않고, 일반적으로는 인터럽트와 폴링 방식의 혼합인 NAPI(New API) 방식으로 패킷을 처리한다. NAPI는 초기 패킷 수신 시 발생한 인터럽트로 인하여 패킷 처리 후 polling 방식으로 추가적인 패킷이 있는지 검사하여 수신된 패킷이 더 있는 경우 주어진 개수 내에서 패킷을 처리하여 패킷 처리 성능을 높이는 방식이다.When a packet is processed by the NIC (Network Interface Card) driver by a software method, when an interrupt is generated every time a packet is received to process the corresponding packet, the overhead due to the interrupt processing is large. , And generally processes the packet using a NAPI (New API) method, which is a mixture of an interrupt and a polling method. NAPI is a method to check the existence of additional packets by polling method after processing the packet due to the interrupt that occurred when receiving the initial packet, and to increase the packet processing performance by processing packets within a given number if there are more received packets.

NAPI는 NIC 개수, NIC 에서 지원하는 큐 개수, NAPI를 처리하는 코어 개수, 한번에 처리할 수 있는 패킷 개수 등의 영향으로 장비에 수신된 패킷 순서와 상관없이 패킷 처리가 수행될 수 있다.The NAPI can perform packet processing irrespective of the order of packets received by the equipment due to the number of NICs, the number of queues supported by the NIC, the number of cores processing NAPI, and the number of packets that can be processed at one time.

코어 한 개가 패킷을 처리할 때는 큐 하나에 수신된 복수개의 패킷을 모두 처리한 후 다른 큐의 패킷들을 처리할 수 있으며, 또한, 어떤 코어는 다른 코어보다 먼저 패킷처리를 수행할 수도 있는 등의 이유로, 패킷 처리 순서는 수신 순서와 동일하게 보장되지 않는다.When one core processes a packet, it can process a plurality of packets received in one queue and then process packets in another queue. Also, since some cores may perform packet processing before other cores , The packet processing order is not guaranteed to be the same as the reception order.

Active-Active HA 구성에서 request 방향과 response 방향의 처리 장비가 다를 경우, request 방향에서 생성된 세션정보가 다른 방화벽 장비로 동기화되기 전에 response 패킷이 먼저 처리될 수 있다. 이 경우 원래의 의도와는 달리 해당 패킷이 차단될 수 있다. 만약 TCP 세션이라면 차단된 이후 동기화 패킷에 의하여 세션정보가 생성된 후 재전송이 될 때 정상 처리가 되겠지만 그렇지 않은 프로토콜인 경우에는 단순 drop 처리가 될 뿐이다.In an active-active HA configuration, if the processing devices in the request direction and the response direction are different, the response packet may be processed before the session information generated in the request direction is synchronized with another firewall device. In this case, unlike the original intention, the packet may be blocked. If the TCP session is blocked, session information is generated by the synchronization packet after being blocked, and then normal processing is performed when retransmission is performed. However, if the protocol is not a protocol, it is a simple drop processing.

실제 클라이언트와 서버 사이의 hop이 먼 경우 대부분은 동기화 패킷이 먼저 처리되지만 그렇지 않은 경우 동기화 패킷보다 response 패킷이 먼저 처리되어 문제가 될 수 있다.If the hop between the actual client and the server is far away, the synchronization packet is processed first. Otherwise, the response packet may be processed before the synchronization packet, which may be a problem.

Active-Active HA 구성에서 request 방향과 response 방향 처리 장비가 다를 경우, NIC 드라이버의 패킷처리 방식인 NAPI 처리 방식에 의하여 다른 처리 장비로부터의 동기화 패킷보다 Response 패킷을 먼저 수신 처리하여 세션 검색 실패 후 패킷을 drop 처리하게 될 수 있는 문제가 있다.If the request direction and the response direction processing equipment are different in the active-active HA configuration, the NAPI processing method, which is the packet processing method of the NIC driver, processes the response packet first rather than the synchronization packet from the other processing equipment. There is a problem that can be handled drop.

네트워크 방화벽 HA 환경 구성 하에서, 살펴본 바와 같은 문제점을 해소하기 위한 HA 환경에서의 패킷 처리 방법, 패킷 처리 장치 및 패킷 처리 시스템이 필요하다.A packet processing method, a packet processing apparatus, and a packet processing system in an HA environment are needed to solve the problem as described above under the configuration of a network firewall HA environment.

본 발명은, 상술한 문제점을 해결하기 위해서 안출한 것으로서, 네트워크 방화벽 HA 환경하에서 패킷 처리 장치 간 동기화 처리 전 발생하는 정상적인 패킷의 차단을 방지할 수 있도록 하는 HA 환경에서의 패킷 처리 방법, 패킷 처리 장치 및 패킷 처리 시스템을 제공하는 데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to provide a packet processing method in an HA environment that can prevent blocking of normal packets occurring before a synchronization process between packet processing apparatuses under a network firewall HA environment, And a packet processing system.

또한, 본 발명은 다른 패킷 처리 장치로부터 동기화 패킷의 수신에 따라 동기화 패킷으로부터 인식되는 세션에 대응하는 패킷을 검색 후 검색된 패킷을 바로 처리할 수 있도록 하는 HA 환경에서의 패킷 처리 방법, 패킷 처리 장치 및 패킷 처리 시스템을 제공하는 데 그 목적이 있다.The present invention also provides a packet processing method in an HA environment, a packet processing apparatus, and a packet processing method for enabling a packet retrieved after retrieving a packet corresponding to a session recognized from a synchronization packet upon receipt of a synchronization packet from another packet processing apparatus, And a packet processing system.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, unless further departing from the spirit and scope of the invention as defined by the appended claims. It will be possible.

본 발명의 일 양상에 따른 HA(High Availability) 환경에서의 패킷 처리 방법은 (a) 제2 패킷 처리 장치가 패킷을 수신하는 단계; (b) 제2 패킷 처리 장치가 상기 패킷으로부터 세션(session)을 결정하고 결정된 세션을 제1 패킷 처리 장치와 동기화된 복수의 세션 정보에서 검색하는 단계; 및 (c) 제2 패킷 처리 장치가 상기 결정된 세션이 상기 복수의 세션 정보에서 검색되지 않는 조건이 적어도 만족되는 경우 상기 패킷을 큐잉하는 단계;를 포함하는 것을 특징으로 한다.A packet processing method in an HA (High Availability) environment according to an aspect of the present invention includes the steps of: (a) receiving a packet from a second packet processing device; (b) determining a session from the packet by the second packet processing device and retrieving the determined session from a plurality of pieces of session information synchronized with the first packet processing device; And (c) queuing the packet if the condition that the determined session is not retrieved from the plurality of session information is satisfied, at least when the second packet processing device is satisfied.

상기한 패킷 처리 방법에 있어서, 상기 복수의 세션 정보는 복수의 세션 각각을 식별 가능한 세션 테이블을 통해 구성되고, 세션 테이블의 세션들과 상기 패킷에서 결정된 세션은 패킷에 포함된 복수의 식별자로 서로 구별 가능하다.In the above packet processing method, the plurality of session information is configured through a session table capable of identifying each of the plurality of sessions, and the sessions in the session table and the sessions determined in the packet are distinguished from each other by a plurality of identifiers included in the packet It is possible.

상기한 패킷 처리 방법에 있어서, 상기 단계 (c)에서는, 상기 복수의 세션 정보에서 상기 결정된 세션이 검색되지 않으면서 상기 패킷이 지정된 유형의 응답 패킷인 경우 상기 패킷을 대기 큐에 저장한다.In the above-described packet processing method, in the step (c), if the determined session is not searched in the plurality of session information and the packet is a response packet of a designated type, the packet is stored in a waiting queue.

상기한 패킷 처리 방법에 있어서, 상기 제2 패킷 처리 장치가 대기 큐에 저장된 패킷들 중 지정된 임계 시간 이상 경과된 패킷을 상기 대기 큐에서 삭제하는 단계;를 더 포함한다.In the above-described packet processing method, the second packet processing apparatus may further include, in the wait queue, deleting, from the waiting queue, a packet that has passed a predetermined threshold time or longer among the packets stored in the waiting queue.

상기한 패킷 처리 방법에 있어서, 상기 응답 패킷의 결정은 상기 패킷의 헤더를 통해 이루어지고, 상기 응답 패킷은 SYN-ACK 패킷이거나 RST 패킷이거나 ECHO REPLY 패킷이거나 TIME STAMP REPLY 패킷이거나 INFO REPLY 패킷이거나 ADDRESS REPLY 패킷이다. In the above packet processing method, the determination of the response packet is made through the header of the packet, and the response packet is a SYN-ACK packet, an RST packet, an ECHO REPLY packet, a TIME STAMP REPLY packet, an INFO REPLY packet, Packet.

상기한 패킷 처리 방법에 있어서, 상기 (c) 단계 이후에, 제1 패킷 처리 장치로부터 동기화 패킷을 수신하는 단계; 수신된 동기화 패킷의 세션에 대응하는 패킷을 상기 대기 큐로부터 검색하는 단계 및 검색된 패킷을 포워딩하는 단계;를 더 포함한다.In the above-mentioned packet processing method, after the step (c), receiving a synchronization packet from the first packet processing apparatus; Retrieving a packet corresponding to the session of the received synchronization packet from the waiting queue, and forwarding the retrieved packet.

본 발명의 일 양상에 따른 HA 환경에서의 패킷 처리 장치는 통신 포트를 포함하여 상기 통신 포트를 통해 패킷을 수신하는 통신부; 복수의 세션 정보를 저장하고 상기 패킷을 임시로 저장하는 대기 큐를 포함하는 저장부; 및 통신부로부터의 패킷을 처리하는 패킷 처리부;를 포함하고, 상기 패킷 처리부는 상기 패킷으로부터 세션(session)을 결정하고 상기 결정된 세션을 다른 패킷 처리 장치와 동기화된 상기 복수의 세션 정보에서 검색하고 상기 결정된 세션이 상기 복수의 세션 정보에서 검색되지 않는 조건이 적어도 만족되는 경우 상기 패킷을 큐잉하는 것을 특징으로 한다. According to an aspect of the present invention, an apparatus for processing a packet in an HA environment includes a communication unit including a communication port and receiving a packet through the communication port; A storage unit including a waiting queue for storing a plurality of pieces of session information and temporarily storing the packets; And a packet processing unit for processing a packet from the communication unit, wherein the packet processing unit determines a session from the packet, retrieves the determined session from the plurality of session information synchronized with another packet processing apparatus, And queues the packet if the condition that the session is not retrieved from the plurality of session information is satisfied at least.

상기한 패킷 처리 장치에 있어서, 상기 저장부에 저장되는 상기 복수의 세션 정보는 복수의 세션 각각을 식별 가능한 세션 테이블에 구성되고, 세션 테이블의 세션들과 상기 패킷에서 결정된 세션은 패킷에 포함된 복수의 식별자로 서로 구별 가능하다.In the above-described packet processing apparatus, the plurality of session information stored in the storage unit is configured in a session table capable of identifying each of a plurality of sessions, and the sessions in the session table and the session determined in the packet include a plurality Lt; / RTI >

상기한 패킷 처리 장치에 있어서, 상기 패킷 처리부는 상기 복수의 세션 정보에서 상기 결정된 세션이 검색되지 않으면서 상기 패킷이 지정된 유형의 응답 패킷인 경우 상기 패킷을 상기 저장부의 대기 큐에 저장한다.In the above packet processing apparatus, the packet processing unit stores the packet in the waiting queue of the storage unit if the determined session is not searched in the plurality of session information, and the packet is a response packet of a designated type.

상기한 패킷 처리 장치에 있어서, 상기 패킷 처리부는 상기 저장부의 대기 큐에 저장된 패킷들 중 지정된 임계 시간 이상 경과된 패킷을 상기 대기 큐에서 삭제한다.In the above packet processing apparatus, the packet processing unit deletes, from the waiting queue, a packet that has passed a specified threshold time or longer among the packets stored in the waiting queue of the storage unit.

상기한 패킷 처리 장치에 있어서, 상기 통신부는 동기화 패킷을 수신할 수 있는 HA 포트를 더 포함하고, 상기 패킷 처리부는, 패킷의 대기 큐로의 큐잉 이후에, 상기 통신부의 HA 포트를 통해 수신된 다른 패킷 처리 장치로부터의 동기화 패킷의 세션에 대응하는 패킷을 상기 대기 큐로부터 검색하고 검색된 패킷을 포워딩한다. The packet processing apparatus may further include an HA port capable of receiving a synchronization packet, wherein the packet processing unit is configured to, after queuing of the packet to a waiting queue, transmit the other packet received through the HA port of the communication unit Retrieves the packet corresponding to the session of the synchronization packet from the processing device from the waiting queue and forwards the retrieved packet.

본 발명의 일 양상에 따른 HA 환경에서의 패킷 처리 시스템은 상기한 제2 패킷 처리 장치; 및 패킷을 처리하고 상기 패킷으로부터의 세션을 동기화하기 위한 동기화 패킷을 상기 제2 패킷 처리 장치로 전송하는 제1 패킷 처리 장치;를 포함하는 것을 특징으로 한다.A packet processing system in an HA environment according to an aspect of the present invention includes the above-described second packet processing device; And a first packet processing device for processing a packet and transmitting a synchronization packet for synchronizing a session from the packet to the second packet processing device.

상기와 같은 본 발명에 따른 HA 환경에서의 패킷 처리 방법, 패킷 처리 장치 및 패킷 처리 시스템은 네트워크 방화벽 HA 환경하에서 패킷 처리 장치 간 동기화 처리 전 발생하는 정상적인 패킷의 차단을 방지할 수 있도록 하는 효과가 있다.The packet processing method, the packet processing apparatus, and the packet processing system in the HA environment according to the present invention have the effect of preventing normal packet blocking occurring before the synchronization processing between the packet processing apparatuses under the network firewall HA environment .

또한, 상기와 같은 본 발명에 따른 HA 환경에서의 패킷 처리 방법, 패킷 처리 장치 및 패킷 처리 시스템은 지연 처리할 패킷의 유형을 식별하고 식별된 유형의 패킷을 큐잉하여 동기화 패킷의 수신 및 처리 후까지 지연처리할 수 있도록 하는 효과가 있다. The packet processing method, the packet processing device, and the packet processing system in the HA environment according to the present invention as described above identifies the type of packet to be delay processed, queues the packet of the identified type, Delay processing can be performed.

또한, 상기와 같은 본 발명에 따른 HA 환경에서의 패킷 처리 방법, 패킷 처리 장치 및 패킷 처리 시스템은 다른 패킷 처리 장치로부터 동기화 패킷의 수신에 따라 동기화 패킷으로부터 인식되는 세션에 대응하는 패킷을 검색 후 검색된 패킷을 바로 처리할 수 있도록 하는 효과가 있다.The packet processing method, the packet processing device, and the packet processing system in the HA environment according to the present invention as described above searches for a packet corresponding to a session recognized from a synchronization packet according to reception of a synchronization packet from another packet processing device, It is possible to directly process the packet.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다. The effects obtained by the present invention are not limited to the above-mentioned effects, and other effects not mentioned can be clearly understood by those skilled in the art from the following description will be.

도 1은 패킷 처리 시스템의 구성과 연결되는 장치 간의 구성의 예를 도시한 도면이다.
도 2는 패킷 처리 장치의 예시적인 블록도를 도시한 도면이다.
도 3은 수신된 패킷의 예시적인 처리 과정을 도시한 도면이다.
도 4는 동기화 패킷의 수신에 따라 대기 큐의 패킷의 예시적인 처리 과정을 도시한 도면이다.
1 is a diagram showing an example of a configuration between apparatuses connected to the configuration of a packet processing system.
2 is a block diagram illustrating an exemplary packet processing apparatus.
3 is a diagram illustrating an exemplary process of a received packet.
4 is a diagram illustrating an exemplary processing of a packet in a waiting queue upon receipt of a synchronization packet.

상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술 되어 있는 상세한 설명을 통하여 더욱 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다. The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings, in which: It can be easily carried out. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 패킷 처리 시스템(10)의 구성과 연결되는 장치 간의 구성의 예를 도시한 도면이다.1 is a diagram showing an example of a configuration between apparatuses connected to the configuration of the packet processing system 10.

도 1의 예에서 알 수 있는 바와 같이 패킷 처리 시스템(10)은 인터넷망(20)과 로컬망(30) 사이에 위치하여 진입(inbound) 패킷 또는 진출(outbound) 패킷을 처리하도록 구성된다. 1, the packet processing system 10 is located between the Internet network 20 and the local network 30 and is configured to process inbound packets or outbound packets.

패킷 처리 시스템(10)은 바람직하게는 네트워크 방화벽을 나타내거나 포함할 수 있고 HA 환경을 구성하여 독립적으로 처리할 수 있도록 구성된다. The packet processing system 10 is preferably configured to represent or include a network firewall and to configure and independently process the HA environment.

예를 들어, 패킷 처리 시스템(10)은 적어도 2 개 이상의 패킷 처리 장치(100)를 포함하고 나아가 패킷 처리 장치(100)에서 처리될 패킷을 할당하거나 분배하는 스위치를 더 포함한다. For example, the packet processing system 10 further includes at least two or more packet processing apparatuses 100, and further a switch for allocating or distributing packets to be processed in the packet processing apparatus 100.

스위치는 로컬망(30) 또는 인터넷망(20)으로부터의 패킷을 임의의 패킷 처리 장치(100)에서 처리하도록 패킷을 임의의 패킷 처리 장치(100)에 할당한다. 할당 과정에서 스위치는 각 패킷 처리 장치(100)의 현재 부하를 고려할 수 있다. The switch assigns a packet to any packet processing apparatus 100 so that the packet from the local network 30 or the Internet network 20 is processed by any packet processing apparatus 100. [ In the allocation process, the switch can take into account the current load of each packet processing apparatus 100.

스위치는 각 패킷 처리 장치(100)의 부하에 따라 임의의 패킷 처리 장치(100)에 진입 패킷이나 진출 패킷을 할당하고 처리하도록 한다.The switch assigns an incoming packet or an incoming packet to an arbitrary packet processing apparatus 100 according to the load of each packet processing apparatus 100 and processes the packet.

임의의 패킷 처리 장치(100)는 스위치로부터의 패킷 할당에 따라 로컬망(30)으로부터의 패킷을 수신하고 패킷에 대한 각종 처리를 수행하고 이후 패킷을 인터넷망(20)을 통해 인터넷망(20)에서 액세스 가능한 장치 등으로 전송한다. 패킷 처리 시스템(10)은 Active-Active HA 환경을 나타낼 수 있고 각각의 패킷 처리 장치(100)는 독립적으로 인터넷망(20)으로부터의 진입 패킷이나 진출 패킷을 처리할 수 있다. The arbitrary packet processing apparatus 100 receives a packet from the local network 30 in accordance with the packet allocation from the switch, performs various processing on the packet, and then transmits the packet to the Internet network 20 via the Internet network 20. [ And the like. The packet processing system 10 can represent an Active-Active HA environment and each packet processing apparatus 100 can independently process an incoming packet or an incoming packet from the Internet network 20. [

스위치에 의해 처리 할당된 요청(request) 패킷의 처리 과정에서 패킷 처리 장치(100)는 세션 정보를 구성하고 구성된 세션 정보를 나타내거나 포함하는 동기화 패킷을 다른 패킷 처리 장치(100)로 전송할 수 있다.In the processing of a request packet allocated for processing by the switch, the packet processing apparatus 100 may configure session information and transmit a synchronization packet indicating or containing the configured session information to another packet processing apparatus 100. [

패킷을 처리하는 패킷 처리 장치(100)는 동기화 패킷을 수신하고 동기화 패킷의 세션 정보에 따라 수신되는 패킷을 처리할 수 있다. 예를 들어 패킷 처리 장치(100)는 수신된 패킷으로부터 세션 정보를 결정하고 미리 구성된 세션 정보와 비교하여 패킷의 전달 또는 차단을 결정할 수 있다. The packet processing apparatus 100 that processes the packet can receive the synchronization packet and process the received packet according to the session information of the synchronization packet. For example, the packet processing apparatus 100 may determine session information from the received packet and compare the packet information with preconfigured session information to determine delivery or blocking of the packet.

이와 같이 패킷 처리 시스템(10)의 각각의 패킷 처리 장치(100)는 스위치에 의한 패킷 할당으로 동적으로 할당된 패킷에 대한 처리를 수행할 수 있다. In this way, each of the packet processing apparatuses 100 of the packet processing system 10 can perform processing for a packet dynamically allocated by the packet allocation by the switch.

패킷 처리 시스템(10)은 장애 발생시에 동기화되어 있는 다른 패킷 처리 장치(100)를 활용하여 대응할 수 있도록 구성된다. 패킷 처리 시스템(10)에 대해서는 도 2 이하에서 좀 더 구체적으로 살펴보도록 한다.The packet processing system 10 is configured to respond by utilizing another packet processing apparatus 100 that is synchronized when a failure occurs. The packet processing system 10 will be described in more detail with reference to FIG.

인터넷망(20)은 IP(Internet Protocol) 패킷을 통해 데이터를 송수신할 수 있는 네트워크이다. 인터넷망(20)은 공중망, 이동통신망 등을 포함할 수 있으며, 각종 서버, 기기, 단말, 장치 등 사이의 데이터를 송신할 수 있도록 구성된다. The Internet 20 is a network capable of transmitting and receiving data through IP (Internet Protocol) packets. The Internet network 20 may include a public network, a mobile communication network, and the like, and is configured to transmit data between various servers, devices, terminals, devices, and the like.

로컬망(30)은 패킷 처리 시스템(10)을 통해 인터넷망(20)과 분리되어 있는 네트워크이다. 로컬망(30)은 예를 들어 근거리 네트워크일 수 있다. 근거리 네트워크는 예를 들어 무선랜, 유선랜, 블루투스, 지그비 네트워크이거나 그 조합일 수 있다. The local network 30 is a network separated from the Internet network 20 through the packet processing system 10. [ The local network 30 may be a local area network, for example. The local area network may be, for example, a WLAN, a wired LAN, a Bluetooth, a ZigBee network, or a combination thereof.

로컬망(30)의 데이터(패킷)는 네트워크 방화벽인 패킷 처리 시스템(10)을 통해 인터넷망(20)으로 전송될 수 있고 반대로 인터넷망(20)을 통해 수신된 데이터가 패킷 처리 시스템(10)을 통해 로컬망(30)으로 전송될 수 있다. 패킷 처리 시스템(10)은 로컬망(30)으로 진입하는 특정 패킷을 차단하거나 필터링할 수 있고 인터넷망(20)으로 진출하는 특정 패킷을 차단하거나 필터링할 수 있다. 로컬망(30)은 네트워크 방화벽(패킷 처리 시스템(10))을 통해 분리되어 있는 사설망일 수 있다. The data (packets) of the local network 30 can be transmitted to the Internet network 20 through the packet processing system 10 which is a network firewall and conversely the data received via the Internet network 20 can be transmitted to the packet processing system 10, Lt; RTI ID = 0.0 > 30. ≪ / RTI > The packet processing system 10 can block or filter specific packets entering the local network 30 and block or filter specific packets entering the internet network 20. [ The local network 30 may be a private network that is separated via a network firewall (packet processing system 10).

로컬장치(40)는 로컬망(30)에 연결되는 장치이다. 로컬망(30)에 연결된 로컬 장치는 다양한 유형의 장치일 수 있다. 예를 들어 로컬장치(40)는 개인용 PC, 핸드폰, 스마트폰, 전용 단말, 워크스테이션, 로컬 서버 등일 수 있다. The local device 40 is a device connected to the local network 30. [ The local devices connected to the local network 30 may be various types of devices. For example, the local device 40 may be a personal PC, a cell phone, a smart phone, a dedicated terminal, a workstation, a local server, and the like.

로컬장치(40)들은 로컬망(30)을 통해 서로 데이터를 송수신할 수 있다. 또한, 로컬장치(40)는 패킷 처리 시스템(10)을 통해 인터넷망(20)에 연결될 수 있고 인터넷망(20)의 인터넷장치(50)와 서로 데이터를 송수신할 수 있다. The local devices 40 can transmit and receive data to each other via the local network 30. [ The local device 40 can also be connected to the Internet network 20 via the packet processing system 10 and can exchange data with the Internet device 50 of the Internet network 20.

인터넷장치(50)는 인터넷망(20)에 연결되는 장치이다. 인터넷장치(50)는 예를 들어 각종 기기들에 서비스를 제공하는 서버, 워크스테이션, 개인용 PC, 핸드폰, 스마트폰 등일 수 있다. The Internet device 50 is a device connected to the Internet network 20. The Internet device 50 may be, for example, a server for providing services to various devices, a workstation, a personal computer, a mobile phone, a smart phone, or the like.

인터넷장치(50)와 로컬장치(40) 사이의 데이터 송수신을 세션(session)을 구성하여 이루어질 수 있다. 패킷 처리 시스템(10)은 세션 구성을 통해 특정 패킷을 필터링하거나 차단할 수 있도록 적어도 구성된다. The data transmission / reception between the Internet device 50 and the local device 40 may be performed by configuring a session. The packet processing system 10 is at least configured to be able to filter or block specific packets through the session configuration.

도 2는 패킷 처리 장치(100)의 예시적인 블록도를 도시한 도면이다. 2 is a block diagram illustrating an exemplary packet processing apparatus 100. As shown in FIG.

도 2에 따르면 패킷 처리 장치(100)는 통신부(110), 저장부(130), 연결부(150) 및 패킷 처리부(170)를 포함한다. 도 2는 바람직하게는 기능 블록도를 나타내며 대응하는 하드웨어 블록을 각 기능 블록들은 구비한다. 예를 들어 패킷 처리 장치(100)는 복수의 NIC(Network Interface Card)나 복수의 통신 칩셋을 포함하고 각 NIC로부터의 패킷을 처리하기 위한 CPU나 프로세서 등을 포함할 수 있다. 각각의 기능 블록들은 특정 하드웨어 블록에 반드시 맵핑되지는 않는다. Referring to FIG. 2, the packet processing apparatus 100 includes a communication unit 110, a storage unit 130, a connection unit 150, and a packet processing unit 170. FIG. 2 preferably shows a functional block diagram, and each functional block has a corresponding hardware block. For example, the packet processing apparatus 100 may include a plurality of NICs (Network Interface Cards) or a plurality of communication chipsets, and may include a CPU or a processor for processing packets from each NIC. Each functional block is not necessarily mapped to a specific hardware block.

예를 들어 통신부(110)는 NIC 카드나 통신 칩셋에 대응할 수 있으나 저장부(130)의 패킷 큐(131) 등은 NIC 카드 내의 메모리에 구성되거나 CPU나 프로세서에서 직접 액세스 가능한 메모리에 구성될 수도 있다. For example, the communication unit 110 may correspond to a NIC card or a communication chipset, but the packet queue 131 or the like of the storage unit 130 may be configured in a memory within the NIC card or may be configured in a memory accessible directly by a CPU or a processor .

패킷 처리 장치(100)는 인터넷망(20)으로부터 진입되는(inbound) 패킷을 처리하고 동시에 로컬망(30)에서 진출하는(outbound) 진출 패킷을 처리할 수 있도록 구성된다. The packet processing apparatus 100 is configured to process an inbound packet from the Internet 20 and at the same time to process an outbound packet in the local network 30. [

하드웨어와 연계하여 각 블록들을 살펴보면, 통신부(110)는 로컬망(30)과 인터넷망(20)에 연결되어 패킷을 송수신한다. 통신부(110)는 복수 개의 NIC나 복수의 통신 칩셋을 구비하고 이 NIC나 통신 칩셋을 통해 통신 시그널이 송수신되는 다수의 포트를 포함한다. The communication unit 110 is connected to the local network 30 and the Internet network 20 to transmit and receive packets. The communication unit 110 includes a plurality of NICs or a plurality of communication chipsets and includes a plurality of ports through which communication signals are transmitted and received through the NICs or the communication chipset.

예를 들면, 하나(이상)의 포트는 인터넷망(20)을 통한 통신 패킷을 송수신하거나 센싱할 수 있는 통신 포트(111)일 수 있고 다른 하나( 이상)의 포트는 로컬망(30)을 통한 통신 패킷을 송수신하거나 센싱할 수 있는 통신 포트(111)일 수 있고 또 다른 하나( 이상)의 포트는 다른 패킷 처리 장치(100)와 통신 패킷을 송수신하거나 센싱할 수 있는 HA 포트(115)일 수 있다. 각각의 포트는 특정 NIC나 통신 칩셋에 연결될 수 있다. For example, one (or more) port may be a communication port 111 capable of transmitting / receiving communication packets through the Internet network 20, and the other port (s) (Or more) port can be a HA port 115 that can send / receive or sense a communication packet with another packet processing device 100 have. Each port can be connected to a specific NIC or communications chipset.

통신부(110)에 포함되는 HA 포트(115)는 다른 패킷 처리 장치(100)와 연결되어 각종 HA 메시지 패킷을 송수신할 수 있다. 예를 들어 한 패킷 처리 장치(100)는 다른 패킷 처리 장치(100)로부터 HA 동기화 패킷을 수신할 수 있다. HA 동기화 패킷은 신규로 구성된 세션에 대한 정보를 포함할 수 있다. The HA port 115 included in the communication unit 110 can be connected to another packet processing apparatus 100 to transmit and receive various HA message packets. For example, one packet processing apparatus 100 can receive an HA synchronization packet from another packet processing apparatus 100. [ The HA synchronization packet may contain information about the newly configured session.

저장부(130)는 각종 데이터와 프로그램 등을 저장한다. 저장부(130)는 휘발성 메모리, 비휘발성 메모리 및/또는 하드디스크 등과 같은 대용량 저장매체를 포함하여 각종 데이터와 프로그램을 저장할 수 있다. The storage unit 130 stores various data and programs. The storage unit 130 may store various data and programs including a mass storage medium such as a volatile memory, a non-volatile memory, and / or a hard disk.

구체적으로 저장부(130)는 패킷 처리에 필요한 복수의 세션 정보를 저장하고 예를 들어 세션 테이블로 복수의 세션 정보 각각을 식별가능토록 저장한다. 세션 테이블의 엔트리는 세션 식별자를 포함하고 세션 식별자는 서로 다른 세션을 구별할 수 있도록 구성된다. Specifically, the storage unit 130 stores a plurality of pieces of session information necessary for packet processing, and stores each of the plurality of pieces of session information in a session table. An entry in the session table includes a session identifier and a session identifier is configured to distinguish different sessions.

세션 식별자는 여러 식별자의 조합으로 구성될 수 있으며, 세션 식별자의 여러 식별자들은 패킷에 포함되어 있다. 세션 식별자의 식별자들은 예를 들어 소스 IP 주소, 목적지 IP 주소, 소스 포트 넘버, 목적지 포트 넘버 등을 포함할 수 있다. 세션 식별자는 이용하는 통신 프로토콜(예를 들어 TCP, UDP, FTP 등등)에 따라 패킷의 서로 다른 식별자들을 포함할 수 있다. The session identifier can be composed of a combination of several identifiers, and the identifiers of the session identifiers are included in the packet. The identifiers of the session identifiers may include, for example, a source IP address, a destination IP address, a source port number, a destination port number, and the like. The session identifier may include different identifiers of the packet depending on the communication protocol used (e.g., TCP, UDP, FTP, etc.).

저장부(130)는 복수의 패킷 큐(131)를 포함한다. 패킷 큐(131)는 패킷의 인입 방향에 따라 구별될 수도 있다. 패킷 큐(131)는 NIC 카드의 메모리에 구성되거나 패킷 처리부(170)가 액세스 가능한 메모리에 구성될 수 있다. The storage unit 130 includes a plurality of packet queues 131. The packet queue 131 may be distinguished according to the incoming direction of the packet. The packet queue 131 may be configured in the memory of the NIC card or in a memory accessible by the packet processing unit 170. [

저장부(130)는 저장부(130)에 저장된 복수의 세션 정보에서의 검색에 기초하여 패킷을 임시로 저장하는 대기 큐(133)를 포함할 수 있다. 예를 들어, 패킷 처리 장치(100)는 인터넷 통신 포트(111)를 통해 수신된 진입 패킷에 대응하는 세션이 저장부(130)에서 검색되지 않는 경우를 기초로 하여 이 패킷을 대기 큐(133)에 임시로 저장한다. 또는 패킷 처리 장치(100)는 로컬 통신 포트(111)를 통해 수신된 진출 패킷에 대응하는 세션이 저장부(130)에서 검색되지 않는 경우를 기초로 하여 이 패킷을 대기 큐(133)에 임시로 저장한다.The storage unit 130 may include a waiting queue 133 for temporarily storing packets based on a search in a plurality of pieces of session information stored in the storage unit 130. [ For example, the packet processing apparatus 100 transmits the packet to the waiting queue 133 based on a case in which the session corresponding to the incoming packet received via the Internet communication port 111 is not retrieved from the storage unit 130, . Or the packet processing apparatus 100 temporarily stores the packet in the waiting queue 133 based on the case where the session corresponding to the entry packet received via the local communication port 111 is not searched in the storage unit 130 .

저장부(130)는 패킷 처리 시스템(10)에서의 패킷 처리 규칙을 저장한다. 네트워크 방화벽으로서 동작하는 패킷 처리 시스템(10)의 패킷 처리 장치(100)는 방화벽 규칙을 저장하고 방화벽 규칙은 인터넷망(20)의 특정 IP 주소로부터의 패킷을 필터링하거나 로컬망(30)의 로컬장치(40)로부터의 특정 데이터를 가진 패킷을 필터링하는 등의 동작을 수행할 수 있다. The storage unit 130 stores packet processing rules in the packet processing system 10. The packet processing apparatus 100 of the packet processing system 10 acting as a network firewall stores the firewall rules and the firewall rules are used to filter packets from a specific IP address of the Internet network 20, (E.g., filtering packets with specific data from the network 40).

연결부(150)는 패킷 처리 장치(100)의 블록 간 데이터를 송수신한다. 연결부(150)는 병렬 버스, 시리얼 버스 및/또는 로컬 근거리 네트워크 등을 이용하여 구성된다.The connection unit 150 transmits and receives data between blocks of the packet processing apparatus 100. The connection unit 150 is configured using a parallel bus, a serial bus, and / or a local local network.

패킷 처리부(170)는 하나 이상의 패킷 처리 유닛(171)을 포함하여 통신부(110)로부터의 패킷을 처리한다. 패킷 처리부(170)는 저장부(130)에 저장된 프로그램을 이용하여 패킷 큐(131)에 저장된 패킷들을 처리하도록 구성된다. 패킷 처리부(170)는 CPU이거나 MPU일 수 있다. 이 경우 패킷 처리 유닛(171)은 CPU나 MPU 내의 프로세싱 코어일 수 있다. 또는, 패킷 처리부(170)는 다수의 CPU나 MPU로 구성될 수 있다. 이 경우 패킷 처리 유닛(171)은 CPU나 MPU이거나 그 내부의 프로세싱 코어일 수 있다. 하드웨어 설계 예에 따라 패킷 처리 유닛(171)은 NIC 카드 내에 구성될 수도 있다. The packet processing unit 170 includes one or more packet processing units 171 to process packets from the communication unit 110. [ The packet processor 170 is configured to process packets stored in the packet queue 131 using a program stored in the storage unit 130. [ The packet processing unit 170 may be a CPU or an MPU. In this case, the packet processing unit 171 may be a processing core in the CPU or the MPU. Alternatively, the packet processing unit 170 may be composed of a plurality of CPUs or MPUs. In this case, the packet processing unit 171 may be a CPU, an MPU, or a processing core therein. Depending on the hardware design example, the packet processing unit 171 may be configured in the NIC card.

각각의 패킷 처리 유닛(171)은 할당된 하나 이상의 패킷 큐(131)의 패킷들을 저장부(130)에 저장된 프로그램을 이용하여 처리하도록 구성된다.Each packet processing unit 171 is configured to process packets of the assigned one or more packet queues 131 using a program stored in the storage unit 130. [

예를 들어, 요청(Request) 패킷에 대하여 패킷 처리부(170)(의 패킷 처리 유닛(171))의 처리 과정을 살펴보면, 패킷 큐(131)에 패킷이 큐잉됨에 따라 인터럽트가 발생하고 인터럽트와 이후 폴링에 따라 패킷 처리부(170)(의 패킷 처리 유닛(171))는 큐잉된 패킷(들)을 읽어들이고 패킷으로부터 세션 정보를 구성한다. 세션 정보는 세션 식별자를 포함한다. For example, a process of the packet processing unit 170 of the packet processing unit 170 with respect to a request packet will be described. As the packet is queued in the packet queue 131, an interrupt occurs, The packet processing unit 170 of the packet processing unit 171 reads the queued packet (s) and constructs session information from the packet. The session information includes a session identifier.

세션 식별자를 복수의 세션 정보의 세션 테이블에서 검색하고 기존 구성된 세션에서 구성된 세션 식별자가 존재하는 경우 패킷 처리부(170)(의 패킷 처리 유닛(171))는 읽어들인 패킷을 통신부(110)로 전달하여 통신 포트를 통해 출력한다. When the session identifier is found in the session table of a plurality of pieces of session information and the session identifier configured in the existing session exists, the packet processing unit 170 of the packet processing unit 170 transfers the read packet to the communication unit 110 Through the communication port.

만일, 세션 식별자가 세션 테이블에 존재하지 않는 경우, 패킷 처리부(170)(의 패킷 처리 유닛(171))는 저장부(130)의 방화벽 규칙을 검색하여 세션 구성이 가능한지를 판단하고 세션 구성이 가능한 경우 세션 테이블에 이 세션 식별자를 추가하여 세션 테이블을 업데이트한다. If the session identifier does not exist in the session table, the packet processing unit 170 of the packet processing unit 171 searches the firewall rule of the storage unit 130 to determine whether or not the session configuration is possible. In this case, the session table is updated by adding this session identifier to the session table.

세션 구성이 가능한 경우, 패킷 처리부(170)(의 패킷 처리 유닛(171))는 읽어들인 패킷을 통신부(110)로 전달하여 통신 포트를 통해 출력하고 나아가 다른 패킷 처리 장치(100)와의 동기화를 위한 동기화 패킷을 생성하여 생성된 동기화 패킷을 통신부(110)의 HA 포트(115)를 통해 출력한다. 동기화 패킷은 적어도 세션 식별자를 포함한다. The packet processing unit 170 of the packet processing unit 170 transfers the read packet to the communication unit 110 and outputs the read packet to the communication port through the communication port and further synchronizes with the other packet processing apparatus 100 Generates a synchronization packet, and outputs the generated synchronization packet through the HA port 115 of the communication unit 110. The synchronization packet includes at least a session identifier.

한편, 응답(Response) 패킷에 대한 패킷 처리부(170)(의 패킷 처리 유닛(171))의 처리 과정을 살펴보면, 패킷 큐(131)에 패킷이 큐잉됨에 따라 인터럽트가 발생하고 인터럽트와 이후 폴링에 따라 패킷 처리부(170)(의 패킷 처리 유닛(171))는 큐잉된 패킷(들)을 읽어들이고 패킷으로부터 세션을 결정한다. 예를 들어 패킷 처리부(170)(의 패킷 처리 유닛(171))는 패킷의 헤더 등으로부터 하나 이상의 식별자를 구성하여 세션 식별자를 결정할 수 있다. In the process of the (packet processing unit 171 of) the packet processing unit 170 for the response packet, an interrupt occurs as the packet is queued in the packet queue 131, and according to the interrupt and subsequent polling The packet processing unit 170 (the packet processing unit 171 of) reads the queued packet (s) and determines a session from the packet. For example, the packet processing unit 170 (the packet processing unit 171) may determine one or more identifiers from the header of the packet or the like to determine the session identifier.

패킷 처리부(170)(의 패킷 처리 유닛(171))는 결정된 세션을 다른 패킷 처리 장치(100)와의 세션 동기화 등에 따라 결정되고 저장부(130)에 저장되어 있는 복수의 세션 정보에서 검색한다. 예를 들어 패킷 처리부(170)는 결정된 세션 식별자를 복수의 세션 정보를 나타내거나 포함하는 세션 테이블에서 검색하여 결정된 세션 식별자가 존재하는 지를 판단한다. The packet processing unit 170 of the packet processing unit 171 searches for a determined session in a plurality of pieces of session information determined according to session synchronization with another packet processing apparatus 100 and stored in the storage unit 130. For example, the packet processor 170 searches the session table for indicating a determined session identifier or a plurality of session information to determine whether a determined session identifier exists.

결정된 세션이 복수의 세션 정보에서 검색되는 경우, 패킷 처리부(170)는 읽어들인 패킷을 통신부(110)의 로컬 통신 포트(111)를 통해 출력할 수 있다. When the determined session is retrieved from a plurality of pieces of session information, the packet processing unit 170 can output the read packet through the local communication port 111 of the communication unit 110.

또한, 패킷 처리부(170)는 읽어들인 패킷(진입 패킷)을 검색 결과에 기초하여 통신 포트를 통한 출력을 유보하고 저장부(130)의 대기 큐(133)에 큐잉한다. In addition, the packet processing unit 170 reserves the output of the read packet (incoming packet) through the communication port based on the search result, and queues it in the waiting queue 133 of the storage unit 130.

대기 큐(133)에 큐잉되는 패킷은 바람직하게는 다른 패킷 처리 장치(100)에서 출력된 요청(Request) 패킷에 대한 응답(Response) 패킷이다. 구체적으로, 패킷 처리부(170)(의 패킷 처리 유닛(171))는 세션 식별자가 세션 테이블에 존재하지 않는 경우에 읽어들인 패킷이 지정된 유형의 응답 패킷인지를 패킷 헤더를 통해 판단한다. The packet queued in the wait queue 133 is preferably a response packet to a request packet output from another packet processing apparatus 100. [ Specifically, in the packet processing unit 170 (the packet processing unit 171 of the packet processing unit 171), if the session identifier does not exist in the session table, the packet header determines whether the read packet is a response packet of the designated type.

세션 식별자가 세션 테이블에 존재하지 않는 경우, 예를 들어, 패킷 처리부(170)는 읽어들인 패킷이 TCP의 SYN-ACK 패킷이거나 RST 패킷이거나 ICMP의 ECHO REPLY 패킷이거나 TIME STAMP REPLY 패킷이거나 INFO REPLY 패킷이거나 ADDRESS REPLY 패킷과 같은 지정된 유형의 응답 패킷인 경우에 읽어들인 패킷을 대기 큐(133)에 저장할 수 있다. If the session identifier does not exist in the session table, for example, the packet processing unit 170 determines that the read packet is a TCP SYN-ACK packet, an RST packet, an ICMP ECHO REPLY packet, a TIME STAMP REPLY packet, or an INFO REPLY packet It may store the read packet in the wait queue 133 in the case of a response packet of a designated type such as an ADDRESS REPLY packet.

이러한 유형의 응답 패킷은 요청에 대해 바로 응답이 이루어질 수 있는 패킷으로서 패킷 처리 장치(100)에 의한 동기화 패킷 및/또는 동기화 패킷에 의한 세션 테이블의 구성 전에 수신될 수 있다. 이 유형의 응답 패킷은 요청 패킷에 따른 낮은 응답 시간(latency)를 가질 가능성이 큰 통신 패킷이다. 이와 같은 유형의 응답 패킷은 세션 미구성으로 인한 차단이나 삭제 없이 먼저 대기 큐(133)에 임시로 저장된다. 임시 저장되는 패킷들은 대응하는 시각(수신 시각이나 큐잉 시각 등)을 맵핑하여 대기 큐(133)에 저장한다. This type of response packet may be received before the configuration of the session table by the synchronization packet and / or synchronization packet by the packet processing device 100 as a packet in which a response can be made directly to the request. This type of response packet is a communication packet likely to have a low latency in accordance with the request packet. Such a response packet is temporarily stored in the wait queue 133 without blocking or deletion due to the non-session configuration. The packets temporarily stored are mapped to the corresponding time (reception time or queuing time, etc.) and stored in the waiting queue 133.

세션 정보가 검색되지 않는 패킷이 지정된 유형의 응답 패킷이 아닌 경우에, 패킷 처리부(170)는 저장부(130)의 방화벽 규칙을 검색하고 해당 규칙에 따라 해당 패킷을 처리한다. 예를 들어 패킷 처리부(170)는 해당 패킷을 차단하거나 삭제할 수 있다. When the packet whose session information is not to be retrieved is not the response packet of the designated type, the packet processing unit 170 searches the firewall rule of the storage unit 130 and processes the packet according to the rule. For example, the packet processor 170 may block or delete the packet.

이후, 패킷 처리부(170)는 주기적으로 대기 큐(133)의 패킷들의 시각과 현재 시각을 비교하고 대기 큐(133)의 패킷들 중 지정된 임계 시간 이상 경과한 패킷을 대기 큐(133)에서 삭제한다. 예를 들어, 패킷 처리부(170)는 큐잉된 순서대로 가장 오래된 패킷의 시각과 현재 시각을 비교하고 그 차이가 임계 시간 이상인 경우에 해당 패킷을 대기 큐(133)에서 삭제하고 다음 오래된 패킷에 대해서도 그 비교에 따라 대기 큐(133)에서 삭제할 수 있다. Thereafter, the packet processor 170 periodically compares the time of the packets in the waiting queue 133 with the current time and deletes the packet in the waiting queue 133 that has passed the specified threshold time or more among the packets in the waiting queue 133 . For example, the packet processor 170 compares the time of the oldest packet with the current time in the queued order. If the difference is equal to or greater than the threshold time, the packet processor 170 deletes the packet from the waiting queue 133, And can be deleted in the wait queue 133 according to the comparison.

한편, 패킷 처리 장치(100)는 통신부(110)의 HA 포트(115)를 통해 동기화 패킷을 수신할 수 있다. 동기화 패킷의 수신에 따라 패킷 처리부(170)는 동기화 패킷의 세션 정보를 추출하고 추출된 세션 정보로써 저장부(130)에 저장되어 있는 복수의 세션 정보를 갱신한다. On the other hand, the packet processing apparatus 100 can receive the synchronization packet through the HA port 115 of the communication unit 110. Upon receipt of the synchronization packet, the packet processor 170 extracts the session information of the synchronization packet and updates the plurality of pieces of session information stored in the storage unit 130 with the extracted session information.

예를 들어, 패킷 처리부(170)는 HA 포트(115)를 통한 동기화 패킷에서 세션 식별자를 추출하고 추출된 세션 식별자를 저장부(130)의 세션 테이블에 추가하여 세션 테이블을 갱신한다. For example, the packet processor 170 extracts the session identifier from the synchronization packet through the HA port 115, and adds the extracted session identifier to the session table of the storage unit 130 to update the session table.

세션 테이블의 갱신과 함께, 패킷 처리부(170)는 동기화 패킷의 세션 정보와 동일한 세션 정보를 가진 대기 패킷을 대기 큐(133)에서 검색하고 동일한 세션 정보(식별자)를 가진 패킷이 대기 큐(133)에서 검색되는 경우 패킷 처리부(170)는 해당 패킷을 추출하고 처리한다. 예를 들어 패킷 처리부(170)는 동일한 세션 식별자를 가진 패킷을 통신부(110)의 대응 통신 포트(111)를 통해 출력한다. Upon updating the session table, the packet processor 170 searches the wait queue 133 for a wait packet having the same session information as the session information of the synchronization packet, and a packet having the same session information (identifier) The packet processor 170 extracts and processes the packet. For example, the packet processor 170 outputs a packet having the same session identifier through the corresponding communication port 111 of the communication unit 110.

이러한 세션 정보와 연계된 대기 큐(133)를 이용하여 정상적인 응답 패킷의 차단을 방지할 수 있고 대기 큐(133)에 연계된 시각 정보로 큐잉되는 패킷의 수와 대기 트래픽 양을 조절할 수 있다. The blocking of normal response packets can be prevented by using the waiting queue 133 associated with such session information and the number of queued packets and the amount of waiting traffic associated with the time information associated with the waiting queue 133 can be adjusted.

도 3은 수신된 패킷의 예시적인 처리 과정을 도시한 도면이다.3 is a diagram illustrating an exemplary process of a received packet.

도 3의 처리 과정은 구체적으로는 패킷 처리 장치(100)의 패킷 처리부(170)에 의한 제어로 수행된다. 이미 도 2를 통해 상세히 살펴보았으므로 여기서는 처리 순서를 위주로 하여 살펴보고 도 2의 설명과 중복되는 내용은 간단히 살펴보도록 한다. 3 is performed by control of the packet processing unit 170 of the packet processing apparatus 100. [ Since it has already been described in detail with reference to FIG. 2, the processing sequence will be mainly described here, and the contents overlapping with the description in FIG. 2 will be briefly described.

먼저, 패킷 처리 장치(100)의 통신부(110)는 통신 포트를 통해 패킷을 수신(S101)하고 저장부(130)의 패킷 큐(131)에 수신된 패킷을 저장(S103)한다. First, the communication unit 110 of the packet processing apparatus 100 receives a packet through the communication port (S101) and stores the received packet in the packet queue 131 of the storage unit 130 (S103).

인터럽트와 폴링 방식에 따라 패킷 처리부(170)(의 패킷 처리 유닛(171))는 패킷 큐(131)에 저장된 패킷을 로딩하고 로딩된 패킷에 대한 세션을 결정(S105)한다. 세션의 결정은 세션 식별자의 구성을 통해 이루어질 수 있고 세션 식별자는 패킷의 헤더에서 추출 가능한 하나 이상의 식별자로 구성된다. 세션 식별자에 대응하는 세션은 다른 세션 식별자에 대응하는 세션과 구별 가능하다. According to the interruption and the polling method, the packet processing unit 170 (the packet processing unit 171 of the packet processing unit 171) loads the packet stored in the packet queue 131 and determines a session for the loaded packet (S105). The determination of a session can be made through the construction of a session identifier, and the session identifier consists of one or more identifiers extractable from the header of the packet. A session corresponding to a session identifier is distinguishable from a session corresponding to another session identifier.

이후, 패킷 처리부(170)는 패킷을 처리하는 다른 패킷 처리 장치(100)와의 세션 동기화와 자신의 처리에 따라 저장부(130)에 구성되는 복수의 세션 정보에서 결정된 세션이 존재하는지 검색(S107)한다. 복수의 세션 정보는 세션 테이블을 통해서 구성되고 세션 테이블의 각각의 세션 정보는 다른 세션 정보와 서로 구별되도록 세션 식별자를 포함하거나 세션 식별자로 구성된다. Thereafter, the packet processing unit 170 searches for a session determined by the session synchronization with other packet processing apparatuses 100 that process the packet and a plurality of session information configured in the storage unit 130 according to its processing (S107) do. A plurality of session information is configured through a session table, and each session information of the session table includes a session identifier or a session identifier so as to be distinguished from other session information.

결정된 세션이 세션 테이블에 이미 구성되어 저장되어 있는 경우에, 패킷 처리부(170)는 로딩한 패킷을 통신부(110)의 통신 포트로 출력하여 수신된 패킷을 포워딩(S109)한다.If the determined session is already stored in the session table, the packet processing unit 170 outputs the loaded packet to the communication port of the communication unit 110 and forwards the received packet (S109).

그리고, 패킷 처리부(170)는 결정된 세션이 검색되지 않는 경우 수신된 패킷이 지정된 유형의 응답 패킷인지를 결정(S111)한다. 예를 들어 패킷 처리부(170)는 수신된 패킷이 TCP의 SYN-ACK 패킷, RST 패킷, ICMP의 ECHO REPLY 패킷, TIMESTAMP REPLY 패킷, INFO REPLY 패킷, ADDRESS REPLY 패킷과 같은 유형의 응답 패킷인지를 패킷의 헤더를 통해 결정한다. 이 유형의 응답 패킷은 낮은 응답 시간(latency)를 가질 가능성이 큰 통신 패킷이다. 만일 이러한 유형의 응답 패킷이 아닌 경우에는 단계 S115에서 패킷 처리부(170)는 저장부(130)의 방화벽 규칙에 따라 수신된 패킷을 처리한다.If the determined session is not found, the packet processing unit 170 determines whether the received packet is a response packet of the designated type (S111). For example, the packet processor 170 determines whether the received packet is a response packet of a type such as a TCP SYN-ACK packet, an RST packet, an ICMP ECHO REPLY packet, a TIMESTAMP REPLY packet, an INFO REPLY packet, or an ADDRESS REPLY packet Header. This type of response packet is a communication packet likely to have a low latency. If the packet is not a response packet of this type, the packet processing unit 170 processes the received packet according to the firewall rule of the storage unit 130 in step S115.

만일, 지정된 유형의 응답 패킷인 경우에 패킷 처리부(170)는 수신된 패킷을 대응 시각과 결정된 세션 정보와 함께 맵핑시켜 대기 큐(133)에 임시 저장(S113)한다. If the packet is a response packet of the designated type, the packet processor 170 maps the received packet together with the corresponding time and the determined session information, and temporarily stores the packet in the waiting queue 133 (S113).

임시 저장되는 대기 큐(133)의 대기 패킷들은 주기적으로 현재 시각과 비교될 수 있고 대기 패킷들 중 지정된 임계 시간 이상 경과된(예를 들어, 현재 시각과 패킷의 큐잉 또는 수신 시각의 차이가 임계 시간 이상인) 패킷들이 대기 큐(133)에서 제거될 수 있다. The waiting packets of the waiting queue 133 temporarily stored can be periodically compared with the current time and can be compared with the waiting packets that have exceeded the specified critical time among the waiting packets (for example, the difference between the current time and the queuing or receiving time of the packets, Packets may be removed from the wait queue 133.

도 4는 동기화 패킷의 수신에 따라 대기 큐(133)의 패킷에 대한 예시적인 처리 과정을 도시한 도면이다. 4 is a diagram illustrating an exemplary process for packets in a wait queue 133 upon receipt of a synchronization packet.

도 4의 처리 과정은 바람직하게는 패킷 처리 장치(100)의 패킷 처리부(170)에 의한 제어로 수행된다. 이미 도 2를 통해 상세히 살펴보았으므로 여기서는 처리 순서를 위주로 하여 살펴보고 도 2의 설명과 중복되는 내용은 간단히 살펴보도록 한다. 도 4의 처리 과정은 바람직하게는 도 3의 처리 과정의 진행 완료(구체적으로는 단계 S113) 이후에 이루어진다. The process of FIG. 4 is preferably performed under the control of the packet processor 170 of the packet processing apparatus 100. Since it has already been described in detail with reference to FIG. 2, the processing sequence will be mainly described here, and the contents overlapping with the description in FIG. 2 will be briefly described. The process of FIG. 4 is preferably performed after the completion of the process of FIG. 3 (specifically, step S113).

먼저, 특정 패킷 처리 장치(100)는 HA 구성에 관련된 HA 패킷을 다른 패킷 처리 장치(100)로 전송할 수 있다. 예를 들어 패킷을 처리하는 한 쪽 패킷 처리 장치(100)는 요청(Request) 패킷의 인식에 따라 신규의 세션 정보를 생성하고 신규의 세션 정보를 나타내는 HA 동기화 패킷을 HA 포트(115)를 통해 다른 패킷 처리 장치(100)로 전송할 수 있다. First, the specific packet processing apparatus 100 may transmit the HA packet related to the HA configuration to another packet processing apparatus 100. For example, one of the packet processing apparatuses 100 for processing a packet generates new session information according to recognition of a request packet and transmits an HA synchronization packet indicating new session information to another To the packet processing apparatus 100.

다른 패킷 처리 장치(100)는 통신부(110)의 HA 포트(115)를 통해 HA 패킷을 수신(S201)하고 저장부(130)의 큐 등에 임시 저장할 수 있다. 예를 들어 특정 패킷 처리 장치(100)는 HA 동기화 패킷을 출력하고 다른 패킷 처리 장치(100)는 이 HA 동기화 패킷을 수신하고 큐에 저장한다.The other packet processing apparatus 100 can receive the HA packet (S201) through the HA port 115 of the communication unit 110 and temporarily store the HA packet in a queue of the storage unit 130 or the like. For example, the specific packet processing apparatus 100 outputs an HA synchronization packet and the other packet processing apparatus 100 receives and stores the HA synchronization packet.

HA 패킷의 수신에 따라 패킷 처리부(170)는 수신된 HA 패킷이 세션 동기화 패킷인 지를 결정(S203)한다. 예를 들어 패킷 처리부(170)는 HA 패킷의 헤더를 통해 해당 HA 패킷이 세션 동기화를 위한 패킷인 지를 결정한다. Upon reception of the HA packet, the packet processing unit 170 determines whether the received HA packet is a session synchronization packet (S203). For example, the packet processor 170 determines whether the corresponding HA packet is a packet for session synchronization through the header of the HA packet.

세션 동기화 패킷이 아닌 경우, 패킷 처리부(170)는 해당 HA 패킷의 HA 메시지에 따른 처리를 수행(S205)한다. If the packet is not the session synchronization packet, the packet processing unit 170 performs processing according to the HA message of the HA packet (S205).

만일 세션 동기화 패킷인 경우, 패킷 처리부(170)는 세션 동기화 패킷으로부터 세션 정보를 추출하고 저장부(130)에 저장되어 있는 복수의 세션 정보를 갱신하여 패킷 처리 장치(100) 간의 세션을 서로 동기화(S207)한다. If the session synchronization packet is a session synchronization packet, the packet processing unit 170 extracts session information from the session synchronization packet, updates the plurality of session information stored in the storage unit 130, and synchronizes the sessions between the packet processing apparatuses 100 S207).

예를 들어, 패킷 처리부(170)는 세션 동기화 패킷에서 세션 식별자를 추출하고 세션 테이블에서 세션 식별자를 포함하는 세션 아이템을 생성 및 저장하여 서로 간의 세션을 동기화할 수 있다. For example, the packet processor 170 may extract a session identifier from a session synchronization packet and generate and store a session item including a session identifier in the session table to synchronize the sessions with each other.

세션 동기화와 함께(또는 전후하여) 패킷 처리부(170)는 세션 동기화 패킷의 세션 정보에 대응하는 패킷을 대기 큐(133)에서 검색(S209)한다. 예를 들어 패킷 처리부(170)는 세션 동기화 패킷의 세션 식별자와 대기 큐(133)의 패킷들의 세션 식별자를 비교하여 동일한 세션 식별자를 가지는 패킷이 대기 큐(133)에 존재하는 지를 검색할 수 있다. The packet processing unit 170 searches for a packet corresponding to the session information of the session synchronization packet in the waiting queue 133 together with the session synchronization (before or after) (S209). For example, the packet processor 170 may compare the session identifier of the session synchronization packet with the session identifier of the packets of the wait queue 133 to determine whether a packet having the same session identifier exists in the wait queue 133.

만일 동일한 세션을 가진 패킷이 대기 큐(133)에서 검색되는 경우(S211), 패킷 처리부(170)는 해당 패킷을 대기 큐(133)에서 추출 및 삭제하고 세션 정보에 대응하는 패킷을 처리(S213)한다. 예를 들어 패킷 처리부(170)는 검색된 응답 패킷을 통신 포트를 통해 출력할 수 있다. If the packet having the same session is searched in the waiting queue 133 at step S211, the packet processing unit 170 extracts and deletes the packet from the waiting queue 133 and processes the packet corresponding to the session information at step S213. do. For example, the packet processor 170 may output the searched response packet through the communication port.

이러한 과정을 통해, 패킷 처리 장치(100)는 정상적인 응답 패킷의 폐기와 손실을 방지하고 동기화를 위한 지연 처리로 정상적인 응답 패킷의 처리가 가능토록 한다. Through this process, the packet processing apparatus 100 prevents the discarding and loss of the normal response packet and allows the normal response packet to be processed by the delay process for synchronization.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다. It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention. The present invention is not limited to the drawings.

10 : 패킷 처리 시스템
100 : 패킷 처리 장치
110 : 통신부
111 : 통신 포트 115 : HA 포트
130 : 저장부
131 : 패킷 큐 133 : 대기 큐
150 : 연결부 170 : 패킷 처리부
171 : 패킷 처리 유닛
20 : 인터넷망 30 : 로컬망
40 : 로컬장치 50 : 인터넷장치
10: Packet processing system
100: Packet processing device
110:
111: communication port 115: HA port
130:
131: Packet queue 133: Wait queue
150: connection unit 170: packet processing unit
171: Packet processing unit
20: Internet network 30: Local network
40: Local device 50: Internet device

Claims (12)

HA(High Availability) 환경에서의 패킷 처리 방법으로서,
(a) 제2 패킷 처리 장치가 패킷을 수신하는 단계;
(b) 제2 패킷 처리 장치가 상기 패킷으로부터 세션(session)을 결정하고 결정된 세션을 제1 패킷 처리 장치와 동기화된 복수의 세션 정보에서 검색하는 단계; 및
(c) 제2 패킷 처리 장치가 상기 결정된 세션이 상기 복수의 세션 정보에서 검색되지 않는 조건이 적어도 만족되는 경우 상기 패킷을 큐잉하는 단계;를 포함하는,
패킷 처리 방법.
A packet processing method in an HA (High Availability) environment,
(a) receiving a packet from a second packet processing device;
(b) determining a session from the packet by the second packet processing device and retrieving the determined session from a plurality of pieces of session information synchronized with the first packet processing device; And
(c) queuing the packet when the second packet processing device is at least satisfied with a condition that the determined session is not retrieved from the plurality of session information.
Packet processing method.
제1항에 있어서,
상기 복수의 세션 정보는 복수의 세션 각각을 식별 가능한 세션 테이블을 통해 구성되고,
세션 테이블의 세션들과 상기 패킷에서 결정된 세션은 패킷에 포함된 복수의 식별자로 서로 구별 가능한,
패킷 처리 방법.
The method according to claim 1,
Wherein the plurality of session information is configured through a session table capable of identifying each of a plurality of sessions,
The sessions in the session table and the session determined in the packet are distinguished from each other by a plurality of identifiers included in the packet,
Packet processing method.
제1항에 있어서,
상기 단계 (c)에서는, 상기 복수의 세션 정보에서 상기 결정된 세션이 검색되지 않으면서 상기 패킷이 지정된 유형의 응답 패킷인 경우 상기 패킷을 대기 큐에 저장하는,
패킷 처리 방법.
The method according to claim 1,
Wherein in the step (c), if the determined session is not found in the plurality of session information and the packet is a response packet of a designated type,
Packet processing method.
제3항에 있어서,
상기 제2 패킷 처리 장치가 대기 큐에 저장된 패킷들 중 지정된 임계 시간 이상 경과된 패킷을 상기 대기 큐에서 삭제하는 단계;를 더 포함하는,
패킷 처리 방법.
The method of claim 3,
Further comprising: deleting, from the waiting queue, a packet that has elapsed a predetermined threshold time or more of the packets stored in the waiting queue of the second packet processing device,
Packet processing method.
제3항에 있어서,
상기 응답 패킷의 결정은 상기 패킷의 헤더를 통해 이루어지고,
상기 응답 패킷은 SYN-ACK 패킷이거나 RST 패킷이거나 ECHO REPLY 패킷이거나 TIME STAMP REPLY 패킷이거나 INFO REPLY 패킷이거나 ADDRESS REPLY 패킷인,
패킷 처리 방법.
The method of claim 3,
The determination of the response packet is made through the header of the packet,
The response packet may be a SYN-ACK packet, an RST packet, an ECHO REPLY packet, a TIME STAMP REPLY packet, an INFO REPLY packet, or an ADDRESS REPLY packet.
Packet processing method.
제3항에 있어서,
상기 (c) 단계 이후에, 제1 패킷 처리 장치로부터 동기화 패킷을 수신하는 단계; 수신된 동기화 패킷의 세션에 대응하는 패킷을 상기 대기 큐로부터 검색하는 단계; 및 검색된 패킷을 포워딩하는 단계;를 더 포함하는,
패킷 처리 방법.
The method of claim 3,
Receiving the synchronization packet from the first packet processing device after the step (c); Retrieving a packet corresponding to the session of the received synchronization packet from the waiting queue; And forwarding the retrieved packet.
Packet processing method.
HA 환경에서의 패킷 처리 장치로서,
통신 포트를 포함하여 상기 통신 포트를 통해 패킷을 수신하는 통신부;
복수의 세션 정보를 저장하고 상기 패킷을 임시로 저장하는 대기 큐를 포함하는 저장부; 및
통신부로부터의 패킷을 처리하는 패킷 처리부;를 포함하고,
상기 패킷 처리부는 상기 패킷으로부터 세션(session)을 결정하고 상기 결정된 세션을 다른 패킷 처리 장치와 동기화된 상기 복수의 세션 정보에서 검색하고 상기 결정된 세션이 상기 복수의 세션 정보에서 검색되지 않는 조건이 적어도 만족되는 경우 상기 패킷을 큐잉하는 패킷 처리 장치.
A packet processing apparatus in an HA environment,
A communication unit including a communication port for receiving a packet through the communication port;
A storage unit including a waiting queue for storing a plurality of pieces of session information and temporarily storing the packets; And
And a packet processing unit for processing packets from the communication unit,
Wherein the packet processing unit determines a session from the packet and searches the determined session in the plurality of session information synchronized with other packet processing apparatuses and determines that the determined session is not searched in the plurality of session information is at least satisfactory And queues the packet when the packet is received.
제7항에 있어서,
상기 저장부에 저장되는 상기 복수의 세션 정보는 복수의 세션 각각을 식별 가능한 세션 테이블에 구성되고,
세션 테이블의 세션들과 상기 패킷에서 결정된 세션은 패킷에 포함된 복수의 식별자로 서로 구별 가능한,
패킷 처리 장치.
8. The method of claim 7,
Wherein the plurality of session information stored in the storage unit is configured in a session table capable of identifying each of a plurality of sessions,
The sessions in the session table and the session determined in the packet are distinguished from each other by a plurality of identifiers included in the packet,
Packet processing device.
제7항에 있어서,
상기 패킷 처리부는 상기 복수의 세션 정보에서 상기 결정된 세션이 검색되지 않으면서 상기 패킷이 지정된 유형의 응답 패킷인 경우 상기 패킷을 상기 저장부의 대기 큐에 저장하는,
패킷 처리 장치.
8. The method of claim 7,
Wherein the packet processing unit stores the packet in a waiting queue of the storage unit when the determined session is not searched in the plurality of session information and the packet is a response packet of a designated type,
Packet processing device.
제9항에 있어서,
상기 패킷 처리부는 상기 저장부의 대기 큐에 저장된 패킷들 중 지정된 임계 시간 이상 경과된 패킷을 상기 대기 큐에서 삭제하는,
패킷 처리 장치.
10. The method of claim 9,
Wherein the packet processing unit deletes, from the waiting queue, a packet that has passed a specified threshold time or more among the packets stored in the waiting queue of the storage unit,
Packet processing device.
제9항에 있어서,
상기 통신부는 동기화 패킷을 수신할 수 있는 HA 포트를 더 포함하고,
상기 패킷 처리부는, 패킷의 대기 큐로의 큐잉 이후에, 상기 통신부의 HA 포트를 통해 수신된 다른 패킷 처리 장치로부터의 동기화 패킷의 세션에 대응하는 패킷을 상기 대기 큐로부터 검색하고 검색된 패킷을 포워딩하는,
패킷 처리 장치.
10. The method of claim 9,
Wherein the communication unit further comprises an HA port capable of receiving a synchronization packet,
Wherein the packet processing unit searches the waiting queue for a packet corresponding to a session of a synchronization packet from another packet processing apparatus received via an HA port of the communication unit after queuing the packet to a waiting queue and forwards the retrieved packet,
Packet processing device.
HA 환경에서의 패킷 처리 시스템으로서,
제7항에 따른 제2 패킷 처리 장치; 및
패킷을 처리하고 상기 패킷으로부터의 세션을 동기화하기 위한 동기화 패킷을 상기 제2 패킷 처리 장치로 전송하는 제1 패킷 처리 장치;를 포함하는,
패킷 처리 시스템.
A packet processing system in an HA environment,
A second packet processing device according to claim 7; And
And a first packet processing device for processing the packet and sending a synchronization packet to the second packet processing device for synchronizing the session from the packet,
Packet processing system.
KR1020160104629A 2016-08-18 2016-08-18 Method, apparatus and system for processing packet in high availability configuration KR101836938B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160104629A KR101836938B1 (en) 2016-08-18 2016-08-18 Method, apparatus and system for processing packet in high availability configuration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160104629A KR101836938B1 (en) 2016-08-18 2016-08-18 Method, apparatus and system for processing packet in high availability configuration

Publications (2)

Publication Number Publication Date
KR20180020393A true KR20180020393A (en) 2018-02-28
KR101836938B1 KR101836938B1 (en) 2018-03-09

Family

ID=61401119

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160104629A KR101836938B1 (en) 2016-08-18 2016-08-18 Method, apparatus and system for processing packet in high availability configuration

Country Status (1)

Country Link
KR (1) KR101836938B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7095716B1 (en) * 2001-03-30 2006-08-22 Juniper Networks, Inc. Internet security device and method
JP5812612B2 (en) * 2011-01-19 2015-11-17 沖電気工業株式会社 COMMUNICATION CONTROL DEVICE AND PROGRAM, AND COMMUNICATION SYSTEM
KR101563779B1 (en) * 2013-04-24 2015-10-28 한국과학기술원 Lightweight end-to-end protocol for retransmitting real-time multimedia data lost over the networks

Also Published As

Publication number Publication date
KR101836938B1 (en) 2018-03-09

Similar Documents

Publication Publication Date Title
EP4009593A1 (en) Data transmission method and apparatus, network card and storage medium
EP3352431B1 (en) Network load balance processing system, method, and apparatus
EP2469792B1 (en) Data transmission system and method using relay server
KR101887581B1 (en) Flow-based packet transport device and packet management method thereof
US11689450B2 (en) Routing application calls
EP2824872B1 (en) Host providing system and communication control method
CN113364809B (en) Offloading network data to perform load balancing
US10164870B2 (en) Relaxed ordering network
WO2019072072A1 (en) Congestion flow identification method and network device
US8539089B2 (en) System and method for vertical perimeter protection
US10178033B2 (en) System and method for efficient traffic shaping and quota enforcement in a cluster environment
JP2008225644A (en) Gateway device, load balancing method for gateway device and load balancing program of gateway device
JP6571591B2 (en) Terminal isolation notification system
CN103281257A (en) Method and device for processing protocol message
US9350606B2 (en) System and method for assigning server to terminal and efficiently delivering messages to the terminal
CN114500633A (en) Data forwarding method, related device, program product and data transmission system
CN106209680B (en) Information processing apparatus and information processing method
JP5152201B2 (en) Packet processing apparatus and packet processing program
CN106209634B (en) Learning method and device of address mapping relation
KR101836938B1 (en) Method, apparatus and system for processing packet in high availability configuration
US20160261719A1 (en) Information processing system, control program, and control method
CN110381007B (en) TCP acceleration method and device
EP2204953A1 (en) Method, apparatus and system for realizing dynamic correlation of control plane traffic rate
KR102280343B1 (en) Internet Of Things Device with pairs of ethernet port
JP2013126219A (en) Transfer server and transfer program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant