재전송(데이터 네트워크)

Retransmission (data networks)

재전송은 기본적으로 자동 반복 요청(ARQ)과 동일하며, 손상되거나 손실된 패킷의 재전송이다. 재전송은 신뢰할 수 있는 통신(예: 신뢰할 수 있는 바이트 스트림이 제공하는 통신)을 제공하기 위해 패킷 교환 컴퓨터 네트워크를 통해 운용하는 프로토콜에 의해 사용되는 기본 메커니즘 중 하나이다.

그러한 네트워크는 대개 "신뢰할 수 없는" 것으로, 는 패킷을 지연, 손상 또는 분실하거나 순서에 맞지 않게 전달하지 않을 것이라는 보증을 제공하지 않는다는 것을 의미한다. 그러한 네트워크를 통해 신뢰할 수 있는 통신을 제공하는 프로토콜은 그러한 신뢰성을 제공하기 위해 수신확인(, 데이터의 목적지로부터의 명시적인 수신), 누락되거나 손상된 패킷의 재전송(일반적으로 시간 초과에 의해 시작됨), 체크섬의 조합을 사용한다.

인정

네트워킹 프로토콜에서 단독으로 또는 함께 사용할 수 있는 몇 가지 형태의 승인이 있다.

  • 긍정 확인: 수신자는 송신자에게 어떤 패킷, 메시지 또는 세그먼트가 올바르게 수신되었는지 명시적으로 통지한다. Positive Acknowledgement는 따라서 송신자에게 어떤 패킷이 수신되지 않았는지 암묵적으로 알려주고 재전송해야 하는 패킷에 대한 세부사항을 제공한다.
  • 음성 인식(NACK): 수신자는 송신자에게 어떤 패킷, 메시지 또는 세그먼트가 잘못 수신되었는지 명시적으로 통지하여 재전송이 필요할 수 있다(RFC 4077)
  • 선택적 승인(SACK): 수신기는 스트림에서 어떤 패킷, 메시지 또는 세그먼트를 승인하는지 명시적으로 나열한다(부정적 또는 양적). 포지티브 선택적 인정은 위성 인터넷 접속(RFC 2488)에 유용한 TCP(RFC 2018)의 옵션이다.
  • 누적 승인: 수신자는 이전의 패킷이 올바르게 수신되었음을 발신인에게 암시적으로 알리는 패킷, 메시지 또는 세그먼트를 스트림에서 올바르게 수신했음을 인정한다. TCP 슬라이딩 윈도우에 누적 수신확인을 사용한다.

재전송

재전송은 매우 단순한 개념이다. 한 당사자가 상대방에게 물건을 보낼 때마다, 수신자가 수령 사실을 인정할 때까지 보낸 자료의 사본을 보관한다. 다양한 상황에서 송신자는 보존된 복사본을 사용하여 데이터를 자동으로 재전송한다. 재전송 사유는 다음과 같다.

  • 적절한 시간 내에 그러한 인정을 하지 않으면, 타임아웃.
  • 송신자는 종종 대역 외 수단을 통해 전송이 실패했음을 발견한다.
  • 수신자가 예상 데이터가 도착하지 않은 것을 알고 발신인에게 통지하는 경우
  • 수신자가 데이터가 도착했지만 손상된 상태라는 것을 알고, 발신인에게 그것을 표시하는 경우

참고 항목