KR20050098986A - 패킷 및 오류 판정 정보 송/수신 장치 및 그 방법 - Google Patents

패킷 및 오류 판정 정보 송/수신 장치 및 그 방법 Download PDF

Info

Publication number
KR20050098986A
KR20050098986A KR1020040023943A KR20040023943A KR20050098986A KR 20050098986 A KR20050098986 A KR 20050098986A KR 1020040023943 A KR1020040023943 A KR 1020040023943A KR 20040023943 A KR20040023943 A KR 20040023943A KR 20050098986 A KR20050098986 A KR 20050098986A
Authority
KR
South Korea
Prior art keywords
error determination
determination information
packet
header
transmitting
Prior art date
Application number
KR1020040023943A
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 KR1020040023943A priority Critical patent/KR20050098986A/ko
Publication of KR20050098986A publication Critical patent/KR20050098986A/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/0041Arrangements at the transmitter 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/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/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 패킷 및 오류 판정 정보 송/수신 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은 임의의 오류 판정 정보가 포함된 헤더와 데이터를 전송하면서 동시에 오류 판정 정보를 계산하고 그 결과값으로 꼬리 오류 판정 정보(예 : 꼬리 체크섬)를 만들어 전송함으로써, 메모리가 작은 송신 장치에서도 큰 패킷을 빠르게 전송할 수 있도록 하기 위한, 패킷 및 오류 판정 정보 송/수신 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은, 패킷 및 오류 판정 정보 송신 장치에 있어서, 각 헤더 정보와 각 전송 데이터에 대해 오류 판정 정보를 계산한 후에 상기 계산한 각 오류 판정 정보 결과와 헤더의 오류 판정 정보 필드에 삽입한 임의의 오류 판정 정보 값을 고려하여 최종 오류 판정 정보 값을 계산하기 위한 오류 판정 정보 계산 수단; 각 헤더 정보와 각 전송 데이터를 수신 장치로 전송하되, 상기 오류 판정 정보 계산 수단에서 계산한 최종 오류 판정 정보 값을 마지막 데이터 전송 이후에 상기 수신 장치로 전송하기 위한 송신 수단; 및 헤더의 오류 판정 정보 필드에 임의의 값을 할당하여 삽입하며, 각 헤더 정보와 각 전송 데이터에 대해 오류 판정 정보를 계산하면서 각 헤더 정보와 각 전송 데이터를 상기 수신 장치로 전송하도록 상기 오류 판정 정보 계산 수단과 상기 송신 수단을 제어하고, 상기 계산한 각 오류 판정 정보 결과와 헤더의 오류 판정 정보 필드에 삽입한 임의의 오류 판정 정보 값을 고려하여 최종 오류 판정 정보 값을 계산하여 마지막 전송 데이터 이후에 추가하여 상기 수신 장치로 전송하도록 상기 오류 판정 정보 계산 수단과 상기 송신 수단을 제어하기 위한 송신 제어 수단을 포함함.
4. 발명의 중요한 용도
본 발명은 패킷 송/수신 장치 등에 이용됨.

Description

