공부자료/Study

전송 오류 검출

F0X 2022. 5. 25. 17:08
공부할 때 필기한 내용이라 알고 게시는 내용과 다를 수 있습니다.
간단하게 정리한 내용이므로 자세한 설명은 아닙니다.

 

패리티 검사(Parity Check)

 

전송하려는 비트 블록의 끝에 한 비트의 0 또는 1을 추가하여 1의 개수를 홀수나 짝수가 되도록 하는 기법

정보를 구성하는 비트 수가 적고, 오류가 발생할 확률이 낮을 때 사용한다.

 

짝수 개의 비트에 오류가 발생한 경우는 오류 검출이 불가능하다.

3비트의 오류가 발생했을 경우 오류 검출은 가능하지만 정확히 어떤 위치에서 오류가 발생했는지를 파악하기 쉽지가 않다.

 

 

블록 합 검사(Block-Sum Check)

 

2차원 패리티 검사 방법

1차원(수평)으로만 오류를 검출할 경우 2비트 오류는 검출할 수 없는 문제점을 해결하기 위한 방법이다.

여러 개의 비트 블록에 대해 수평, 수직 방향으로 오류 검사를 수행한다.

BCC (Block-Sum Check Character)는 검사를 위해 추가된 비트 블록이다.

 

 

자기 정정 부호(Hamming Code)

 

해밍 코드는 오류를 발견하고 수정 (1Bit만) 할 수 있도록 고안된 코드이다.

홀수면 1을 추가 짝수면 0을 추가한다.

숫자는 3, 5, 6, 7에 작성 (0 0 1 0 ​0 1 1)

이 코드는 검사비트가 최소 3개는 되어야 되며, 2진화 10진수의 4비트를 검사할 경우에도 전체 비트가 7개이어야 가능하다.

해밍 코드의 패리티 검사 비트

└ C1은 비트 위치 1, 3, 5, 7에 대하여 짝수 패리티 검사

└ C2는 비트 위치 2, 3, 6, 7에 대하여 짝수 패리티 검사

└ C4는 비트 위치 4, 5, 6, 7에 대하여 짝수 패리티 검사

 

 

순환 중복 검사(CRC, Cyclic Redundancy Check)

 

여러 오류 검출 방식 중에서 가장 좋은 성능을 보인다.
여러 비트에서 발생하는 집단 오류(Burst Error)도 검출이 가능한 방식

오류 검출 방법
└ 송신 측에서는 전송할 데이터에 다항식을 적용하여 오류 검출 코드를 얻은 후에 이를 데이터에 추가하여 보낸다.
└ 수신 측에서는 송신 측에서 적용한 것과 동일한 다항식으로 수신 데이터를 나누어 나머지가 0이면 오류 없이 수신된 것으로 판단
└ 나머지가 0이 아니면 데이터에 오류가 있다고 판단하고 다시 전송해 줄 것을 송신 측에 요구한다.
└ 일반적으로 사용되는 오류 검출 코드는 16차 또는 32차의 다항식을 사용한다.

 

- CRC는 XOR를 사용해서 풀어줘야 한다. 
- XOR, 서로 같으면 0, 서로 다르면 1 
- CRC16과 CRC-ITU-T는 WAN(Wide Area Network)에서 주로 사용되고 있는 다항식이다.
- CRC32는 LAN(Local Area Network)에서 많이 사용하고 있다.