KR20110060534A - Apparatus and method for session management - Google Patents
Apparatus and method for session management Download PDFInfo
- Publication number
- KR20110060534A KR20110060534A KR1020090117143A KR20090117143A KR20110060534A KR 20110060534 A KR20110060534 A KR 20110060534A KR 1020090117143 A KR1020090117143 A KR 1020090117143A KR 20090117143 A KR20090117143 A KR 20090117143A KR 20110060534 A KR20110060534 A KR 20110060534A
- Authority
- KR
- South Korea
- Prior art keywords
- fragment
- session
- packet
- entry
- packets
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 세션 관리에 관한 것으로서, 구체적으로는 단편화되어 송신된 패킷의 세션을 관리할 수 있는 세션 관리 방법에 관한 것이다.The present invention relates to session management, and more particularly, to a session management method capable of managing a session of a fragmented and transmitted packet.
본 발명은 지식경제부의 지식경제부 기술혁신사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2009-S-038-01, 과제명: 분산서비스거부(DDoS) 공격 대응 기술개발].The present invention is derived from a study conducted as part of the Ministry of Knowledge Economy's technology innovation project [Task Management No .: 2009-S-038-01, Task name: Distributed service rejection (DDoS) attack development technology development].
일반적으로, IP 계층은 전송할 IP 데이터그램(Datagram)의 크기가 링크 계층의 최대 전송단위(MTU; Maximum Transmission Unit)보다 크면, 도 1과 같은 단편화(Fragmentaiton) 작업을 통해 복수의 TCP 세그먼트로 단편화하여 전송함으로써, 최대 전송단위가 다른 이기종 목적지 시스템에서도 IP 데이터그램을 인지할 수 있도록 한다.In general, when the size of an IP datagram to be transmitted is larger than the maximum transmission unit (MTU) of the link layer, the IP layer is fragmented into a plurality of TCP segments through a fragmentation operation as shown in FIG. 1. By transmitting, IP datagrams can be recognized by heterogeneous destination systems with different maximum transmission units.
목적지 시스템은 도 2와 같이 구성되는 IP 헤더와 TCP 헤더 중, IP 헤더의 Identification, Flags, Fragment Offset 필드들의 정보를 이용하여 TCP 세그먼트를 재조합하여 IP 데이터그램을 복원할 수 있다.The destination system may reconstruct the IP datagram by reassembling the TCP segment using information of the identification, flags, and fragment offset fields of the IP header among the IP header and the TCP header configured as shown in FIG. 2.
즉, Identification 필드는 16 비트 필드로서, "IP Identification Number" 라고 불린다. 각 IP 데이터그램에 대한 유일한 값을 포함하며, 단편 패킷들의 재조합 과정에 있어 식별자로 사용된다.That is, the Identification field is a 16-bit field and is called an "IP Identification Number". It contains a unique value for each IP datagram and is used as an identifier in the fragmentation process of fragment packets.
또한, Flags 필드는 3비트 필드로서, <Reserved, Don't Fragment, More Fragments>로 구성되며, "More Fragments"비트는 단편 패킷이 더 있음을 나타내며, 마지막 단편 패킷을 제외한 다른 단편 패킷들에 대해 설정된다. 그리고, "Don't Fragments"비트는 단편화되지 않음을 나타내며, IP 데이터그램이 단편화되지 않았음을 나타낸다.In addition, the Flags field is a 3-bit field, and is composed of <Reserved, Don't Fragment, More Fragments>, and the "More Fragments" bit indicates that there are more fragment packets, and for other fragment packets except the last fragment packet. Is set. And, the "Don't Fragments" bit indicates no fragmentation, and indicates that the IP datagram is not fragmented.
마지막으로, 단편 옵셋(Fragment Offset) 필드는 해당 단편 패킷이 원래의 데이터그램의 시작부터 어느 위치까지 옵셋(8바이트 단위)되어 있는지를 나타낸다.Finally, the Fragment Offset field indicates to which position the fragment packet is offset (from 8 bytes) from the beginning of the original datagram.
종래의 보안 장비는 IP 헤더의 프로토콜(Protocol), 소스 주소(Source Address), 목적지 주소(Destination Address) 뿐만 아니라, TCP 헤더의 소스 포트(Source Port) 및 목적지 포트(Destination Address)를 이용하여 세션 추적 및 관리를 수행할 수 있다.Conventional security equipment tracks sessions using the source header and destination port of the TCP header, as well as the protocol, source address, and destination address of the IP header. And management.
그런데, 도 1에 도시된 바와 같이 제1 단편 패킷 이외의 제2 내지 제4 단편 패킷들은 TCP 헤더를 포함하지 않아, 트래픽 계측에 어려움이 있어 단편 패킷이 많을 경우 실제 트래픽의 양보다 적게 측정되는 문제점이 있다.However, as shown in FIG. 1, since the second to fourth fragment packets other than the first fragment packet do not include a TCP header, it is difficult to measure traffic, so that when there are many fragment packets, less fragments are measured than actual traffic. There is this.
뿐만 아니라, 단편 패킷들은 네트워크 보안 장비에 의하여 검사되지 않아, 해커들에 의한 우회 침입의 수단으로 사용될 가능성이 크다는 심각한 문제점이 있다.In addition, there is a serious problem that fragment packets are not inspected by network security equipment, and thus are likely to be used as a means of bypass intrusion by hackers.
전술한 문제점을 해결하기 위하여, 본 발명의 목적은 단편화된 패킷과 단편화되지 않은 패킷의 세션 상태정보를 각각 관리할 수 있는 세션 관리 방법을 제공함에 있다.In order to solve the above problems, an object of the present invention is to provide a session management method that can manage session state information of fragmented packets and non-fragmented packets, respectively.
본 발명의 일면에 따른 세션 관리 방법은, TCP 세션 연결에 따라, TCP 헤더 및 IP 헤더를 포함하는 제1 단편 패킷이 수신되면, 상기 제1 단편 패킷이 포함된 세션 상태와 방향성을 파악하는 단계; 상기 TCP 헤더 및 상기 IP 헤더의 정보를 이용하여 제1 주소를 결정하고, 상기 제1 주소의 엔트리를 구성하여 상기 세션 상태와 방향성과 함께 저장하는 단계; 상기 IP 헤더를 포함하는 제2 내지 제N 단편 패킷이 수신되면, 상기 IP 헤더의 정보를 이용하여 상기 세션 상태와 방향성을 파악하는 단계; 및 상기 IP 헤더의 정보를 이용하여 제2 내지 제N 주소를 결정하고, 상기 제2 내지 제N 주소의 엔트리를 구성하여 세션 상태와 방향성과 함께 저장하는 단계를 포함하되, 상기 제2 내지 제N 단편 패킷이 단편화된 패킷중 마지막 패킷이면 상기 구성된 제2 내지 제N 주소의 엔트리를 삭제하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a session management method, including receiving a first fragment packet including a TCP header and an IP header according to a TCP session connection, determining a session state and a direction including the first fragment packet; Determining a first address using information of the TCP header and the IP header, constructing an entry of the first address, and storing the entry with the session state and directivity; When the second to N-th fragment packets including the IP header are received, determining the session state and the direction by using information of the IP header; And determining the second to Nth addresses by using the information of the IP header, and constructing an entry of the second to Nth addresses and storing the second to Nth addresses together with the session state and the directionality. If the fragment packet is the last packet of the fragmented packet, the entries of the configured second to Nth addresses are deleted.
본 발명에 따르면, 하드웨어에 기반한 테이블을 이용하여 세션 상태정보를 추적하므로, 복잡도가 높은 기가급 네트워크상에서도 세션 추적 및 관리에 있어 속도(Wire-Speed)를 보장할 수 있는 효과가 있다.According to the present invention, since the session state information is tracked using a table based on hardware, there is an effect of guaranteeing the speed (Wire-Speed) in session tracking and management even on a high-value network of high complexity.
본 발명은 단편화된 패킷과 단편화되지 않은 패킷을 별개의 테이블로 관리하여 단편화되지 않은 패킷뿐 아니라, 단편화된 패킷으로 인한 우회공격도 탐색할 수 있다.The present invention manages fragmented packets and non-fragmented packets in separate tables to search for bypass attacks due to fragmented packets as well as unfragmented packets.
이하, 도 3을 참조하여 본 발명의 실시예에 따른 클라이언트와 서버의 통신 메커니즘에 대하여 설명한다. 도 3은 본 발명의 실시예에 따른 클라이언트와 서버의 통신 메커니즘을 도시한 흐름도이다.Hereinafter, a communication mechanism of a client and a server according to an embodiment of the present invention will be described with reference to FIG. 3. 3 is a flowchart illustrating a communication mechanism of a client and a server according to an embodiment of the present invention.
도 3과 같이, 클라이언트(100)와 서버(200)는 SYN, SYN/ACK, ACK 패킷을 상호 교환하는 3-Way 핸드쉐이킹(Handshaking) 설정 과정을 통하여 TCP 세션을 연결한다(S310).As shown in FIG. 3, the
이어서, 클라이언트(100)가 서버(200)로 복수의 단편 패킷 또는 단일 패킷을 송신함에 따라, 서버(200)는 세션 테이블(300)과 단편 테이블(400)을 이용하여 각 패킷이 포함된 세션의 상태정보를 관리한다(S320).Subsequently, as the
여기서, 상태정보는 세션의 현상태 값과 송수신 방향성을 포함하며, 방화벽에서의 패킷 필터링(Packet Filtering), 침입 탐지 및 방지 시스템의 패킷 검사에 이용될 수 있다.Here, the status information includes the status value of the session and the transmission / reception direction, and may be used for packet filtering in the firewall, packet inspection in the intrusion detection and prevention system.
이후, 클라이언트(100)와 서버(200)는 복수의 단편 패킷을 포함하는 패킷의 송수신이 완료되면, FIN, ACK 패킷을 상호 교환하는 4-Way 핸드쉐이킹(Handshaking) 종료 과정을 통하여 해당 세션을 종료한다(S330).After the transmission and reception of a packet including a plurality of fragment packets is completed, the
이와 같이, 본 발명은 패킷 검사를 위한 상태정보를 효율적으로 관리함으로 써, 패킷 검사의 효율성을 높일 수 있다.As described above, the present invention can efficiently manage the state information for packet inspection, thereby increasing the efficiency of packet inspection.
이하, 도 4를 참조하여 (S320)단계에서 세션을 관리하는 세션 관리 장치에 대하여 설명한다. 도 4는 본 발명의 실시예에 따른 세션 관리 장치를 도시한 구성도이다.Hereinafter, a session management apparatus for managing a session in step S320 will be described with reference to FIG. 4. 4 is a block diagram illustrating an apparatus for managing a session according to an embodiment of the present invention.
도 4에 도시된 바와 같이, 본 발명의 실시예에 따른 세션 관리 장치(10)는 관리부(500), 세션 테이블(300) 및 단편 테이블(400)을 포함한다.As shown in FIG. 4, the
관리부(500)는 세션 테이블(300)과 단편 테이블(400)에 단일 패킷 및 복수의 단편 패킷들의 엔트리를 구성하여 관리한다. 여기서, 단일 패킷은 세션 연결과 종료에 사용되는 패킷 및 단편화되지 않고 송신된 정보 패킷이며, 복수의 단편 패킷은 링크 계층의 최대전송단위에 부합하도록 복수 개로 단편화되어 전송된 정보 패킷이다.The
관리부(500)는 수신된 패킷의 IP 헤더의 플래그(Flags) 필드를 확인하여 단일 패킷인지 아니면, 단편 패킷인지를 판단하고, 단일 패킷이면 세션 테이블(300)에 단일 패킷의 엔트리를 구성하며, 단편 패킷이면 단편 테이블(400)에 단편 패킷의 엔트리를 구성한다.The
상세하게는, 관리부(500)는 단일 패킷의 IP 헤더와 TCP 헤더로부터 <프로토콜, 소스 주소, 목적지 주소, 소스 포트, 목적지 포트>를 확인하고, 이를 이용하여 단일 패킷의 엔트리 주소를 결정하고, 세션 현상태와 방향성을 확인하여 결정된 엔트리 주소와 함께 저장한다.In detail, the
관리부(500)는 복수의 단편 패킷 중에서 IP 헤더와 TCP 헤더를 포함하는 제1 단편 패킷의 <프로토콜, 소스 주소, 목적지 주소, 소스 포트, 목적지 포트>를 확인하여 세션 테이블(300)로부터 제1 단편 패킷이 송수신되는 세션의 연결 상태("Established" State) 및 송수신 방향성(Flow Direction: Client to Server/Server to Client)을 파악하고, 이를 이용하여 단편 테이블(400)에 제1 단편 패킷의 상태정보에 대한 엔트리를 구성한다.The
그리고, 관리부(500)는 TCP 헤더를 포함하지 않고, IP 헤더만 포함하는 제2 내지 제N 단편 패킷이 수신되면, <프로토콜, 소스 주소, 목적지 주소, 아이디>를 이용하여 단편 테이블(400)로부터 제1 단편 패킷의 엔트리를 확인하고, 이를 참조하여 제2 내지 제N 단편 패킷의 상태정보를 포함하는 엔트리를 구성한다.When the
이때, 관리부(500)는 하기의 수학식에 따라 복수의 단편 패킷이 제1 단편 패킷인지, 제2 내지 제N-1 단편 패킷인지, 아니면 제N 단편 패킷인지를 판단하고, 제1 단편 패킷이면 단편 테이블(400)에 새로운 엔트리를 생성하며, 제N 단편 패킷이면 이용중인 엔트리를 삭제하는 등의 작업을 수행함으로써, 단편 테이블(400)을 포함하는 메모리를 효율적으로 사용할 수 있다.In this case, the
수신된 패킷 = 제1 단편 패킷 (즉, 첫 번째 단편 패킷)Received packet = first fragment packet (ie, the first fragment packet)
else if(More Fragments == 1 && Fragment Offset != 0)else if (More Fragments == 1 && Fragment Offset! = 0)
수신된 패킷 = 제2 내지 제N-1 단편 패킷 (즉, 중간 단편 패킷)Received Packet = Second to N-th Fragment Packet (i.e. Intermediate Fragment Packet)
else if(More Fragments == 0 && Fragment Offset !== 0) else if (More Fragments == 0 && Fragment Offset! == 0)
수신된 패킷 = 제N 단편 패킷 (즉, 마지막 단편 패킷)Received packet = Nth fragment packet (ie last fragment packet)
세션 테이블(300)은 세션 연결 및 세션 종료에 사용되는 패킷 및 단편화되지 않은 단일 패킷의 상태정보에 대하여 구성된 엔트리를 포함한다. 이때, 각 엔트리는 <프로토콜, 소스 주소, 목적지 주소, 소스 포트, 목적지 포트>의 5요소(Tuple)로부터 생성된 엔트리의 어드레스로 구분되며, 5요소로부터 확인된 세션의 현상태와 방향성과 함께 저장한다.The session table 300 includes entries configured for the status information of packets and non-fragmented single packets used for session connection and session termination. At this time, each entry is divided into addresses of entries created from five elements (Tuple) of <protocol, source address, destination address, source port, and destination port>, and are stored together with the status and direction of the session identified from the five elements. .
단편 테이블(400)은 제1 내지 제N 단편 패킷의 상태정보에 대하여 구성된 엔트리들을 포함한다. 이때, 각 엔트리는 <프로토콜, 소스 주소, 목적지 주소, 아이디>의 4 요소(Tuple)로부터 생성된 엔트리의 어드레스로 구분되며, 제1 단편 패킷의 5요소에 의하여 세션 테이블(300)로부터 확인된 세션의 현상태와 방향성에 대한 상태정보를 함께 저장한다.The fragment table 400 includes entries configured for the state information of the first to Nth fragment packets. In this case, each entry is classified into an address of an entry generated from four elements (Tuple) of <protocol, source address, destination address, and ID>, and the session identified from the session table 300 by five elements of the first fragment packet. Stores status information about the current status and direction of the.
이와 같이, 본 발명은 세션 테이블과 단편 테이블을 분리하여 관리함으로써, 종래의 하나의 테이블로 관리되던 세션 테이블에 비하여 자원이 절약되고, 유연성이 높다.As described above, the present invention separates and manages the session table and the fragment table, thereby saving resources and increasing flexibility compared to the session table managed as a single conventional table.
다시 말해, 본 발명은 단일 패킷과 단편 패킷을 각각의 식별자로 관리하므로, 송신 측에서 단편 패킷을 송신할 경우에는 단편 테이블을 다른 저장에 사용할 수 있으며, 단편 패킷을 송신할 경우에도 세션 테이블에 단편 패킷의 상태정보를 파악하기 위한 별도의 아이디 필드를 고정적으로 구성할 필요가 없는 등으로 인해 자원절약과 유연성 확보에 유리하다.In other words, since the present invention manages a single packet and a fragment packet with each identifier, the fragment table can be used for other storage when the fragment packet is transmitted from the sender, and the fragment table can be fragmented in the session table even when the fragment packet is transmitted. There is no need to configure a separate ID field to grasp the packet status information, which is advantageous for resource saving and securing flexibility.
이하, 도 5를 참조하여 본 발명의 실시예에 따른 관리부(500)의 단편 테이블 관리 방법에 대하여 설명한다. 도 5는 본 발명의 실시예에 따른 관리부(500)의 단편 테이블 관리 방법을 도시한 도면이다. Hereinafter, a fragment table management method of the
도 5에 도시된 바와 같이, 관리부(500)는 추출부(510), 연관부(520) 및 해시 생성기(530)를 포함하며, 제1 키와 제2 키를 이용하여 단편 테이블(400)을 관리한다.As shown in FIG. 5, the
추출부(510)는 세션 연결 상태에서 제1 내지 제N 단편 패킷이 수신되면, 제1 단편 패킷의 IP 헤더와 TCP 헤더로부터 5요소와 4요소를 추출하며, 제2 내지 제N 단편 패킷의 IP 헤더로부터 4요소를 추출한다. 추출부(510)의 세부구성에 대해서는 도 6을 참조하여 후술한다.When the first to Nth fragment packets are received in the session connection state, the
연관부(520)는 제1 단편 패킷의 5요소를 이용하여 세션 테이블(300)로부터 제1 단편 패킷이 포함된 세션의 현상태와 송수신 방향성을 확인한다.The
해시 생성기(530)는 제1 단편 패킷이 수신되면, 제1 단편 패킷의 4요소를 이용하여 제1 키를 생성하고, 제1 단편 패킷의 4요소를 이용하여 제2 키를 생성한다. 그리고, 해시 생성기(530)는 제1 키 및 제2 키가 지시하는 주소에 연관부(520)에 의하여 확인된 세션의 현상태와 방향성과 함께 제1 단편 패킷의 엔트리를 생성한다. 이때, 해시함수는 XOR 함수나 CRC 함수 등의 임의의 함수일 수 있다.When the first fragment packet is received, the
이후, 해시 생성기(530)는 제2 내지 제N 단편 패킷의 4요소를 입력받으면, 제1 키와 제2 키를 생성하여 제1 단편 패킷의 엔트리를 검색하고, 이로부터 제2 내지 제N 단편 패킷의 상태정보를 확인한다.Subsequently, when the
여기서, 단편 테이블(400)은 L개의 열과 M개(M > 0)의 엔트리로 구성된 행에 의해 구성된 테이블이며, 각 엔트리는 k개의 비트로 구성되는 k-Way Set Associative Fragment Table 구조이다. 따라서, 해시 생성기(530)에 의해 생성된 제1 키는 각 행을 지시(Index)하며, 제2 키는 각 지시된 행에서 각 엔트리를 지시한다.Here, the fragment table 400 is a table composed of rows consisting of L columns and M (M> 0) entries, and each entry has a k-Way Set Associative Fragment Table structure composed of k bits. Thus, the first key generated by
단편 테이블(400)의 각 엔트리는 k개의 비트(k bits)로 구성되며, 각 엔트리는 세션의 연결상태를 표시하는 현상태 값(Current State), 타임스탬프 및 각 엔트리의 주소인 해시 주소를 포함한다.Each entry of the fragment table 400 is composed of k bits, each entry including a current state indicating a connection state of a session, a timestamp, and a hash address that is an address of each entry. .
여기서, 타임스탬프는 각 세션의 엔트리에 접근할 때마다 내부 타이머에 의하여 갱신되며, 단편 테이블(400)은 풀(Full)이 되어 더 이상 새로운 세션의 엔트리를 할당할 수 없을 때, 타이머의 시간과 각 엔트리의 타임스탬프를 비교하여 가장 오래된 세션을 새로 할당할 엔트리로 대체하는 LRU(Least Recently Used) 알고리즘을 이용한다.Here, the timestamp is updated by an internal timer each time an entry of each session is accessed, and the fragment table 400 becomes full so that when the entry of a new session can no longer be allocated, A Least Recently Used (LRU) algorithm is used that compares the timestamp of each entry and replaces the oldest session with the newly allocated entry.
따라서, 관리부(500)는 제2 내지 제N 단편 패킷이 수신되면, 4요소를 이용하여 제1 단편 패킷의 엔트리를 확인하고, 제2 내지 제N 단편 패킷의 상태정보를 검색할 수 있다.Accordingly, when the second to Nth fragment packets are received, the
한편, 도 5는 단편 테이블(400)의 각 행이 16개의 엔트리로 구성되고, 전체 열은 217개로 구성되는 72Mb의 SRAM이며, 각 엔트리는 2비트의 세션 현상태 값, 8비트의 타임스탬프, 26비트의 해시함수로부터 생성된 해시 주소로 구성되는 경우를 예로 들어 설명하였으나, 단편 테이블(400)은 이에 한정되지 않고 다양하게 구성될 수 있다.5 is a 72 Mb SRAM in which each row of the fragment table 400 is composed of 16 entries and a total of 2 17 columns, each entry having a 2-bit session status value, an 8-bit timestamp, Although a case in which a hash address generated from a 26-bit hash function has been described as an example, the fragment table 400 is not limited thereto and may be configured in various ways.
이와 같이, 본 발명은 이중 해시 구조를 이용하여 단편 테이블(400)을 관리하므로, 검색시간을 단축할 수 있으며, 해시 충돌(Hash Collision)을 줄일 수 있다.As described above, since the present invention manages the fragment table 400 using the dual hash structure, the search time can be shortened and hash collision can be reduced.
이하, 도 6을 참조하여 본 발명의 실시예에 따른 추출부(510)의 4요소 추출방법에 대하여 설명한다. 도 6은 본 발명의 실시예에 따른 추출부(510)의 4요소 추출방법을 도시한 도면이다.Hereinafter, a method of extracting four elements of the
도 6을 참조하면, 해시 생성기(530)는 88비트의 4요소로부터 해시 주소를 각각 생성하므로, 프로토콜과 아이디가 같더라도 송수신 방향성에 따라 해시 주소가 달라지는 문제가 있어, 그로 인해 각 엔트리 검색에 상당한 혼란을 야기할 수 있다.Referring to FIG. 6, since the
따라서, 추출부(510)는 소스 주소와 목적지 주소를 비교하고 예컨대, 둘 중 크기가 작은 것이 앞에 위치하도록 재배열하여 해시 생성기(530)가 송수신 방향성에 관계없이 해시 주소를 일정하게 생성하도록 한다.Therefore, the
이하, 도 7을 참조하여 각 엔트리에 포함된 현상태 값의 변화에 대하여 설명한다. 도 7은 본 발명의 실시예에 따른 현상태 값의 변화를 도시한 상태도이다. Hereinafter, the change of the present state value contained in each entry is demonstrated with reference to FIG. 7 is a state diagram showing a change in the status value according to an embodiment of the present invention.
도 7은 단편 테이블(400)의 각 엔트리의 현상태 값이 하기의 표 1과 같이 2비트로 표현되는 경우를 예로 들어 설명하였다.FIG. 7 illustrates an example in which a current state value of each entry of the fragment table 400 is represented by 2 bits as shown in Table 1 below.
관리부(500)는 이전에 단편 패킷이 수신되지 않은 초기상태에서는 단편 테이블(400)의 각 엔트리에서, 현상태 값을 "00"으로 설정한다(S710).In the initial state in which the fragment packet was not previously received, the
이어서, 제1 내지 제N 단편 패킷이 수신되면, 관리부(500)는 세션 테이블(300)로부터 세션의 상태와 송수신 방향성을 확인한다.Subsequently, when the first to Nth fragment packets are received, the
그리고, 관리부(500)는 수신된 패킷이 클라이언트에서 서버로 전송되는 패킷이라면, 단편 테이블(400)의 현상태 값을 "10"으로 전이시킨다(S720).If the received packet is a packet transmitted from the client to the server, the
반면, 관리부(500)는 수신된 패킷이 서버에서 클라이언트로 전송되는 패킷이라면, 단편 테이블(400)의 현상태 값을 "11"로 전이시킨다(S730).On the other hand, if the received packet is a packet transmitted from the server to the client, the
이때, 관리부(500)는 마지막 단편 패킷인 제N 단편 패킷이 수신되면, 단편 테이블(400)로부터 제1 단편 패킷에 대한 엔트리를 삭제하고, 세션의 현상태 값을 "00"으로 전이시킨다(S740).At this time, when the Nth fragment packet, which is the last fragment packet, is received, the
이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술분야에 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.While the present invention has been described in detail with reference to the accompanying drawings, it is to be understood that the invention is not limited to the above-described embodiments. Those skilled in the art will appreciate that various modifications, Of course, this is possible. Accordingly, the scope of protection of the present invention should not be limited to the above-described embodiments, but should be determined by the description of the following claims.
도 1은 패킷의 단편화(Fragmentaiton) 과정을 도시한 도면.1 is a diagram illustrating a fragmentation process of a packet.
도 2는 IP 헤더와 TCP 헤더의 구조를 도시한 도면.2 is a diagram illustrating the structure of an IP header and a TCP header.
도 3은 본 발명의 실시예에 따른 클라이언트와 서버의 통신 메커니즘을 도시한 흐름도.3 is a flowchart illustrating a communication mechanism of a client and a server according to an embodiment of the present invention.
도 4는 본 발명의 실시예에 따른 세션 관리 장치를 도시한 구성도.4 is a block diagram illustrating an apparatus for managing a session according to an embodiment of the present invention.
도 5는 본 발명의 실시예에 따른 단편 테이블 관리 방법을 도시한 도면. 5 is a diagram illustrating a fragment table management method according to an embodiment of the present invention.
도 6은 본 발명의 실시예에 따른 4요소 추출방법을 도시한 도면.6 is a view showing a four element extraction method according to an embodiment of the present invention.
도 7은 본 발명의 실시예에 따른 현상태 값의 변화를 도시한 상태도. Figure 7 is a state diagram showing a change in the status value according to an embodiment of the present invention.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090117143A KR101286647B1 (en) | 2009-11-30 | 2009-11-30 | Apparatus and Method for Session Management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090117143A KR101286647B1 (en) | 2009-11-30 | 2009-11-30 | Apparatus and Method for Session Management |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110060534A true KR20110060534A (en) | 2011-06-08 |
KR101286647B1 KR101286647B1 (en) | 2013-08-23 |
Family
ID=44395285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090117143A KR101286647B1 (en) | 2009-11-30 | 2009-11-30 | Apparatus and Method for Session Management |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101286647B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101635732B1 (en) * | 2015-12-23 | 2016-07-04 | 주식회사 파이오링크 | Method for processing fragment packets and nework device using the same |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1871038B1 (en) * | 2006-06-23 | 2010-06-02 | Nippon Office Automation Co., Ltd. | Network protocol and session analyser |
-
2009
- 2009-11-30 KR KR1020090117143A patent/KR101286647B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101635732B1 (en) * | 2015-12-23 | 2016-07-04 | 주식회사 파이오링크 | Method for processing fragment packets and nework device using the same |
Also Published As
Publication number | Publication date |
---|---|
KR101286647B1 (en) | 2013-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100834570B1 (en) | Realtime stateful packet inspection method and apparatus for thereof | |
US8943586B2 (en) | Methods of detecting DNS flooding attack according to characteristics of type of attack traffic | |
US9584531B2 (en) | Out-of band IP traceback using IP packets | |
US8175096B2 (en) | Device for protection against illegal communications and network system thereof | |
US8134934B2 (en) | Tracking network-data flows | |
US20070047457A1 (en) | Method and system for reassembling packets prior to searching | |
US20110196961A1 (en) | Method for network anomaly detection in a network architecture based on locator/identifier split | |
WO2018035962A1 (en) | Method and system for processing forged tcp data packet | |
US7854003B1 (en) | Method and system for aggregating algorithms for detecting linked interactive network connections | |
Lu et al. | A novel path‐based approach for single‐packet IP traceback | |
US7613179B2 (en) | Technique for tracing source addresses of packets | |
Chen et al. | Nisp1-05: Rim: Router interface marking for ip traceback | |
Malliga et al. | A proposal for new marking scheme with its performance evaluation for IP traceback | |
KR101286647B1 (en) | Apparatus and Method for Session Management | |
US8493972B2 (en) | Systems and methods for detecting denial of service attacks | |
Zhou et al. | Limiting self-propagating malware based on connection failure behavior | |
Arjmandpanah‐Kalat et al. | Design and performance analysis of an efficient single flow IP traceback technique in the AS level | |
Zhou et al. | Limiting Self-Propagating Malware Based on Connection Failure Behavior through Hyper-Compact Estimators | |
Bae et al. | An efficient detection of TCP Syn flood attacks with spoofed IP addresses | |
Barokar et al. | Identification of the Real Source of DDOS Attack by FDPM in IP Traceback System | |
Saurabh et al. | Extended deterministic edge router marking | |
Mittal et al. | Flexible deterministic router and interface marking for IP traceback | |
Malliga et al. | A low storage and traceback overhead system for IP traceback: A hybrid approach | |
Sanap et al. | sOverview of IP tracebacking using packet marking techniques | |
Luke | A Comparative Study over Various IP Traceback Schemes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E90F | Notification of reason for final refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160628 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |