KR20050053140A - Ip 패킷의 에러 처리 장치 및 방법, 그리고 상기 방법을실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 - Google Patents

Ip 패킷의 에러 처리 장치 및 방법, 그리고 상기 방법을실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 Download PDF

Info

Publication number
KR20050053140A
KR20050053140A KR1020030086753A KR20030086753A KR20050053140A KR 20050053140 A KR20050053140 A KR 20050053140A KR 1020030086753 A KR1020030086753 A KR 1020030086753A KR 20030086753 A KR20030086753 A KR 20030086753A KR 20050053140 A KR20050053140 A KR 20050053140A
Authority
KR
South Korea
Prior art keywords
error
packet
detected
packets
field
Prior art date
Application number
KR1020030086753A
Other languages
English (en)
Other versions
KR101086397B1 (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 KR20030086753A priority Critical patent/KR101086397B1/ko
Priority to US10/983,663 priority patent/US7308619B2/en
Priority to JP2004344987A priority patent/JP2005168018A/ja
Priority to CNB2004100967158A priority patent/CN1305281C/zh
Publication of KR20050053140A publication Critical patent/KR20050053140A/ko
Application granted granted Critical
Publication of KR101086397B1 publication Critical patent/KR101086397B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • 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]
    • 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/163In-band adaptation of TCP data exchange; In-band control procedures

Abstract

적어도 하나 이상의 송신 노드로부터 수신된 IP 패킷에 대해, 이전 에러가 검출된 때로부터 제 1 소정 시간 이내에 다음 에러가 검출되는 상황이 소정 횟수를 초과하여 발생하는 경우에 상기 송신 노드와 제 2 소정 시간 동안 통신을 단절하는 에러 처리 장치 및 방법, 그리고 이 방법을 실행하는 프로그램을 기록한 기록 매체가 개시된다. 또한, 에러 처리는 에러가 검출된 IP 패킷의 어드레스에 의해 식별되는 하나 이상의 엔트리로 구성된 캐시부를 참조하여 수행될 수도 있다. 이로써, IP 패킷의 악의적 조작이나 서비스 거부 공격(Denial of Service)을 받고 있다고 의심되는 송신 노드에 대해서는 상기 제 2 소정 시간 동안 ICMP 패킷을 전송하지 않음으로써 수신 노드의 네트워크 부하를 줄일 수 있다.

Description

