KR100666997B1 - 고속 체크섬 처리 장치 및 방법 - Google Patents

고속 체크섬 처리 장치 및 방법 Download PDF

Info

Publication number
KR100666997B1
KR100666997B1 KR1020060008587A KR20060008587A KR100666997B1 KR 100666997 B1 KR100666997 B1 KR 100666997B1 KR 1020060008587 A KR1020060008587 A KR 1020060008587A KR 20060008587 A KR20060008587 A KR 20060008587A KR 100666997 B1 KR100666997 B1 KR 100666997B1
Authority
KR
South Korea
Prior art keywords
checksum
header
packet
area
user data
Prior art date
Application number
KR1020060008587A
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 KR1020060008587A priority Critical patent/KR100666997B1/ko
Application granted granted Critical
Publication of KR100666997B1 publication Critical patent/KR100666997B1/ko

Links

Images

Classifications

    • 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/22Parsing or analysis of headers
    • 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
    • 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]

Abstract

본 발명에 따른 고속 체크섬 처리 장치는 의사 헤더 체크섬 값을 저장하는 의사 헤더 체크섬 저장부; 네트워크를 통해 수신되는 패킷이 적어도 하나 이상으로 분할되어 전송되는 패킷 중 제 1 패킷인지를 판단하는 패킷 판단부; 상기 패킷 판단부를 통해 제 1 패킷의 의사 헤더 체크섬만 생성하고 그 의사 헤더 체크섬 값을 상기 의사 헤더 체크섬 저장부에 저장하는 헤더 체크섬 생성부; 네트워크를 통해 수신되는 패킷의 헤더 영역과 사용자 데이터 영역을 분리하는 헤더/데이터 분리부; 및 상기 헤더/데이터 분리부로부터 분리된 헤더 영역의 체크섬과 사용자 데이터영역의 체크섬을 각각 계산하고 그 계산된 헤더 영역 및 사용자 데이터 영역의 체크섬을 상기 의사 헤더 체크섬 저장부에 저장된 의사 헤더의 체크섬과 더한 후 1의 보수로 변환하여 최종 체크섬을 계산하는 체크섬 처리부를 포함하는 것으로 체크섬 계산 시 최초 제 1 패킷의 체크섬을 계산할 때만 의사헤더 영역의 체크섬을 계산하여 그 의사헤더의 체크섬 값을 저장하고, 이후 수신되는 패킷은 의사헤더를 생성하거나 계산하지 않고 저장된 의사헤더의 체크섬 값을 읽어들여 패킷의 체크섬을 계산함으로써, 체크섬의 처리 성능을 향상시켜주는 것이다.

Description

고속 체크섬 처리 장치 및 방법{Apparatus and method for processing checksum}
도 1a는 TCP의 세그먼트 구조를 나타낸 도면.
도 1b는 UDP의 데이터그램의 구조를 나타낸 도면.
도 1c는 TCP/UDP의 체크섬을 계산하기 위해 생성되는 IPv4의 의사헤더를 나타낸 도면.
도 1d는 TCP/UDP의 체크섬을 계산하기 위해 생성되는 IPv6의 의사헤더를 나타낸 도면.
도 2는 본 발명에 따른 고속 체크섬 처리 장치의 구성을 나타낸 기능블록도.
도 3은 본 발명에 따른 고속 체크섬 처리 방법을 나타낸 순서도이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 패킷 판단부 200 : 의사 헤더 체크섬 생성부
300 : 의사 헤더 체크섬 저장부 400 : 헤더/데이터 분리부
500 : 체크섬 처리부 510 : 헤더 체크섬 계산부
520 : 데이터 체크섬 계산부 530 : 체크섬 가산부
540 : 1의 보수부 550 : 체크섬 비교/삽입부
본 발명은 고속 체크섬 처리 장치 및 방법에 관한 것이다.
일반적으로 네트워크를 통한 정보 단말 사이에는 전송 제어 프로토콜과 인터넷 프로토콜을 이용해서 사용자 데이터를 전송한다.
또한 대부분의 전송 제어 프로토콜로는 TCP(Transmission Control Protocol/Internet Protocol)와 UDP(User Datagram Protocol)가 사용되어지고 있고, 인터넷 프로토콜로는 IPv4와 IPv6가 사용되어지고 있다.
그리고 현재까지 이러한 프로토콜들의 구현은 소프트웨어를 이용하여 처리하였으나, 네트워크를 통한 사용자 데이터의 속도와 량이 폭발적으로 증가하고 실시간성의 요구가 증가함에 따라 소프트웨어를 이용한 전송은 보다 빠르고 강력한 프로세스를 필요로 하게 되고 프로토콜 처리에 따른 시간 지연으로 인해 사용자의 요구를 만족시키기가 어려워지고 있다.
전송 제어 프로토콜을 처리하는 데에 있어서 가장 많은 부하를 차지하는 부분은 체크섬 계산이다.
이러한 문제를 해결하기 위해서 전송 제어 프로토콜과 인터넷 프로토콜을 고속으로 처리하고 지연시간을 감소시키는 하드웨어 처리장치가 소개되었다.
도 1a는 TCP 세그멘트의 구조를 도시하였으며, TCP 세그멘트는 TCP헤더와 사용자 데이터 필드로 나누어지고, TCP 세그멘트의 유효성을 나타내기 위하여 TCP 헤드 내에 체크섬을 표시한다.
도 1b는 UDP 데이터그램의 구조를 도시하였으며, UDP 데이터그램 또한 TCP와 동일하게 헤더 필드와 사용자 데이터 필드로 구분되며, 헤드 내에 체크섬을 표시한다.
TCP와 UDP의 체크섬은 16비트의 길이를 가지고 있고 이 체크섬을 계산하는 방법은 헤더와 사용자 데이터 필드에 있는 모든 데이터를 16비트 길이인 워드들로 나눈 다음 나눈 결과가 홀수면 값이 0인 바이트를 추가하여 1의 보수 방법을 이용하여 모두 더하여 나온 결과에 대해서 다시 1의 보수를 취하여 체크섬을 계산한다. 이 때, 헤더필드내의 체크섬 영역 자체는 0인 값을 채워서 체크섬을 계산한다.
상기에서와 같이 TCP나 UDP의 체크섬을 계산할 때에는 TCP 세그멘트 또는 UDP 데이터그램에 의사헤더라는 것을 추가하여 체크섬을 계산한다.
여기서, 의사헤더란 도 1c 또는 도 1d에 도시된 바와 같이 발신자 IP 주소, 수신자 IP 주소, 제로, 프로토콜 종류, 그리고 데이터 길이로 구성된다.
상기 의사헤더는 인터넷 프로토콜 버전에 따라 의사헤더의 길이가 달라진다.
여기서, 종래의 체크섬을 계산하는 장치는 TCP 세그멘트 또는 UDP 데이터그램을 수신하는 수신처리부와 각 영역별 체크섬을 처리하는 체크섬 처리부와 구해진 체크섬을 헤더의 체크섬 영역에 삽입하는 체크섬 삽입부로 구성되어 있다.
이러한 구성으로 이루어진 체크섬을 계산하는 장치의 체크섬 계산방법은 수신처리부에서 수신된 패킷의 헤더 영역과 사용자 데이터 영역으로 분리하고, 의사헤더를 새롭게 생성한다.
이어서, 체크섬 처리부는 수신처리부에서 각각의 영역별로 분리되고 생성된 영역별로 독립된 체크섬을 계산하고 이 후 각 영역의 체크섬들을 모두 더한 후에 1의 보수로 변환하여 최종 체크섬을 계산한다.
이 후, 체크섬 삽입부는 체크섬 처리부에서 구한 체크섬을 헤더내의 체크섬 영역에 삽입하여 비교함으로써 체크섬 과정을 종료한다.
따라서, 종래의 체크섬을 계산하는 장치는 TCP 세그멘트 또는 UDP 데이터그램의 체크섬 계산 시 패킷마다 의사헤더를 생성해야 하고, 생성된 의사헤더, 자체 헤더, 그리고 사용자 데이터 영역의 체크섬 값을 각각 계산해야 한다.
한편, 수신되는 패킷의 체크섬을 계산함에 있어서, 매번 새롭게 생성해야하는 의사헤더는 고정된 길이를 가지며, 의사헤더 내에서 발신자 주소, 제로, 프로토콜은 항상 고정된 값을 가진다.
따라서, 종래의 체크섬을 계산하는 장치는 고정된 값으로 이루어진 의사헤더를 패킷의 체크섬을 계산할 때마다 생산하여 계산함으로써 체크섬을 계산하는 장치의 연산량을 증가되어 시스템에 부하를 가중시키는 문제점이 있었다.
여기서, IPv6를 이용한 TCP 또는 UDP의 경우에 의사헤더내의 고정된 영역의 길이는 전체 의사헤더 길이의 절반으로 전체 의사헤더 체크섬 계산에 필요한 계산 량이 실제 필요한 계산 량의 2 배가되기 때문에 체크섬 계산에 필요한 계산 량이 증가하고 TCP 또는 UDP 패킷의 처리 성능이 저하되는 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 체크섬 계산 시 최초 제 1 패킷의 체크섬을 계산할 때만 의사헤더 영역의 체크섬을 계산하여 그 의사헤더의 체크섬 값을 저장하고, 이후 수신되는 패킷은 의사헤더를 생성하거나 계산하지 않고 저장된 의사헤더의 체크섬 값을 읽어들여 패킷의 체크섬을 계산함으로써, 체크섬 계산에 필요한 시간을 단축시키고, 가변적인 사용자 데이터의 체크섬 계산에 필요한 시간을 단축시키는 고속 체크섬 처리 장치 및 방법을 제공하는 데 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 고속 체크섬 처리 장치의 일 측면에 따르면, 의사 헤더 체크섬 값을 저장하는 의사 헤더 체크섬 저장부; 네트워크를 통해 수신되는 패킷이 적어도 하나 이상으로 분할되어 전송되는 패킷 중 제 1 패킷인지를 판단하는 패킷 판단부; 상기 패킷 판단부를 통해 제 1 패킷의 의사 헤더 체크섬만 생성하고 그 의사 헤더 체크섬 값을 상기 의사 헤더 체크섬 저장부에 저장하는 헤더 체크섬 생성부; 수신되는 패킷의 헤더 영역과 사용자 데이터 영역을 분리하는 헤더/데이터 분리부; 및 상기 헤더/데이터 분리부로부터 분리된 헤더 영 역의 체크섬과 사용자 데이터영역의 체크섬을 각각 계산하고 그 계산된 헤더 영역 및 사용자 데이터 영역의 체크섬을 상기 의사 헤더 체크섬 저장부에 저장된 의사 헤더의 체크섬과 더한 후 1의 보수로 변환하여 최종 체크섬을 계산하는 체크섬 처리부를 포함한다.
여기서, 상기 체크섬 처리부는 데이터의 체크섬을 계산하는 적어도 하나 이상의 데이터 체크섬 계산부를 포함하고 있으며, 상기 데이터 체크섬 계산부는 16비트의 단위로 체크섬이 계산된다.
그리고, 상기 헤더/데이터 분리부는 사용자 데이터 영역 분리시 16비트 단위로 분리한다.
본 발명에 따른 고속 체크섬 처리 방법의 일 측면에 따르면, 수신되는 패킷이 제 1 패킷인지를 판단하는 단계; 상기 판단 단계에서 제 1 패킷이면, 그 패킷의 의사 헤더 체크섬만 생성한 후 저장하는 단계; 수신되는 패킷의 헤더 영역과 사용자 데이터 영역을 분리하는 단계; 및 분리된 헤더 영역의 체크섬과 사용자 데이터영역의 체크섬을 각각 계산하고 그 계산된 헤더 영역, 및 사용자 데이터 영역의 체크섬을 저장된 의사 헤더의 체크섬과 더한 후 1의 보수로 변환하여 최종 체크섬을 계산하는 단계를 포함한다. 여기서, 상기 수신되는 패킷의 헤더 영역과 사용자 데이터 영역을 분리하는 단계는, 사용자 데이터 영역을 16비트의 단위로 분리시킨다.
한편, 상기 판단 단계에서 제 1 패킷이 아니면, 수신되는 패킷의 헤더 영역 과 사용자 데이터 영역을 분리하는 단계; 및 분리된 헤더 영역의 체크섬과 사용자 데이터영역의 체크섬을 각각 계산하고 그 계산된 헤더 영역, 및 사용자 데이터 영역의 체크섬을 기 저장된 의사 헤더의 체크섬과 더한 후 1의 보수로 변환하여 최종 체크섬을 계산하는 단계를 포함한다.
이하, 본 발명에 따른 고속 체크섬 처리 장치 및 방법에 대한 바람직한 실시예에 대하여 첨부한 도면을 참조하여 상세하게 살펴보기로 한다. 이 때, 아래에서 설명하는 시스템 구성은 본 발명의 설명을 위해서 인용한 시스템으로써 아래 시스템으로 본 발명을 한정하지 않음을 이 분야의 통상의 지식을 가진 자라면 이해해야할 것이다.
도 2는 본 발명에 따른 고속 체크섬 처리 장치의 구성을 나타낸 도면으로서, 본 발명에 따른 고속 체크섬 처리 장치는 패킷 판단부(100), 헤더 체크섬 생성부(200), 의사 헤더 체크섬 저장부(300), 헤더/데이터 분리부(400) 및 체크섬 처리부(500)를 포함한다.
상기 의사 헤더 체크섬 저장부(300)는 의사 헤더 체크섬 값을 저장한다.
그리고, 상기 패킷 판단부(100)는 네트워크를 통해 수신되는 패킷이 제 1 패킷인지를 판단하며, 그 네트워크를 통해 수신된 패킷이 적어도 하나 이상으로 분할되어 전송되는 패킷 중 제 1 패킷이면 상기 의사 헤더 체크섬 생성부(200)로 패킷을 전달하는 한편, 수신된 패킷이 제 1 패킷이 아니면 상기 헤더/데이터 분리부(400)로 전달한다. 여기서, 상기 제 1 패킷은 적어도 하나 이상으로 분할된 패 킷 중 첫 번째로 수신되는 패킷일 수도 있고, 분할된 첫 번째 시퀀스 번호를 갖는 패킷일 수도 있다.
상기 헤더 체크섬 생성부(200)는 상기 패킷 판단부(100)를 통해 제 1 패킷의 의사 헤더 체크섬만 생성하고 그 의사 헤더 체크섬 값을 상기 의사 헤더 체크섬 저장부(300)에 저장한다.
그리고, 상기 헤더/데이터 분리부(400)는 수신되는 패킷의 헤더 영역과 사용자 데이터 영역을 분리한다. 이 때, 상기 헤더/데이터 분리부(400)는 사용자 데이터 영역 분리시 16비트 단위로 분리한다.
상기 체크섬 처리부(500)는 상기 헤더/데이터 분리부(400)로부터 분리된 헤더 영역의 체크섬과 사용자 데이터영역의 체크섬을 각각 계산하고 그 계산된 헤더 영역 및 사용자 데이터 영역의 체크섬을 상기 의사 헤더 체크섬 저장부(300)에 저장된 의사 헤더의 체크섬과 더한 후 1의 보수로 변환하여 최종 체크섬을 계산하며, 헤더 체크섬 계산부(510), 적어도 하나 이상의 데이터 체크섬 계산부(520), 체크섬 가산부(530), 및 1의 보수기(540)를 포함하고 있다.
여기서, 상기 체크섬 처리부(500)의 헤더 체크섬 계산부(510)는 상기 헤더/데이터 분리부(400)를 통해 분리된 헤더 영역의 체크섬을 계산한다.
그리고, 상기 체크섬 처리부(500)의 적어도 하나 이상의 데이터 체크섬 계산부(520)는 상기 헤더/데이터 분리부(400)를 통해 16비트 단위로 분할된 각각의 사용자 데이터 영역의 체크섬을 각가 계산한다.
이어서, 상기 체크섬 처리부(500)의 체크섬 가산부(530)는 상기 의사 헤더 체크섬 저장부에 저장된 의사 헤더 체크섬을 읽어들여 상기 헤더 체크섬 계산부(510)를 통해 계산된 헤더 체크섬과, 상기 데이터 체크섬 계산부(520)를 통해 계산된 사용자 데이터 체크섬을 더하여 상기 1의 보수부로 전달한다.
그러면, 상기 1의 보수부는 상기 체크섬 가산부(530)를 통해 더해진 패킷의 체크섬에 1의 보수로 변환하여 최종 패킷의 체크섬을 계산한다.
상기한 각 구성들에 대한 일반적인 기능 및 각각의 상세한 동작에 대하여는 그 설명을 생략하고, 본 발명에 상응하는 동작 위주로 설명하기로 한다.
먼저, 상기 패킷 판단부(100)는 외부 단말기 또는 IP 네트워크를 통해 수신되는 패킷이 제 1 패킷인지를 판단한다.
만약, 네트워크를 통해 수신된 패킷이 제 1 패킷이면 상기 패킷 판단부(100)는 상기 의사 헤더 체크섬 생성부(200)와 헤더/데이터 분리부(400)로 수신된 패킷을 각각 전달한다.
그러면, 제 1 패킷을 전달받은 상기 헤더 체크섬 생성부(200)는 상기 패킷 판단부(100)를 통해 제 1 패킷의 의사 헤더 체크섬만 생성하고 그 의사 헤더 체크섬 값을 상기 의사 헤더 체크섬 저장부(300)에 저장한다.
한편, 수신된 패킷을 전달받은 헤더/데이터 분리부(400)는 수신된 패킷의 헤더 영역과 사용자 데이터 영역을 분리하여 상기 체크섬 처리부(500)로 전달한다. 이 때, 상기 헤더/데이터 분리부(400)는 사용자 데이터 영역 분리시 16비트 단위로 분리한다.
그러면, 상기 체크섬 처리부(500)는 상기 헤더/데이터 분리부(400)로부터 분리된 헤더 영역의 체크섬과 사용자 데이터영역의 체크섬을 각각 계산하고 그 계산된 헤더 영역 및 사용자 데이터 영역의 체크섬을 상기 의사 헤더 체크섬 저장부(300)에 저장된 의사 헤더의 체크섬과 더한 후 1의 보수로 변환하여 최종 체크섬을 계산한다. 이 때, 상기 체크섬 처리부(500)는 데이터의 체크섬을 계산하는 적어도 하나 이상의 데이터 체크섬 계산부(520)를 포함하고 있으며, 16비트의 단위로 체크섬이 계산한다.
한편, 네트워크를 통해 수신된 패킷이 제 1 패킷이 아니면 상기 패킷 판단부(100)는 상기 헤더/데이터 분리부(400)로 패킷을 전달한다.
이어서, 수신된 패킷을 전달받은 상기 헤더/데이터 분리부(400)는 수신된 패킷의 헤더 영역과 사용자 데이터 영역을 분리하여 상기 체크섬 처리부(500)로 전달한다. 이 때, 상기 헤더/데이터 분리부(400)는 사용자 데이터 영역을 16비트 단위로 분리한다.
그러면, 상기 체크섬 처리부(500)는 상기 헤더/데이터 분리부(400)로부터 분리된 헤더 영역의 체크섬과 사용자 데이터영역의 체크섬을 각각 계산하고 그 계산된 헤더 영역 및 사용자 데이터 영역의 체크섬을 상기 의사 헤더 체크섬 저장부(300)에 저장된 의사 헤더의 체크섬과 더한 후 1의 보수로 변환하여 최종 체크섬을 계산한다. 이 때, 상기 체크섬 처리부(500)는 데이터의 체크섬을 계산하는 적어도 하나 이상의 데이터 체크섬 계산부(520)를 포함하고 있으며, 16비트의 단위로 체크섬이 계산한다.
그러면, 상기와 같은 구성을 가지는 본 발명에 따른 고속 체크섬 처리 방법에 대해 도 3을 참조하여 설명하기로 한다.
먼저, 네트워크를 통해 수신되는 패킷이 제 1 패킷인지를 판단한다(S1).
이 때, 상기 판단 단계(S1)에서 상기 네트워크를 통해 수신되는 패킷이 제 1 패킷이면(YES), 패킷의 의사 헤더 체크섬을 생성한 후 저장한다(S2).
이어서, 네트워크를 통해 수신되는 패킷의 헤더 영역과 사용자 데이터 영역을 분리한다(S3). 이 때, 상기 단계(S3)는 사용자 데이터 영역을 16비트의 단위로 분리시킨다.
그리고, 분리된 헤더 영역의 체크섬과 사용자 데이터영역의 체크섬을 각각 계산하고 그 계산된 헤더 영역, 및 사용자 데이터 영역의 체크섬을 저장된 의사 헤더의 체크섬과 더한 후 1의 보수로 변환하여 최종 체크섬을 계산한다(S4).
한편, 상기 판단 단계(S1)에서 네트워크를 통해 수신된 패킷이 제 1 패킷이 아니면(NO), 수신되는 패킷의 헤더 영역과 사용자 데이터 영역을 분리한다(S5). 이 때, 상기 단계(S5)는 사용자 데이터 영역을 16비트의 단위로 분리시킨다.
이어서, 분리된 헤더 영역의 체크섬과 사용자 데이터영역의 체크섬을 각각 계산하고 그 계산된 헤더 영역, 및 사용자 데이터 영역의 체크섬을 기 저장된 의사 헤더의 체크섬과 더한 후 1의 보수로 변환하여 최종 체크섬을 계산한다(S6).
이상에서 본 발명은 기재된 구체적인 실시예에 대해서만 상세히 설명하였지만 본 발명의 기술 사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 특허청구범위에 속함은 당연한 것이다.
상술한 바와 같이 본 발명에 의한 고속 체크섬 처리 장치 및 방법에 의하면, 체크섬 계산 시 최초 제 1 패킷의 체크섬을 계산할 때만 의사헤더 영역의 체크섬을 계산하여 그 의사헤더의 체크섬 값을 저장하고, 이후 수신되는 패킷은 의사헤더를 생성하거나 계산하지 않고 저장된 의사헤더의 체크섬 값을 읽어들여 패킷의 체크섬을 계산함으로써, 체크섬의 처리 성능을 향상시켜주는 뛰어난 효과가 있다.
또한, 사용자 데이터 영역을 체크섬의 비트와 동일하게 함으로써 각 사용자 데이터 영역을 계산한 후 더함으로써, 적은 계산 량으로도 사용자 데이터 영역의 체크섬 값을 빠르게 계산할 수 있을 뿐만 아니라, 사용자 데이터 영역의 체크섬을 계산하는데 걸리는 시간 또한 획기적으로 단축할 수 있는 또 다른 뛰어난 효과가 있다.

Claims (11)

  1. 패킷의 체크섬 검사 장치에 있어서,
    의사 헤더 체크섬 값을 저장하는 의사 헤더 체크섬 저장부;
    네트워크를 통해 수신되는 패킷이 적어도 하나 이상으로 분할되어 전송되는 패킷 중 제 1 패킷인지를 판단하는 패킷 판단부;
    상기 패킷 판단부를 통해 제 1 패킷의 의사 헤더 체크섬만 생성하고 그 의사 헤더 체크섬 값을 상기 의사 헤더 체크섬 저장부에 저장하는 헤더 체크섬 생성부;
    네트워크를 통해 수신되는 패킷의 헤더 영역과 사용자 데이터 영역을 분리하는 헤더/데이터 분리부; 및
    상기 헤더/데이터 분리부로부터 분리된 헤더 영역의 체크섬과 사용자 데이터영역의 체크섬을 각각 계산하고 그 계산된 헤더 영역 및 사용자 데이터 영역의 체크섬을 상기 의사 헤더 체크섬 저장부에 저장된 의사 헤더의 체크섬과 더한 후 1의 보수로 변환하여 최종 체크섬을 계산하는 체크섬 처리부를 포함하는 고속 체크섬 처리 장치.
  2. 제 1항에 있어서,
    상기 체크섬 처리부는
    데이터의 체크섬을 계산하는 적어도 하나 이상의 데이터 체크섬 계산부를 포 함하는 고속 체크섬 처리 장치.
  3. 제 2항에 있어서,
    상기 데이터 체크섬 계산부는,
    16비트의 단위로 체크섬이 계산되는 것을 특징으로 하는 고속 체크섬 처리 장치.
  4. 제 1항에 있어서,
    상기 헤더/데이터 분리부는,
    사용자 데이터 영역 분리 시 16비트 단위로 분리하는 것을 특징으로 하는 고속 체크섬 처리 장치.
  5. 제 1항에 있어서,
    상기 제 1 패킷은,
    적어도 하나 이상으로 분할하여 전송하는 패킷 중 첫 번째로 수신되는 패킷인 것을 특징으로 하는 고속 체크섬 처리 장치.
  6. 제 1항에 있어서,
    상기 제 1 패킷은,
    적어도 하나 이상으로 분할하여 전송하는 패킷 중 첫 번째 시퀀스 번호를 갖는 패킷인 것을 특징으로 하는 고속 체크섬 처리 장치.
  7. 체크섬 처리 방법에 있어서,
    네트워크를 통해 수신되는 패킷이 제 1 패킷인지를 판단하는 단계;
    상기 판단 단계에서 네트워크를 통해 수신된 패킷이 제 1 패킷이면, 그 패킷의 의사 헤더 체크섬을 생성한 후 저장하는 단계;
    네트워크를 통해 수신되는 패킷의 헤더 영역과 사용자 데이터 영역을 분리하는 단계; 및
    분리된 헤더 영역의 체크섬과 사용자 데이터영역의 체크섬을 각각 계산하고 그 계산된 헤더 영역, 및 사용자 데이터 영역의 체크섬을 저장된 의사 헤더의 체크섬과 더한 후 1의 보수로 변환하여 최종 체크섬을 계산하는 단계를 포함하는 고속 체크섬 처리 방법.
  8. 제 7항에 있어서,
    상기 판단 단계에서 제 1 패킷이 아니면, 수신되는 패킷의 헤더 영역과 사용자 데이터 영역을 분리하는 단계; 및
    분리된 헤더 영역의 체크섬과 사용자 데이터영역의 체크섬을 각각 계산하고 그 계산된 헤더 영역, 및 사용자 데이터 영역의 체크섬을 기 저장된 의사 헤더의 체크섬과 더한 후 1의 보수로 변환하여 최종 체크섬을 계산하는 단계를 포함하는 고속 체크섬 처리 방법.
  9. 제 7항에 있어서,
    상기 수신되는 패킷의 헤더 영역과 사용자 데이터 영역을 분리하는 단계는,
    사용자 데이터 영역을 16비트의 단위로 분리시키는 것을 특징으로 하는 고속 체크섬 처리 방법.
  10. 제 7항에 있어서,
    상기 제 1 패킷은,
    적어도 하나 이상으로 분할하여 전송하는 패킷 중 첫 번째로 수신되는 패킷인 것을 특징으로 하는 고속 체크섬 처리 방법.
  11. 제 7항에 있어서,
    상기 제 1 패킷은,
    적어도 하나 이상으로 분할하여 전송하는 패킷 중 첫 번째 시퀀스 번호를 갖는 패킷인 것을 특징으로 하는 고속 체크섬 처리 방법.
KR1020060008587A 2006-01-26 2006-01-26 고속 체크섬 처리 장치 및 방법 KR100666997B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060008587A KR100666997B1 (ko) 2006-01-26 2006-01-26 고속 체크섬 처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060008587A KR100666997B1 (ko) 2006-01-26 2006-01-26 고속 체크섬 처리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR100666997B1 true KR100666997B1 (ko) 2007-01-10

Family

ID=37867569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060008587A KR100666997B1 (ko) 2006-01-26 2006-01-26 고속 체크섬 처리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100666997B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100928891B1 (ko) 2007-12-10 2009-11-30 한국전자통신연구원 네트워크 장치에서의 패킷 변환 방법
KR20150040732A (ko) * 2013-10-07 2015-04-15 한국전자통신연구원 Tcp 체크섬 계산 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010011058A (ko) * 1999-07-24 2001-02-15 윤종용 데이타 통신 시스템의 데이타 패킷 손상 및 유실 검출방법
JP2003124977A (ja) 2001-10-18 2003-04-25 Fujitsu Ltd チェックサムの書換装置
JP2004153471A (ja) 2002-10-29 2004-05-27 Sanyo Electric Co Ltd チェックサム算出方法、チェックサム記録方法、およびその方法を利用可能な通信装置
KR20050057698A (ko) * 2003-12-10 2005-06-16 삼성전자주식회사 체크섬을 생성하는 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010011058A (ko) * 1999-07-24 2001-02-15 윤종용 데이타 통신 시스템의 데이타 패킷 손상 및 유실 검출방법
JP2003124977A (ja) 2001-10-18 2003-04-25 Fujitsu Ltd チェックサムの書換装置
JP2004153471A (ja) 2002-10-29 2004-05-27 Sanyo Electric Co Ltd チェックサム算出方法、チェックサム記録方法、およびその方法を利用可能な通信装置
KR20050057698A (ko) * 2003-12-10 2005-06-16 삼성전자주식회사 체크섬을 생성하는 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100928891B1 (ko) 2007-12-10 2009-11-30 한국전자통신연구원 네트워크 장치에서의 패킷 변환 방법
KR20150040732A (ko) * 2013-10-07 2015-04-15 한국전자통신연구원 Tcp 체크섬 계산 장치 및 방법
KR102207423B1 (ko) * 2013-10-07 2021-01-27 한국전자통신연구원 Tcp 체크섬 계산 장치 및 방법

Similar Documents

Publication Publication Date Title
US7653864B2 (en) Method and apparatus to perform error control
US6600759B1 (en) Apparatus for estimating jitter in RTP encapsulated voice packets received over a data network
US9264333B1 (en) Checksum trailer in timing protocols
KR20050057698A (ko) 체크섬을 생성하는 장치 및 방법
US9525661B2 (en) Efficient method of NAT without reassemling IPV4 fragments
US7415652B1 (en) Out of order checksum calculation for fragmented packets
KR100666997B1 (ko) 고속 체크섬 처리 장치 및 방법
US7035250B2 (en) System for organizing voice channel data for network transmission and/or reception
US9490939B2 (en) Apparatus and method for calculating transmission control protocol checksum
US20090097486A1 (en) Common Checksum Computation for Internet Protocol Version 4 and Version 6 Transmissions
JP2001203749A (ja) 高効率データ送信装置及び高効率データ伝送システム
Sutter et al. Fpga-based tcp/ip checksum offloading engine for 100 gbps networks
CN116318376B (zh) 利用虚拟信道传输遥控应用数据的方法、装置及存储介质
US20070162820A1 (en) Checksum generation apparatus and method thereof
US20030152162A1 (en) Transmitter, receiver, and methods
US20050055620A1 (en) Checksum determination
JP3628286B2 (ja) Ipヘッダ発生装置
JP4440264B2 (ja) 符号化方法及び符号化装置
CN108600194B (zh) 网络接口控制器
CN113655992B (zh) 哈希函数电路、芯片及通信设备
KR100928891B1 (ko) 네트워크 장치에서의 패킷 변환 방법
JP4611826B2 (ja) 送信装置
US6671734B1 (en) IP fragment-processing apparatus, method and computer program
CN110417813B (zh) 出栈网络处理器及网络数据出栈处理方法
KR102207423B1 (ko) Tcp 체크섬 계산 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee