1. 에러 제어 (Error Control)
ㅇ 데이타 전송 중 발생되는 에러를 검출(에러검출), 보정(에러정정)하는 메커니즘
2. 에러 제어의 방향에 따른 구분
ㅇ 후진 에러수정 (BEC)
- 일명, 검출후 재전송 방식(ARQ) 라고도 함 ☞ BEC, ARQ 참조
- 수신측에서 오류 발생을 검출, 오류 발생 부분에 대해 재전송을 송신측에 요구
. 오류 검출은 데이터에 보태진 패리티 비트 등을 활용하게됨
- 반드시 송수 양방향 링크(Full-Duplex)가 구성된 경우에 만 사용됨
. 송신측은 에러를 검출할 수 있을 정도 만의 부가적인 정보를 함께 보냄
ㅇ 전진 에러수정, 순방향 오류제어 (FEC)
- 송신측에서 오류를 정정할 수 있는 여분의 정보를 데이터에 첨가하여 송신하고,
수신측에서 이를 통해 정정하는 방식 ☞ 채널 부호화 참조
※ FEC(순방향오류정정) 및 ARQ(검출후 재전송 방식)를 결합한 방법 ☞ H-ARQ 참조
3. 에러 제어의 에러 대처 방식에 따른 구분
ㅇ 오류의 검출 및 폐기
- 오류가 검출되면 바로 폐기
ㅇ 확인 응답 (Acknowledgement)
- 수신측에서 오는 확인 응답 종류(ACK,NACK)에 따라 대응 송출
. 긍정 확인응답(ACK), 부정 확인응답(NACK)
ㅇ 재전송 (Retransmission, ARQ)
- 시간 만료시, 재전송 요구
. 타이머 작동, 시간 만료이면 에러 발생으로 간주
- 수신측이 오류 확인시, 재전송 요구
. 오류검출코드에 의해 오류검출하면 NACK 전송 등
- (기타) 빠른 재전송
. TCP 재전송에서, 3개의 중복 ACK 보내는 (빠른 재전송) 방식도 있음
ㅇ 오류정정 (FEC)
- 수신측이 전송 오류를 알도록 여분의 정보를 함께 보내는 오류정정코드 사용 등
4. 에러 제어의 사용 코드에 따른 구분
ㅇ 오류 검출 코드
- 단지 전송중에 발생한 오류의 존재 여부만을 수신측이 알수있도록 하는 코드
. 例) 패리티검사(Parity Check), 검사합 (Checksum), 순환중복검사 (CRC) 등
ㅇ 오류 정정 코드
- 무엇이 잘못되었는가를 충분히 알 수 있는 여분의 정보를 포함시켜,
- 수신측이 직접 오류를 고칠 수 있게하는 코드
. 블록부호
.. 선형부호 : 例) Hamming Code 등
.. 순환부호 : 例) Reed-Solomon Code, BCH Code 등
. 길쌈부호(Convolution Code)
.. 例) Viterbi Code, Turbo Code 등