IP 패킷의 에러 처리 장치 및 방법, 그리고 상기 방법을 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체{IP packet error handling apparatus and method using the same, and computer readable medium on which program executing the method is recorded}
본 발명은 IP(Internet Protocol) 패킷의 에러를 검출하여 처리하는 기술에 관한 것으로서, 특히 IP 패킷의 필드 에러에 관한 정보를 기록하기 위한 ICMP 캐시를 생성하고 일정 조건하에서 IP 패킷 통신을 단절함으로써 네트워크 부하를 감소시킬 수 있는 IP 패킷의 에러 처리 기술에 관한 것이다.
ICMP(Internet Control Message Protocol)는 송신단과 수신단 사이에서 메시지를 제어하고 에러를 알려주는 프로토콜로서 RFC-792에 정의되어 있으며 IP와 더불어 OSI 7계층 중 네트워크 계층에서 동작한다. 따라서, 수신단에서 수신한 IP 패킷에 에러가 발생한 경우에 원래의 IP 패킷에 캡슐화된 형태의 ICMP 메시지를 송신단으로 재전송하여 송신단으로 하여금 발생된 에러에 따른 적절한 조치를 취하게 함으로써 IP 패킷의 신뢰성을 보장한다.
한편, 현재의 인터넷 증가 추세로 볼 때 다음 세대 초반이면 IPv4(Internet Protocol version 4)의 32비트 주소 체계로는 더 이상 새로운 인터넷 주소를 할당할 수 없고, 오디오 및 비디오와 같은 새로운 서비스 유형에 따른 패킷 전달의 차등화 요구가 생겨남으로써, 128비트 주소 체계를 사용하는 IPv6(Internet Protocol version 6)가 등장하게 되었다. 도 1의 (a)은 IPv6 패킷의 구성이고 도 1의 (b)는 IPv6 패킷 중 헤더의 구성이다. IPv6 패킷은 기본 헤더와 페이로드로 구분되며 페이로드는 또 확장 헤더와 TCP 또는 UDP 패킷과 같은 상위 계층의 데이터 패킷으로 구성된다. 패킷 헤더는 총 40바이트로 구성되는데 그 중 32바이트는 IPv6의 주소에 할당되고 나머지 8바이트는 6개의 필드에 할당된다. 특히, 넥스트 헤더(Next Header) 필드는 기본 헤더의 바로 다음의 데이터 필드에 올 정보의 종류를 식별한다. 또한, 확장 헤더는 확정 헤더의 바로 다음의 데이터 필드에 올 정보의 종류를 식별하는 넥스트 헤더 필드와 확장 헤더의 유형을 식별하는 옵션(option) 필드를 포함한다.
ICMPv6(Internet Control Message Protocol version 6)는 IPv6를 구현하는 노드 사이에서 에러 메시지(error message)와 정보 메시지(information message)를 전달하기 위한 다목적 프로토콜로서, 네트워크 계층에 산재해 있던 ICMP(Internet Control Message Protocol version 4), IGMP(Internet Group Membership Protocol), ARP(Address Resolution Protocol) 및 RARP(Reverse ARP) 등을 통합하고 ICMP에서 거의 사용되지 않던 메시지 유형을 제거하여 단순화하였다.
ICMPv6 메시지는 IPv6 패킷에 붙어서 전송되며, ICMP 메시지는 IPv6 헤더의 넥스트 헤더 필드에서 58의 값으로 식별된다. 이하에서는 특별한 언급이 없는한 IPv6 및 ICMPv6를 IP 및 ICMP로 칭하기로 한다.
도 2의 (a)는 일반적인 ICMP 메시지 패킷의 포맷이다. 8비트 크기의 타입(Type) 필드는 메시지의 유형을 나타낸다. 타입 필드의 최상위 비트가 0이면, 즉 타입 필드의 값이 0~127의 값이면 에러 메시지이고, 최상위 비트가 1이면 정보 메시지이다. 예컨대, 타입 필드 값 4는 IP 패킷의 기본 헤더 또는 확장 헤더의 필드에서 문제를 발견한 경우에 발생되는 파라미터 오류(Parameter Problem) 메시지를 나타내며, 타입 필드 값 128 및 129는 목적지 노드에 도달 가능한지를 판단하기 위한 핑(ping)을 구현하는 데 이용되는 에코 요청(Echo Request) 메시지 및 에코 응답(Echo Reply) 메시지를 각각 나타낸다.
8 비트 크기의 코드(Code) 필드는 타입 필드에서 결정된 ICMP 메시지에 대한 세부적인 사항을 나타낸다. 예컨대, 파라미터 오류 메시지의 경우 코드 필드의 값에 따라 헤더 필드 오류(코드 필드 값=0), 넥스트 헤더 인식 불가(코드 필드 값=1) 및 IPv6 옵션 인식 불가(코드 필드 값=2) 등으로 세분된다.
16 비트 크기의 Checksum 필드는 ICMP 메시지의 에러와 부분적으로 IPv6 메시지의 에러를 검출하는 데 이용된다.
본문(Message Body)은 Type 필드에서 결정되는 메시지 유형에 따라 달라지는데, 파라미터 오류 메시지의 경우 도 2의 (b)에 도시된 바와 같이 본문이 형성된다. 포인터 필드는 원래 메시지 내에서 에러가 검출된 위치를 식별한다. 또한, 포인터 필드에 이어서 ICMP 메시지의 생성을 유발한 IPv6 패킷을 위치시킴으로서, 송신단으로 하여금 오류가 발생한 IPv6 패킷에 대해 적절한 조치를 취할 수 있도록 한다.
도 3에는 수신단에서 IP 패킷을 수신하여 헤더의 각 필드에서 에러를 검출하여 ICMP 메시지를 송신단으로 전송하는 종래의 IP 패킷 헤더의 필드 에러 처리 방법의 흐름도가 도시되어 있다. 수신단에서 IP 패킷을 수신하면(S402), IP 패킷의 기본 헤더의 버전(Version) 필드를 검색하여 IP 패킷의 버전이 6인지를 판별하여 6이 아니라면 에러 처리 함수를 호출하여 ICMP 메시지 패킷을 작성하고(S410), 작성된 ICMP 메시지 패킷을 송신단으로 전송한다(S412). 동일한 방식으로 IP 패킷의 기본 헤더의 각 필드의 값이 인식 가능한 값인지를 판별하여(S406, S408) 인식 가능한 값이 아닌 경우에 각각 에러 처리 함수를 호출하여 ICMP 메시지를 작성하고(S414, S418), 작성된 ICMP 메시지 패킷을 송신단으로 전송한다(S416, S420). 이 때, 확장 헤더가 있는 경우에는 확장 헤더의 넥스트 헤더 필드 및 옵션 필드 등에 대해서도 에러 검출을 수행하여, 위와 같은 방법으로 ICMP 메시지 패킷을 송신단으로 전송한다. 그 밖에도, 목적지 도달 불가 에러(Unreachable Destination), 패킷 크기 초과 에러(Packet Too Big) 및 시간 초과 에러(Time Exceeded) 등의 에러가 검출될 때마다 관련 ICMP 메시지 패킷을 송신단으로 전송할 수도 있다.
이와 같이, 종래에는 수신한 IP 패킷에 오류가 발생할 때마다 관련 ICMP메시지 패킷을 송신단으로 재전송하기 때문에, 네트워크 내부에 악의적인 이용자가 끼어들어 IP 패킷을 조작하거나 서비스 거부(Denial of Service; DoS) 공격을 해 올 경우나 2개 이상의 노드가 공유하고 있는 경로 자체에 심각한 문제가 있는 경우 이를 회피하기가 쉽지 않다는 문제점이 있다.
즉, ICMP 메시지 패킷은 원래의 IP 패킷에 ICMP 메시지가 부가된 형태의 IP 패킷이기 때문에 일반적인 IP 패킷보다 용량이 상당히 크다. 따라서, 의도적으로 조작된 패킷에 대해 그 때마다 ICMP 메시지 패킷을 송신단으로 재전송하게 되면 네트워크에 심각한 부하를 발생시키게 되어 정상적인 통신을 불가능하게 만들 수도 있다.
따라서, 본 발명의 목적은 소정 시간 내에 검출된 IP 패킷의 에러가 연속해서 소정 횟수를 초과하여 발생하는 경우에는 송신 노드로 ICMP 패킷을 전송하지 않음으로써 수신 노드의 네트워크 부하를 줄이는 것이다.
또한, 본 발명의 다른 목적은 동일한 소스 어드레스를 갖는 IP 패킷들에 대해 소정 시간 내에 검출된 에러가 연속해서 소정 횟수를 초과하여 발생하는 경우에는 문제가 된 IP 패킷의 송신 노드로 ICMP 패킷을 전송하지 않음으로써 수신 노드의 네트워크 부하를 줄이고 통신 효율을 높이는 것이다.
상기와 같은 목적을 달성하기 위해, 본 발명은 적어도 하나의 송신 노드로부터 수신된 IP 패킷들의 에러를 처리하는 장치에 있어서, 상기 수신된 IP 패킷들에서 에러를 검출하기 위한 에러 검출부와, 에러가 검출된 IP 패킷들에 대해, 이전 에러가 검출된 때로부터 제 1 소정 시간 이내에 다음 에러가 검출되는 상황이 소정 횟수를 초과하여 발생한 경우에는 에러가 검출된 상기 IP 패킷들의 송신 노드와 제 2 소정 시간 동안 통신을 단절하는 에러 처리부를 포함하는 IP 패킷 에러 처리 장치를 제공한다.
이 때, 상기 에러 처리부는 에러가 검출된 상기 IP 패킷들 중 동일한 어드레스 정보를 갖는 IP 패킷들에 대해 상기 에러 처리를 수행하는 것이 바람직하다.
또한, 상기와 같은 목적을 달성하기 위해 본 발명은, 적어도 하나의 송신 노드로부터 수신된 IP 패킷들의 에러를 처리하는 장치에 있어서, 상기 수신된 IP 패킷들에서 에러를 검출하기 위한 에러 검출부와, 에러가 검출된 IP 패킷들에 대해, 제 1 소정 시간 동안 소정 횟수 이상의 에러가 검출된 경우에는 에러가 검출된 상기 IP 패킷들의 송신 노드와 제 2 소정 시간 동안 통신을 단절하는 에러 처리부를 포함하는 IP 패킷 에러 처리 장치를 제공한다.
또한, 상기와 같은 목적을 달성하기 위해 본 발명은, 적어도 하나의 송신 노드로부터 수신된 IP 패킷들의 에러를 처리하는 방법에 있어서, (a) 상기 수신된 IP 패킷들에서 에러를 검출하는 단계와, (b) 에러가 검출된 IP 패킷들에 대해, 이전 에러가 검출된 때로부터 제 1 소정 시간 이내에 다음 에러가 검출되는 상황이 소정 횟수를 초과하여 발생한 경우에는 에러가 검출된 상기 IP 패킷들의 송신 노드와 제 2 소정 시간 동안 통신을 단절하는 단계를 포함하는 IP 패킷 에러 처리 방법을 제공한다.
이 때, 상기 (b) 단계는 에러가 검출된 상기 IP 패킷들 중 동일한 어드레스 정보를 갖는 IP 패킷들에 대해 실행되는 것이 바람직하다.
또한, 상기 (a) 단계에서 에러를 검출하지 못한 경우에는, (c) 상기 수신된 IP 패킷들을 정상적으로 처리하는 단계를 더 포함할 수 있다.
또한, 상기 (b) 단계는 (b1) 상기 제 1 소정 시간을 설정하여 감산하기 위한 제 1 타이머 필드와, 상기 제 2 소정 시간을 설정하여 감산하기 위한 제 2 타이머 필드와, 상기 연속 에러 발생 상황을 카운트하기 위한 에러 카운트 필드와, 에러가 검출된 IP 패킷의 어드레스 정보를 나타내기 위한 어드레스 정보 필드를 포함하는 적어도 하나의 엔트리로 구성되며, 동일한 어드레스 정보를 갖는 IP 패킷들은 동일한 엔트리에 대응되는, 캐시를 생성하는 단계를 더 포함하되, 상기 (b) 단계는 에러가 검출된 상기 IP 패킷들 중 동일한 어드레스 정보를 갖는 IP 패킷들에 대해, 에러가 검출된 대상 IP 패킷에 대응하는 대응 엔트리를 참조하여, 실행되는 것을 특징으로 한다.
또한, 상기 (b) 단계는, (b2) 상기 대응 엔트리를 상기 캐시에서 검색하는 단계와, (b3) 상기 대응 엔트리의 각 필드들의 상태를 판별하는 단계와, (b4) 상기 (b3) 단계에서 상기 연속 에러 발생 상황이 상기 소정 횟수를 초과하였다고 판별한 경우에는 상기 대응 엔트리의 제 2 타이머 필드를 상기 제 2 소정 시간으로 설정하여 감산하는 단계와, (b5) 상기 (b3) 단계에서 상기 제 2 타이머 필드에 설정된 상기 제 2 소정 시간이 경과하지 않았다고 판별된 경우에는 상기 대상 IP 패킷의 송신 노드로 ICMP 패킷을 전송하지 않는 단계를 더 포함하는 것이 바람직하다.
또한, (b6) 상기 (b2) 단계에서 검색이 실패한 경우에는 상기 대상 IP 패킷에 대응하는 새로운 엔트리를 생성하는 단계를 더 포함할 수도 있다.
또한, (b6) 상기 (b3) 단계에서 상기 대응 엔트리의 제 1 타이머 필드가 0이라고 판별된 경우에는 상기 대응 엔트리를 삭제하는 단계를 더 포함할 수도 있다.
또한, (b6) 상기 (b3) 단계에서 상기 대응 엔트리의 제 1 타이머 필드가 0이라고 판별된 경우에는 상기 제 1 타이머 필드를 상기 제 1 소정 시간으로 설정하여 감산하는 단계를 더 포함할 수도 있다.
또한, 상기 (b3) 단계는 상기 대응 엔트리의 제 2 타이머 필드, 제 1 타이머 필드 및 에러 카운트 필드의 상태를 순차적으로 판별하는 것이 특징이며, 이 때 (b6) 상기 (b3) 단계에서 상기 대응 엔트리의 상기 제 2 타이머 필드가 0이고, 상기 제 1 타이머 필드가 0이 아니며, 상기 에러 카운트 필드가 상기 소정 횟수에 도달하지 않았다고 판별된 경우에는, 상기 대응 엔트리의 상기 에러 카운트 필드를 1 증가시키고 상기 제 1 타이머 필드를 상기 제 1 소정 시간으로 설정하여 감산하는 단계를 더 포함하는 것이 바람직하다.
또한, 상기 엔트리는 엔트리의 사용 여부를 나타내기 위한 유효 비트 필드를 더 포함할 수도 있고, 상기 엔트리는 에러가 검출된 IP 패킷의 송신 노드로 ICMP 패킷을 전송하기 위해 ICMP 프로토콜에 정의된 ICMP 타입과 ICMP 코드를 각각 나타내기 위한 ICMP 타입 필드와 ICMP 코드 필드를 더 포함할 수도 있으며, 상기 어드레스 정보 필드는 에러가 검출된 IP 패킷의 소스 어드레스 정보와 목적지 어드레스 정보를 각각 나타내기 위한 소스 어드레스 필드와 목적지 어드레스 필드로 구성되는 것이 특징이다.
또한, 상기 (b) 단계는, 상기 이전 에러가 검출되고 상기 대응 엔트리의 제 1 타이머 필드가 0이 되지 않은 상태에서 상기 다음 에러가 검출될 때마다 상기 대응 엔트리의 에러 카운트 필드를 1만큼 증가시킴과 동시에 상기 제 1 타이머 필드를 상기 제 1 소정 시간으로 설정하여 감산하고, 상기 에러 카운트 필드가 상기 소정 횟수를 초과하는 경우에는 상기 대응 엔트리의 제 2 타이머 필드를 상기 제 2 소정 시간으로 설정하여 감산하고, 상기 제 2 타이머 필드가 0이 아닌 동안에 수신된 상기 대상 IP 패킷에서 에러가 검출된 경우에는 그 에러에 대한 ICMP 패킷을 상기 대상 IP 패킷의 송신 노드로 전송하지 않는 것을 특징으로 한다.
또한, 상기와 같은 목적을 달성하기 위해 본 발명은, 적어도 하나의 송신 노드로부터 수신된 IP 패킷들의 에러를 처리하는 방법에 있어서, (a) 상기 수신된 IP 패킷들에서 에러를 검출하는 단계와, (b) 에러가 검출된 IP 패킷들에 대해, 제 1 소정 시간 동안 소정 횟수 이상의 에러가 검출된 경우에는 에러가 검출된 상기 IP 패킷들의 송신 노드와 제 2 소정 시간 동안 통신을 단절하는 단계를 포함하는 IP 패킷 에러 처리 방법을 제공한다.
또한, 상기와 같은 목적을 달성하기 위해 본 발명은, 적어도 하나의 송신 노드로부터 수신된 IP 패킷들의 에러를 처리하는 방법을 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 상기 방법은, (a) 상기 수신된 IP 패킷들에서 에러를 검출하는 단계와, (b) 에러가 검출된 IP 패킷들에 대해, 이전 에러가 검출된 때로부터 제 1 소정 시간 이내에 다음 에러가 검출되는 상황이 소정 횟수를 초과하여 발생한 경우에는 에러가 검출된 상기 IP 패킷들의 송신 노드와 제 2 소정 시간 동안 통신을 단절하는 단계를 포함하는 것을 특징으로 하는 기록 매체를 제공한다.
또한, 상기와 같은 목적을 달성하기 위해 본 발명은, 적어도 하나의 송신 노드로부터 수신된 IP 패킷들의 에러를 처리하는 방법을 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 상기 방법은, (a) 상기 수신된 IP 패킷들에서 에러를 검출하는 단계와, (b) 에러가 검출된 IP 패킷들에 대해, 제 1 소정 시간 동안 소정 횟수 이상의 에러가 검출된 경우에는 에러가 검출된 상기 IP 패킷들의 송신 노드와 제 2 소정 시간 동안 통신을 단절하는 단계를 포함하는 것을 특징으로 하는 기록 매체를 제공한다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 4에는 본 발명의 바람직한 실시예에 따른 에러 처리 장치가 도시되어 있다. 본 실시예에 따른 에러 처리 장치(40)는 에러 검출부(42), 캐시부(44) 및 에러 처리부(46)를 포함한다. 또한, 에러 처리 장치(40)는 수신 노드(30)의 내부에 원-칩(one-chip) 형태로 구현될 수 있으며, 수신 노드(30)에는 통신 경로를 설정하는 라우터(router)가 포함된다.
에러 검출부(42)는 적어도 하나의 송신 노드(20)로부터 수신된 복수의 IP 패킷의 에러를 검출하여 해당 IP 패킷과 함께 그 결과를 에러 처리부(46)로 전달한다. 에러 검출은 목적지 도달 불가 에러(Unreachable Destination), 패킷 크기 초과 에러(Packet Too Big) 및 시간 초과 에러(Time Exceeded) 등의 에러와 함께 IP 패킷의 헤더의 각 필드의 에러 검출을 포함한다. 또한, IP 패킷의 헤더의 각 필드의 에러는 IP 패킷의 버전 에러, 페이로드 길이 에러 및 넥스트 헤더 인식 불가 에러 등을 포함한다.
캐시부(44)는 에러가 검출된 IP 패킷의 에러 관련 정보를 나타내는 복수의 필드를 포함하는 하나 이상의 엔트리로 구성되며, 에러 처리부(46)가 에러 처리를 수행하는 데 필요한 정보를 제공한다.
엔트리의 구성예가 도 5에 도시되어 있다. 엔트리는 엔트리의 사용 여부를 과 1로 나타내기 위한 유효 비트 필드(Valid)와, 에러 검출 횟수를 카운트하기 위한 에러 카운트 필드(Err_cnt)와, 최대 에러 검출 대기 시간을 설정하여 단위 시간씩 감산하기 위한 제 1 타이머 필드와, 최대 통신 단절 시간을 설정하여 단위 시간씩 감산하기 위한 제 2 타이머 필드와, 에러가 검출된 IP 패킷의 어드레스 정보를 나타내는 어드레스 정보 필드(Source Address: SA, Destination Address: DA)를 포함한다.
이 때, 도 5에 따르면 엔트리는 어드레스 정보 필드가 소스 어드레스 정보 필드(SA)와 목적지 어드레스 정보 필드(DA)를 포함하지만, 수신 노드(30)가 단일한 글로벌 어드레스만을 갖는 경우에는 엔트리에서 목적지 어드레스 필드(DA)를 생략할 수도 있다. 또한, 유효 비트 필드(Valid)는 후술할 엔트리 검색 과정에서 사용중인 엔트리에 대해서만 검색을 수행하기 위해 참조하는 필드로서 시스템의 성능에 따라서는 유효 비트 필드(Valid)도 엔트리에서 생략될 수 있다. 반면, 도 5에는 도시되지 않았지만, 에러 처리 과정에서 에러가 검출된 IP 패킷에 대해 ICMP 패킷을 생성하여 송신 노드(20)로 전송할 때 참조하기 위해 ICMP 프로토콜에 정의된 ICMP 에러 타입과 ICMP 에러 코드를 나타내는 ICMP 에러 타입 필드와 ICMP 에러 코드 필드를 엔트리에 추가할 수도 있다.
에러 처리부(46)는 에러 검출부(42)로부터의 에러 검출 결과에 따라 캐시부(44)를 참조하여 해당 엔트리를 삭제하거나 갱신하고, 해당 IP 패킷을 폐기하거나, 해당 IP 패킷을 정상적으로 처리하거나, ICMP 패킷을 생성하여 송신 노드(20)로 전송한다. 보다 구체적으로, 에러 처리부(46)는 에러가 검출된 IP 패킷들 중에서 동일한 어드레스 정보를 갖는 대상 IP 패킷들에 대해, 이전 에러가 검출된 때로부터 최대 에러 검출 대기 시간 내에 다음 에러가 검출되는 상황이 최대 에러 허용 횟수를 초과하여 연속 발생하는 경우에는 상기 대상 IP 패킷들의 송신 노드와 최대 통신 단절 시간 동안 통신을 단절함으로써 에러 처리를 수행한다. 이 때, 어드레스 정보가 동일하다는 것은 IP 패킷들의 헤더에 포함된 소스 어드레스 정보 및 목적지 어드레스 정보가 서로 동일하다는 것을 내포한다.
도 6은 에러 처리부(46)의 에러 처리 동작을 설명하기 위한 시간 흐름도이다. 이 때, 최대 에러 허용 횟수(Ecm)는 5라고 가정한다. 최초에 시각 T1에서 에러가 검출된 경우에 에러 처리부(16)는 에러 카운트 필드(Err_cnt)를 1로 설정하고 제 1 타이머 필드(Timer A)를 최대 에러 검출 대기 시간(Ta)으로 설정하여 단위 시간씩 감산한다. T1 지점으로부터 최대 에러 검출 대기 시간(Ta) 내의 시각 T2에서 두 번째 에러가 검출된 경우에 에러 처리부(46)는 에러 카운트 필드(Err_cnt)를 1 증가하고 제 1 타이머 필드(Timer A)를 최대 에러 검출 대기 시간(Ta)으로 재설정하여 단위 시간씩 감산한다. 시각 T5 지점으로부터 최대 에러 검출 대기 시간(Ta) 내에 최대 에러 허용 횟수(Ecm=5)를 초과하는 여섯 번째 에러가 시각 T6 지점에서 발생했으므로 에러 처리부(46)는 이제 최대 통신 단절 시간(Tb) 동안 송신 노드와의 통신을 단절한다.
한편, 에러 처리부(46)는 통신 단절 이전에 발생된 에러에 대해서는 에러가 검출될 때마다 대응하는 ICMP 패킷을 송신 노드(20)로 전송함으로써 송신 노드(20)로 하여금 에러에 대한 적절한 조치를 취할 수 있도록 한다. 예컨대, 수신 노드(30)로부터 소정 시간 내에 소정 횟수 이상의 ICMP 패킷을 수신한 경우에 IP패킷에 대한 악의적 공격이 있다고 간주하여 다른 라우터 경로를 찾는 등의 적절한 조치를 취할 수 있다.
또한, 통신 단절은 송신 노드로부터의 IP 패킷은 수신하되 통신 단절 시간 동안은 IP 패킷에 에러가 검출되어도 그에 상응하는 ICMP 패킷을 송신 노드(20)로 전송하지 않고 해당 IP 패킷을 폐기하는 것을 포함하며, 이로써 비정상적인 IP 패킷의 에러 발생에 대한 ICMP 패킷 전송의 남용을 방지하여 수신 노드의 네트워크 부하를 줄일 수 있다.
도 7에는 도 4의 에러 처리부(46)의 세부적인 구성을 포함하는 에러 처리 장치(40)가 도시되어 있다. 에러 처리부(46)는 엔트리 검색부(462), 엔트리 처리부(464), 필드 판별부(466) 및 패킷 처리부(468)를 포함한다. 이 때, 에러 검출부(42)는 에러 검출에 성공한 경우에는 에러 검출 신호와 함께 에러가 검출된 IP 패킷의 어드레스 정보를 엔트리 검색부(162)로 전달하고, 해당 IP 패킷을 패킷 처리부(468)로 전달한다. 또한, 에러 검출부(42)가 에러를 검출하지 못한 경우에는 에러 검출 실패 신호와 함께 해당 IP 패킷을 패킷 처리부(468)로 전달한다.
엔트리 검색부(462)는 에러 검출부(12)로부터 에러 검출 신호와 함께 에러가 검출된 IP 패킷의 어드레스 정보를 수신하여 해당 IP 패킷과 동일한 어드레스 정보를 나타내는 어드레스 정보 필드를 포함하는 엔트리를 캐시부(44)에서 검색하여 검색에 성공한 경우에는 해당 엔트리를 필드 검색부(466)로 전달하고, 검색에 실패한 경우에는 엔트리 생성 요구 신호를 엔트리 처리부(464)로 전달한다.
엔트리 처리부(464)는 엔트리 검색부(462)로부터 전달받은 엔트리 생성 요구 신호에 따라 새로운 엔트리를 생성하여 캐시부(44)에 저장하고, 필드 판별부(466)의 검색 결과에 따라 해당 엔트리를 삭제하거나 갱신하고, 패킷 처리부(468)로 ICMP 패킷 전송 요구 신호를 전달한다.
필드 판별부(466)는 엔트리 검색부(462)로부터 전달받은 해당 엔트리의 각 필드가 소정 조건을 만족하는지를 판별하여 판별 결과에 따라 패킷 처리부(168)로 패킷 폐기 요구 신호를 전달하거나 엔트리 처리부(164)로 엔트리 처리 요구 신호를 전달한다.
패킷 처리부(468)는 엔트리 처리부(464)로부터 전달받은 ICMP 패킷 전송 요구 신호에 따라 해당 에러에 대한 ICMP 패킷을 생성하여 송신 노드(20)로 전송하며, 필드 판별부(466)로부터 전달받은 패킷 폐기 요구 신호에 따라 해당 IP 패킷을 폐기하고 별도의 ICMP 패킷은 생성하지 않는다. 이 때, 패킷 처리부(468)는 에러 검출부(42)로부터 수신한 해당 IP 패킷을 참조하여 ICMP 패킷을 생성할 수 있다. 또한, 패킷 처리부(468)는 에러 검출부(42)로부터 수신한 정상 처리 요구 신호를 바탕으로 해당 IP 패킷에 대한 정상적인 처리를 수행한다. 이 때, IP 패킷에 대한 정상적인 처리는 해당 IP 패킷의 상위 계층 데이터(예컨대, TCP 데이터)를 상위 계층(예컨대, OSI 7계층 중의 TCP 계층)으로 전달하는 것을 포함한다.
이하에서는, 도 7의 에러 처리 장치(40)의 동작을 설명한다.
수신 노드(30)가 송신 노드(20)로부터 IP 패킷을 수신하면, 에러 검출부(42)는 수신된 IP 패킷에서 에러를 검출하고 에러가 검출되지 않으면 해당 IP 패킷을 패킷 처리부(468)로 전달하고 패킷 처리부(468)는 해당 IP 패킷을 정상적으로 처리하고 다음 패킷을 기다린다.
에러 검출부(42)가 수신된 IP 패킷에서 에러를 검출한 경우에는 해당 IP 패킷의 어드레스 정보를 에러 처리부(46)로 전달하고, 에러 처리부(46)의 엔트리 검색부(462)는 해당 IP 패킷과 동일한 어드레스 정보를 갖는 대상 엔트리를 캐시부(44)에서 검색하여 대상 엔트리를 필드 판별부(466)로 전달하고, 검색에 실패한 경우에는 해당 IP 패킷의 어드레스 정보와 함께 엔트리 생성 요구 신호를 엔트리 처리부(464)로 전달한다. 엔트리 처리부(464)는 엔트리 생성 요구 신호에 따라 엔트리의 유효 비트 필드(Valid)를 1로 설정하고, 에러 카운트 필드(Err_cnt)를 1로 설정하며, 제 1 타이머 필드(Timer A)를 최대 에러 검출 대기 시간(Ta)으로 설정하여 단위 시간씩 감산하며, 제 2 타이머 필드(Timer B)를 0으로 설정하고, 소스 어드레스 필드(SA) 및 목적지 어드레스 필드(DA)를 해당 IP 패킷의 어드레스 정보로 각각 설정한다.
필드 판별부(466)는 해당 엔트리의 제 2 타이머 필드(Timer B)가 0인지를 판별하여, 0이 아닌 경우 즉, 최대 통신 단절 시간이 아직 경과하지 않아 통신이 부적절한 경우에는 패킷 처리부(468)가 해당 IP 패킷을 폐기하고 다음 IP 패킷의 수신을 기다린다. 이 때, 패킷 처리부(468)는 해당 IP 패킷의 송신 노드로 ICMP 패킷을 전송하지 않는다. 반면, 제 2 타이머 필드(Timer B)가 0인 경우에는 제 1 타이머 필드(Timer A)가 0인지를 판별하여, 0인 경우에는 즉, 이전 에러가 검출되고 최대 에러 검출 대기 시간이 이미 경과한 경우에는 대상 엔트리를 삭제하고 패킷 처리부(468)는 해당 에러에 대한 ICMP 패킷을 생성하여 송신 노드(20)로 전송한다. 제 1 타이머 필드(Timer A)가 0이 아닌 경우에는 에러 카운트 필드(Err_cnt)가 최대 에러 허용 횟수와 동일한지를 판단하여, 동일한 경우, 즉 이미 허용할 수 있는 연속 에러 검출 횟수가 초과했다고 판단된 경우에는 대상 엔트리의 제 2 타이머 필드(Timer B)를 최대 통신 단절 시간(Tb)으로 설정하여 단위 시간씩 감산하고 에러 카운트 필드(Err_cnt)를 0으로 설정하며 제 1 타이머 필드(Timer A)를 0이 아닌 임의의 값 예컨대 최대 에러 검출 대기 시간(Ta)으로 설정한다. 한편, 에러 카운트 필드(Err_cnt)가 아직 최대 에러 허용 횟수에 도달하지 않은 경우에는, 대상 엔트리의 에러 카운트 필드(Err_cnt)를 1 증가시키고, 제 1 타이머 필드(Timer A)를 최대 에러 검출 대기 시간(Ta)로 설정하여 단위 시간씩 감산한다.
이와 같이, 에러 처리 장치(40)는 이전 에러가 검출된 때로부터 최대 에러 검출 대기 시간(Ta)내에 검출되는 에러가 연속해서 최대 에러 허용 횟수(Ecm)를 초과하여 검출되는 경우에는, 최대 통신 단절 시간(Tb) 동안에 에러가 검출된 IP 패킷을 폐기하고 ICMP 패킷을 생성하지 않음으로써 송신 노드와의 통신을 단절한다. 또한, 최대 에러 검출 대기 시간(Ta) 이내에 어떠한 에러도 검출되지 않은 경우에는 해당 IP 패킷에 비정상적인 에러 발생 가능성이 없다고 간주하여 해당 엔트리를 삭제한다.
한편, 이상에서는 최대 에러 검출 대기 시간(Ta) 내에 에러가 검출되지 않은 경우에 대상 엔트리를 삭제하였지만, 캐시의 저장 능력과 통신 환경을 고려하여 대상 엔트리를 삭제하는 대신 대상 엔트리의 제 1 타이머 필드(Timer A)를 최대 에러 검출 대기 시간(Ta)으로 재설정하여 감산하고, 에러 카운트 필드(Err_cnt)를 0으로 설정함으로써, 이후에 대상 엔트리와 동일한 어드레스 정보를 갖는 IP 패킷에 에러가 검출된 경우에 새로운 엔트리를 생성할 필요없이 기존의 엔트리를 그대로 활용할 수 있다.
또한, 본 실시예에서는 문제가 된 송신 노드에 대해서만 통신을 단절하도록 캐시부를 참조하여 에러 처리를 수행하였지만, 네트워크 전반에 걸친 무차별적인 패킷 조작이나 DoS 공격이 있을 경우를 고려하여 복수의 IP 패킷에 대해 이전 에러가 검출된 때로부터 제 1 소정 시간 내에 다음 에러가 검출되는 상황이 소정 횟수를 초과하여 연속 발생한 경우에는 수신 노드와 접속 중인 모든 송신 노드에 대해서 제 2 소정 시간 동안 통신을 단절하도록 에러 처리부를 구성할 수도 있으며, 이 경우에는 별도의 캐시부를 따로 마련할 필요가 없을 것이다.
이하에서는 도 8을 참조하여 본 발명의 바람직한 실시예에 따른 에러 처리 방법을 설명한다.
단계(S801)에서는 송신 노드(20)로부터 IP 패킷을 수신한다. 단계(S803)에서는 수신된 IP 패킷에서 에러가 검출되는지를 판별하여, 에러가 검출되지 않은 경우에는 단계(S805)로 진행하여 해당 IP 패킷을 정상적으로 처리하고 에러 처리 과정을 마친다.
단계(S803)에서 에러가 검출된 경우에는 단계(S807)로 진행하여 동일한 어드레스 정보를 갖는 복수의 대상 IP 패킷에 대해, 이전 에러가 검출된 때로부터 최대 에러 검출 대기 시간 내에 다음 에러가 검출되는 상황이 최대 에러 허용 횟수를 초과하여 연속적으로 발생되었는지를 판별하여, 최대 에러 허용 횟수를 초과한 경우에는 단계(S809)로 진행하여 최대 통신 단절 시간 동안 상기 대상 IP 패킷의 송신 노드와의 통신을 단절한다. 이 때에도, 역시 대상 IP 패킷의 송신 노드와의 통신 단절은 해당 송신 노드로부터 IP 패킷은 수신하되 통신 단절 시간 동안에는 ICMP 패킷을 해당 송신 노드로 전송하지 않고 해당 IP 패킷을 폐기하는 것을 포함한다. 한편, 단계(S807)에서 최대 에러 허용 횟수를 초과하지 않았다고 판별된 경우에는 단계(S811)로 진행하여 해당 에러에 대한 ICMP 패킷을 생성하여 송신 노드로 전송한다.
도 9에는 도 8의 에러 처리 방법의 구체적인 흐름도가 도시되어 있다. 한편, 에러가 검출된 IP 패킷들 중에서 동일한 어드레스 정보를 갖는 IP 패킷들에 대해 도 8의 에러 처리 방법을 수행하기 위해서 본 발명의 바람직한 실시예에 따른 에러 처리 방법은 통신 개시시 또는 최초 에러 검출시에 캐시를 생성하는 단계를 포함할 수 있다. 캐시는 도 5에 도시된 것과 같은 적어도 하나의 엔트리로 구성되며, 각 엔트리는 어드레스 정보 필드의 어드레스 정보에 의해 서로 식별된다.
단계(S901)에서 송신 노드로부터 IP 패킷을 수신하면, 단계(S903)에서는 수신한 IP 패킷에서 에러가 검출되는지를 판별하여 에러가 검출되지 않으면 단계(S905)에서 IP 패킷을 정상적으로 처리하고 다음 IP 패킷의 수신을 기다린다.
단계(S907)에서는 수신된 IP 패킷의 어드레스 정보와 동일한 정보를 포함하는 엔트리가 캐시에 존재하는지 검색한다. 단계(S907)에서 엔트리가 존재하지 않으면 단계(S909)로 진행하여 해당 IP 패킷에 대한 새로운 엔트리를 생성하고, 각 필드를 초기화한다. 초기화는 유효 비트 필드(Valid)를 1로 설정하고, 에러 카운트 필드(Err_cnt)를 1로 설정하며, 제 1 타이머 필드(Timer A)를 최대 에러 검출 대기 시간(Ta)으로 설정하여 단위 시간씩 감산하며, 제 2 타이머 필드(Timer B)를 0으로 설정하고, 소스 어드레스 필드(SA)와 목적지 어드레스 필드(DA)를 해당 IP 패킷의 소스 어드레스 정보와 목적지 어드레스 정보로 각각 설정함으로써 달성된다. 이어서, 단계(S925)에서는 ICMP 패킷을 작성하여 송신 노드로 전송하고 다음 IP 패킷의 수신을 기다린다.
단계(S907)에서 해당 엔트리가 존재하는 경우에는 단계(S911)로 진행하여 해당 엔트리의 제 2 타이머 필드(Timer B)가 0인지를 판별한다. 단계(S911)에서 제 2 타이머 필드가 0이 아닌 경우에는 아직 최대 통신 단절 시간(Tb)을 경과하지 않았으므로 단계(S913)에서 해당 IP 패킷을 폐기하고 다음 IP 패킷의 수신을 기다린다.
단계(S911)에서 제 2 타이머 필드(Timer B)가 0인 경우에는 단계(S915)로 진행하여 제 1 타이머 필드(Timer A)가 0인지를 판별한다. 단계(S915)에서 제 1 타이머 필드(Timer A)가 0이라면 단계(S917)로 진행하여 해당 엔트리를 삭제하고, 이어서 단계(S927)에서 ICMP 패킷을 송신 노드로 전송한다.
단계(S915)에서 제 1 타이머 필드(Timer A)가 0이 아니라면 단계(S919)로 진행하여 에러 카운트 필드(Err_cnt)가 최대 에러 허용 횟수(Ecm)에 도달했는지 판별한다. 단계(S919)에서 Err_cnt=Ecm인 경우에는 단계(S921)로 진행하여 해당 엔트리를 갱신하고 다음 IP 패킷의 수신을 기다린다. 이 때, 단계(S921)에서는 제 2 타이머 필드(Timer B)를 최대 통신 단절 시간(Tb)으로 설정하여 단위 시간씩 감산하고, 에러 카운트 필드(Err_cnt)를 0으로 설정하며, 제 1 타이머 필드(Timer A)를 0이 아닌 임의의 값 예컨대 최대 에러 검출 대기 시간(Ta)으로 설정한다.
단계(S919)에서 Err_cnt≠Ecm인 경우에는 단계(S923)로 진행하여 해당 엔트리를 갱신하고, 이어서 단계(S925)에서 ICMP 패킷을 송신 노드로 전송한다. 이 때, 단계(S923)에서는 에러 카운트 필드(Err_cnt)를 1만큼 증가시키고 제 1 타이머 필드(Timer A)를 최대 에러 검출 대기 시간(Ta)으로 재설정하여 단위 시간씩 감산한다.
도 10에는 본 실시예의 에러 처리 방법을 구현하는 과정을 보다 구체적으로 설명하기 위한 개념도가 도시되어 있다. 이 때, 최대 에러 허용 횟수(Ecm)는 5이고, 최대 에러 검출 대기 시간(Ta)는 10초이며, 최대 통신 단절 시간(Tb)는 30초로 가정한다. 또한, 설명의 편의를 위해 수신 노드에서 수신되는 IP 패킷은 모두 동일한 엔트리에 속하는 것으로 가정하였으며 따라서 도면에서는 소스 어드레스 필드와 목적지 어드레스 필드가 생략되었다. 그리고, 수신되는 모든 패킷에서는 에러가 검출된 것으로 가정한다.
최초의 에러 패킷 P1이 수신된 경우에는 패킷 P1이 속하는 엔트리가 없을 것이므로 단계(S1009)에서 새로운 엔트리(En)을 생성하고 유효 비트 필드(Valid), 에러 카운트 필드(Err_cnt), 제 1 타이머 필드(Timer A) 및 제 2 타이머 필드(Timer B)를 (1, 1, 10, 0)으로 설정한다.
에러 패킷 P1이 수신된 3초 후에 에러 패킷 P2가 수신되면 엔트리(En)는 (1, 1, 7, 0)의 상태이므로 단계(S1023)에서 엔트리(En)는 (1, 2, 10, 0)으로 갱신된다. 에러 패킷 P2가 수신된 5초 후에 에러 패킷 P3가 수신되면 엔트리(En)는 (1, 2, 5, 0)의 상태이므로 단계(S1023)에서 엔트리(En)는 (1, 3, 10, 0)으로 갱신된다. 에러 패킷 P4 및 P5에 대해서도 이전 에러가 발생한 시점으로부터 최대 에러 검출 대기 시간인 10초 이내에 에러가 검출되었으므로 단계(S1023)에서 에러 카운트 필드(Err_cnt)를 1씩 증가한다.
에러 패킷 P6가 P5의 에러 검출 시점으로부터 6초후에 수신되면 엔트리(En)는 (1, 5, 4, 0)의 상태가 되므로, 단계(S1019)에서 에러 카운트 필드(Err_cnt)의 값이 5가 되어 최대 에러 허용 횟수와 일치하게 되어 단계(S1021)에서 엔트리(En)가 (1, 0, 10, 30)으로 설정된다. 따라서, 에러 패킷 P7은 에러 패킷 P6가 수신된 이후 최대 통신 단절 시간인 30초 이내에 수신되었기 때문에 단계(S1013)에서 에러 패킷 P7은 폐기된다.
에러 패킷 P8은 최대 통신 단절 시간인 30초 이후에 수신되었기 때문에 단계(S1023)에서 엔트리(En)는 (1, 1, 10, 0)으로 설정된다. 또한, 에러 패킷 P9는 에러 패킷 P8이 수신된 후 15초 후에 수신되었으므로, 최대 에러 검출 대기 시간인 10초를 초과하였다. 따라서, 에러 패킷 P9의 수신시에 엔트리(En)는 (1, 1, 0, 0)의 상태가 되므로 엔트리(En)는 단계(S1017)에서 삭제된다.
이상에서는 본 발명의 바람직한 실시예에 따른 방법이 에러 처리 장치(40)를 이용하여 구현되는 것으로 설명하였지만, 상기 방법은 컴퓨터에게 일련의 명령을 지시하는 코드들의 집합으로 이루어진 컴퓨터 프로그램에 의해 수신 노드 내에서 소프트웨어적으로 실행될 수도 있다. 따라서, 본 발명의 범위에는 본 발명의 방법을 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 포함된다.
또한, 본 발명의 기술 사상의 범위 내에서 본 발명의 바람직한 실시예에 대한 다양한 변형예가 도출될 수 있음을 이해하여야 한다. 예컨대, 본 발명의 바람직한 실시예에서는 이전 에러가 검출된 때로부터 제 1 소정 시간 내에 에러가 검출되는 상황이 연속해서 소정 횟수 이상 발생한 경우에 제 2 소정 시간 동안 송신 노드와의 통신을 단절하였지만, 경우에 따라서는 제 1 소정 시간 동안 소정 횟수 이상의 에러가 검출된 경우에 제 2 소정 시간 동안 송신 노드와의 통신을 단절할 수도 있다. 따라서, 본 명세서에 첨부되는 청구범위의 권리 범위는 이상에서 설명한 본 발명의 바람직한 실시예에 의해 제한받지 않는다.
본 발명에 따르면, 소정 시간 내에 검출된 IP 패킷의 에러가 연속해서 소정 횟수를 초과하여 발생하는 경우에는 송신 노드로 ICMP 패킷을 전송하지 않음으로써 수신 노드의 네트워크 부하를 줄일 수 있는 효과가 있다.
또한, 본 발명에 따르면 동일한 소스 어드레스를 갖는 IP 패킷들에 대해 소정 시간 내에 검출된 에러가 연속해서 소정 횟수를 초과하여 발생하는 경우에는 문제가 된 IP 패킷의 송신 노드로 ICMP 패킷을 전송하지 않음으로써 수신 노드의 네트워크 부하를 줄이고 통신 효율을 높일 수 있는 효과가 있다.
도 1은 IPv6 패킷의 구성을 도시한 도면이다.
도 2는 ICMPv6 메시지 패킷의 구성을 도시한 도면이다.
도 3은 종래의 IP 패킷의 에러 처리 방법의 흐름도이다.
도 4는 본 발명의 실시예에 따른 IP 패킷의 에러 처리 장치의 블록도이다.
도 5는 본 발명의 실시예에 따른 캐시부를 구성하는 엔트리의 구성예이다.
도 6은 본 발명의 실시예에 따른 에러 처리 과정을 설명하는 시간 흐름도이다.
도 7은 도 4의 에러 처리 장치의 내부 구성을 도시한 블록도이다.
도 8은 본 발명의 실시예에 따른 에러 처리 방법의 흐름도이다.
도 9는 도 4의 에러 처리 장치를 이용한 에러 처리 방법의 흐름도이다.
도 10은 본 발명의 바람직한 실시예에 따른 에러 처리 방법의 구체적인 과정을 설명하기 위한 시간 흐름도이다.

Claims (20)

  1. 적어도 하나의 송신 노드로부터 수신된 IP 패킷들의 에러를 처리하는 장치에 있어서,
    상기 수신된 IP 패킷들에서 에러를 검출하기 위한 에러 검출부와,
    에러가 검출된 IP 패킷들에 대해, 이전 에러가 검출된 때로부터 제 1 소정 시간 이내에 다음 에러가 검출되는 상황이 소정 횟수를 초과하여 발생한 경우에는 에러가 검출된 상기 IP 패킷들의 송신 노드와 제 2 소정 시간 동안 통신을 단절하는 에러 처리부를 포함하는 IP 패킷 에러 처리 장치.
  2. 제 1 항에 있어서, 상기 에러 처리부는 에러가 검출된 상기 IP 패킷들 중 동일한 어드레스 정보를 갖는 IP 패킷들에 대해 상기 에러 처리를 수행하는 것을 특징으로 하는 IP 패킷 에러 처리 장치.
  3. 적어도 하나의 송신 노드로부터 수신된 IP 패킷들의 에러를 처리하는 장치에 있어서,
    상기 수신된 IP 패킷들에서 에러를 검출하기 위한 에러 검출부와,
    에러가 검출된 IP 패킷들에 대해, 제 1 소정 시간 동안 소정 횟수 이상의 에러가 검출된 경우에는 에러가 검출된 상기 IP 패킷들의 송신 노드와 제 2 소정 시간 동안 통신을 단절하는 에러 처리부를 포함하는 IP 패킷 에러 처리 장치.
  4. 적어도 하나의 송신 노드로부터 수신된 IP 패킷들의 에러를 처리하는 방법에 있어서,
    (a) 상기 수신된 IP 패킷들에서 에러를 검출하는 단계와,
    (b) 에러가 검출된 IP 패킷들에 대해, 이전 에러가 검출된 때로부터 제 1 소정 시간 이내에 다음 에러가 검출되는 상황이 소정 횟수를 초과하여 발생한 경우에는 에러가 검출된 상기 IP 패킷들의 송신 노드와 제 2 소정 시간 동안 통신을 단절하는 단계를 포함하는 IP 패킷 에러 처리 방법.
  5. 제 4 항에 있어서, 상기 (b) 단계는 에러가 검출된 상기 IP 패킷들 중 동일한 어드레스 정보를 갖는 IP 패킷들에 대해 실행되는 것을 특징으로 하는 IP 패킷 에러 처리 방법.
  6. 제 4 항에 있어서, 상기 (a) 단계에서 에러를 검출하지 못한 경우에는, (c) 상기 수신된 IP 패킷들을 정상적으로 처리하는 단계를 더 포함하는 것을 특징으로 하는 IP 패킷 에러 처리 방법.
  7. 제 4 항에 있어서, 상기 (b) 단계는 (b1) 상기 제 1 소정 시간을 설정하여 감산하기 위한 제 1 타이머 필드와, 상기 제 2 소정 시간을 설정하여 감산하기 위한 제 2 타이머 필드와, 상기 연속 에러 발생 상황을 카운트하기 위한 에러 카운트 필드와, 에러가 검출된 IP 패킷의 어드레스 정보를 나타내기 위한 어드레스 정보 필드를 포함하는 적어도 하나의 엔트리로 구성되며, 동일한 어드레스 정보를 갖는 IP 패킷들은 동일한 엔트리에 대응되는, 캐시를 생성하는 단계를 더 포함하되,
    상기 (b) 단계는 에러가 검출된 상기 IP 패킷들 중 동일한 어드레스 정보를 갖는 IP 패킷들에 대해, 에러가 검출된 대상 IP 패킷에 대응하는 대응 엔트리를 참조하여, 실행되는 것을 특징으로 하는 IP 패킷 에러 처리 방법.
  8. 제 7 항에 있어서, 상기 (b) 단계는,
    (b2) 상기 대응 엔트리를 상기 캐시에서 검색하는 단계와,
    (b3) 상기 대응 엔트리의 각 필드들의 상태를 판별하는 단계와,
    (b4) 상기 (b3) 단계에서 상기 연속 에러 발생 상황이 상기 소정 횟수를 초과하였다고 판별한 경우에는 상기 대응 엔트리의 제 2 타이머 필드를 상기 제 2 소정 시간으로 설정하여 감산하는 단계와,
    (b5) 상기 (b3) 단계에서 상기 제 2 타이머 필드에 설정된 상기 제 2 소정 시간이 경과하지 않았다고 판별된 경우에는 상기 대상 IP 패킷의 송신 노드로 ICMP 패킷을 전송하지 않는 단계를 더 포함하는 것을 특징으로 하는 IP 패킷 에러 처리 방법.
  9. 제 8 항에 있어서, (b6) 상기 (b2) 단계에서 검색이 실패한 경우에는 상기 대상 IP 패킷에 대응하는 새로운 엔트리를 생성하는 단계를 더 포함하는 IP 패킷 에러 처리 방법.
  10. 제 8 항에 있어서, (b6) 상기 (b3) 단계에서 상기 대응 엔트리의 제 1 타이머 필드가 0이라고 판별된 경우에는 상기 대응 엔트리를 삭제하는 단계를 더 포함하는 IP 패킷 에러 처리 방법.
  11. 제 8 항에 있어서, (b6) 상기 (b3) 단계에서 상기 대응 엔트리의 제 1 타이머 필드가 0이라고 판별된 경우에는 상기 제 1 타이머 필드를 상기 제 1 소정 시간으로 설정하여 감산하는 단계를 더 포함하는 IP 패킷 에러 처리 방법.
  12. 제 8 항에 있어서, 상기 (b3) 단계는 상기 대응 엔트리의 제 2 타이머 필드, 제 1 타이머 필드 및 에러 카운트 필드의 상태를 순차적으로 판별하는 것을 특징으로 하는 IP 패킷 에러 처리 장치.
  13. 제 12 항에 있어서, (b6) 상기 (b3) 단계에서 상기 대응 엔트리의 상기 제 2 타이머 필드가 0이고, 상기 제 1 타이머 필드가 0이 아니며, 상기 에러 카운트 필드가 상기 소정 횟수에 도달하지 않았다고 판별된 경우에는, 상기 대응 엔트리의 상기 에러 카운트 필드를 1 증가시키고 상기 제 1 타이머 필드를 상기 제 1 소정 시간으로 설정하여 감산하는 단계를 더 포함하는 IP 패킷 에러 처리 방법.
  14. 제 7 항에 있어서, 상기 엔트리는 엔트리의 사용 여부를 나타내기 위한 유효 비트 필드를 더 포함하는 것을 특징으로 하는 IP 패킷 에러 처리 방법.
  15. 제 7 항에 있어서, 상기 엔트리는 에러가 검출된 IP 패킷의 송신 노드로 ICMP 패킷을 전송하기 위해 ICMP 프로토콜에 정의된 ICMP 타입과 ICMP 코드를 각각 나타내기 위한 ICMP 타입 필드와 ICMP 코드 필드를 더 포함하는 것을 특징으로 하는 IP 패킷 에러 처리 방법.
  16. 제 7 항에 있어서, 상기 어드레스 정보 필드는 에러가 검출된 IP 패킷의 소스 어드레스 정보와 목적지 어드레스 정보를 각각 나타내기 위한 소스 어드레스 필드와 목적지 어드레스 필드로 구성되는 것을 특징으로 하는 IP 패킷 에러 처리 방법.
  17. 제 7 항에 있어서, 상기 (b) 단계는, 상기 이전 에러가 검출되고 상기 대응 엔트리의 제 1 타이머 필드가 0이 되지 않은 상태에서 상기 다음 에러가 검출될 때마다 상기 대응 엔트리의 에러 카운트 필드를 1만큼 증가시킴과 동시에 상기 제 1 타이머 필드를 상기 제 1 소정 시간으로 설정하여 감산하고, 상기 에러 카운트 필드가 상기 소정 횟수를 초과하는 경우에는 상기 대응 엔트리의 제 2 타이머 필드를 상기 제 2 소정 시간으로 설정하여 감산하고, 상기 제 2 타이머 필드가 0이 아닌 동안에 수신된 상기 대상 IP 패킷에서 에러가 검출된 경우에는 그 에러에 대한 ICMP 패킷을 상기 대상 IP 패킷의 송신 노드로 전송하지 않는 것을 특징으로 하는 IP 패킷 에러 처리 방법.
  18. 적어도 하나의 송신 노드로부터 수신된 IP 패킷들의 에러를 처리하는 방법에 있어서,
    (a) 상기 수신된 IP 패킷들에서 에러를 검출하는 단계와,
    (b) 에러가 검출된 IP 패킷들에 대해, 제 1 소정 시간 동안 소정 횟수 이상의 에러가 검출된 경우에는 에러가 검출된 상기 IP 패킷들의 송신 노드와 제 2 소정 시간 동안 통신을 단절하는 단계를 포함하는 IP 패킷 에러 처리 방법.
  19. 적어도 하나의 송신 노드로부터 수신된 IP 패킷들의 에러를 처리하는 방법을 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 상기 방법은,
    (a) 상기 수신된 IP 패킷들에서 에러를 검출하는 단계와,
    (b) 에러가 검출된 IP 패킷들에 대해, 이전 에러가 검출된 때로부터 제 1 소정 시간 이내에 다음 에러가 검출되는 상황이 소정 횟수를 초과하여 발생한 경우에는 에러가 검출된 상기 IP 패킷들의 송신 노드와 제 2 소정 시간 동안 통신을 단절하는 단계를 포함하는 것을 특징으로 하는 기록 매체.
  20. 적어도 하나의 송신 노드로부터 수신된 IP 패킷들의 에러를 처리하는 방법을 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 상기 방법은,
    (a) 상기 수신된 IP 패킷들에서 에러를 검출하는 단계와,
    (b) 에러가 검출된 IP 패킷들에 대해, 제 1 소정 시간 동안 소정 횟수 이상의 에러가 검출된 경우에는 에러가 검출된 상기 IP 패킷들의 송신 노드와 제 2 소정 시간 동안 통신을 단절하는 단계를 포함하는 것을 특징으로 하는 기록 매체.
KR20030086753A 2003-12-02 2003-12-02 Ip 패킷의 에러 처리 장치 및 방법, 그리고 상기 방법을실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 KR101086397B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR20030086753A KR101086397B1 (ko) 2003-12-02 2003-12-02 Ip 패킷의 에러 처리 장치 및 방법, 그리고 상기 방법을실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
US10/983,663 US7308619B2 (en) 2003-12-02 2004-11-09 IP packet error handling apparatus and method using the same, and computer readable medium having computer program for executing the method recorded thereon
JP2004344987A JP2005168018A (ja) 2003-12-02 2004-11-29 Ipパケットのエラー処理装置及び方法、そして該方法を実行するプログラムを記録したコンピュータ可読記録媒体
CNB2004100967158A CN1305281C (zh) 2003-12-02 2004-12-02 互联网协议分组错误处理设备及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20030086753A KR101086397B1 (ko) 2003-12-02 2003-12-02 Ip 패킷의 에러 처리 장치 및 방법, 그리고 상기 방법을실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체

Publications (2)

Publication Number Publication Date
KR20050053140A true KR20050053140A (ko) 2005-06-08
KR101086397B1 KR101086397B1 (ko) 2011-11-23

Family

ID=34709215

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20030086753A KR101086397B1 (ko) 2003-12-02 2003-12-02 Ip 패킷의 에러 처리 장치 및 방법, 그리고 상기 방법을실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체

