1.1 What is the error
트랜지스터를 기반으로 하는 컴퓨터는 모든 데이터 처리를 2진법에 기초한다. high-low voltage동작을 컴퓨터 프로세서는 0과 1로 표현하는 것이다. 우리가 컴퓨터로 사용하는 문서, 음악, 영화 등 모든 데이터는 0과 1로 이루어진 binary 덩어리이다. 마치 영화 ‘매트릭스’의 도입화면에서 나타나는 녹색 줄의 0과1의 무수한 코드처럼 말이다. 그러므로 컴퓨터간의 데이터 전송 시에도 0과 1의 조합이 전송되는 것이다. 문제는 이런 데이터의 이동에 있어서 방해요인이 있다는 것이다. 비록 미미한 정도지만 전송선의 저항이 있을 수도 있고, 혹은 네트워크 내의 오류가 있을 수도 있고, 주변 통신기기의 강력한 전파로 인해 전송에 장애가 올 수도 있는 것이다. 이런 약간의 방해요인으로 0과 1의 조합에 균열이 가면 데이터는 엉망이 되고 만다. 이렇게 sender가 의도하지 않은 전송 중에 일어나는 error를 receiver쪽에서는 전혀 알 수 없으므로 이것을 detecting하고 더 나아가 correcting하기 위한 기술들이 필요하다.
1.2 What is the CRC
Network는 한 장치에서 다른 장치로 정확하게 데이터를 전송할 수 있어야 한다. 한 장치에서 수신한 데이터가 다른 장치 송신된 데이터와 동일하다고 확신할 수 없는 network는 쓸모가 없다. 그러나 sender에서 receiver로 전송되는 데이터는 전송 중에 변경될 가능성을 항상 가지고 있다. 신뢰성 있는 시스템은 이러한 errors를 Detecting하고 Correcting할 수 있는 기법을 포함하고 있어야 한다.
....