KR101286647B1 - 세션 관리 방법 - Google Patents

세션 관리 방법 Download PDF

Info

Publication number
KR101286647B1
KR101286647B1 KR1020090117143A KR20090117143A KR101286647B1 KR 101286647 B1 KR101286647 B1 KR 101286647B1 KR 1020090117143 A KR1020090117143 A KR 1020090117143A KR 20090117143 A KR20090117143 A KR 20090117143A KR 101286647 B1 KR101286647 B1 KR 101286647B1
Authority
KR
South Korea
Prior art keywords
packet
fragment
nth
session
packets
Prior art date
Application number
KR1020090117143A
Other languages
English (en)
Other versions
KR20110060534A (ko
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 KR1020090117143A priority Critical patent/KR101286647B1/ko
Publication of KR20110060534A publication Critical patent/KR20110060534A/ko
Application granted granted Critical
Publication of KR101286647B1 publication Critical patent/KR101286647B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation

Abstract

본 발명은 세션 관리 방법에 대하여 개시한다. 본 발명의 일면에 따른 세션 관리 방법은, TCP 세션 연결에 따라, TCP 헤더 및 IP 헤더를 포함하는 제1 단편 패킷이 수신되면, 상기 제1 단편 패킷이 포함된 세션 상태와 방향성을 파악하는 단계; 상기 TCP 헤더 및 상기 IP 헤더의 정보를 이용하여 제1 주소를 결정하고, 상기 제1 주소의 엔트리를 구성하여 상기 세션 상태와 방향성과 함께 저장하는 단계; 상기 IP 헤더를 포함하는 제2 내지 제N 단편 패킷이 수신되면, 상기 IP 헤더의 정보를 이용하여 상기 세션 상태와 방향성을 파악하는 단계; 및 상기 IP 헤더의 정보를 이용하여 제2 내지 제N 주소를 결정하고, 상기 제2 내지 제N 주소의 엔트리를 구성하여 세션 상태와 방향성과 함께 저장하는 단계를 포함하되, 상기 제2 내지 제N 단편 패킷이 단편화된 패킷중 마지막 패킷이면 상기 구성된 제2 내지 제N 주소의 엔트리를 삭제하는 것을 특징으로 한다.
Fragment, 패킷 단편화, TCP 세션, 세션 상태, 세션 추적

Description

세션 관리 방법{Apparatus and Method for Session Management}
본 발명은 세션 관리에 관한 것으로서, 구체적으로는 단편화되어 송신된 패킷의 세션을 관리할 수 있는 세션 관리 방법에 관한 것이다.
본 발명은 지식경제부의 지식경제부 기술혁신사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2009-S-038-01, 과제명: 분산서비스거부(DDoS) 공격 대응 기술개발].
일반적으로, IP 계층은 전송할 IP 데이터그램(Datagram)의 크기가 링크 계층의 최대 전송단위(MTU; Maximum Transmission Unit)보다 크면, 도 1과 같은 단편화(Fragmentation) 작업을 통해 복수의 TCP 세그먼트로 단편화하여 전송함으로써, 최대 전송단위가 다른 이기종 목적지 시스템에서도 IP 데이터그램을 인지할 수 있도록 한다.
목적지 시스템은 도 2와 같이 구성되는 IP 헤더와 TCP 헤더 중, IP 헤더의 Identification, Flags, Fragment Offset 필드들의 정보를 이용하여 TCP 세그먼트를 재조합하여 IP 데이터그램을 복원할 수 있다.
즉, Identification 필드는 16 비트 필드로서, "IP Identification Number" 라고 불린다. 각 IP 데이터그램에 대한 유일한 값을 포함하며, 단편 패킷들의 재조합 과정에 있어 식별자로 사용된다.
또한, Flags 필드는 3비트 필드로서, <Reserved, Don't Fragment, More Fragments>로 구성되며, "More Fragments"비트는 단편 패킷이 더 있음을 나타내며, 마지막 단편 패킷을 제외한 다른 단편 패킷들에 대해 설정된다. 그리고, "Don't Fragments"비트는 단편화되지 않음을 나타내며, IP 데이터그램이 단편화되지 않았음을 나타낸다.
마지막으로, 단편 옵셋(Fragment Offset) 필드는 해당 단편 패킷이 원래의 데이터그램의 시작부터 어느 위치까지 옵셋(8바이트 단위)되어 있는지를 나타낸다.
종래의 보안 장비는 IP 헤더의 프로토콜(Protocol), 소스 주소(Source Address), 목적지 주소(Destination Address) 뿐만 아니라, TCP 헤더의 소스 포트(Source Port) 및 목적지 포트(Destination Address)를 이용하여 세션 추적 및 관리를 수행할 수 있다.
그런데, 도 1에 도시된 바와 같이 제1 단편 패킷 이외의 제2 내지 제4 단편 패킷들은 TCP 헤더를 포함하지 않아, 트래픽 계측에 어려움이 있어 단편 패킷이 많을 경우 실제 트래픽의 양보다 적게 측정되는 문제점이 있다.
뿐만 아니라, 단편 패킷들은 네트워크 보안 장비에 의하여 검사되지 않아, 해커들에 의한 우회 침입의 수단으로 사용될 가능성이 크다는 심각한 문제점이 있다.
전술한 문제점을 해결하기 위하여, 본 발명의 목적은 단편화된 패킷과 단편화되지 않은 패킷의 세션 상태정보를 각각 관리할 수 있는 세션 관리 방법을 제공함에 있다.
본 발명의 일면에 따른 세션 관리 장치는, 단편화되지 않은 단일 패킷의 상태정보에 대한 엔트리를 저장하는 세션 테이블; 상기 제1 내지 제N 단편 패킷의 상태정보에 대한 엔트리를 저장하는 단편 테이블; 및 단일 패킷이 수신되면 상기 단일 패킷이 포함된 세션의 TCP 헤더를 포함하는 상기 제1 단편 패킷이 수신되면, 상기 세션 테이블로부터 상기 제1 단편 패킷의 상태정보를 파악하여 상기 단편 테이블에 상기 제1 단편 패킷의 엔트리를 구성하고, TCP 헤더를 포함하지 않는 제2 내지 제N 단편 패킷이 수신되면, 상기 제1 단편 패킷의 엔트리를 참조하여 상기 제2 내지 제N 단편 패킷의 상태정보를 포함하는 엔트리를 구성하는 관리부를 포함하는 것을 그 특징으로 한다.
본 발명의 일면에 따른 세션 관리 방법은, 단편화되지 않은 단일 패킷이 수신되면, 상기 단일 패킷의 상태정보에 대한 엔트리를 세션 테이블에 구성하는 단계; TCP 헤더를 포함하는 제1 단편 패킷이 수신되면, 상기 세션 테이블로부터 상기 제1 단편 패킷의 상태정보를 파악하는 단계; 상기 파악된 내용을 이용하여 단편 테이블에 상기 제1 단편 패킷의 엔트리를 구성하는 단계; 및 TCP 헤더를 포함하지 않는 제2 내지 제N 단편 패킷이 수신되면, 상기 제1 단편 패킷의 엔트리를 참조하여 상기 제2 내지 제N 단편 패킷의 상태정보를 포함하는 엔트리를 구성하는 단계를 포함하는 것을 그 특징으로 한다.
본 발명의 또 다른 면에 따른 세션 관리 방법은, TCP 세션 연결에 따라, TCP 헤더 및 IP 헤더를 포함하는 제1 단편 패킷이 수신되면, 상기 제1 단편 패킷이 포함된 세션 상태와 방향성을 파악하는 단계; 상기 TCP 헤더 및 상기 IP 헤더의 정보를 이용하여 제1 주소를 결정하고, 상기 제1 주소의 엔트리를 구성하여 상기 세션 상태와 방향성과 함께 저장하는 단계; 상기 IP 헤더를 포함하는 제2 내지 제N 단편 패킷이 수신되면, 상기 IP 헤더의 정보를 이용하여 상기 세션 상태와 방향성을 파악하는 단계; 및 상기 IP 헤더의 정보를 이용하여 제2 내지 제N 주소를 결정하고, 상기 제2 내지 제N 주소의 엔트리를 구성하여 세션 상태와 방향성과 함께 저장하는 단계를 포함하되, 상기 제2 내지 제N 단편 패킷이 단편화된 패킷중 마지막 패킷이면 상기 구성된 제2 내지 제N 주소의 엔트리를 삭제하는 것을 그 특징으로 한다.
본 발명에 따르면, 하드웨어에 기반한 테이블을 이용하여 세션 상태정보를 추적하므로, 복잡도가 높은 기가급 네트워크상에서도 세션 추적 및 관리에 있어 속도(Wire-Speed)를 보장할 수 있는 효과가 있다.
본 발명은 단편화된 패킷과 단편화되지 않은 패킷을 별개의 테이블로 관리하여 단편화되지 않은 패킷뿐 아니라, 단편화된 패킷으로 인한 우회공격도 탐색할 수 있다.
이하, 도 3을 참조하여 본 발명의 실시예에 따른 클라이언트와 서버의 통신 메커니즘에 대하여 설명한다. 도 3은 본 발명의 실시예에 따른 클라이언트와 서버의 통신 메커니즘을 도시한 흐름도이다.
도 3과 같이, 클라이언트(100)와 서버(200)는 SYN, SYN/ACK, ACK 패킷을 상호 교환하는 3-Way 핸드쉐이킹(Handshaking) 설정 과정을 통하여 TCP 세션을 연결한다(S310).
이어서, 클라이언트(100)가 서버(200)로 복수의 단편 패킷 또는 단일 패킷을 송신함에 따라, 서버(200)는 세션 테이블(300)과 단편 테이블(400)을 이용하여 각 패킷이 포함된 세션의 상태정보를 관리한다(S320).
여기서, 상태정보는 세션의 현상태 값과 송수신 방향성을 포함하며, 방화벽에서의 패킷 필터링(Packet Filtering), 침입 탐지 및 방지 시스템의 패킷 검사에 이용될 수 있다.
이후, 클라이언트(100)와 서버(200)는 복수의 단편 패킷을 포함하는 패킷의 송수신이 완료되면, FIN, ACK 패킷을 상호 교환하는 4-Way 핸드쉐이킹(Handshaking) 종료 과정을 통하여 해당 세션을 종료한다(S330).
이와 같이, 본 발명은 패킷 검사를 위한 상태정보를 효율적으로 관리함으로 써, 패킷 검사의 효율성을 높일 수 있다.
이하, 도 4를 참조하여 (S320)단계에서 세션을 관리하는 세션 관리 장치에 대하여 설명한다. 도 4는 본 발명의 실시예에 따른 세션 관리 장치를 도시한 구성도이다.
도 4에 도시된 바와 같이, 본 발명의 실시예에 따른 세션 관리 장치(10)는 관리부(500), 세션 테이블(300) 및 단편 테이블(400)을 포함한다.
관리부(500)는 세션 테이블(300)과 단편 테이블(400)에 단일 패킷 및 복수의 단편 패킷들의 엔트리를 구성하여 관리한다. 여기서, 단일 패킷은 세션 연결과 종료에 사용되는 패킷 및 단편화되지 않고 송신된 정보 패킷이며, 복수의 단편 패킷은 링크 계층의 최대전송단위에 부합하도록 복수 개로 단편화되어 전송된 정보 패킷이다.
관리부(500)는 수신된 패킷의 IP 헤더의 플래그(Flags) 필드를 확인하여 단일 패킷인지 아니면, 단편 패킷인지를 판단하고, 단일 패킷이면 세션 테이블(300)에 단일 패킷의 엔트리를 구성하며, 단편 패킷이면 단편 테이블(400)에 단편 패킷의 엔트리를 구성한다.
상세하게는, 관리부(500)는 단일 패킷의 IP 헤더와 TCP 헤더로부터 <프로토콜, 소스 주소, 목적지 주소, 소스 포트, 목적지 포트>를 확인하고, 이를 이용하여 단일 패킷의 엔트리 주소를 결정하고, 세션 현상태와 방향성을 확인하여 결정된 엔트리 주소와 함께 저장한다. 이때, 관리부(500)는 단일 패킷의 소스 주소 및 목적지 주소의 크기를 이용하여 단일 패킷의 송수신 방향성을 확인할 수 있다. 또한, 관리부(500)는 단일 패킷의 소스 포트와 목적지 포트 또는 아이디를 이용하여 단일 패킷이 포함된 세션의 현상태를 확인할 수 있다.
관리부(500)는 복수의 단편 패킷 중에서 IP 헤더와 TCP 헤더를 포함하는 제1 단편 패킷의 <프로토콜, 소스 주소, 목적지 주소, 소스 포트, 목적지 포트>를 확인하여 세션 테이블(300)로부터 제1 단편 패킷이 송수신되는 세션의 연결 상태("Established" State) 및 송수신 방향성(Flow Direction: Client to Server/Server to Client)을 파악하고, 이를 이용하여 단편 테이블(400)에 제1 단편 패킷의 상태정보에 대한 엔트리를 구성한다. 이때, 관리부(500)는 제1 내지 제N 단편 패킷의 소스 주소 및 목적지 주소의 크기를 이용하여 제1 내지 제N 단편 패킷의 송수신 방향성을 확인할 수 있다. 또한, 관리부(500)는 제1 내지 제N 단편 패킷의 소스 포트와 목적지 포트 또는 아이디를 이용하여 제1 내지 제N 단편 패킷이 포함된 세션의 현상태를 확인할 수 있다.
그리고, 관리부(500)는 TCP 헤더를 포함하지 않고, IP 헤더만 포함하는 제2 내지 제N 단편 패킷이 수신되면, <프로토콜, 소스 주소, 목적지 주소, 아이디>를 이용하여 단편 테이블(400)로부터 제1 단편 패킷의 엔트리를 확인하고, 이를 참조하여 제2 내지 제N 단편 패킷의 상태정보를 포함하는 엔트리를 구성한다.
이때, 관리부(500)는 하기의 수학식에 따라 복수의 단편 패킷이 제1 단편 패킷인지, 제2 내지 제N-1 단편 패킷인지, 아니면 제N 단편 패킷인지를 판단하고, 제1 단편 패킷이면 단편 테이블(400)에 새로운 엔트리를 생성하며, 제N 단편 패킷이면 이용중인 엔트리를 삭제하는 등의 작업을 수행함으로써, 단편 테이블(400)을 포함하는 메모리를 효율적으로 사용할 수 있다.
if(More Fragments == 1 && Fragment Offset == 0)
수신된 패킷 = 제1 단편 패킷 (즉, 첫 번째 단편 패킷)
else if(More Fragments == 1 && Fragment Offset != 0)
수신된 패킷 = 제2 내지 제N-1 단편 패킷 (즉, 중간 단편 패킷)
else if(More Fragments == 0 && Fragment Offset !== 0)
수신된 패킷 = 제N 단편 패킷 (즉, 마지막 단편 패킷)
세션 테이블(300)은 세션 연결 및 세션 종료에 사용되는 패킷 및 단편화되지 않은 단일 패킷의 상태정보에 대하여 구성된 엔트리를 포함한다. 이때, 각 엔트리는 <프로토콜, 소스 주소, 목적지 주소, 소스 포트, 목적지 포트>의 5요소(Tuple)로부터 생성된 엔트리의 어드레스로 구분되며, 5요소로부터 확인된 세션의 현상태와 방향성과 함께 저장한다.
단편 테이블(400)은 제1 내지 제N 단편 패킷의 상태정보에 대하여 구성된 엔트리들을 포함한다. 이때, 각 엔트리는 <프로토콜, 소스 주소, 목적지 주소, 아이디>의 4 요소(Tuple)로부터 생성된 엔트리의 어드레스로 구분되며, 제1 단편 패킷의 5요소에 의하여 세션 테이블(300)로부터 확인된 세션의 현상태와 방향성에 대한 상태정보를 함께 저장한다.
이와 같이, 본 발명은 세션 테이블과 단편 테이블을 분리하여 관리함으로써, 종래의 하나의 테이블로 관리되던 세션 테이블에 비하여 자원이 절약되고, 유연성이 높다.
다시 말해, 본 발명은 단일 패킷과 단편 패킷을 각각의 식별자로 관리하므로, 송신 측에서 단편 패킷을 송신할 경우에는 단편 테이블을 다른 저장에 사용할 수 있으며, 단편 패킷을 송신할 경우에도 세션 테이블에 단편 패킷의 상태정보를 파악하기 위한 별도의 아이디 필드를 고정적으로 구성할 필요가 없는 등으로 인해 자원절약과 유연성 확보에 유리하다.
이하, 도 5를 참조하여 본 발명의 실시예에 따른 관리부(500)의 단편 테이블 관리 방법에 대하여 설명한다. 도 5는 본 발명의 실시예에 따른 관리부(500)의 단편 테이블 관리 방법을 도시한 도면이다.
도 5에 도시된 바와 같이, 관리부(500)는 추출부(510), 연관부(520) 및 해시 생성기(530)를 포함하며, 제1 키와 제2 키를 이용하여 단편 테이블(400)을 관리한다.
추출부(510)는 세션 연결 상태에서 제1 내지 제N 단편 패킷이 수신되면, 제1 단편 패킷의 IP 헤더와 TCP 헤더로부터 5요소와 4요소를 추출하며, 제2 내지 제N 단편 패킷의 IP 헤더로부터 4요소를 추출한다. 추출부(510)의 세부구성에 대해서는 도 6을 참조하여 후술한다.
연관부(520)는 제1 단편 패킷의 5요소를 이용하여 세션 테이블(300)로부터 제1 단편 패킷이 포함된 세션의 현상태와 송수신 방향성을 확인한다.
해시 생성기(530)는 제1 단편 패킷이 수신되면, 제1 단편 패킷의 4요소를 이용하여 제1 키를 생성하고, 제1 단편 패킷의 4요소를 이용하여 제2 키를 생성한다. 그리고, 해시 생성기(530)는 제1 키 및 제2 키가 지시하는 주소에 연관부(520)에 의하여 확인된 세션의 현상태와 방향성과 함께 제1 단편 패킷의 엔트리를 생성한다. 이때, 해시함수는 XOR 함수나 CRC 함수 등의 임의의 함수일 수 있다.
이후, 해시 생성기(530)는 제2 내지 제N 단편 패킷의 4요소를 입력받으면, 제1 키와 제2 키를 생성하여 제1 단편 패킷의 엔트리를 검색하고, 이로부터 제2 내지 제N 단편 패킷의 상태정보를 확인한다.
여기서, 단편 테이블(400)은 L개의 열과 M개(M > 0)의 엔트리로 구성된 행에 의해 구성된 테이블이며, 각 엔트리는 k개의 비트로 구성되는 k-Way Set Associative Fragment Table 구조이다. 따라서, 해시 생성기(530)에 의해 생성된 제1 키는 각 행을 지시(Index)하며, 제2 키는 각 지시된 행에서 각 엔트리를 지시한다.
단편 테이블(400)의 각 엔트리는 k개의 비트(k bits)로 구성되며, 각 엔트리는 세션의 연결상태를 표시하는 현상태 값(Current State), 타임스탬프 및 각 엔트리의 주소인 해시 주소를 포함한다.
여기서, 타임스탬프는 각 세션의 엔트리에 접근할 때마다 내부 타이머에 의하여 갱신되며, 단편 테이블(400)은 풀(Full)이 되어 더 이상 새로운 세션의 엔트리를 할당할 수 없을 때, 타이머의 시간과 각 엔트리의 타임스탬프를 비교하여 가장 오래된 세션을 새로 할당할 엔트리로 대체하는 LRU(Least Recently Used) 알고리즘을 이용한다.
따라서, 관리부(500)는 제2 내지 제N 단편 패킷이 수신되면, 4요소를 이용하여 제1 단편 패킷의 엔트리를 확인하고, 제2 내지 제N 단편 패킷의 상태정보를 검색할 수 있다.
한편, 도 5는 단편 테이블(400)의 각 행이 16개의 엔트리로 구성되고, 전체 열은 217개로 구성되는 72Mb의 SRAM이며, 각 엔트리는 2비트의 세션 현상태 값, 8비트의 타임스탬프, 26비트의 해시함수로부터 생성된 해시 주소로 구성되는 경우를 예로 들어 설명하였으나, 단편 테이블(400)은 이에 한정되지 않고 다양하게 구성될 수 있다.
이와 같이, 본 발명은 이중 해시 구조를 이용하여 단편 테이블(400)을 관리하므로, 검색시간을 단축할 수 있으며, 해시 충돌(Hash Collision)을 줄일 수 있다.
이하, 도 6을 참조하여 본 발명의 실시예에 따른 추출부(510)의 4요소 추출방법에 대하여 설명한다. 도 6은 본 발명의 실시예에 따른 추출부(510)의 4요소 추출방법을 도시한 도면이다.
도 6을 참조하면, 해시 생성기(530)는 88비트의 4요소로부터 해시 주소를 각각 생성하므로, 프로토콜과 아이디가 같더라도 송수신 방향성에 따라 해시 주소가 달라지는 문제가 있어, 그로 인해 각 엔트리 검색에 상당한 혼란을 야기할 수 있다.
따라서, 추출부(510)는 소스 주소와 목적지 주소를 비교하고 예컨대, 둘 중 크기가 작은 것이 앞에 위치하도록 재배열하여 해시 생성기(530)가 송수신 방향성에 관계없이 해시 주소를 일정하게 생성하도록 한다.
이하, 도 7을 참조하여 각 엔트리에 포함된 현상태 값의 변화에 대하여 설명한다. 도 7은 본 발명의 실시예에 따른 현상태 값의 변화를 도시한 상태도이다.
도 7은 단편 테이블(400)의 각 엔트리의 현상태 값이 하기의 표 1과 같이 2비트로 표현되는 경우를 예로 들어 설명하였다.
Figure 112009073859847-pat00001
관리부(500)는 이전에 단편 패킷이 수신되지 않은 초기상태에서는 단편 테이블(400)의 각 엔트리에서, 현상태 값을 "00"으로 설정한다(S710).
이어서, 제1 내지 제N 단편 패킷이 수신되면, 관리부(500)는 세션 테이블(300)로부터 세션의 상태와 송수신 방향성을 확인한다.
그리고, 관리부(500)는 수신된 패킷이 클라이언트에서 서버로 전송되는 패킷이라면, 단편 테이블(400)의 현상태 값을 "10"으로 전이시킨다(S720).
반면, 관리부(500)는 수신된 패킷이 서버에서 클라이언트로 전송되는 패킷이라면, 단편 테이블(400)의 현상태 값을 "11"로 전이시킨다(S730).
이때, 관리부(500)는 마지막 단편 패킷인 제N 단편 패킷이 수신되면, 단편 테이블(400)로부터 제1 단편 패킷에 대한 엔트리를 삭제하고, 세션의 현상태 값을 "00"으로 전이시킨다(S740).
이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술분야에 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.
도 1은 패킷의 단편화(Fragmentaiton) 과정을 도시한 도면.
도 2는 IP 헤더와 TCP 헤더의 구조를 도시한 도면.
도 3은 본 발명의 실시예에 따른 클라이언트와 서버의 통신 메커니즘을 도시한 흐름도.
도 4는 본 발명의 실시예에 따른 세션 관리 장치를 도시한 구성도.
도 5는 본 발명의 실시예에 따른 단편 테이블 관리 방법을 도시한 도면.
도 6은 본 발명의 실시예에 따른 4요소 추출방법을 도시한 도면.
도 7은 본 발명의 실시예에 따른 현상태 값의 변화를 도시한 상태도.

Claims (10)

  1. 세션 테이블;
    단편 테이블; 및
    수신된 패킷의 IP 헤더의 플래그 필드(Flag Field)를 확인하여 상기 수신된 패킷이 단편화(Fragmentation)되지 않은 단일 패킷인지 아니면, 단편화된 제1 내지 제N 단편 패킷인지를 확인하고, 상기 단일 패킷이면, 상기 단일 패킷의 TCP 헤더 및 IP 헤더로부터 추출된 5요소(Tuple) 또는 4요소를 이용하여 상기 단일 패킷의 엔트리 주소와, 상기 단일 패킷의 세션 연결 상태와 송수신 방향성을 포함하는 상태정보를 결정하고, 상기 세션 테이블에 상기 단일 패킷의 엔트리 주소로 구분되는 엔트리를 생성하여 상기 단일 패킷의 상태정보를 저장하고,
    상기 수신된 패킷이 상기 제1 단편 패킷이면, 상기 제1 단편 패킷의 TCP 헤더 및 IP 헤더 중 적어도 하나로부터 추출된 5요소 또는 4요소를 이용하여 상기 제1 단편 패킷의 엔트리 주소와, 상기 제1 내지 제N 단편 패킷에 대응하는 세션 연결 상태와 송수신 방향성을 포함하는 상태정보를 결정하고, 상기 단편 테이블에 상기 제1 내지 제N 단편 패킷의 엔트리 주소로 구분되는 엔트리를 생성하여 상기 제1 내지 제N 단편 패킷의 상태정보를 저장하며,
    상기 제1 내지 제N 단편 패킷 중 제2 내지 제N 단편 패킷이 수신되면, 상기 제2 내지 제N 단편 패킷의 IP 헤더로부터 추출된 4요소를 이용하여 상기 제1 단편 패킷의 엔트리 주소를 확인하고, 상기 제1 단편 패킷의 엔트리 주소에서 상기 제2 내지 제N 단편 패킷의 상태정보를 확인하는 관리부
    를 포함하는 세션 관리 장치.
  2. 제1항에 있어서, 상기 관리부는,
    상기 단일 패킷 및 상기 제1 내지 제N 단편 패킷의 소스 주소 및 목적지 주소의 크기를 이용하여 상기 단일 패킷 및 상기 제1 내지 제N 단편 패킷의 송수신 방향성을 확인하며,
    상기 단일 패킷 및 상기 제1 내지 제N 단편 패킷의 소스 포트와 목적지 포트 또는 아이디를 이용하여 상기 단일 패킷 및 상기 제1 내지 제N 단편 패킷이 포함된 세션의 현상태를 확인하는 것인 세션 관리 장치.
  3. 제1항에 있어서, 상기 관리부는,
    상기 플래그 필드를 확인하여 상기 수신된 패킷이 상기 제1 단편 패킷인지, 상기 제1 내지 제N 단편 패킷 중 제2 내지 제N-1 단편 패킷인지, 또는, 상기 제N 단편 패킷인지를 확인하고,
    상기 수신된 패킷이 상기 제1 단편 패킷이면 상기 단편 테이블에 새로운 상기 엔트리를 생성하며, 상기 제N 단편 패킷이면, 상기 제1 내지 제N 단편 패킷에 의해 이용중인 상기 엔트리를 삭제하는 것인 세션 관리 장치.
  4. 제1항에 있어서, 상기 세션 테이블 또는 상기 단편 테이블의 상태정보는,
    방화벽에서의 패킷 필터링(Packet Filtering), 침입 탐지 및 방지 시스템의 패킷 검사에 이용되는 것인 세션 관리 장치.
  5. 하드웨어 기반의 세션 테이블 및 단편 테이블을 포함하는 세션 관리 장치에 의한 세션 관리 방법으로서,
    수신된 패킷의 IP 헤더의 플래그 필드(Flag Field)를 확인하여 단편화(Fragmentation)되지 않은 단일 패킷인지 아니면, 단편화된 제1 내지 제N 단편 패킷인지를 확인하는 단계;
    상기 수신된 패킷이 상기 단일 패킷이면, 상기 단일 패킷의 TCP 헤더 및 IP 헤더로부터 추출된 5요소(Tuple) 또는 4요소를 이용하여 상기 단일 패킷의 엔트리 주소와, 상기 단일 패킷의 세션 연결 상태와 송수신 방향성을 포함하는 상태정보를 결정하는 제1 단계;
    상기 세션 테이블에 상기 단일 패킷의 엔트리 주소로 구분되는 엔트리를 생성하여 상기 단일 패킷의 상태정보를 저장하는 단계;
    상기 수신된 패킷이 상기 제1 단편 패킷이면, 상기 제1 단편 패킷의 TCP 헤더 및 IP 헤더 중 적어도 하나로부터 추출된 5요소 또는 4요소를 이용하여 상기 제1 단편 패킷의 엔트리 주소와, 상기 제1 내지 제N 단편 패킷에 대응하는 세션 연결 상태와 송수신 방향성을 포함하는 상태정보를 결정하는 제2 단계;
    상기 단편 테이블에 상기 제1 내지 제N 단편 패킷의 엔트리 주소로 구분되는 엔트리를 생성하여 상기 제1 내지 제N 단편 패킷의 상태정보를 저장하는 단계; 및
    상기 제1 내지 제N 단편 패킷 중 제2 내지 제N 단편 패킷이 수신되면, 상기 제2 내지 제N 단편 패킷의 IP 헤더로부터 추출된 4요소를 이용하여 상기 제1 단편 패킷의 엔트리 주소를 확인하고, 상기 제1 단편 패킷의 엔트리 주소에서 상기 제2 내지 제N 단편 패킷의 상태정보를 확인하는 단계
    를 포함하는 세션 관리 방법.
  6. 삭제
  7. 제5항에 있어서, 상기 상태정보를 결정하는 제1 단계는,
    상기 단일 패킷의 소스 주소 및 목적지 주소의 크기를 이용하여 상기 단일 패킷의 송수신 방향성을 확인하는 단계; 및
    상기 단일 패킷의 소스 포트와 목적지 포트 또는 아이디를 이용하여 상기 단일 패킷이 포함된 세션의 현상태를 확인하는 단계를 포함하며,
    상기 상태정보를 결정하는 제2 단계는,
    상기 제1 내지 제N 단편 패킷의 소스 주소 및 목적지 주소의 크기를 이용하여 상기 제1 내지 제N 단편 패킷의 송수신 방향성을 확인하는 단계; 및
    상기 제1 내지 제N 단편 패킷의 소스 포트와 목적지 포트 또는 아이디를 이용하여 상기 제1 내지 제N 단편 패킷이 포함된 세션의 현상태를 확인하는 단계
    를 포함하는 것인 세션 관리 방법.
  8. 삭제
  9. 삭제
  10. 삭제
KR1020090117143A 2009-11-30 2009-11-30 세션 관리 방법 KR101286647B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090117143A KR101286647B1 (ko) 2009-11-30 2009-11-30 세션 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090117143A KR101286647B1 (ko) 2009-11-30 2009-11-30 세션 관리 방법

Publications (2)

Publication Number Publication Date
KR20110060534A KR20110060534A (ko) 2011-06-08
KR101286647B1 true KR101286647B1 (ko) 2013-08-23

Family

ID=44395285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090117143A KR101286647B1 (ko) 2009-11-30 2009-11-30 세션 관리 방법

Country Status (1)

Country Link
KR (1) KR101286647B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101635732B1 (ko) * 2015-12-23 2016-07-04 주식회사 파이오링크 네트워크 장치에서 단편화 패킷을 처리하는 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080002595A1 (en) * 2006-06-23 2008-01-03 Rao Umesh R Network monitoring system and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080002595A1 (en) * 2006-06-23 2008-01-03 Rao Umesh R Network monitoring system and method thereof

Also Published As

Publication number Publication date
KR20110060534A (ko) 2011-06-08

Similar Documents

Publication Publication Date Title
KR100834570B1 (ko) 실시간 상태 기반 패킷 검사 방법 및 이를 위한 장치
US7486673B2 (en) Method and system for reassembling packets prior to searching
US8892725B2 (en) Method for network anomaly detection in a network architecture based on locator/identifier split
US8943586B2 (en) Methods of detecting DNS flooding attack according to characteristics of type of attack traffic
Yang et al. RIHT: a novel hybrid IP traceback scheme
EP1908219B1 (en) Active packet content analyzer for communications network
US7171440B2 (en) System and method for virtual packet reassembly
US20140245435A1 (en) Out-of-band ip traceback using ip packets
CN105429968B (zh) 基于布隆过滤器的网络取证载荷归属方法及系统
WO2018035962A1 (zh) 一种用于处理伪造的tcp数据包的方法和系统
Patil et al. Unmasking of source identity, a step beyond in cyber forensic
US7613179B2 (en) Technique for tracing source addresses of packets
Chen et al. Nisp1-05: Rim: Router interface marking for ip traceback
KR101286647B1 (ko) 세션 관리 방법
Vincent et al. A survey of IP traceback mechanisms to overcome denial-of-service attacks
Balyk et al. A survey of modern IP traceback methodologies
Patil et al. A Hybrid Traceback based Network Forensic Technique to Identifying Origin of Cybercrime.
US7917649B2 (en) Technique for monitoring source addresses through statistical clustering of packets
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
TWI707565B (zh) 網路攻擊者辨識方法及網路系統
Jain et al. A Survey on Packet Marking and Logging
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

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