패킷 및 오류 판정 정보 송/수신 장치 및 그 방법{Apparatus and method for transmitting/receiving packet and error decision information}
본 발명은 패킷 및 오류 판정 정보 송/수신 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 일반적으로 패킷 헤더에 위치한 오류 판정 정보(예 : 체크섬)를 계산하기 위해 전체 패킷을 메모리에 저장한 후 오류 판정 정보를 계산하여 전송하는 종래 방식과 달리, 임의의 오류 판정 정보가 포함된 헤더와 데이터를 전송하면서 동시에 오류 판정 정보를 계산하고 그 결과값으로 꼬리 오류 판정 정보(예 : 꼬리 체크섬)를 만들어 전송함으로써, 메모리가 작은 송신 장치에서도 큰 패킷을 빠르게 전송할 수 있도록 하기 위한, 패킷 및 오류 판정 정보 송/수신 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
본 발명에서 오류 판정 정보란 체크섬(checksum), CRC(Cyclic Redundancy Check) 등과 같이 오류 유무를 판별하기 위해 사용되는 코드를 말한다. 이하의 일예에서는 체크섬(checksum)을 예로 들어 설명하지만 본 발명이 체크섬(checksum)에 한정되는 것이 아님을 미리 밝혀둔다.
오늘날 데이터 통신의 급격한 발전은 통신망의 접근을 용이하도록 하여 정보의 자유로운 흐름을 촉진하게 만들었다.
이러한 정보의 통신을 위해, 도 1에 도시된 바와 같은 일반적인 패킷(11)을 송/수신 장치 사이에서 주고받는데, 전송 중에 발생할 수 있는 오류를 검지하기 위해 일반적으로 체크섬(12)과 같은 오류 판정 코드(=오류 검출 코드=오류 정정 코드)를 사용한다.
또한, 일반적으로 수신 장치에서 패킷을 수신하는 것을 도와주기 위해 패킷의 앞 부분에는 패킷에 대한 정보를 포함하는 헤더(13)가 있으며, 일반적으로 패킷 헤더에는 수신 장치에 제어 정보를 보내기 위한 제어 정보 필드(15)가 있고, 또한 체크섬도 보통 헤더(13) 내에 위치한다.
따라서, 송신 장치에서 패킷을 전송할 때에 사전에 헤더(13)와 헤더 뒤에 따라오는 데이터(14)의 내용을 알아야 체크섬을 계산할 수 있다. 그러기 위해서는 송신 장치에 메모리가 충분히 있어 전체 헤더와 전체 데이터를 큰 용량의 메모리에 저장한 후에, 상기 저장한 전체 헤더와 전체 데이터에 대한 체크섬을 계산한 다음에, 상기 계산한 체크섬 값을 헤더의 지정된 위치에 삽입한 후에, 해당 헤더와 데이터를 다시 읽어 수신 장치로 전송한다.
한편, 정보의 전송과 수신이 필요한 지구상의 모든 곳에 센서와 제어 장치, 및 통신 장치 등을 설치하여 인간의 편익을 돕는 "유비쿼터스 네트워크"에 대한 연구 개발이 한창 진행 중에 있다. 그에 따라 향후에는 많은 전자 장치에 아주 작은 통신 장치가 부착될 것이다.
또한, 현재의 인터넷 사용 추세와 통신망의 통합 추세를 고려할 때, 유비쿼터스 네트워크도 인터넷 프로토콜을 사용할 가능성이 매우 크며, 이 경우에 아주 작은 통신 장치에서도 인터넷 프로토콜을 지원해야 한다. 이 경우에 장치의 단가와 크기, 전력 소모 등을 줄이기 위해서는 메모리의 크기가 작을수록 유리하다.
그런데, 상기 유비쿼터스 네트워크의 송신 장치에 전술한 기존의 전송 방식을 사용할 경우에, 제어 장치가 필요한 데이터를 수집하면서 전체 헤더와 전체 데이터를 큰 용량의 메모리에 저장한 후에, 상기 저장한 전체 헤더와 전체 데이터에 대한 체크섬을 계산한 다음에, 상기 계산한 체크섬 값을 헤더의 지정된 위치에 삽입한 후에, 해당 헤더와 데이터를 다시 읽어 수신 장치로 전송해야만 한다.
그에 따라, 이러한 방식은 큰 용량의 메모리가 반드시 필요하고, 그에 따른 비용이 증가하며, 전체 헤더와 전체 데이터를 쓰고 읽는데 많은 시간이 소요되어 전송이 지연되고, 쓰기/읽기에 따른 전력이 더 소모되는 문제점이 있다.
본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, 임의의 오류 판정 정보가 포함된 헤더와 데이터를 전송하면서 동시에 오류 판정 정보를 계산하고 그 결과값으로 꼬리 오류 판정 정보(예 : 꼬리 체크섬)를 만들어 전송함으로써, 메모리가 작은 송신 장치에서도 큰 패킷을 빠르게 전송할 수 있도록 하기 위한, 패킷 및 오류 판정 정보 송/수신 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 송신 장치는, 패킷 및 오류 판정 정보 송신 장치에 있어서, 각 헤더 정보와 각 전송 데이터에 대해 오류 판정 정보를 계산한 후에 상기 계산한 각 오류 판정 정보 결과와 헤더의 오류 판정 정보 필드에 삽입한 임의의 오류 판정 정보 값을 고려하여 최종 오류 판정 정보 값을 계산하기 위한 오류 판정 정보 계산 수단; 각 헤더 정보와 각 전송 데이터를 수신 장치로 전송하되, 상기 오류 판정 정보 계산 수단에서 계산한 최종 오류 판정 정보 값을 마지막 데이터 전송 이후에 상기 수신 장치로 전송하기 위한 송신 수단; 및 헤더의 오류 판정 정보 필드에 임의의 값을 할당하여 삽입하며, 각 헤더 정보와 각 전송 데이터에 대해 오류 판정 정보를 계산하면서 각 헤더 정보와 각 전송 데이터를 상기 수신 장치로 전송하도록 상기 오류 판정 정보 계산 수단과 상기 송신 수단을 제어하고, 상기 계산한 각 오류 판정 정보 결과와 헤더의 오류 판정 정보 필드에 삽입한 임의의 오류 판정 정보 값을 고려하여 최종 오류 판정 정보 값을 계산하여 마지막 전송 데이터 이후에 추가하여 상기 수신 장치로 전송하도록 상기 오류 판정 정보 계산 수단과 상기 송신 수단을 제어하기 위한 송신 제어 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 수신 장치는, 패킷 및 오류 판정 정보 수신 장치에 있어서, 송신 장치로부터 각 헤더 정보와 각 전송 데이터 및 마지막 전송 데이터 이후에 추가된 최종 오류 판정 정보를 수신하기 위한 수신 수단; 상기 수신 수단을 통하여 수신된 전체 헤더와 전체 데이터 및 최종 오류 판정 정보에 대해 오류 판정 정보를 계산하기 위한 오류 판정 정보 계산 수단; 및 상기 송신 장치로부터 각 헤더 정보와 각 전송 데이터 및 최종 오류 판정 정보를 수신하도록 상기 수신 수단을 제어하고, 상기 수신 수단에서 수신한 전체 헤더와 전체 데이터 및 최종 오류 판정 정보에 대해 오류 판정 정보를 계산하도록 상기 오류 판정 정보 계산 수단을 제어하며, 상기 오류 판정 정보 계산 수단에서 계산한 오류 판정 정보 결과에 따라 데이터를 오류 처리하거나 최종 오류 판정 정보를 제거한 수신 데이터를 접수하기 위한 수신 제어 수단을 포함하는 것을 특징으로 한다.
한편, 본 발명의 송신 방법은, 패킷 및 오류 판정 정보 송신 방법에 있어서, 헤더의 오류 판정 정보 필드에 임의의 오류 판정 정보 값을 할당하여 삽입하는 단계; 각 헤더 정보에 대해서 오류 판정 정보를 계산하면서 각 헤더 정보를 수신 장치로 전송하는 단계; 각 전송 데이터에 대해 체크섬을 계산하면서 각 데이터를 상기 수신 장치로 전송하는 단계; 및 상기 계산한 각 체크섬 결과와 헤더의 오류 판정 정보 필드에 삽입한 임의의 체크섬 값을 고려하여 최종 오류 판정 정보 값을 계산하여 상기 수신 장치로 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 본 발명의 송신 방법은, 현재 전송되는 패킷이 최종 오류 판정 정보를 사용하는 패킷임을 헤더의 제어 정보 필드에 식별자(구분자)로서 표시하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 본 발명의 송신 방법은, 제어 정보 필드에 전체 패킷 길이 필드가 있는 경우에 전체 패킷 길이 값에 꼬리 체크섬 길이 값을 추가하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명의 수신 방법은, 패킷 및 오류 판정 정보 수신 방법에 있어서, 전체 헤더와 전체 데이터 및 최종 오류 판정 정보를 수신하는 단계; 상기 수신한 전체 헤더와 전체 데이터 및 최종 오류 판정 정보에 대해 오류 판정 정보를 계산하는 단계; 수신 데이터에서 최종 오류 판정 정보를 제거하는 단계; 및 상기 계산한 오류 판정 정보 결과에 따라 수신 데이터를 접수하거나 오류 처리하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 본 발명의 수신 방법은, 수신 패킷의 헤더에서 제어 정보 필드의 내용을 확인하여, 수신 패킷이 최종 오류 판정 정보를 사용하는 패킷인지를 확인하는 단계를 더 포함하는 것을 특징으로 한다.
한편, 본 발명은, 프로세서를 구비한 패킷 및 오류 판정 정보 송신 장치에, 헤더의 오류 판정 정보 필드에 임의의 오류 판정 정보 값을 할당하여 삽입하는 기능; 각 헤더 정보에 대해서 오류 판정 정보를 계산하면서 각 헤더 정보를 수신 장치로 전송하는 기능; 각 전송 데이터에 대해 체크섬을 계산하면서 각 데이터를 상기 수신 장치로 전송하는 기능; 및 상기 계산한 각 체크섬 결과와 헤더의 오류 판정 정보 필드에 삽입한 임의의 체크섬 값을 고려하여 최종 오류 판정 정보 값을 계산하여 상기 수신 장치로 전송하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 본 발명은, 프로세서를 구비한 패킷 및 오류 판정 정보 수신 장치에, 전체 헤더와 전체 데이터 및 최종 오류 판정 정보를 수신하는 기능; 상기 수신한 전체 헤더와 전체 데이터 및 최종 오류 판정 정보에 대해 오류 판정 정보를 계산하는 기능; 수신 데이터에서 최종 오류 판정 정보를 제거하는 기능; 및 상기 계산한 오류 판정 정보 결과에 따라 수신 데이터를 접수하거나 오류 처리하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이처럼 본 발명은 메모리 자원이 적은 송신 장치에서 헤더에 체크섬이 있고 전체 크기가 메모리보다 큰 패킷을 빠르게 전송하기 위한 장치 등에 적용 가능하다.
즉, 본 발명은 데이터 패킷 송수신 시에 수신 데이터의 오류 유무를 판단하기 위해 일반적으로 사용되는 체크섬을 계산할 때에, 미리 전체 헤더와 전체 데이터를 메모리에 저장하지 않음으로 송신 장치의 메모리 크기를 작게 하고 송신 준비 시간을 줄일 수 있다.
이를 위하여 본 발명에서는 송신 장치에서 전체 패킷을 메모리에 저장하지 않고 헤더부터 체크섬을 계산하고 동시에 헤더를 전송하고, 헤더에 있는 체크섬은 임의의 값으로 전송하며, 모든 패킷(헤더와 데이터)이 전송된 후에 지금까지 계산된 체크섬 값과 헤더의 체크섬 값을 근거로 새로운 체크섬 값(꼬리 체크섬)을 계산하여 패킷의 제일 뒤에 추가로 전송한다. 이 때, 추가된 체크섬 값은 헤더에 있는 체크섬 값이 맞게 되도록 조작한 값이다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 2 는 본 발명에 따른 패킷의 일실시예 구조도이다.
도 2에 도시된 바와 같이, 일반적으로 패킷(21)은 헤더(23)와 데이터 필드(24)를 포함한다. 그리고, 헤더(23)에는 목적지 및 수신장치의 주소를 포함하는 목적지 주소/수신장치 주소 필드(27), 수신 장치에 제어 정보를 보내기 위한 제어 정보 필드(25), 및 전송 중에 발생할 수 있는 오류를 검지하기 위한 체크섬 필드(22)를 포함한다.
그런데, 본 발명에 따른 패킷(21)은, 모든 패킷이 전송된 후에 각 헤더와 데이터에 대하여 지금까지 계산된 체크섬 값과 헤더의 체크섬 값을 근거로 새로 계산한 체크섬 값을 포함하는 꼬리 체크섬 필드(26)를 포함하는 것을 특징으로 한다.
도 3 은 본 발명에 따른 패킷 및 오류 판정 정보 송/수신 장치의 일시실예 구성도이다.
먼저, 본 발명에 따른 패킷 및 오류 판정 정보 송신 장치(31)는, 각 패킷 헤더 정보와 각 전송 데이터에 대해 체크섬을 계산한 후에 상기 계산한 각 체크섬 결과와 패킷 헤더의 체크섬 필드에 삽입한 임의의 체크섬 값을 고려하여 꼬리 체크섬 값을 계산하기 위한 체크섬 계산부(34), 각 패킷 헤더 정보와 각 전송 데이터를 수신 장치(41)로 전송하되, 상기 체크섬 계산부(34)에서 계산한 꼬리 체크섬 값을 마지막 데이터 전송 이후에 상기 수신 장치(41)로 전송하기 위한 송신부(33), 및 패킷 헤더의 체크섬 필드에 "0" 등과 같은 임의의 값을 할당하여 삽입하며, 각 패킷 헤더 정보와 각 전송 데이터에 대해 체크섬을 계산하면서 각 패킷 헤더 정보와 각 전송 데이터를 상기 수신 장치(41)로 전송하도록 상기 체크섬 계산부(34)와 송신부(33)를 제어하고, 상기 계산한 각 체크섬 결과와 패킷 헤더의 체크섬 필드에 삽입한 임의의 체크섬 값을 고려하여 꼬리 체크섬 값을 계산하여 마지막 전송 데이터 이후에 추가하여(덧붙여서) 상기 수신 장치(41)로 전송하도록 상기 체크섬 계산부(34)와 송신부(33)를 제어하기 위한 송신 제어부(32)를 포함한다.
이 때, 상기 송신 제어부(32)는 패킷 헤더의 제어 정보 필드에 본 패킷(현재 전송되는 패킷)이 꼬리 체크섬을 사용하는 패킷임을 식별자(구분자)로서 표시하는 기능을 더 수행한다.
또한, 상기 송신 제어부(32)는 제어 정보 필드에 전체 패킷 길이 필드가 있는 경우에 전체 패킷 길이 값에 꼬리 체크섬 길이 값을 추가하는 기능을 더 수행하여, 수신 장치(41)가 꼬리 체크섬까지 수신하도록 한다.
다음으로, 본 발명에 따른 패킷 및 오류 판정 정보 수신 장치(41)는, 송신 장치(31)로부터 각 패킷 헤더 정보와 각 전송 데이터, 및 마지막 전송 데이터 이후에 추가된 꼬리 체크섬을 수신하기 위한 수신부(43), 상기 수신부(43)를 통하여 수신된 전체 헤더와 전체 데이터, 및 꼬리 체크섬에 대해 체크섬을 계산하기 위한 체크섬 계산부(44), 및 상기 송신 장치(31)로부터 각 패킷 헤더 정보와 각 전송 데이터, 및 꼬리 체크섬을 수신하도록 상기 수신부(43)를 제어하고, 상기 수신부(43)에서 수신한 전체 헤더와 전체 데이터, 및 꼬리 체크섬에 대해 체크섬을 계산하도록 상기 체크섬 계산부(44)를 제어하며, 상기 체크섬 계산부(44)에서 계산한 체크섬 결과에 따라 데이터를 오류 처리하거나 꼬리 체크섬을 제거한 수신 데이터를 접수하기 위한 수신 제어부(42)를 포함한다.
이 때, 상기 수신 제어부(42)는 상기 송신 장치(31)로부터 수신되는 패킷의 헤더에서 제어 정보 필드의 내용을 확인하여 수신 패킷이 꼬리 체크섬 방식을 사용하는 패킷인지를 확인하는 기능을 더 수행할 수도 있다.
전술한 바와 같이, 송신 장치(31)의 전체 동작을 제어하는 송신 제어부(32)에서는 송신하려는 패킷의 헤더와 데이터를 구성하고, 송신부(33)에서는 헤더와 데이터, 꼬리 체크섬을 전송하며, 체크섬 계산기(34)에서는 전송되는 헤더와 데이터의 체크섬을 계산하고 꼬리 체크섬도 계산한다. 그리고, 수신 장치(41)의 전체 동작을 제어하는 수신 제어부(42)에서는 수신된 데이터를 저장 및 분석하고, 수신부(43)에서는 수신 제어부(42)의 제어에 따라 패킷의 헤더, 데이터 및 꼬리 체크섬을 수신하며, 체크섬 계산기(44)에서는 수신된 헤더와 데이터 및 꼬리 체크섬에 대한 체크섬을 계산한다.
체크섬을 계산하는 과정을 예를 들어 설명하면 다음과 같다. 모든 데이터를 4비트 단위로 1의 보수 덧셈을 하고 최종 결과값을 반전시킨다. 예를 들어, 데이터가 "1101 0101 1011"인 경우에 체크섬은 "0001"이 된다.
1101
+ 0101
------------
10010
0011 (위 값에서 캐리를 LSB에 더하면)
+ 1011
------------
1110
0001 (위 값을 반전시키면)
일반적으로 헤더와 데이터로 체크섬을 만드는 종래 방법은, 처음에 헤더의 체크섬 필드에 "0"을 삽입하고 전체 패킷에 대해 체크섬을 계산한 후에 그 결과값을 헤더의 체크섬 필드에 넣어 송신한다. 수신 장치에서는 헤더의 체크섬을 포함하여 전체 패킷에 대해 체크섬을 계산하는데, 패킷의 전송 중에 오류가 없는 경우에는 체크섬 결과값이 "0"이 된다.
그러나, 본 발명에 따른 방법에는, 일예를 들어 설명하면 송신 장치에서 헤더를 전송할 때에 각 헤더에 대해 체크섬을 계산할 뿐만 아니라, 헤더의 체크섬에 "0"을 삽입하여 체크섬에 대해서도 체크섬을 계산한다. 데이터의 끝 부분까지 체크섬을 계산한 후, 상기 계산한 각 체크섬 결과와 패킷 헤더의 체크섬 필드에 삽입한 체크섬 값을 고려하여 꼬리 체크섬 값을 계산하여 마지막 전송 데이터 이후에 추가하여 전송한다. 수신 장치에서는 헤더부터 꼬리 체크섬까지 체크섬 계산을 수행하며, 오류가 없는 경우에는 체크섬 결과값이 "0"이 된다.
도 4 는 본 발명에 따른 패킷 및 오류 판정 정보 송신 방법에 대한 일실시예 흐름도이다.
먼저, 송신 제어부(32)의 제어 하에 목적지 주소/수신장치 주소 등의 패킷 헤더 정보에 대해서 체크섬을 계산하면서 송신부(33)를 통하여 목적지 주소/수신장치 주소 등의 패킷 헤더 정보를 수신 장치(41)로 전송한다(51).
그리고, 패킷 헤더의 제어 정보 필드에 본 패킷(현재 전송되는 패킷)이 꼬리 체크섬을 사용하는 패킷임을 식별자(구분자)로서 표시하고(52), 제어 정보 필드에 전체 패킷 길이 필드가 있는 경우에 전체 패킷 길이 값에 꼬리 체크섬 길이 값을 추가하여 수신 장치가 꼬리 체크섬까지 수신하도록 한다(53). 여기서, "52" 과정 및 "53" 과정은 본 발명의 필수 구성요소는 아니다.
이후, 제어 정보 등의 패킷 헤더 정보에 대해 체크섬을 계산하면서 송신부(33)를 통하여 제어 정보 등의 패킷 헤더 정보를 수신 장치(41)로 전송한다(54).
그리고, 패킷 헤더의 체크섬 필드에 "0" 등과 같은 임의의 체크섬 값을 할당하여 삽입한 후에 체크섬 필드에 대해 역시 체크섬을 계산하면서 송신부(33)를 통하여 체크섬 등의 패킷 헤더 정보를 수신 장치(41)로 전송한다(55).
이후, 각각 전송할 수 있도록 구성된 각 전송 데이터에 대해 순서대로 체크섬을 계산하면서 송신부(33)를 통하여 각 데이터를 순서대로 수신 장치(41)로 전송한다(56).
이어서, 이제까지 계산한 각 체크섬 결과와 이미 전송된 패킷 헤더의 체크섬 필드에 삽입한 임의의 체크섬 값을 고려하여 꼬리 체크섬 값을 계산하여 송신부(33)를 통하여 수신 장치(41)로 전송한다(57).
도 5 는 본 발명에 따른 패킷 및 오류 판정 정보 수신 방법에 대한 일실시예 흐름도이다.
먼저, 수신 장치(41)에서는 수신되는 패킷의 헤더에서 제어 정보 필드의 내용을 확인하여(61), 수신되는 패킷이 꼬리 체크섬 방식을 사용하는 패킷인지를 확인한다(62). 물론, "61' 과정 및 "62" 과정은 본 발명의 필수 구성요소는 아니다.
상기 확인 결과(62), 패킷이 꼬리 체크섬 방식을 사용하는 패킷이면 전체 헤더와 전체 데이터, 및 꼬리 체크섬에 대해 체크섬을 계산한다(63). 이후에, 패킷의 제일 뒤에 수신된 꼬리 체크섬을 제거한다(63).
이후, 일반적인 경우와 같이, 계산된 체크섬의 결과(최종값)이 "0"인지를 확인하여(65) 체크섬 결과가 "0"이면 오류가 없으므로 수신된 데이터를 접수하여 처리하고(66), 체크섬 결과가 "0"이 아니면 수신된 패킷에 오류가 있는 것이므로 데이터를 폐기하는 등의 오류 처리를 한다(68).
한편, 상기 확인 결과(62), 패킷이 꼬리 체크섬 방식을 사용하지 않은 패킷이면 일반적인 경우와 같이 수신된 전체 헤더와 전체 데이터에 대한 체크섬을 계산한다(67). 이후, 계산된 체크섬의 결과(최종값)이 "0"인지를 확인하여(65) 체크섬 결과가 "0"이면 오류가 없으므로 수신된 데이터를 접수하여 처리하고(66), 체크섬 결과가 "0"이 아니면 수신된 패킷에 오류가 있는 것이므로 데이터를 폐기하는 등의 오류 처리를 한다(68).
전술한 바와 같이, 송신 장치에서는 기존의 프로토콜을 약간 변형하여 제어 정보 필드 내에 꼬리 체크섬 방식임을 표시하는 구분자를 두고, 전체 패킷에 대하여 계산된 최종 체크섬(꼬리 체크섬)을 패킷의 제일 뒤에 추가하여 전송한다. 그러면, 수신 장치에서는 수신된 패킷 헤더의 제어 정보 필드 내의 구분자에 따라 전체 수신 패킷에 대한 체크섬을 계산한 후에 패킷 제일 뒤의 꼬리 체크섬 필드를 제거한다. 따라서, 기존의 프로토콜을 최소한으로 변형하여 활용할 수 있다.
한편, 다른 실시예로서, 제어 정보 필드에 꼬리 체크섬 방식을 구분자로 표시하지 않고 송/수신 장치 사이의 전용 방식으로 사용할 수도 있다.
즉, 특정 송신 장치와 특정 수신 장치의 약속 하에, 기존 프로토콜의 변형 없이 송신 장치에서는 패킷의 제일 뒤에 꼬리 체크섬을 데이터의 일부처럼 추가하여 전송하고, 수신 장치에서는 체크섬을 계산한 후에 오류가 없으면 수신된 데이터의 제일 뒷부분에서 꼬리 체크섬만큼을 제거하여 사용한다.
한편, 또 다른 실시예로서, 오류 유무를 판별하기 위해 사용되는 코드로 체크섬 이외에 CRC(Cyclic Redundancy Check), 기타 오류 검출 및 정정을 위한 코드 등이 사용될 수 있다.
즉, 체크섬 이외에 CRC를 적용하여, 헤더의 CRC 필드에는 임의의 값을 할당하고 전체 패킷에 대한 CRC를 계산한 후에, 이미 전송된 임의의 값과 계산된 CRC 값이 일치되도록 패킷의 끝에 꼬리 CRC 값을 추가하여 사용할 수 있다. 여기서, CRC(Cyclic Redundancy Check)란 미리 정해진 2진수 숫자로서 검사될 비트(데이터)들을 나눈 나머지를 통하여 착오를 검출하는 착오검출방식으로서, 이미 공지된 기술이므로 더 이상 상세히 설명하지 않기로 한다.
한편, 또 다른 실시예로서, 송신 장치에서는 제어 정보 필드 내의 패킷 길이 값을 변경하지 않고, 수신 장치에서는 꼬리 체크섬 필드의 길이만큼을 자동적으로 추가하여 수신하도록 할 수도 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기와 같은 본 발명은, 일반적으로 패킷 헤더에 위치한 오류 판정 정보(예 : 체크섬)를 계산하기 위해 전체 패킷을 메모리에 저장한 후 오류 판정 정보를 계산하여 전송하는 종래 방식과 달리, 임의의 오류 판정 정보가 포함된 헤더와 데이터를 전송하면서 동시에 오류 판정 정보를 계산하고 그 결과값으로 꼬리 오류 판정 정보(예 : 꼬리 체크섬)를 만들어 전송함으로써, 메모리가 작은 송신 장치에서도 큰 패킷을 전송할 수 있는 효과가 있다.
또한, 본 발명은 전체 헤더와 전체 데이터를 메모리에 저장한 후에 다시 읽어들이는 억세스 시간을 절약할 수 있어 빠르게 패킷을 전송할 수 있는 효과가 있다.
또한, 본 발명은 메모리 억세스에 따른 전력 소모도 줄일 수 있는 효과가 있다.
또한, 본 발명은 큰 메모리가 필요 없으며, 그에 따라 단가를 크게 줄일 수 있다.
도 1 은 일반적인 패킷의 구조도.
도 2 는 본 발명에 따른 패킷의 일실시예 구조도.
도 3 은 본 발명에 따른 패킷 및 오류 판정 정보 송/수신 장치의 일시실예 구성도.
도 4 는 본 발명에 따른 패킷 및 오류 판정 정보 송신 방법에 대한 일실시예 흐름도.
도 5 는 본 발명에 따른 패킷 및 오류 판정 정보 수신 방법에 대한 일실시예 흐름도.
* 도면의 주요 부분에 대한 부호 설명
11, 21 : 패킷 12, 22 : 체크섬
13, 23 : 헤더 14, 24: 데이터
15, 25 : 제어 필드 26 : 꼬리 체크섬
31 : 송신 장치 32 : 송신 제어부
33 : 송신부 34, 44: 체크섬 계산부
41 : 수신 장치 42 : 수신 제어부
43 : 수신부

Claims (23)

  1. 패킷 및 오류 판정 정보 송신 장치에 있어서,
    각 헤더 정보와 각 전송 데이터에 대해 오류 판정 정보를 계산한 후에 상기 계산한 각 오류 판정 정보 결과와 헤더의 오류 판정 정보 필드에 삽입한 임의의 오류 판정 정보 값을 고려하여 최종 오류 판정 정보 값을 계산하기 위한 오류 판정 정보 계산 수단;
    각 헤더 정보와 각 전송 데이터를 수신 장치로 전송하되, 상기 오류 판정 정보 계산 수단에서 계산한 최종 오류 판정 정보 값을 마지막 데이터 전송 이후에 상기 수신 장치로 전송하기 위한 송신 수단; 및
    헤더의 오류 판정 정보 필드에 임의의 값을 할당하여 삽입하며, 각 헤더 정보와 각 전송 데이터에 대해 오류 판정 정보를 계산하면서 각 헤더 정보와 각 전송 데이터를 상기 수신 장치로 전송하도록 상기 오류 판정 정보 계산 수단과 상기 송신 수단을 제어하고, 상기 계산한 각 오류 판정 정보 결과와 헤더의 오류 판정 정보 필드에 삽입한 임의의 오류 판정 정보 값을 고려하여 최종 오류 판정 정보 값을 계산하여 마지막 전송 데이터 이후에 추가하여 상기 수신 장치로 전송하도록 상기 오류 판정 정보 계산 수단과 상기 송신 수단을 제어하기 위한 송신 제어 수단
    을 포함하는 패킷 및 오류 판정 정보 송신 장치.
  2. 제 1 항에 있어서,
    상기 송신 제어 수단은,
    현재 전송되는 패킷이 최종 오류 판정 정보를 사용하는 패킷임을 구분하기 위한 식별자(구분자)를 헤더의 제어 정보 필드에 삽입하는 기능을 더 수행하는 것을 특징으로 하는 패킷 및 오류 판정 정보 송신 장치.
  3. 제 1 항에 있어서,
    상기 송신 제어 수단은,
    제어 정보 필드에 전체 패킷 길이 필드가 있는 경우에 전체 패킷 길이 값에 최종 오류 판정 정보 길이 값을 추가하는 기능을 더 수행하는 것을 특징으로 하는 패킷 및 오류 판정 정보 송신 장치.
  4. 제 1 항에 있어서,
    상기 송신 장치는,
    특정 수신 장치의 약속 하에 기존 프로토콜의 변형 없이 상기 특정 수신 장치와 전용 방식으로 통신하는 것을 특징으로 하는 패킷 및 오류 판정 정보 송신 장치.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 오류 판정 정보는,
    체크섬(checksum)인 것을 특징으로 하는 패킷 및 오류 판정 정보 송신 장치.
  6. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 오류 판정 정보는,
    CRC(Cyclic Redundancy Check)인 것을 특징으로 하는 패킷 및 오류 판정 정보 송신 장치.
  7. 패킷 및 오류 판정 정보 수신 장치에 있어서,
    송신 장치로부터 각 헤더 정보와 각 전송 데이터 및 마지막 전송 데이터 이후에 추가된 최종 오류 판정 정보를 수신하기 위한 수신 수단;
    상기 수신 수단을 통하여 수신된 전체 헤더와 전체 데이터 및 최종 오류 판정 정보에 대해 오류 판정 정보를 계산하기 위한 오류 판정 정보 계산 수단; 및
    상기 송신 장치로부터 각 헤더 정보와 각 전송 데이터 및 최종 오류 판정 정보를 수신하도록 상기 수신 수단을 제어하고, 상기 수신 수단에서 수신한 전체 헤더와 전체 데이터 및 최종 오류 판정 정보에 대해 오류 판정 정보를 계산하도록 상기 오류 판정 정보 계산 수단을 제어하며, 상기 오류 판정 정보 계산 수단에서 계산한 오류 판정 정보 결과에 따라 데이터를 오류 처리하거나 최종 오류 판정 정보를 제거한 수신 데이터를 접수하기 위한 수신 제어 수단
    을 포함하는 패킷 및 오류 판정 정보 수신 장치.
  8. 제 7 항에 있어서,
    상기 수신 제어 수단은,
    상기 송신 장치로부터 수신되는 헤더에서 제어 정보 필드의 내용을 확인하여 수신 패킷이 최종 오류 판정 정보를 사용하는 패킷인지를 확인하는 기능을 더 수행하는 것을 특징으로 하는 패킷 및 오류 판정 정보 수신 장치.
  9. 제 7 항에 있어서,
    상기 수신 제어 수단은,
    최종 오류 판정 정보 길이만큼을 자동적으로 추가하여 수신하도록 상기 수신 수단을 제어하는 기능을 더 수행하는 것을 특징으로 하는 패킷 및 오류 판정 정보 수신 장치.
  10. 제 7 항에 있어서,
    상기 수신 장치는,
    특정 송신 장치의 약속 하에 기존 프로토콜의 변형 없이 상기 특정 송신 장치와 전용 방식으로 통신하는 것을 특징으로 하는 패킷 및 오류 판정 정보 수신 장치.
  11. 제 7 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 오류 판정 정보는,
    체크섬(checksum)인 것을 특징으로 하는 패킷 및 오류 판정 정보 수신 장치.
  12. 제 7 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 오류 판정 정보는,
    CRC(Cyclic Redundancy Check)인 것을 특징으로 하는 패킷 및 오류 판정 정보 수신 장치.
  13. 패킷 및 오류 판정 정보 송신 방법에 있어서,
    헤더의 오류 판정 정보 필드에 임의의 오류 판정 정보 값을 할당하여 삽입하는 단계;
    각 헤더 정보에 대해서 오류 판정 정보를 계산하면서 각 헤더 정보를 수신 장치로 전송하는 단계;
    각 전송 데이터에 대해 체크섬을 계산하면서 각 데이터를 상기 수신 장치로 전송하는 단계; 및
    상기 계산한 각 체크섬 결과와 헤더의 오류 판정 정보 필드에 삽입한 임의의 체크섬 값을 고려하여 최종 오류 판정 정보 값을 계산하여 상기 수신 장치로 전송하는 단계
    를 포함하는 패킷 및 오류 판정 정보 송신 방법.
  14. 제 13 항에 있어서,
    현재 전송되는 패킷이 최종 오류 판정 정보를 사용하는 패킷임을 헤더의 제어 정보 필드에 식별자(구분자)로서 표시하는 단계
    를 더 포함하는 패킷 및 오류 판정 정보 송신 방법.
  15. 제 13 항에 있어서,
    제어 정보 필드에 전체 패킷 길이 필드가 있는 경우에 전체 패킷 길이 값에 꼬리 체크섬 길이 값을 추가하는 단계
    를 더 포함하는 패킷 및 오류 판정 정보 송신 방법.
  16. 제 13 항 내지 제 15 항 중 어느 한 항에 있어서,
    상기 오류 판정 정보는,
    체크섬(checksum)인 것을 특징으로 하는 패킷 및 오류 판정 정보 송신 방법.
  17. 제 13 항 내지 제 15 항 중 어느 한 항에 있어서,
    상기 오류 판정 정보는,
    CRC(Cyclic Redundancy Check)인 것을 특징으로 하는 패킷 및 오류 판정 정보 송신 방법.
  18. 패킷 및 오류 판정 정보 수신 방법에 있어서,
    전체 헤더와 전체 데이터 및 최종 오류 판정 정보를 수신하는 단계;
    상기 수신한 전체 헤더와 전체 데이터 및 최종 오류 판정 정보에 대해 오류 판정 정보를 계산하는 단계;
    수신 데이터에서 최종 오류 판정 정보를 제거하는 단계; 및
    상기 계산한 오류 판정 정보 결과에 따라 수신 데이터를 접수하거나 오류 처리하는 단계
    를 포함하는 패킷 및 오류 판정 정보 수신 방법.
  19. 제 18 항에 있어서,
    수신 패킷의 헤더에서 제어 정보 필드의 내용을 확인하여, 수신 패킷이 최종 오류 판정 정보를 사용하는 패킷인지를 확인하는 단계
    를 더 포함하는 패킷 및 오류 판정 정보 수신 방법.
  20. 제 18 항 또는 제 19 항에 있어서,
    상기 오류 판정 정보는,
    체크섬(checksum)인 것을 특징으로 하는 패킷 및 오류 판정 정보 수신 방법.
  21. 제 18 항 또는 제 19 항에 있어서,
    상기 오류 판정 정보는,
    CRC(Cyclic Redundancy Check)인 것을 특징으로 하는 패킷 및 오류 판정 정보 수신 방법.
  22. 프로세서를 구비한 패킷 및 오류 판정 정보 송신 장치에,
    헤더의 오류 판정 정보 필드에 임의의 오류 판정 정보 값을 할당하여 삽입하는 기능;
    각 헤더 정보에 대해서 오류 판정 정보를 계산하면서 각 헤더 정보를 수신 장치로 전송하는 기능;
    각 전송 데이터에 대해 체크섬을 계산하면서 각 데이터를 상기 수신 장치로 전송하는 기능; 및
    상기 계산한 각 체크섬 결과와 헤더의 오류 판정 정보 필드에 삽입한 임의의 체크섬 값을 고려하여 최종 오류 판정 정보 값을 계산하여 상기 수신 장치로 전송하는 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  23. 프로세서를 구비한 패킷 및 오류 판정 정보 수신 장치에,
    전체 헤더와 전체 데이터 및 최종 오류 판정 정보를 수신하는 기능;
    상기 수신한 전체 헤더와 전체 데이터 및 최종 오류 판정 정보에 대해 오류 판정 정보를 계산하는 기능;
    수신 데이터에서 최종 오류 판정 정보를 제거하는 기능; 및
    상기 계산한 오류 판정 정보 결과에 따라 수신 데이터를 접수하거나 오류 처리하는 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020040023943A 2004-04-08 2004-04-08 패킷 및 오류 판정 정보 송/수신 장치 및 그 방법 KR20050098986A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040023943A KR20050098986A (ko) 2004-04-08 2004-04-08 패킷 및 오류 판정 정보 송/수신 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040023943A KR20050098986A (ko) 2004-04-08 2004-04-08 패킷 및 오류 판정 정보 송/수신 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20050098986A true KR20050098986A (ko) 2005-10-12

Family

ID=37278208

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040023943A KR20050098986A (ko) 2004-04-08 2004-04-08 패킷 및 오류 판정 정보 송/수신 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20050098986A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11726870B2 (en) 2021-02-18 2023-08-15 SK Hynix Inc. Peripheral component interconnect express interface device and system including the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11726870B2 (en) 2021-02-18 2023-08-15 SK Hynix Inc. Peripheral component interconnect express interface device and system including the same

Similar Documents

Publication Publication Date Title
US6973030B2 (en) Method and apparatus for controlling multiple logical data flow in a variable data rate environment
US7492710B2 (en) Packet flow control
CN108462642B (zh) 基于fpga的udp/ip硬件协议栈及实现方法
US7596144B2 (en) System-on-a-chip (SoC) device with integrated support for ethernet, TCP, iSCSI, RDMA, and network application acceleration
RU2596582C2 (ru) Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных
RU2540815C2 (ru) Прерывание, по меньшей мере частичное, передачи кадра
WO2003069440A2 (en) Network processor with high-speed transceiver
US20220393908A1 (en) Message Encapsulation Method and Apparatus, and Message Decapsulation Method and Apparatus
WO2023124098A1 (zh) 用于在ieee 802.15.4网络中生成和发送应答帧的方法及通信装置
US7961614B2 (en) Information processing device, information processing method, and recording medium for reducing consumption of memory capacity
EP3065323B1 (en) Transmission method and device based on management data input/output multi-source agreements
US20090210770A1 (en) Method, system and computer program product for end to end error checking in ethernet
US7181675B2 (en) System and method for checksum offloading
KR20050055549A (ko) Tcp/ip 통신을 위해 하드웨어적으로 구현한 링 버퍼관리 시스템 및 그 방법
JP3569149B2 (ja) 通信制御装置
KR20050098986A (ko) 패킷 및 오류 판정 정보 송/수신 장치 및 그 방법
CN115878512A (zh) 一种内存映射方法、系统、设备及存储介质
CN112312396B (zh) 一种NoC追踪数据的生成方法及相关装置
US20050055620A1 (en) Checksum determination
US6779054B2 (en) Method and apparatus for operating a network controller
CN114598675A (zh) 基于arp实现主机阻断的控制方法、装置、设备及介质
CN109587083B (zh) 数据传输方法及相关装置
CN108599907B (zh) 网络接口控制器
JP4581925B2 (ja) データ転送装置およびデータ転送方法
US20040252712A1 (en) Information data transmitting and receiving device and transmitting and receiving method of information data

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination