KR20050057698A - 체크섬을 생성하는 장치 및 방법 - Google Patents

체크섬을 생성하는 장치 및 방법 Download PDF

Info

Publication number
KR20050057698A
KR20050057698A KR1020030089354A KR20030089354A KR20050057698A KR 20050057698 A KR20050057698 A KR 20050057698A KR 1020030089354 A KR1020030089354 A KR 1020030089354A KR 20030089354 A KR20030089354 A KR 20030089354A KR 20050057698 A KR20050057698 A KR 20050057698A
Authority
KR
South Korea
Prior art keywords
value
checksum
message
checksum value
field
Prior art date
Application number
KR1020030089354A
Other languages
English (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 KR1020030089354A priority Critical patent/KR20050057698A/ko
Priority to US11/008,163 priority patent/US20050149823A1/en
Publication of KR20050057698A publication Critical patent/KR20050057698A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking 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/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/095Error detection codes other than CRC and single parity bit codes
    • H03M13/096Checksums
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명은 체크섬을 생성하는 장치 및 방법에 관한 것으로, 본 발명에 따른 체크섬 생성 장치는 소정의 필드의 값을 수신하면, 수신된 소정의 필드의 값이 소정의 페이로드가 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 1 메시지임을 나타내는 경우에는 소정의 필드의 값을 출력하는 체크섬 선택기; 소정의 필드의 값을 입력받으면, 입력받은 소정의 필드의 값에 대응하는 차이 값을 독출하고, 독출된 차이 값을 출력하는 차이 값 독출기; 및 차이 값을 입력받으면, 입력받은 차이 값을 제 1 체크섬 값에 가산하여 제 1 메시지의 체크섬 값인 제 2 체크섬 값을 생성하고, 생성된 제 2 체크섬 값을 출력하는 가산기를 포함하며, 이미 계산된 체크섬 값과 동일 또는 유사한 체크섬 값을 계산하는 경우에 다시 계산하지 않고 차이 값만을 가산하여 새로운 체크섬 값을 생성할 수 있게 함으로서, 체크섬 계산으로 인한 시스템 로드 및 소비 시간을 대폭 감소시킨다.

Description

체크섬을 생성하는 장치 및 방법{Apparatus and method for generating checksum}
본 발명은 패킷을 처리하는 장치 및 방법에 관한 것으로, 보다 상세하게는 패킷에 대한 체크섬을 생성하는 장치 및 방법에 관한 것이다.
RFC(Request For Comments) 2463에 명시된 ICMP(Internet Control Message Protocol) v6 메시지에 대한 체크섬 방식을 포함하여 종래의 체크섬 방식은 수신된 패킷의 정확성을 검사할 때나 송신할 패킷의 체크섬 필드의 값을 입력할 때나 체크섬 값이 요구될 때에는 항상 체크섬 값을 계산하는 방식을 채택하고 있었다. 체크섬 계산은 많은 데이터에 대한 연산이 요구되기 때문에 시스템의 로드를 가중시키고, 패킷을 처리하는 과정에서 많은 시간을 소비하는 주 요인으로 작용한다는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 이미 계산된 체크섬 값과 동일 또는 유사한 체크섬 값을 계산하는 경우에 다시 계산하지 않고 차이 값만을 가산하여 새로운 체크섬 값을 생성할 수 있게 하는 장치 및 방법을 제공하는데 있고, 이와 같은 장치 및 방법을 사용하여 패킷을 효율적으로 처리할 수 있게 하는 장치 및 방법을 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 체크섬 생성 장치는 소정의 필드의 값을 수신하면, 상기 수신된 소정의 필드의 값이 소정의 페이로드가 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 1 메시지임을 나타내는 경우에는 상기 소정의 필드의 값을 출력하는 체크섬 선택기; 상기 체크섬 선택기로부터 상기 소정의 필드의 값을 입력받으면, 상기 입력받은 소정의 필드의 값에 대응하는 차이 값을 독출하고, 상기 독출된 차이 값을 출력하는 차이 값 독출기; 및 상기 차이 값 독출기로부터 상기 차이 값을 입력받으면, 상기 입력받은 차이 값을 상기 제 1 체크섬 값에 가산하여 상기 제 1 메시지의 체크섬 값인 제 2 체크섬 값을 생성하고, 상기 생성된 제 2 체크섬 값을 출력하는 가산기를 포함한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 따른 패킷 처리 장치는 소정의 필드의 값이 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 2 메시지임을 나타내는 경우에는 소정의 차이 값을 상기 제 1 체크섬 값에 가산하여 상기 제 2 메시지의 체크섬 값인 제 2 체크섬 값을 생성하는 체크섬 생성부; 및 상기 체크 섬 생성부에서 생성된 제 2 체크섬 값이 기록된 체크섬 필드를 포함하는 제 2 메시지에 해당하는 제 2 페이로드를 생성하는 페이로드 생성부; 상기 페이로드 생성부에서 생성된 제 2 페이로드에 부착되는 제 2 헤더를 생성하여, 상기 생성된 제 2 페이로드 및 상기 생성된 제 2 헤더를 포함하는 제 2 패킷을 완성하는 헤더 생성부; 및 상기 헤더 생성부에서 완성된 제 2 패킷을 하위 계층 모듈로 송신하는 패킷 송신부를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 체크섬 생성 방법은 (a) 소정의 필드의 값을 수신하면, 상기 수신된 소정의 필드의 값이 소정의 페이로드가 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 1 메시지임을 나타내는 경우에는 상기 소정의 필드의 값을 출력하는 단계; (b) 상기 (a) 단계에서 출력된 소정의 필드의 값을 입력받으면, 상기 입력받은 소정의 필드의 값에 대응하는 차이 값을 독출하고, 상기 독출된 차이 값을 출력하는 단계; 및 (c) 상기 (b) 단계에서 출력된 차이 값을 입력받으면, 상기 입력받은 차이 값을 상기 제 1 체크섬 값에 가산하여 상기 제 1 메시지의 체크섬 값인 제 2 체크섬 값을 생성하고, 상기 생성된 제 2 체크섬 값을 출력하는 단계를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 패킷 처리 방법. 은 (a) 소정의 필드의 값이 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 2 메시지임을 나타내는 경우에는 소정의 차이 값을 상기 제 1 체크섬 값에 가산하여 상기 제 2 메시지의 체크섬 값인 제 2 체크섬 값을 생성하는 단계; 및 (b) 상기 (a) 단계에서 생성된 제 2 체크섬 값이 기록된 체크섬 필드를 포함하는 제 2 메시지에 해당하는 제 2 페이로드를 생성하는 단계; (c) 상기 (b) 단계에서 생성된 제 2 페이로드에 부착되는 제 2 헤더를 생성하여, 상기 생성된 제 2 페이로드 및 상기 생성된 제 2 헤더를 포함하는 제 2 패킷을 완성하는 단계; 및 (d) 상기 (c) 단계에서 완성된 제 2 패킷을 하위 계층 모듈로 송신하는 단계를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 체크섬 생성 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 패킷 처리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 패킷 처리 장치의 구성도이다.
도 1을 참조하면, 패킷 처리 장치(2)는 패킷 수신부(21), 헤더 처리부(22), 페이로드 처리부(23), 체크섬 생성부(24), 데이터 송신부(25), 데이터 수신부(26), 페이로드 생성부(27), 헤더 생성부(28), 및 패킷 송신부(29)로 구성된다. 패킷 처리 장치(2)는 하위 계층 모듈(1)과 상위 계층 모듈(3) 사이에 존재하는 모듈의 일종이라고 할 수 있다. 예를 들어, 하위 계층 모듈(1)이 랜(LAN) 인터페이스, IEEE(Institute of Electrical and Electronics Engineers) 1394 인터페이스, USB(Universal Serial Bus) 인터페이스, WLAN(Wireless LAN) 인터페이스 등으로 구현되는 링크(Link) 계층 모듈이고, 상위 계층 모듈(3)이 응용(Application) 계층 모듈이면, 패킷 처리 장치(2)는 IP 계층 모듈 및 TCP/UDP(Transmission Control Protocol/User Datagram Protocol) 계층 모듈을 통합한 모듈이 될 것이다.
패킷 수신부(21)는 하위 계층 모듈(1)로부터 제 1 패킷을 수신한다. 하위 계층 모듈(1)이 링크 계층 모듈이라면, 제 1 패킷은 IP 패킷이 될 것이다. IP 패킷은 그 버전에 따라서, IPv4 패킷 또는 IPv6 패킷이 될 수 있다. 이하에서는 주로 IPv6 패킷을 예로 들어 설명하기로 하겠다.
헤더 처리부(22)는 패킷 수신부(21)에 수신된 제 1 패킷에 포함된 제 1 헤더의 필드들의 값들을 검사하고, 검사된 결과에 따라 제 1 패킷을 처리함으로서 제 1 패킷으로부터 제 1 페이로드를 추출한다.
도 2는 IPv6 패킷의 포맷을 도시한 도면이다.
도 2를 참조하면, IPv6 패킷은 IPv6 헤더 및 페이로드로 구성된다. IPv6 헤더는 버전(Version) 필드, 트래픽 등급(Traffic Class) 필드, 플로우 라벨(Flow Label) 필드, 페이로드 길이(Payload Length) 필드, 다음 헤더(Next Header) 필드, 홉 한계(Hop Limit) 필드, 발신지 주소(Source Address) 필드, 및 목적지 주소(Destination Address) 필드로 구성된다.
제 1 패킷이 IPv6 패킷이라면, 헤더 처리부(22)는 도시된 IPv6 헤더의 필드들의 값들을 검사하고, 검사가 완료되어 각 필드들의 값을 인식한 경우에는 각 필드들의 값이 요구하는 처리를 한다. IPv6 헤더는 40 바이트의 고정 길이를 갖기 때문에 40 바이트 이후 부분을 추출하면, 바로 이 부분이 페이로드가 된다. 다만, 다음 헤더 필드의 값이 확장 헤더가 부착되어 있음을 나타내면, 40 바이트 이후의 시작은 확장 헤더로 시작된다. IPv6 패킷은 이러한 확장 헤더를 0 개 이상 가질 수 있다. 이하에서는 이러한 확장 헤더를 제외한 부분을 페이로드라고 규정하고 설명하기로 하겠다(IPv6 패킷에서 헤더를 제외한 나머지 부분을 페이로드라고 일률적으로 표현하기도 하며, 이때에는 확장 헤더를 제외한 부분을 상위 데이터라고 부른다).
페이로드 처리부(23)는 헤더 처리부(22)에서 검사된 필드들의 값들 중, 소정의 필드의 값이 추출된 제 1 페이로드가 제 1 메시지임을 나타내는 경우에는 제 1 메시지의 포맷을 기준으로 추출된 제 1 페이로드의 필드들의 값들을 검사하고, 검사된 결과에 따라 제 1 페이로드를 처리함으로서 제 1 페이로드로부터 제 1 데이터를 추출한다. IPv6 헤더에서 다음 헤더 필드의 값이 2이면 ICMP 메시지임을 나타내고, 6이면 TCP 메시지(TCP 패킷이라고도 한다)임을 나타내고, 17이면 UDP 메시지(UDP 패킷이라고도 한다)임을 나타낸다. IP 패킷처럼 페이로드도 각 메시지의 포맷에 따른 헤더 및 데이터로 구성되고, 페이로드 처리부(23)는 각 메시지의 포맷을 기준으로 제 1 페이로드의 필드들의 값들, 즉 각 메시지의 헤더의 필드들의 값들을 검사하고, 검사가 완료되어 각 필드들의 값을 인식한 경우에는 각 필드들의 값이 요구하는 처리를 한다. 이와 같은 처리 과정에서 상위 계층 모듈(3)로 전송할 데이터인 제 1 데이터가 추출된다.
체크섬 생성부(24)는 소정의 필드의 값이 제 1 페이로드가 제 1 체크섬 값을 갖는 제 1 메시지임을 나타내는 경우에는 제 1 메시지의 체크섬 값을 계산하기 위한 데이터에 대해 체크섬 계산을 수행한다.
도 3은 체크섬 값을 계산하기 위한 데이터가 기록된 필드들을 도시한 도면이다.
도 3을 참조하면, 체크섬 값을 계산하기 위한 데이터가 기록된 필드들은 의사(Pseudo) 헤더(31) 및 상위 데이터(32)로 구성되어 있다. 의사 헤더는 발신지 주소 필드, 목적지 주소 필드, 상위 계층 패킷 길이 필드, 제로 필드, 및 다음 헤더 필드로 구성된다. 상기한 바와 같이, 상위 데이터(32)는 확장 헤더를 제외한 페이로드를 말한다.
의사 헤더(31)는 실제로 존재하는 헤더는 아니며, ICMP 메시지의 체크섬 값을 계산하기 위해서 IPv6 헤더로부터 추출된 필드들이다. IP 패킷이 전송되는 과정에서 IP 헤더에 오류가 발생한 경우로부터 ICMP 메시지를 보호하기 위하여 IPv6 표준에서 새롭게 채택한 것이다. 체크섬 생성부(24)는 발신지 주소 필드의 값, 목적지 주소 필드의 값, 상위 계층 패킷 길이 필드의 값, 제로 필드의 값, 다음 헤더 필드의 값, 및 상위 데이터에 대하여 1의 보수(complement)를 취한 후에 모두 합하고, 이 값에 대하여 다시 16 비트 1의 보수를 취함으로서 제 1 메시지의 체크섬 값을 생성한다.
데이터 송신부(25)는 체크섬 생성부(24)에서 수행된 체크섬 계산의 결과 값과 제 1 체크섬 값이 동일하면, 추출된 제 1 데이터를 상위 계층 모듈(3)로 송신한다. 체크섬 계산의 결과 값과 제 1 체크섬 값이 동일하지 않으면, 수신된 제 1 패킷의 정확성이 보장되지 않으므로, 이때에는 제 1 패킷을 폐기한다.
데이터 수신부(26)는 데이터 송신부(25)에서 송신된 제 1 데이터를 수신한 상위 계층 모듈(3)로부터 제 2 데이터를 수신한다. 상위 계층 모듈(3)은 제 1 데이터를 수신하고, 수신된 제 1 데이터에 따른 작업을 처리한다. 또한, 상위 계층 모듈(3)은 작업의 결과로서 제 2 데이터를 생성하고, 생성된 제 2 데이터를 패킷 처리 장치(2)로 송신한다.
체크섬 생성부(27)는 데이터 수신부(26)에 수신된 제 2 데이터에 포함된 소정의 필드의 값이 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 2 메시지임을 나타내는 경우에는 소정의 차이 값을 제 1 체크섬 값에 가산하여 제 2 메시지의 체크섬 값인 제 2 체크섬 값을 생성하고, 제 2 데이터에 포함된 소정의 필드의 값이 제 1 체크섬 값과 다른 체크섬 값을 갖는 제 3 메시지임을 나타내는 경우에는 제 3 메시지의 체크섬 값을 계산하기 위한 데이터에 대해 체크섬 계산을 수행하여 제 3 메시지의 체크섬 값인 제 3 체크섬 값을 생성한다. 제 2 메시지의 예로는 ICMP 메시지를 들 수 있고, 제 3 메시지의 예로는 TCP 메시지 또는 UDP 메시지를 들 수 있다. 여기에서, 제 2 데이터는 상위 계층 모듈(3)에서 처리된 작업의 결과로서, 주로 네트워크를 통하여 다른 호스트로 전송될 패킷의 생성에 관한 정보가 포함되어 있다.
본 실시예에 따르면, 수신된 패킷을 처리하는 과정에서는 전송 과정에서의 오류를 검사하여야 하기 때문에 종래와 같이 체크섬 값을 계산하여 패킷에 기록된 체크섬 값과 비교해 본다. 그러나, 송신될 패킷을 생성하는 과정에서는 시스템 내부에서의 오류가 발생할 수 없기 때문에, 종래와 같이 일률적으로 체크섬 값을 계산하지 않고, 이미 계산된 제 1 체크섬 값이 존재하는 경우에는 이것과 동일 또는 유사한 체크섬 값은 제 1 체크섬 값에 그 차이 값만을 가산하여 획득한다. 다만, 이것은 시스템 내부에서의 데이터의 무결성(integrity)을 전제로 한 것이다. 종래의 체크섬 방식도 모두 시스템 내부에서의 데이터의 무결성을 전제로 하고 있다.
기존에 계산된 체크섬 값과 동일 또는 유사한 체크섬 값을 계산하여야 할 경우에는
도 4는 에코 요청 메시지를 포함한 IPv6 패킷 및 에코 응답 메시지를 포함한 IPv6 패킷을 도시한 도면이다.
도 4를 참조하면, 에코 요청 메시지를 포함한 IPv6 패킷(41)은 도 2에 도시된 IPv6 헤더, 확장 헤더(존재하는 경우에만), 및 에코 요청 메시지로 구성된다. 에코 요청 메시지는 타입(Type) 필드, 코드(Code) 필드, 체크섬(Checksum) 필드, 식별자(Identifier) 필드, 순서 번호(Sequence Number) 필드, 및 데이터(Data) 필드로 구성된다. 에코 응답 메시지를 포함한 IPv6 패킷(42)의 경우에도 마찬가지이다. 에코 요청 메시지 및 에코 응답 메시지는 ICMP 메시지의 일종으로서, IPv6 헤더의 다음 헤더 필드의 값(확장 헤더가 존재하는 경우에는 마지막 확장 헤더의 다음 헤더 필드의 값)이 58이고, ICMP 메시지의 타입이 128인 경우에는 페이로드는 에코 요청 메시지가 되고, ICMP 메시지의 타입이 129인 경우에는 페이로드는 에코 응답 메시지가 된다.
에코 요청 메시지 및 에코 응답 메시지는 주로 핑(ping)에 사용된다. 핑은 TCP/IP 프로토콜을 사용하는 응용 프로그램으로서, 다른 호스트에 IP 데이터그램이 도착할 수 있는지를 검사한다. 핑을 수행하는 프로그램은 에코 요청 메시지를 목적지 호스트로 송신하여 응답하는가를 기다린다. 즉, 송신된 에코 요청 메시지를 목적지 호스트가 동작 중이면 에코 응답 메시지를 송신할 것이고, 목적지 호스트가 동작하지 않으면 에코 응답 메시지를 송신하지 않을 것이다. 이와 같이, 에코 응답 메시지가 돌아오는 지의 여부에 따라 목적지 호스트가 동작 중인지 아닌 지를 검사할 수 있다.
이와 같이, 에코 요청 메시지 및 에코 응답 메시지는 단지 목적지 호스트가 동작 중인지 아닌 지를 검사하기 위해 사용되기 때문에 타입 필드를 제외한 나머지 필드들의 값은 동일하다. 따라서, 도 3에 도시된 상위 데이터(32)의 총합은 1 만큼 차이 난다(만약, 체크섬 계산을 위해 16 비트 합을 하게 되면, 8 비트에서 1 만큼의 차이였던 값이 16진수 값 100의 차이로 변경된다. 따라서, 총합의 차이는 16진수 값 100이 된다. 이하, 동일하게 적용된다). 또한, 발신지 호스트와 목적지 호스트가 서로 교환되는 경우로서, 발신지 주소와 목적지 주소가 서로 교환될 뿐이므로, 도 3에 도시된 의사 헤더(31)의 필드들의 값들의 총합은 동일하다.
만약, 제 1 패킷이 에코 요청 메시지를 포함한 IP 패킷이고, 네트워크를 통한 전송 과정에서 오류가 없는 경우라면, 제 1 체크섬 값과 제 2 체크섬 값은 1 만큼 차이가 나게 된다. 이때, 체크섬 생성부(24)는 1을 제 1 체크섬 값에 가산하여 에코 응답 메시지의 제 2 체크섬 값을 생성한다.
페이로드 생성부(27)는 체크 섬 생성부(24)에서 생성된 제 2 체크섬 값이 기록된 체크섬 필드를 포함하는 제 2 메시지에 해당하는 제 2 페이로드를 생성한다. 제 2 메시지가 에코 응답 메시지인 경우를 예로 들면, 페이로드 생성부(27)는 제 1 체크섬 값에 1이 가산된 제 2 체크섬 값이 기록된 체크섬 필드를 포함하는 에코 응답 메시지에 해당하는 제 2 페이로드를 생성한다.
헤더 생성부(28)는 페이로드 생성부(27)에서 생성된 제 2 페이로드에 부착되는 제 2 헤더를 생성하여, 생성된 제 2 페이로드 및 생성된 제 2 헤더를 포함하는 제 2 패킷을 완성한다. 제 2 메시지가 에코 응답 메시지인 경우를 예로 들면, 에코 응답 메시지 및 IP 헤더를 포함하는 IP 패킷을 완성한다.
패킷 송신부(29)는 헤더 생성부(28)에서 완성된 제 2 패킷을 하위 계층 모듈(1)로 송신한다. 즉, 패킷 송신부(29)는 헤더 생성부(28)에서 완성된 IP 패킷을 하위 계층 모듈(1)인 링크 계층 모듈(랜 인터페이스, IEEE 1394 인터페이스, USB 인터페이스, WLAN 인터페이스 등)로 송신한다.
도 5는 본 발명의 바람직한 일 실시예에 따른 체크섬 생성 장치의 구성도이다.
도 5를 참조하면, 체크섬 생성 장치는 체크섬 선택기(51), 차이 값 독출기(52), 가산기(53), 레지스터(54), 제 1 인버터(55), 및 제 2 인버터(56)로 구성된다. 체크섬 생성 장치는 도 1에 도시된 체크섬 생성부(24)에 대응되며, 체크섬 생성부(24)의 상세 구성도라고도 할 수 있다.
제 1 인버터(55)는 소정의 데이터에 대하여 1의 보수를 취하여 어떤 메시지의 체크섬 값을 계산하기 위한 데이터를 생성한다. 여기에서 소정의 데이터란 도 3에 도시된 의사 헤더(31)의 필드들의 값들 및 상위 데이터(32)가 될 것이다. 상기된 메시지가 ICMP 메시지인 경우에는 의사 헤더(31) 및 상위 데이터(32)인 ICMP 메시지에 대하여 1의 보수 합을 구하고, 이것에 다시 16 비트 1이 보수를 취하여 체크섬 값을 생성함으로 데이터 수신 단에 위와 같은 제 1 인버터(55)가 필요하게 된다. 그러나, 1의 보수를 취하지 않는 경우라면 필요 없을 것이다. 상기된 메시지는 아래에서 제 1 메시지 또는 제 2 메시지로 특정된다. 제 1 메시지의 경우에는 체크섬 계산을 다시 하지 않기 때문에 제 2 메시지의 경우에만 유용할 것이다.
체크섬 선택기(51)는 소정의 필드의 값을 수신하면, 수신된 소정의 필드의 값이 소정의 페이로드가 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 1 메시지임을 나타내는 경우에는 차이 값 독출기(52)로 소정의 필드의 값을 출력한다. 제 1 메시지가 에코 응답 메시지인 경우를 예로 들면, 체크섬 선택기(51)는 차이 값 독출기(52)로 에코 응답 메시지를 나타내는 필드인 다음 헤더 필드의 값 및 ICMP 메시지의 타입 필드의 값을 출력한다. 이때, 다음 헤더 필드의 값은 58이 될 것이고, 타입 필드의 값은 129가 될 것이다.
차이 값 독출기(52)는 체크섬 선택기(51)로부터 소정의 필드의 값을 입력받으면, 데이터베이스(57)로부터 입력받은 소정의 필드의 값에 대응하는 차이 값을 독출하고, 독출된 차이 값을 출력한다. 제 1 메시지가 에코 응답 메시지인 경우를 예로 들면, 차이 값 독출기(52)는 58인 다음 헤더 필드의 값 및 129인 ICMP 메시지의 타입 필드의 값을 입력받게 된다. 이때, 차이 값 독출기(52)는 데이터베이스(57)를 검색하여, 58인 다음 헤더 필드의 값 및 129인 ICMP 메시지의 타입 필드의 값에 대응되는 장소에 기록된 차이 값을 기록된다. 이 장소에는 1이 기록되어 있을 것이다.
가산기(53)는 차이 값 독출기(52)로부터 차이 값을 입력받으면, 입력받은 차이 값을 제 1 체크섬 값에 가산하여 제 1 메시지의 체크섬 값인 제 2 체크섬 값을 생성하고, 생성된 제 2 체크섬 값을 레지스터(54)로 출력한다. 제 1 메시지가 에코 응답 메시지인 경우를 예로 들면, 수신된 IP 패킷에 포함된 메시지는 에코 요청 메시지일 것이고, 이것의 체크섬 값이 바로 제 1 체크섬 값이 된다. 이 제 1 체크섬 값과 제 2 체크섬 값의 차이는 1이 된다. 제 1 체크섬 값은 수신된 IP 패킷을 처리하는 과정에서 이미 검증된 값으로서, 제 2 체크섬 값은 이것에 1만 가산하면 획득할 수 있게 된다. 본 실시예에 따른 체크섬 생성 장치는 제 1 체크섬 값을 생성하는 과정 및 제 2 체크섬 값을 생성하는 과정 모두에서 사용되므로, 제 1 체크섬 값도 가산기(53)로부터 출력된 값이다.
레지스터(54)는 가산기(53)로부터 제 1 체크섬 값을 입력받으면, 입력받은 제 1 체크섬 값을 저장한다. 즉, 가산기(53)는 차이 값 독출기(52)로부터 입력받은 차이 값을 레지스터(54)에 저장된 제 1 체크섬 값에 가산하여 제 2 체크섬 값을 생성하고, 생성된 제 2 체크섬 값을 다시 레지스터(54)로 출력한다. 이때, 레지스터(54)는 새로운 체크섬 값인, 가산기(53)로부터 입력받은 제 2 체크섬 값을 저장한다. 즉, 레지스터(54)는 새로운 체크섬 값을 입력받을 때마다 갱신되게 된다.
제 2 인버터(56)는 제 2 체크섬 값에 대하여 1의 보수를 취하여, 최종적인 체크섬 값을 생성하게 된다. 상기된 제 1 메시지가 ICMP 메시지인 경우에는 ICMP 메시지에 대하여 1의 보수 합을 구하고, 이것에 다시 16 비트 1이 보수를 취하여 체크섬 값을 생성함으로 체크섬 출력 단에 위와 같은 제 2 인버터(56)가 필요하게 된다. 그러나, 1의 보수를 취하지 않는 경우라면 필요 없을 것이다.
체크섬 선택기(53)는 소정의 필드의 값이 소정의 페이로드가 제 1 체크섬 값과 다른 체크섬 값을 갖는 제 2 메시지임을 나타내는 경우에는 레지스터(54)로 리셋 신호를 출력하고, 제 2 메시지의 체크섬 값을 계산하기 위한 데이터를 수신하고, 수신된 데이터를 가산기(53)로 출력한다. 제 1 메시지가 TCP 메시지 또는 UDP 메시지인 경우를 예로 들면, 체크섬 선택기(51)는 차이 값 독출기(52)로 TCP 메시지 또는 UDP 메시지를 나타내는 필드인 다음 헤더 필드의 값을 출력한다. 이때, TCP 메시지인 경우에는 다음 헤더 필드의 값은 6이 될 것이고, UDP 메시지인 경우에는 다음 헤더 필드의 값은 17이 될 것이다.
레지스터(54)는 체크섬 선택기(51)로부터 제어 신호의 일종인 리셋 신호를 입력받으면, 저장된 제 1 체크섬 값을 리셋한다. 레지스터(54)의 출력 단은 가산기(53)의 입력 단과 연결되어 있기 때문에 레지스터(54)에 저장된 값은 가산기(53)로 입력되어 피 가산 값이 된다. 소정의 페이로드가 제 1 체크섬 값과 다른 체크섬 값을 갖는 제 2 메시지임을 나타내는 경우는 다시 체크섬 계산을 하여야 하는 경우이므로 레지스터(54)에 저장된 값을 리셋한다. 즉, 레지스터(54)에 저장된 값을 0으로 만든다.
가산기(53)는 체크섬 선택기(51)로부터 데이터에 포함된 제 1 부분 데이터를 입력받고, 입력받은 제 1 부분 데이터를 레지스터에서 리셋된 값에 가산하여 제 1 부분 체크섬 값을 생성하고, 생성된 제 1 부분 체크섬 값을 레지스터로 출력하고, 생성된 제 1 부분 체크섬 값으로부터 자리올림이 발생한 경우에는 자리올림을 가산기로 피드백한다. 제 2 메시지의 체크섬 값을 계산하기 위한 데이터는 일반적으로 가산기(53)의 처리 용량에 비하여 크기 때문에 가산기(53)가 처리할 수 있는 분량으로 나누어서 처리하여야 한다. 제 1 메시지가 에코 응답 메시지인 경우를 예로 들면, 16 비트 1의 보수의 합을 구하여야 하기 때문에 가산기는 2 입력 16 비트 가산기를 사용하여야 할 것이다. 이와 같은 경우에 가산기(53)는 16 비트만큼의 비트 열만을 입력받을 수 있기 때문에 제 2 메시지의 체크섬 값을 계산하기 위한 데이터를 16 비트로 나누어서 처리하여야 한다. 이때, 제 1 부분 데이터는 16 비트 데이터가 된다. 다만, 보다 빠른 계산을 위하여 복수 개의 가산기들을 병행으로 배치하여 체크섬 계산을 처리할 수도 있다. 즉, 2 개의 16 비트 가산기들이 병행으로 체크섬 계산을 처리할 경우, 32 비트 데이터를 한번에 처리할 수 있을 것이다.
레지스터(54)는 가산기(53)로부터 제 1 부분 체크섬 값을 입력받으면, 입력받은 제 1 부분 체크섬 값을 저장하고, 저장된 제 1 부분 체크섬 값을 가산기(53)로 피드백한다. 상기한 바에서 알 수 있듯이, 레지스터(54)는 가산기(53)로부터 출력된 값을 저장하고, 체크섬 선택기(51)로부터 제어 신호의 일종인 출력 신호에 따라 저장된 값을 가산기(53)로 출력함으로서 원활하게 가산이 수행될 수 있도록 한다. 체크섬 선택기(51)는 레지스터(54)에 현재 저장된 값과 가산될 값이 입력되면, 레지스터(54)로 출력 신호를 보낸다.
가산기(53)는 레지스터(54)로부터 제 1 부분 체크섬 값을 피드백받으면, 체크섬 선택기(51)로부터 데이터에 포함된 제 2 부분 데이터를 입력받고, 자리올림을 피드백받지 않은 경우에는 입력받은 제 2 부분 데이터를 피드백받은 제 1 부분 체크섬 값에 가산하여 제 2 부분 체크섬 값을 생성하고, 자리올림을 피드백받은 경우에는 입력받은 제 2 부분 데이터 및 피드백받은 자리올림을 피드백받은 제 1 부분 체크섬 값에 가산하여 제 2 부분 체크섬 값을 생성한다. 2 입력 16 비트 가산기를 예로 들면, 16 비트 제 1 부분 데이터를 0에 가산하면, 16 비트 제 1 부분 데이터가 제 1 부분 체크섬 값이 된다. 다시, 16 비트 제 2 부분 데이터를 피드백된 16 비트 제 1 부분 데이터에 가산한다. 다시, 16 비트 제 3 부분 데이터를 피드백된 16 비트 제 1 부분 데이터 및 16 비트 제 2 부분 데이터의 합에 가산한다. 만약, 자리올림이 발생한 경우에는 발생한 자리올림을 피드백하고, 다음 가산 과정에서 자리올림을 피드백받아 이것까지 포함하여 가산한다. 상기된 과정을 제 2 메시지의 체크섬 값을 계산하기 위한 데이터 전체에 대해서 반복함으로서 상기 제 2 메시지의 체크섬 값인 제 3 체크섬 값을 생성할 수 있다.
제 2 인버터(56)는 제 3 체크섬 값에 대하여 1의 보수를 취하여, 최종적인 체크섬 값을 생성하게 된다. 상기한 바와 같이, 1의 보수를 취하지 않는 경우라면 필요 없을 것이다.
도 6은 본 발명의 바람직한 일 실시예에 따른 패킷 처리 방법의 흐름도이다.
도 6을 참조하면, 패킷 처리 방법은 다음과 같은 단계들로 구성된다.
하위 계층 모듈로부터 제 1 패킷을 수신한다(61). 이어서, 수신된 제 1 패킷에 포함된 제 1 헤더의 필드들의 값들을 검사하고, 검사된 결과에 따라 제 1 패킷을 처리함으로서 제 1 패킷으로부터 제 1 페이로드를 추출한다(62). 이어서, 검사된 필드들의 값들 중, 소정의 필드의 값이 제 1 페이로드가 제 1 메시지임을 나타내는 경우에는 제 1 메시지의 포맷을 기준으로 제 1 페이로드의 필드들의 값들을 검사하고, 검사된 결과에 따라 제 1 페이로드를 처리함으로서 제 1 페이로드로부터 제 1 데이터를 추출한다(63).
이어서, 소정의 필드의 값이 제 1 페이로드가 제 1 체크섬 값을 갖는 제 1 메시지임을 나타내는 경우에는 제 1 메시지의 체크섬 값을 계산하기 위한 데이터에 대해 체크섬 계산을 수행한다(64). 이어서, 수행된 체크섬 계산의 결과 값과 제 1 체크섬 값이 동일하면(65), 추출된 제 1 데이터를 상위 계층 모듈로 송신한다(67). 만일, 수행된 체크섬 계산의 결과 값과 제 1 체크섬 값이 동일하지 않으면(65), 제 1 패킷을 폐기한다(66).
이어서, 송신된 제 1 데이터를 수신한 상위 계층 모듈로부터 제 2 데이터를 수신한다(68). 이어서, 수신된 제 2 데이터에 포함된, 소정의 필드의 값이 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 2 메시지임을 나타내는 경우(69)에는 소정의 차이 값을 제 1 체크섬 값에 가산하여 제 2 메시지의 체크섬 값인 제 2 체크섬 값을 생성한다(610). 여기에서, 제 2 메시지가 ICMP 메시지인 경우라면, 즉 제 2 패킷이 IPv6 패킷이고, 소정의 필드가 다음 헤더 필드이고, 다음 헤더 필드의 값이 2인 경우라면, ICMP 메시지의 타입 필드의 값이 에코 응답 메시지임을 나타내는 경우일 때, 즉 타입 필드의 값이 129인 경우일 때, 1을 제 1 체크섬 값에 가산하여 제 2 체크섬 값을 생성한다. 만일, 소정의 필드의 값이 제 1 체크섬 값과 다른 체크섬 값을 갖는 제 3 메시지임을 나타내는 경우(69)에는 제 3 메시지의 체크섬 값을 계산하기 위한 데이터에 대해 체크섬 계산을 수행하여 제 3 메시지의 체크섬 값인 제 3 체크섬 값을 생성한다(611). 여기에서, 제 3 메시지가 TCP 메시지 또는 UDP 메시지인 경우라면, 즉 제 2 패킷이 IPv6 패킷이고, 소정의 필드가 다음 헤더 필드이고, 다음 헤더 필드의 값이 6 또는 17인 경우라면, 체크섬 값을 다시 계산한다. 이어서, 생성된 제 2 체크섬 값이 기록된 체크섬 필드를 포함하는 제 2 메시지에 해당하는 제 2 페이로드를 생성한다(612). 이어서, 생성된 제 2 페이로드에 부착되는 제 2 헤더를 생성하여, 생성된 제 2 페이로드 및 생성된 제 2 헤더를 포함하는 제 2 패킷을 완성한다(613). 이어서, 완성된 제 2 패킷을 하위 계층 모듈로 송신한다(614).
도 7은 본 발명이 바람직한 일 실시예에 따른 체크섬 생성 방법의 흐름도이다.
도 7을 참조하면, 체크섬 생성 방법은 다음과 같은 단계들로 구성된다.
제 1 체크섬 값을 입력받으면, 입력받은 제 1 체크섬 값을 저장한다(71). 이어서, 소정의 필드의 값을 수신하면, 수신된 소정의 필드의 값이 소정의 페이로드가 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 1 메시지임을 나타내는 경우에는 소정의 필드의 값을 출력한다(72). 이어서, 출력된 소정의 필드의 값을 입력받으면, 입력받은 소정의 필드의 값에 대응하는 차이 값을 독출하고, 독출된 차이 값을 출력한다(73). 이어서, 출력된 차이 값을 입력받으면, 입력받은 차이 값을 제 1 체크섬 값에 가산하여 제 1 메시지의 체크섬 값인 제 2 체크섬 값을 생성하고, 생성된 제 2 체크섬 값을 출력한다(74). 이어서, 출력된 제 2 체크섬 값을 입력받으면, 입력받은 제 2 체크섬 값을 저장한다(75). 여기에서, 제 1 메시지가 ICMP 메시지인 경우라면, 즉 소정의 필드가 다음 헤더 필드이고, 다음 헤더 필드의 값이 58인 경우라면, ICMP 메시지의 타입 필드의 값이 에코 응답 메시지임을 나타내는 경우일 때, 즉 타입 필드의 값이 129인 경우일 때, 1을 제 1 체크섬 값에 가산하여 제 2 체크섬 값을 생성한다.
만일, 소정의 필드의 값이 소정의 페이로드가 제 1 체크섬 값과 다른 체크섬 값을 갖는 제 2 메시지임을 나타내는 경우에는 리셋 신호를 출력하고, 제 2 메시지의 체크섬 값을 계산하기 위한 데이터를 수신하고, 수신된 데이터를 출력한다(72). 제 2 메시지가 ICMP 메시지인 경우에는 도 3에 도시된 의사 헤더(31) 및 상위 데이터(32)인 ICMP 메시지에 대하여 1의 보수 합을 구하고, 이것에 다시 16 비트 1이 보수를 취하여 체크섬 값을 생성한다. 따라서, 72 단계 이전에 의사 헤더 및 ICMP 메시지에 대하여대하여 1의 보수를 취하여 제 2 메시지의 체크섬 값을 계산하기 위한 데이터를 생성하는 단계가 필요하게 된다. 그러나, 1의 보수를 취하지 않는 경우라면 필요 없을 것이다. 이어서, 출력된 리셋 신호를 입력받으면, 저장된 제 1 체크섬 값을 리셋한다(76). 이어서, 출력된 데이터를 입력받고, 입력받은 데이터를 리셋된 값에 가산하여, 제 2 메시지의 체크섬 값인 제 3 체크섬 값을 생성하고, 생성된 제 3 체크섬 값을 출력한다(77). 보다 상세히 기술하면, 데이터에 포함된 제 1 부분 데이터를 입력받고, 입력받은 제 1 데이터를 리셋된 값에 가산하여 제 1 부분 체크섬 값을 생성하고, 생성된 제 1 부분 체크섬 값을 피드백하고, 생성된 제 1 부분 체크섬 값으로부터 자리올림이 발생한 경우에는 자리올림을 피드백하고, 제 1 부분 체크섬 값을 피드백받으면, 데이터에 포함된 제 2 부분 데이터를 입력받고, 자리올림을 피드백받지 않은 경우에는 입력받은 제 2 부분 데이터를 피드백받은 제 1 부분 체크섬 값에 가산하여 제 2 부분 체크섬 값을 생성하고, 자리올림을 피드백받은 경우에는 입력받은 제 2 부분 데이터 및 피드백받은 자리올림을 피드백받은 제 1 부분 체크섬 값에 가산하여 제 2 부분 체크섬 값을 생성하고, 제 1 부분 데이터 및 제 2 부분 데이터를 제외한 나머지에 대하여 상기된 과정을 반복함으로서, 제 3 체크섬 값을 생성한다. 여기에서, 제 2 메시지가 TCP 메시지 또는 UDP 메시지인 경우라면, 즉 소정의 필드가 다음 헤더 필드이고, 다음 헤더 필드의 값이 6 또는 17인 경우라면, 체크섬 값을 다시 계산한다.
이어서, 1이 보수를 취하여 최종적인 체크섬 값을 생성하는 경우라면, 제 2 체크섬 값 또는 제 3 체크섬 값에 대하여 1의 보수를 취하여, 최종적인 체크섬 값을 생성하는 단계가 필요하게 된다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
또한 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 이미 계산된 체크섬 값과 동일 또는 유사한 체크섬 값을 계산하는 경우에 다시 계산하지 않고 차이 값만을 가산하여 새로운 체크섬 값을 생성할 수 있게 함으로서, 체크섬 계산으로 인한 시스템 로드 및 소비 시간을 대폭 감소시킨다는 효과가 있다. 특히, 에코 요청 메시지를 수신하여 에코 응답 메시지를 송신하는 경우에 유용하게 적용될 수 있다는 효과가 있다. 예를 들면, 에코 요청 메시지 및 에코 응답 메시지를 사용하는 핑 기능을 이용한 온라인 게임에 적용함으로서 온라인 게임을 구동하는 시스템의 퍼포먼스를 향상시킬 수 있다는 효과가 있다.
도 1은 본 발명의 바람직한 일 실시예에 따른 패킷 처리 장치의 구성도이다.
도 2는 IP(Internet Protocol)v6 패킷의 포맷을 도시한 도면이다.
도 3은 체크섬 값을 계산하기 위한 데이터가 기록된 필드들을 도시한 도면이다.
도 4는 에코 요청(Echo Request) 메시지를 포함한 IPv6 패킷 및 에코 응답(Echo Reply) 메시지를 포함한 IPv6 패킷을 도시한 도면이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 체크섬 생성 장치의 구성도이다.
도 6은 본 발명의 바람직한 일 실시예에 따른 패킷 처리 방법의 흐름도이다.
도 7은 본 발명이 바람직한 일 실시예에 따른 체크섬 생성 방법의 흐름도이다.

Claims (19)

  1. 소정의 필드의 값을 수신하면, 상기 수신된 소정의 필드의 값이 소정의 페이로드가 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 1 메시지임을 나타내는 경우에는 상기 소정의 필드의 값을 출력하는 체크섬 선택기;
    상기 체크섬 선택기로부터 상기 소정의 필드의 값을 입력받으면, 상기 입력받은 소정의 필드의 값에 대응하는 차이 값을 독출하고, 상기 독출된 차이 값을 출력하는 차이 값 독출기; 및
    상기 차이 값 독출기로부터 상기 차이 값을 입력받으면, 상기 입력받은 차이 값을 상기 제 1 체크섬 값에 가산하여 상기 제 1 메시지의 체크섬 값인 제 2 체크섬 값을 생성하고, 상기 생성된 제 2 체크섬 값을 출력하는 가산기를 포함하는 것을 특징으로 하는 체크섬 생성 장치.
  2. 제 1 항에 있어서,
    상기 소정의 필드는 다음 헤더 필드이고, 상기 제 1 메시지는 ICMP 메시지이고,
    상기 체크섬 선택기는 상기 다음 헤더 필드의 값 및 상기 ICMP 메시지의 타입 필드의 값을 출력하고,
    상기 차이 값 독출기는 상기 다음 헤더 필드의 값 및 상기 ICMP 메시지의 타입 필드의 값을 입력받으면, 상기 입력받은 다음 헤더 필드의 값 및 ICMP 메시지의 타입 필드의 값에 대응하는 차이 값을 독출하는 것을 특징으로 하는 체크섬 생성 장치.
  3. 제 1 항에 있어서,
    상기 제 1 체크섬 값은 상기 가산기로부터 출력된 값이고,
    상기 가산기로부터 상기 제 1 체크섬 값을 입력받으면, 상기 입력받은 제 1 체크섬 값을 저장하고, 상기 가산기로부터 상기 제 2 체크섬 값을 입력받으면, 상기 입력받은 제 2 체크섬 값을 저장하는 레지스터를 포함하고,
    상기 가산기는 상기 레지스터에 저장된 제 1 체크섬 값에 가산하여 상기 제 2 체크섬 값을 생성하고, 상기 생성된 제 2 체크섬 값을 상기 레지스터로 출력하는 것을 특징으로 하는 체크섬 생성 장치.
  4. 소정의 필드의 값이 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 2 메시지임을 나타내는 경우에는 소정의 차이 값을 상기 제 1 체크섬 값에 가산하여 상기 제 2 메시지의 체크섬 값인 제 2 체크섬 값을 생성하는 체크섬 생성부; 및
    상기 체크 섬 생성부에서 생성된 제 2 체크섬 값이 기록된 체크섬 필드를 포함하는 제 2 메시지에 해당하는 제 2 페이로드를 생성하는 페이로드 생성부;
    상기 페이로드 생성부에서 생성된 제 2 페이로드에 부착되는 제 2 헤더를 생성하여, 상기 생성된 제 2 페이로드 및 상기 생성된 제 2 헤더를 포함하는 제 2 패킷을 완성하는 헤더 생성부; 및
    상기 헤더 생성부에서 완성된 제 2 패킷을 하위 계층 모듈로 송신하는 패킷 송신부를 포함하는 것을 특징으로 하는 패킷 처리 장치.
  5. 제 4 항에 있어서,
    상기 제 2 패킷은 IP 패킷이고, 상기 소정의 필드는 다음 헤더 필드이고, 상기 제 2 메시지는 ICMP 메시지이고,
    상기 체크섬 생성부는 ICMP 메시지의 타입 필드의 값이 에코 응답 메시지임을 나타내는 경우에는 1을 상기 제 1 체크섬 값에 가산하여 상기 제 2 체크섬 값을 생성하는 것을 특징으로 하는 패킷 처리 장치.
  6. 제 4 항에 있어서,
    상기 체크섬 생성부는 상기 소정의 필드의 값이 상기 소정의 패킷의 페이로드가 제 1 체크섬 값과 다른 체크섬 값을 갖는 제 3 메시지임을 나타내는 경우에는 상기 제 3 메시지의 체크섬 값을 계산하기 위한 데이터에 대해 체크섬 계산을 수행하여 상기 제 3 메시지의 체크섬 값인 제 3 체크섬 값을 생성하는 것을 특징으로 하는 패킷 처리 장치.
  7. (a) 소정의 필드의 값을 수신하면, 상기 수신된 소정의 필드의 값이 소정의 페이로드가 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 1 메시지임을 나타내는 경우에는 상기 소정의 필드의 값을 출력하는 단계;
    (b) 상기 (a) 단계에서 출력된 소정의 필드의 값을 입력받으면, 상기 입력받은 소정의 필드의 값에 대응하는 차이 값을 독출하고, 상기 독출된 차이 값을 출력하는 단계; 및
    (c) 상기 (b) 단계에서 출력된 차이 값을 입력받으면, 상기 입력받은 차이 값을 상기 제 1 체크섬 값에 가산하여 상기 제 1 메시지의 체크섬 값인 제 2 체크섬 값을 생성하고, 상기 생성된 제 2 체크섬 값을 출력하는 단계를 포함하는 것을 특징으로 하는 체크섬 생성 방법.
  8. 제 7 항에 있어서,
    상기 소정의 필드는 다음 헤더 필드이고, 상기 제 1 메시지는 ICMP 메시지이고,
    상기 (a) 단계는 상기 다음 헤더 필드의 값 및 상기 ICMP 메시지의 타입 필드의 값을 출력하고,
    상기 (b) 단계는 상기 다음 헤더 필드의 값 및 상기 ICMP 메시지의 타입 필드의 값을 입력받으면, 상기 입력받은 다음 헤더 필드의 값 및 ICMP 메시지의 타입 필드의 값에 대응하는 차이 값을 독출하는 것을 특징으로 하는 체크섬 생성 방법.
  9. 제 7 항에 있어서,
    상기 (a) 단계 이전에, 상기 제 1 체크섬 값을 입력받으면, 상기 입력받은 제 1 체크섬 값을 저장하는 단계를 포함하는 것을 특징으로 하는 체크섬 생성 방법.
  10. 제 9 항에 있어서,
    상기 (a) 단계는 상기 소정의 필드의 값이 상기 소정의 페이로드가 상기 제 1 체크섬 값과 다른 체크섬 값을 갖는 제 2 메시지임을 나타내는 경우에는 리셋 신호를 출력하고, 상기 제 2 메시지의 체크섬 값을 계산하기 위한 데이터를 수신하고, 상기 수신된 데이터를 출력하고,
    (d) 상기 (a) 단계에서 출력된 리셋 신호를 입력받으면, 상기 (a-1) 단계에서 저장된 제 1 체크섬 값을 리셋하는 단계; 및
    (e) 상기 (a) 단계에서 출력된 데이터를 입력받고, 상기 입력받은 데이터를 상기 (d) 단계에서 리셋된 값에 가산하여, 상기 제 2 메시지의 체크섬 값인 제 3 체크섬 값을 생성하고, 상기 생성된 제 3 체크섬 값을 출력하는 단계를 포함하는 것을 특징으로 하는 체크섬 생성 방법.
  11. 제 10 항에 있어서,
    상기 소정의 필드는 다음 헤더 필드이고, 상기 제 2 메시지는 TCP 메시지 또는 UDP 메시지인 것을 특징으로 하는 체크섬 생성 방법.
  12. 제 10 항에 있어서,
    상기 (e) 단계는
    (e1) 상기 데이터에 포함된 제 1 부분 데이터를 입력받고, 상기 입력받은 제 1 데이터를 상기 리셋된 값에 가산하여 제 1 부분 체크섬 값을 생성하고, 상기 생성된 제 1 부분 체크섬 값을 피드백하고, 상기 생성된 제 1 부분 체크섬 값으로부터 자리올림이 발생한 경우에는 상기 자리올림을 피드백하는 단계;
    (e2) 상기 제 1 부분 체크섬 값을 피드백받으면, 상기 데이터에 포함된 제 2 부분 데이터를 입력받고, 상기 자리올림을 피드백받지 않은 경우에는 상기 입력받은 제 2 부분 데이터를 상기 피드백받은 제 1 부분 체크섬 값에 가산하여 제 2 부분 체크섬 값을 생성하고, 상기 자리올림을 피드백받은 경우에는 상기 입력받은 제 2 부분 데이터 및 상기 피드백받은 자리올림을 상기 피드백받은 제 1 부분 체크섬 값에 가산하여 제 2 부분 체크섬 값을 생성하는 단계; 및
    (e3) 상기 데이터 중, 상기 제 1 부분 데이터 및 상기 제 2 부분 데이터를 제외한 나머지에 대하여 상기 (e2) 단계를 반복함으로서, 상기 제 3 체크섬 값을 생성하는 단계를 포함하는 것을 특징으로 하는 체크섬 생성 방법.
  13. 제 10 항에 있어서,
    상기 (a) 단계 이전에, 소정의 데이터에 대하여 1의 보수를 취하여 상기 제 2 메시지의 체크섬 값을 계산하기 위한 데이터를 생성하는 단계; 및
    (f) 상기 제 2 체크섬 값 또는 상기 제 3 체크섬 값에 대하여 1의 보수를 취하는 단계를 포함하는 것을 특징으로 하는 체크섬 생성 방법.
  14. (a) 소정의 필드의 값이 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 2 메시지임을 나타내는 경우에는 소정의 차이 값을 상기 제 1 체크섬 값에 가산하여 상기 제 2 메시지의 체크섬 값인 제 2 체크섬 값을 생성하는 단계; 및
    (b) 상기 (a) 단계에서 생성된 제 2 체크섬 값이 기록된 체크섬 필드를 포함하는 제 2 메시지에 해당하는 제 2 페이로드를 생성하는 단계;
    (c) 상기 (b) 단계에서 생성된 제 2 페이로드에 부착되는 제 2 헤더를 생성하여, 상기 생성된 제 2 페이로드 및 상기 생성된 제 2 헤더를 포함하는 제 2 패킷을 완성하는 단계; 및
    (d) 상기 (c) 단계에서 완성된 제 2 패킷을 하위 계층 모듈로 송신하는 단계를 포함하는 것을 특징으로 하는 패킷 처리 방법.
  15. 제 14 항에 있어서,
    상기 제 2 패킷은 IP 패킷이고, 상기 소정의 필드는 다음 헤더 필드이고, 상기 제 2 메시지는 ICMP 메시지이고,
    상기 (a) 단계는 상기 ICMP 메시지의 타입 필드의 값이 에코 응답 메시지임을 나타내는 경우에는 1을 상기 제 1 체크섬 값에 가산하여 상기 제 2 체크섬 값을 생성하는 것을 특징으로 하는 패킷 처리 방법.
  16. 제 14 항에 있어서,
    상기 (a) 단계는 상기 소정의 필드의 값이 제 1 체크섬 값과 다른 체크섬 값을 갖는 제 3 메시지임을 나타내는 경우에는 상기 제 3 메시지의 체크섬 값을 계산하기 위한 데이터에 대해 체크섬 계산을 수행하여 상기 제 3 메시지의 체크섬 값인 제 3 체크섬 값을 생성하는 것을 특징으로 하는 패킷 처리 방법.
  17. 제 14 항에 있어서,
    (a-6) 상기 하위 계층 모듈로부터 제 1 패킷을 수신하는 단계;
    (a-5) 상기 (a-6) 단계에서 수신된 제 1 패킷에 포함된 제 1 헤더의 필드들의 값들을 검사하고, 상기 검사된 결과에 따라 상기 제 1 패킷을 처리함으로서 상기 제 1 패킷으로부터 제 1 페이로드를 추출하는 단계; 및
    (a-4) 상기 (a-5) 단계에서 검사된 필드들의 값들 중, 상기 소정의 필드의 값이 상기 추출된 제 1 페이로드가 제 1 메시지임을 나타내는 경우에는 상기 제 1 메시지의 포맷을 기준으로 상기 추출된 제 1 페이로드의 필드들의 값들을 검사하고, 상기 검사된 결과에 따라 상기 제 1 페이로드를 처리함으로서 상기 제 1 페이로드로부터 제 1 데이터를 추출하는 단계;
    (a-3) 상기 소정의 필드의 값이 상기 제 1 페이로드가 상기 제 1 체크섬 값을 갖는 제 1 메시지임을 나타내는 경우에는 상기 제 1 메시지의 체크섬 값을 계산하기 위한 데이터에 대해 체크섬 계산을 수행하는 단계;
    (a-2) 상기 (a-3) 단계에서 수행된 체크섬 계산의 결과 값과 상기 제 1 체크섬 값이 동일하면, 상기 추출된 제 1 데이터를 상위 계층 모듈로 송신하는 단계; 및
    (a-1) 상기 (a-2) 단계에서 송신된 제 1 데이터를 수신한 상위 계층 모듈로부터 제 2 데이터를 수신하는 단계를 포함하고,
    상기 (a) 단계는 상기 (a-1) 단계에서 수신된 제 2 데이터에 포함된, 상기 소정의 필드의 값이 상기 제 2 메시지임을 나타내는 경우에는 상기 소정의 차이 값을 상기 제 1 체크섬 값에 가산하여 상기 제 2 체크섬 값을 생성하는 것을 특징으로 하는 패킷 처리 방법.
  18. (a) 소정의 필드의 값을 수신하면, 상기 수신된 소정의 필드의 값이 소정의 페이로드가 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 1 메시지임을 나타내는 경우에는 상기 소정의 필드의 값을 출력하는 단계;
    (b) 상기 (a) 단계에서 출력된 소정의 필드의 값을 입력받으면, 상기 입력받은 소정의 필드의 값에 대응하는 차이 값을 독출하고, 상기 독출된 차이 값을 출력하는 단계; 및
    (c) 상기 (b) 단계에서 출력된 차이 값을 입력받으면, 상기 입력받은 차이 값을 상기 제 1 체크섬 값에 가산하여 상기 제 1 메시지의 체크섬 값인 제 2 체크섬 값을 생성하고, 상기 생성된 제 2 체크섬 값을 출력하는 단계를 포함하는 것을 특징으로 하는 체크섬 생성 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  19. (a) 소정의 필드의 값이 제 1 체크섬 값과 동일 또는 유사한 체크섬 값을 갖는 제 2 메시지임을 나타내는 경우에는 소정의 차이 값을 상기 제 1 체크섬 값에 가산하여 상기 제 2 메시지의 체크섬 값인 제 2 체크섬 값을 생성하는 단계; 및
    (b) 상기 (a) 단계에서 생성된 제 2 체크섬 값이 기록된 체크섬 필드를 포함하는 제 2 메시지에 해당하는 제 2 페이로드를 생성하는 단계;
    (c) 상기 (b) 단계에서 생성된 제 2 페이로드에 부착되는 제 2 헤더를 생성하여, 상기 생성된 제 2 페이로드 및 상기 생성된 제 2 헤더를 포함하는 제 2 패킷을 완성하는 단계; 및
    (d) 상기 (c) 단계에서 완성된 제 2 패킷을 하위 계층 모듈로 송신하는 단계를 포함하는 것을 특징으로 하는 패킷 처리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020030089354A 2003-12-10 2003-12-10 체크섬을 생성하는 장치 및 방법 KR20050057698A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020030089354A KR20050057698A (ko) 2003-12-10 2003-12-10 체크섬을 생성하는 장치 및 방법
US11/008,163 US20050149823A1 (en) 2003-12-10 2004-12-10 Apparatus and method for generating checksum

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030089354A KR20050057698A (ko) 2003-12-10 2003-12-10 체크섬을 생성하는 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20050057698A true KR20050057698A (ko) 2005-06-16

Family

ID=34709220

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030089354A KR20050057698A (ko) 2003-12-10 2003-12-10 체크섬을 생성하는 장치 및 방법

Country Status (2)

Country Link
US (1) US20050149823A1 (ko)
KR (1) KR20050057698A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100666997B1 (ko) * 2006-01-26 2007-01-10 삼성전자주식회사 고속 체크섬 처리 장치 및 방법
KR100928891B1 (ko) * 2007-12-10 2009-11-30 한국전자통신연구원 네트워크 장치에서의 패킷 변환 방법

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472332B2 (en) * 2005-07-26 2008-12-30 International Business Machines Corporation Method for the reliability of host data stored on fibre channel attached storage subsystems
DE102005040889A1 (de) * 2005-08-29 2007-03-15 Siemens Ag Verfahren und Anordnung zum sicheren Übertragen von Daten in einem ein Mehrsprungverfahren nutzenden Kommunikationssystem
US7779330B1 (en) * 2005-11-15 2010-08-17 Marvell International Ltd. Method and apparatus for computing checksum of packets
US20070121638A1 (en) * 2005-11-30 2007-05-31 Szczebak Edward J Jr Method and system of communicating superframe data
JP2007172008A (ja) * 2005-12-19 2007-07-05 Sony Corp 情報処理システム、受信装置、およびプログラム
WO2007120439A2 (en) * 2006-04-14 2007-10-25 Raytheon Company Data storing
US7739663B2 (en) * 2006-05-16 2010-06-15 International Business Machines Corporation Method, system and program product for validating a runtime environment
US8958562B2 (en) * 2007-01-16 2015-02-17 Voltage Security, Inc. Format-preserving cryptographic systems
GB2512267B (en) * 2012-10-30 2015-09-16 Openwave Mobility Inc Determination of information relating to messages
US9436434B2 (en) * 2014-03-14 2016-09-06 International Business Machines Corporation Checksum adder
US10015048B2 (en) 2014-12-27 2018-07-03 Intel Corporation Programmable protocol parser for NIC classification and queue assignments
US9825862B2 (en) 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction
US9826071B2 (en) 2015-08-26 2017-11-21 Barefoot Networks, Inc. Configuring a switch for extracting packet header fields
US9912774B2 (en) 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
WO2018069550A1 (en) * 2016-10-14 2018-04-19 Auro Technologies Recording and playback devices with avoidance of missynchronisation by scrambling a payload with a modified payload checksum
CN108270502B (zh) * 2017-01-03 2020-11-06 中兴通讯股份有限公司 一种基于ntp的传输时间戳处理方法及装置
US11223520B1 (en) 2017-01-31 2022-01-11 Intel Corporation Remote control plane directing data plane configurator
US10757028B1 (en) 2017-04-23 2020-08-25 Barefoot Networks, Inc. Configurable forwarding element deparser
US10826840B1 (en) 2017-07-23 2020-11-03 Barefoot Networks, Inc. Multiple copies of stateful tables
US10771387B1 (en) 2017-09-28 2020-09-08 Barefoot Networks, Inc. Multiple packet data container types for a processing pipeline
US10749674B2 (en) 2017-09-29 2020-08-18 Micro Focus Llc Format preserving encryption utilizing a key version
CN112612720A (zh) * 2020-12-31 2021-04-06 中国农业银行股份有限公司 一种属性校验方法、装置、设备及介质

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3785211T2 (de) * 1987-10-30 1993-10-07 Ibm Mittel für Datenintegritätssicherung.
US5121396A (en) * 1988-10-27 1992-06-09 International Business Machines Corp. Preservation of crc integrity upon intentional data alteration during message transmission
US5428629A (en) * 1990-11-01 1995-06-27 Motorola, Inc. Error check code recomputation method time independent of message length
DE69124743T2 (de) * 1991-11-29 1997-08-14 Ibm Vorrichtung zur Speicherung und Durchschaltung und Verfahren zur Datensicherung während der Speicherung
US5251215A (en) * 1992-01-13 1993-10-05 At&T Bell Laboratories Modifying check codes in data packet transmission
GB9213272D0 (en) * 1992-06-23 1992-08-05 Digital Equipment Int Check sequence preservation
GB9312135D0 (en) * 1993-06-11 1993-07-28 Inmos Ltd Generation of checking data
EP0681381A1 (en) * 1994-05-06 1995-11-08 International Business Machines Corporation Method and apparatus for modifying frame check sequences in intermediate high speed network nodes
EP0735711A1 (en) * 1995-03-31 1996-10-02 International Business Machines Corporation Method and apparatus for modifying a frame check sequence (FCS)
US5663952A (en) * 1995-07-07 1997-09-02 Sun Microsystems, Inc. Checksum generation circuit and method
US5701316A (en) * 1995-08-31 1997-12-23 Unisys Corporation Method for generating an internet protocol suite checksum in a single macro instruction
US5815516A (en) * 1996-04-05 1998-09-29 International Business Machines Corporation Method and apparatus for producing transmission control protocol checksums using internet protocol fragmentation
US6038694A (en) * 1997-03-24 2000-03-14 Cisco Systems, Inc. Encoder for producing a checksum associated with changes to a frame in asynchronous transfer mode systems
US5935268A (en) * 1997-06-03 1999-08-10 Bay Networks, Inc. Method and apparatus for generating an error detection code for a modified data packet derived from an original data packet
US5912909A (en) * 1997-10-14 1999-06-15 Ncr Corporation Method and apparatus for efficient implementation of checksum calculations
US6223320B1 (en) * 1998-02-10 2001-04-24 International Business Machines Corporation Efficient CRC generation utilizing parallel table lookup operations
US6269374B1 (en) * 1998-05-26 2001-07-31 International Business Machines Corporation Method and apparatus for updating checksums of data structures
GB2338156B (en) * 1998-06-05 2003-01-15 3Com Technologies Ltd Data packet transmission
EP0987918B1 (en) * 1998-09-16 2010-11-03 International Business Machines Corporation Method and apparatus for generating and checking a data check field
US6128760A (en) * 1998-10-13 2000-10-03 Lsi Logic Corporation Method and apparatus for calculating a CRC remainder
US6279140B1 (en) * 1999-01-07 2001-08-21 International Business Machines Corporation Method and apparatus for checksum verification with receive packet processing
US6412092B1 (en) * 1999-04-14 2002-06-25 Hewlett-Packard Company Method and apparatus to reduce the cost of preparing the checksum for out bound data in network communication protocols by caching
US6530061B1 (en) * 1999-12-23 2003-03-04 Intel Corporation Method and apparatus for offloading checksum
US7016351B1 (en) * 2000-02-29 2006-03-21 Cisco Technology, Inc. Small group multicast in a computer network
US6601216B1 (en) * 2000-03-31 2003-07-29 Microsoft Corporation Differential cyclic redundancy check
US6609226B1 (en) * 2000-04-10 2003-08-19 Nortel Networks Limited Networking device and method for making cyclic redundancy check (CRC) immune to scrambler error duplication
US6571291B1 (en) * 2000-05-01 2003-05-27 Advanced Micro Devices, Inc. Apparatus and method for validating and updating an IP checksum in a network switching system
US6802038B1 (en) * 2000-12-30 2004-10-05 Arraycomm, Inc. Cyclic redundancy check computation algorithm
US20030097481A1 (en) * 2001-03-01 2003-05-22 Richter Roger K. Method and system for performing packet integrity operations using a data movement engine
US6944168B2 (en) * 2001-05-04 2005-09-13 Slt Logic Llc System and method for providing transformation of multi-protocol packets in a data stream
US7194766B2 (en) * 2001-06-12 2007-03-20 Corrent Corporation Method and system for high-speed processing IPSec security protocol packets
US6728930B2 (en) * 2001-07-13 2004-04-27 Cirticom Corp. Method for computing the internet checksum
US6904558B2 (en) * 2002-02-22 2005-06-07 Agilent Technologies, Inc. Methods for computing the CRC of a message from the incremental CRCs of composite sub-messages
US7458006B2 (en) * 2002-02-22 2008-11-25 Avago Technologies General Ip (Singapore) Pte. Ltd. Methods for computing the CRC of a message from the incremental CRCs of composite sub-messages
US7336621B2 (en) * 2002-10-25 2008-02-26 General Instrument Corporation Method and apparatus for testing an IP network
KR100657260B1 (ko) * 2002-12-02 2006-12-14 삼성전자주식회사 방송 테이블 변경 판단 방법
US7243289B1 (en) * 2003-01-25 2007-07-10 Novell, Inc. Method and system for efficiently computing cyclic redundancy checks
US7418645B2 (en) * 2003-09-24 2008-08-26 Hitachi Global Storage Technologies Netherlands B.V. Error correction/detection code adjustment for known data pattern substitution
US7168024B2 (en) * 2003-10-03 2007-01-23 Jennic Limited Data processing system and method
US7441179B2 (en) * 2003-10-23 2008-10-21 Intel Corporation Determining a checksum from packet data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100666997B1 (ko) * 2006-01-26 2007-01-10 삼성전자주식회사 고속 체크섬 처리 장치 및 방법
KR100928891B1 (ko) * 2007-12-10 2009-11-30 한국전자통신연구원 네트워크 장치에서의 패킷 변환 방법

Also Published As

Publication number Publication date
US20050149823A1 (en) 2005-07-07

Similar Documents

Publication Publication Date Title
KR20050057698A (ko) 체크섬을 생성하는 장치 및 방법
US7356039B1 (en) Method and apparatus for describing multiple packets to hardware
US7320102B2 (en) Network processor having cyclic redundancy check implemented in hardware
US20060050737A1 (en) System and method for checking validity of data transmission
US7453879B1 (en) Method and apparatus for determining the landing zone of a TCP packet
CN111585834B (zh) 一种网络信息的存储方法和装置
US8095677B1 (en) Configuration rule generation with compressed address sets
WO2002005485A2 (en) Apparatus and method for efficient hashing in networks
EP3065323B1 (en) Transmission method and device based on management data input/output multi-source agreements
US20070282932A1 (en) Bus inverting code generating apparatus and method of generating bus inverting code using the same
EP1695218B1 (en) Checksum generation apparatus and method thereof
CN117155782A (zh) 一种自动解析通信参数的方法
CN112612638A (zh) 基于usb3.2协议16比特循环冗余校验的硬件实现方法
US7134070B2 (en) Checksum determination
Sutter et al. Fpga-based tcp/ip checksum offloading engine for 100 gbps networks
CN112491554B (zh) 一种信息隐藏方法、装置,ip主机以及网络节点
CN112312396B (zh) 一种NoC追踪数据的生成方法及相关装置
CN108599907B (zh) 网络接口控制器
US6671734B1 (en) IP fragment-processing apparatus, method and computer program
CN110266560B (zh) 一种通信测试方法、装置、存储介质及电子设备
KR100666997B1 (ko) 고속 체크섬 처리 장치 및 방법
US20040025108A1 (en) One's complement pipelined checksum
CN111865884A (zh) 一种报文处理方法、装置及设备
Hong et al. The analysis and verification of IPv4/IPv6 protocol conversion by petri nets
CN117540071B (zh) 一种针对查找引擎的属性表项的配置方法和装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid