Error Control : Error Detection + Error Correction
프레임 단위의 Error Detection 경우, 고려할 사항들
- 수신측에서의 에러 발생확률(BER)
- 에러가 없이 도착할 확률
- Error-Detecting 알고리즘 사용시에 하나 이상의 undetected error가 있을 확률
- Error-Detecting 알고리즘 사용시에 하나 이상의 detected error가 있고 undetected error가 없을 확률
Error Detection Process : 보내고자하는 데이터에 error-detecting-code를 덧붙여 전송한다
가장 보편화되어있는 Error-Detecting codes
전송측에서 FCS (Frame Check Sequence)를 생성하여 데이터 끝에 추가하여 전송한다.
수신측은 수신한 Frame을 약속된 Divisor로 나누기 -> 나머지가 없다면 error가 없는 것으로 확인
-> 보내고자 하는 data를 약속된 Divisor로 나눔 (XOR연산)
-> Divisor의 bit 수 - 1만큼 0을 붙여준 상태에서 XOR 연산 수행
-> Remainder를 보내고자 하는 data 뒤에 붙여줌
-> 수신측에서 data를 약속된 Divisor로 나누었을 때, 나머지가 0이 되면 에러가 없는 것으로 간주!
Polaynomial to represent a binary word : 이진수 표현을 다항식으로 표현
Standard polynomials : 네트워크 종류, 상태에따라 선택해서 사용
Circuit with Shift Registers for Dividing by the Polynomial
-> Input을 먼저 Output으로 내보낸 후에 Switch 상태를 변경하고 FCS를 생성해서 Output으로 전송한다.
-> H/W 에서 구현된다.
- n > k
- Hamming distance가 가장 작은 것으로 매핑
1. 보내고자하는 data
2. 2^x 자릿 수를 제외한 곳에 mapping
3. 값이 1인곳의 index에 대해서 xor 연산 후 끼워넣기
4. 3번째에 오류를 섞어서 전송
5. 값이 1인곳의 index에 대해서 xor 연산 결과 : 오류 index