"CRC-16"의 두 판 사이의 차이
잔글 (→참고자료) |
잔글 |
||
1번째 줄: | 1번째 줄: | ||
− | '''CRC-16'''은 Cyclic Redundancy Check (CRC) 방식중의 하나이며 CRC 알고리즘 계산을 추진할 때 CRC16 다항식 (Polynomial) 을 사용한다 | + | '''CRC-16'''은 Cyclic Redundancy Check (CRC) 방식중의 하나이며 CRC 알고리즘 계산을 추진할 때 CRC16 다항식 (Polynomial) 을 사용한다. CRC는 네트워크 데이터블록 또는 파일 등 데이터에 근거하여 짧고 간단하며 자리수가 고정 된 검증코드를 발생시키는 채널코딩기술 (Channel Coding Techniques) 이며 주로 데이터 전송 또는 저장 후에 발생할 수 있는 오류 등을 감지 또는 검증하는데 사용된다. CRC는 1961년에 미국의 정보와 컴퓨터과학 전문가 W. Wesley Peterson 이 발명하였다. |
==개요== | ==개요== | ||
CRC-16은 Cyclic Redundancy Check (CRC) 방식중에 CRC16 다항식을 적용하여 검증코드 (체크섬;Checksum) 를 취득하고 이를 통신에 적용하는 채널코딩기술이다. | CRC-16은 Cyclic Redundancy Check (CRC) 방식중에 CRC16 다항식을 적용하여 검증코드 (체크섬;Checksum) 를 취득하고 이를 통신에 적용하는 채널코딩기술이다. | ||
15번째 줄: | 15번째 줄: | ||
CRC 검증코드 기본개념 | CRC 검증코드 기본개념 | ||
− | 송신측에서 전송하고자 하는 | + | 송신측에서 전송하고자 하는 k 비트 바이너리 서열을 대상으로 일정한 규칙을 적용하여 검증코드 (체크섬;Checksum) r 비트를 생성한뒤 기존 서열의 우측에 더하여 (k + r) 비트 신규 서열을 만들어 수신측으로 전송한다. 수신측은 바이너리 코드와 검증코드 생성과정에 사용했던 방법으로 검증작업을 추진하여 송신과정에 오류발생유무를 확인한다. |
==사례== | ==사례== |
2020년 1월 13일 (월) 17:33 판
CRC-16은 Cyclic Redundancy Check (CRC) 방식중의 하나이며 CRC 알고리즘 계산을 추진할 때 CRC16 다항식 (Polynomial) 을 사용한다. CRC는 네트워크 데이터블록 또는 파일 등 데이터에 근거하여 짧고 간단하며 자리수가 고정 된 검증코드를 발생시키는 채널코딩기술 (Channel Coding Techniques) 이며 주로 데이터 전송 또는 저장 후에 발생할 수 있는 오류 등을 감지 또는 검증하는데 사용된다. CRC는 1961년에 미국의 정보와 컴퓨터과학 전문가 W. Wesley Peterson 이 발명하였다.
개요
CRC-16은 Cyclic Redundancy Check (CRC) 방식중에 CRC16 다항식을 적용하여 검증코드 (체크섬;Checksum) 를 취득하고 이를 통신에 적용하는 채널코딩기술이다.
적용시 송신자측은 전송하고자 하는 메세지에 산출 된 체크섬을 더하여 전송하고 수신자측은 체크섬 산출 시 사용하였던 다항식을 그대로 적용하여 수신한 메세지에 나누기를 적용하여 산출 된 값이 Zero인지를 판단한ㄷ. Zero 이면 데이터 송수신이 정확히 진행되었고 아닐 경우 송수신 오류가 발생하였다고 판단한다.
CRC검증작업에서 실수(검증작업에서 오류를 발견못하는) 할 확율은 1/65536이다.
CRC-16 다항식은 ANSI표준을 적용할 때 x16 + x15 + x2+1 대응수자 0x18005 이고 CCITT 표준을 적용할 때 x16 + x12 + x5+1 대응수자는 0x11021 이다.
CRC-16 산하에는 적용하는 다항식에 따라 CRC-16 알고리즘군이 구성되어 있으며 넓은 영역에서 사용된다. 구체적으로 아래시트를 참조할 수 있다.[1][2]
CRC 원리
CRC 검증코드 기본개념
송신측에서 전송하고자 하는 k 비트 바이너리 서열을 대상으로 일정한 규칙을 적용하여 검증코드 (체크섬;Checksum) r 비트를 생성한뒤 기존 서열의 우측에 더하여 (k + r) 비트 신규 서열을 만들어 수신측으로 전송한다. 수신측은 바이너리 코드와 검증코드 생성과정에 사용했던 방법으로 검증작업을 추진하여 송신과정에 오류발생유무를 확인한다.
사례
각주
- ↑ "Cyclic redundancy check", Wikipedia
- ↑ 하늘 가득 비, 〈CRC란 무엇인가?〉, 《네이버 블로그》, 2018-09-05
참고자료
- lcy89815, 〈crc16检验的多项式是怎么形成的,具体的怎么应用〉, 《百度文库》, 2018-06-30
- realdani, 〈CRC(Cyclic Redundancy Check) 간단 소개와 동작 이론〉, 《네이버블로그》, 2019-03-22
- 하늘 가득 비, 〈[hhttps://blog.naver.com/tatara4/221352897546 CRC란 무엇인가?]〉, 《네이버블로그》, 2018-09-05
- "CRC Generating and Checking", microchip
같이 보기