1. 재전송 기반 에러제어 (Retransmission Error Control)
  ㅇ 신뢰성있는 데이터 전달을 위해, 재전송을 기반으로 하는, 에러제어 방식
  ㅇ `검출후 재전송 방식` 또는 `ARQ 기법` 이라고도 함
2. ARQ 방식의 특징
  ㅇ 수신자 피드백 방식
     - 수신측이 송신측에 재전송을 요구하는 방식 
        . 데이터 내 첨부된 오류검출(체크섬 등) 정보로 에러 발생 유무를 점검하고,
           .. 에러가 발생한 프레임에 대해 재전송을 요구함
        . 긍정확인(ACK) 및 타임아웃(일정시간) 등으로 신뢰성 확보
  ㅇ 오류검출 만으로도 통신회선의 신뢰성 제고 가능
     - ARQ 기법은 비록 오류정정 체계를 갖추지는 못하였더라도,
        . 오류검출 만으로 통신회선의 신뢰성 확보에 충분함
     - 특히, 적은 오류 발생일 때 더욱 효과적
  ㅇ 결론적으로,
     - ARQ는 재전송을 기반으로하여 링크의 신뢰성을 확보하는 기법
     - 다만, 실시간 처리에는 곤란한 에러제어 방법임
3. ARQ 구현시 필요한 기능
  ㅇ 오류 검출
     - 데이터 기반 메커니즘 : 체크섬, 패리티 검사, CRC 등
        . 데이터 내에 부가된 리던던시에 의해 오류검출
     - 시간 기반 메커니즘   : 타이머 사용 
        . 송신측은 일정시간(타임아웃) 내 수신측으로부터 ACK 도착 않으면, 에러 발생 가정
  ㅇ 수신 여부 피드백
     - 긍정 확인시 : ACK (긍정 확인응답) 
     - 부정 확인시 : NACK (부정 확인응답)
        . 또는, 일정시간 ACK 미수신시 즉, 타임아웃 인 경우에 부정 확인으로 간주
     
  ㅇ 재전송의 신뢰화 및 효율화 
     - 재전송 신뢰성 확보
        . 시간 기반 재전송 메커니즘     : 타이머 사용 (RTO 등)
        . 확인응답 기반 재전송 메커니즘 : 확인응답(ACK) 메세지의 도착 유무 
     - 재전송 효율성 확보
        . 느린 시작 등
4. ARQ 방식의 종류
  ㅇ 정지대기방식 (Stop and Wait, Idle ARQ)
     - 한 번에 하나씩 긍정 확인응답(ACK)을 받고, 후속 데이터 전송
     - 가장 단순하나, 다소 비효율적
     - 반이중 방식에서도 가능
 
  ㅇ Go Back n ARQ (GBN) 또는 Continuous ARQ (연속적 ARQ)
     - 한번에 여러 개를 보낸후 하나의 긍정 확인응답(ACK)을 받고, 후속 데이터 전송.
     - NAK(부정 확인응답)를 수신할 때까지 계속하여 데이터를 송신함.
     - 전이중방식에서 동작함
     * `슬라이딩 윈도우 (Sliding Window) 방식` 이라고도 불리움
  ㅇ Selective Repeat ARQ (선택적 ARQ, 선택적 재전송)
     - 위 연속적 ARQ 와는 비슷하지만, 
        . 오류가 발생된(NACK) 프레임 이후 또는 오류 발생된 프레임 만을 재전송
           .. 例) TCP 등
     - 전이중방식에서 동작함
  ㅇ Adaptive ARQ (적응적 ARQ)  ☞ Link Adaption, H-ARQ 등 참고
     - 적응적으로 ARQ 횟수를 줄여 전송 효율을 높이는 방식