Country Status (4)

Country Link
US (1) US7308619B2 (ko)
JP (1) JP2005168018A (ko)
KR (1) KR101086397B1 (ko)
CN (1) CN1305281C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101319895B1 (ko) * 2007-06-11 2013-10-18 엘지전자 주식회사 데이터 송수신 방법 및 방송 수신 장치

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161549B2 (en) * 2005-11-17 2012-04-17 Patrik Lahti Method for defending against denial-of-service attack on the IPV6 neighbor cache
US8832495B2 (en) 2007-05-11 2014-09-09 Kip Cr P1 Lp Method and system for non-intrusive monitoring of library components
US7924701B2 (en) * 2007-06-11 2011-04-12 Lg Electronics Inc. Data transmitting and receiving method and broadcasting receiver
US8312541B2 (en) * 2007-07-17 2012-11-13 Cisco Technology, Inc. Detecting neighbor discovery denial of service attacks against a router
US8539098B2 (en) * 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
US8650241B2 (en) 2008-02-01 2014-02-11 Kip Cr P1 Lp System and method for identifying failing drives or media in media library
US8645328B2 (en) * 2008-02-04 2014-02-04 Kip Cr P1 Lp System and method for archive verification
US7974215B1 (en) 2008-02-04 2011-07-05 Crossroads Systems, Inc. System and method of network diagnosis
US9015005B1 (en) * 2008-02-04 2015-04-21 Kip Cr P1 Lp Determining, displaying, and using tape drive session information
JP4509200B2 (ja) * 2008-04-08 2010-07-21 三菱電機株式会社 ネットワークシステム
CN101572584B (zh) * 2008-04-30 2012-01-04 华为技术有限公司 报文错误检测方法、设备及系统
US9866633B1 (en) 2009-09-25 2018-01-09 Kip Cr P1 Lp System and method for eliminating performance impact of information collection from media drives
CN102088391B (zh) * 2009-12-07 2013-09-11 华为技术有限公司 一种IPv6报文的处理方法、设备和系统
US8631281B1 (en) 2009-12-16 2014-01-14 Kip Cr P1 Lp System and method for archive verification using multiple attempts
US20120047573A1 (en) * 2010-08-17 2012-02-23 Richard Jeremy Duncan Methods and apparatus for detecting invalid ipv6 packets
US20170127100A1 (en) * 2014-07-07 2017-05-04 Lg Electronics Inc. Hybrid broadcast signal transmission and reception apparatus and transmission and reception method
JP6724583B2 (ja) * 2016-06-15 2020-07-15 富士通株式会社 情報処理装置、情報処理方法、プログラム及び情報処理システム
US10651974B2 (en) * 2017-02-28 2020-05-12 Marvell Asia Pte, Ltd. Method and apparatus for updating error detection information in packets
KR102030461B1 (ko) * 2017-11-23 2019-10-10 현대오트론 주식회사 복수의 프로세서 오류 감지 시스템 및 그 방법

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2073914A (en) * 1936-05-05 1937-03-16 Clifford R Wilfley Sample sacker
US2636656A (en) * 1952-04-08 1953-04-28 Tanabe Sadami Sacking device with open-ended body having sack gripping devices thereon
US5213141A (en) * 1990-10-26 1993-05-25 Dorman Ira S Debris collection and disposal system and method
FR2702111B1 (fr) * 1993-02-26 1995-05-12 Alcatel Radiotelephone Procédé de gestion des erreurs de transmission entre une station de base et un transcodeur dans un système de radiocommunication numérique, station de base et transcodeur correspondants.
JPH0758843A (ja) * 1993-08-10 1995-03-03 Matsushita Electric Ind Co Ltd 構内自動交換システム
JPH07221791A (ja) * 1994-02-03 1995-08-18 Fujitsu Ltd フレームリレー中継路の迂回システム
DE19525426C1 (de) * 1995-07-12 1996-11-28 Siemens Ag Verfahren zur Synchronisation der Zeitbasis einer Empfangseinheit auf die Zeitbasis einer Sendeeinheit bei einer Telekommunikationseinrichtung
US5574495A (en) * 1995-10-18 1996-11-12 General Instrument Corporation Cable television data path error analyzer located at the set-top terminal
JP3039620B2 (ja) * 1996-07-19 2000-05-08 日本電気株式会社 Atmシステムの再送方式
JPH1168837A (ja) 1997-08-20 1999-03-09 Hitachi Ltd Ipネットワーク上のパケット交換網における着信転送方式
US5996999A (en) * 1997-12-05 1999-12-07 Casely; Avis Joyce Collector for board game pieces
JP2000101550A (ja) * 1998-09-24 2000-04-07 Toshiba Corp 通信エラー検出方式
SE513327C2 (sv) * 1998-10-07 2000-08-28 Ericsson Telefon Ab L M System och metod för datakommunikation
DE29901302U1 (de) * 1999-01-26 2000-03-30 Siemens Ag Netzwerkteilnehmer
JP3376941B2 (ja) 1999-03-04 2003-02-17 日本電気株式会社 ルータ装置
JP2002026972A (ja) * 2000-07-10 2002-01-25 Fujitsu Ltd Icmpデータフレームフィルタリング方法及びそのノード装置
US6378581B1 (en) * 2000-10-30 2002-04-30 Thomas Leonard Sheridan Hollow cage golf bag cover
KR20020034281A (ko) 2000-10-31 2002-05-09 정규석 효율적인 NAT 수행을 위한 PC 윈도우 환경에서의NAT Entry 할당과 해지 알고리즘
JP3790110B2 (ja) * 2001-02-14 2006-06-28 日本電信電話株式会社 ゲートウェイ装置における過負荷防御方法及びその装置
US6708835B1 (en) * 2001-05-29 2004-03-23 Derrick Mathis Extendable basket and kit
US6497317B1 (en) * 2001-08-28 2002-12-24 Andrew Chun Roof and rain gutter cleaning tools
US7356599B2 (en) * 2001-08-30 2008-04-08 International Business Machines Corporation Method and apparatus for data normalization
JP3853233B2 (ja) * 2002-02-28 2006-12-06 株式会社日立コミュニケーションテクノロジー Ip網における回線状態検出方法およびip通信装置
KR100453055B1 (ko) * 2002-03-29 2004-10-15 삼성전자주식회사 Ip 네트워크 상에서의 경로 mtu 탐색 방법 및 그 장치
US7120847B2 (en) * 2002-06-26 2006-10-10 Intellon Corporation Powerline network flood control restriction
US7266754B2 (en) * 2003-08-14 2007-09-04 Cisco Technology, Inc. Detecting network denial of service attacks
US6994302B1 (en) * 2003-11-10 2006-02-07 Willie Simmons Lawn maintenance system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101319895B1 (ko) * 2007-06-11 2013-10-18 엘지전자 주식회사 데이터 송수신 방법 및 방송 수신 장치

Also Published As

Publication number Publication date
US7308619B2 (en) 2007-12-11
KR101086397B1 (ko) 2011-11-23
US20050149829A1 (en) 2005-07-07
CN1305281C (zh) 2007-03-14
JP2005168018A (ja) 2005-06-23
CN1625155A (zh) 2005-06-08

Similar Documents

Publication Publication Date Title
KR101086397B1 (ko) Ip 패킷의 에러 처리 장치 및 방법, 그리고 상기 방법을실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
US7031267B2 (en) PLD-based packet filtering methods with PLD configuration data update of filtering rules
US6141690A (en) Computer network address mapping
JP5648737B2 (ja) 通信装置および通信方法
US20020080784A1 (en) Methods and systems using PLD-based network communication protocols
US20130336326A1 (en) Arp packet processing method, communication system and device
US20130322438A1 (en) System and method for identifying frames
US10791051B2 (en) System and method to bypass the forwarding information base (FIB) for interest packet forwarding in an information-centric networking (ICN) environment
JP2006352259A (ja) ネットワーク障害検出装置及びネットワーク障害検出方法
US20110026529A1 (en) Method And Apparatus For Option-based Marking Of A DHCP Packet
US7200105B1 (en) Systems and methods for point of ingress traceback of a network attack
JP2009182430A (ja) パケット解析方法
CN111756713A (zh) 网络攻击识别方法、装置、计算机设备及介质
CN111031077B (zh) 一种流量清洗方法、流量清洗系统和设备
US20230328100A1 (en) Suppressing virus propagation in a local area network
CN107528929B (zh) Arp条目的处理方法及装置
CN101771575B (zh) 一种处理ip分片报文的方法、装置及系统
TW201132055A (en) Routing device and related packet processing circuit
TWI505675B (zh) 網路交換器與資料更新方法
CN112688957B (zh) Icmp报文的处理方法、装置、计算机设备和介质
CN114157602B (zh) 一种处理报文的方法和装置
US20210226965A1 (en) Suppressing virus propagation in a local area network
CN112714126B (zh) 一种在IPv6地址空间中提升蜜罐诱捕攻击能力的方法及系统
CN109921948B (zh) 数据平面的故障检测方法、装置及网关设备
CN101330463B (zh) 异常报文接入点的定位方法和设备

Legal Events

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

Payment date: 20141030

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee