Go-Back-N ARQ

Go-Back-N ARQ

Go-Back-N ARQ는 자동 반복 요청(ARQ) 프로토콜의 특정 인스턴스로, 송신 프로세스가 수신자로부터 승인(ACK) 패킷을 받지 않아도 창 크기에 의해 지정된 다수의 프레임을 계속 송신한다. 일반 슬라이딩 윈도우 프로토콜의 특수한 경우로서, 전송 윈도우 사이즈는 다음과 같다. N 그리고 1의 창 크기를 받는다. 그것은 전송할 수 있다. N ACK를 요구하기 전에 피어에 프레임을 연결한다.

수신기 프로세스는 수신할 것으로 예상되는 다음 프레임의 시퀀스 번호를 추적한다. 예상한 정확한 순서 번호가 없는 프레임(이미 인정된 중복 프레임 또는 나중에 수신할 것으로 예상되는 주문되지 않은 프레임)은 폐기하고 마지막으로 올바른 주문형 프레임에 대한 ACK를 전송한다.[1] 송신자가 창문의 모든 프레임을 전송하면, 첫 번째 손실 프레임 이후의 프레임이 모두 미결하다는 것을 감지하고, 수신기 프로세스에서 받은 마지막 ACK의 시퀀스 번호로 되돌아가서 그 프레임부터 시작하여 창을 채우고 다시 프로세스를 계속한다.

Go-Back-N ARQ는 Stop-and-wait ARQ보다 연결을 더 효율적으로 사용하는데, 각 패킷에 대한 승인을 기다리는 것과 달리, 패킷이 전송되면서 여전히 연결이 활용되고 있기 때문이다. 다시 말해, 그렇지 않으면 기다림에 소비될 시간 동안, 더 많은 패킷이 전송되고 있다. 그러나 이 방법은 프레임을 여러 번 보내는 결과를 가져오기도 한다. 프레임이 분실 또는 손상되었거나 ACK가 이를 인식한 경우(오류 없이 수신한 경우에도) 해당 프레임과 송신 창의 모든 다음 프레임이 다시 전송된다. 이를 방지하기 위해 선택적 반복 ARQ를 사용할 수 있다.[2]

가성음

이러한 예는 무한히 많은 수의 시퀀스와 요청 번호를 가정한다.[1]

N := 창 크기 Rn := 요청 번호 Sn := sequence number Sb := 시퀀스 base Sm := 0. 수신한 패킷 = Rn이고 패킷이 자유롭다면 패킷을 승인하여 상위 레이어 Rn := Rn + 1 기타 Reject pa로 전송한다.Cket Send a Request for Rn function sender는 Sb := 0Sm :=N + 1 다음 단계를 영원히 반복한다:Rn > Sb에 있는 요청 번호를 받으면 : (Sm - Sb) + Rn Sb := 전송 중인 패킷이 없으면 Sb SnSm에 패킷을 전송한다.               패킷은 순서대로 전송된다.  

창 크기 선택(N)

값을 선택할 때 몇 가지 명심해야 할 것이 있다. N:

  1. 송신자는 너무 빨리 송신해서는 안 된다. N 패킷을 처리하는 수신기의 능력에 의해 제한되어야 한다.
  2. N 시퀀스 번호 수보다 작아야 한다(0부터 0까지 번호가 매겨진 경우). N패킷(모든 데이터 또는 ACK 패킷)이 삭제된 경우 전송을 검증한다.[clarification needed][2]
  3. (1)과 (2)에 표시된 한계에 따라 N 가능한 한 가장 많은 수가 될 것이다.[3][failed verification]

참조

  1. ^ a b .mw-parser-output cite.citation{font-style:상속을 하다;word-wrap:break-word}.mw-parser-output .citation q{인용:")"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output.id-lock-freea,.mw-parser-output .citation .cs1-lock-free{.배경:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9pxno-repeat}.mw-parser-output .id-lock-limiteda,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limiteda,.mw-parser-output .citation .cs1-lock-registration{.배경:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9pxno-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription{.배경:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9pxno-repeat}.mw-parser-output{배경 .cs1-ws-icon:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1emcenter/12pxno-repeat}.mw.-parser-output .cs1-code{색:상속을 하다;배경:상속을 하다;국경 아무 것도 없고 패딩: 물려받다}.mw-parser-output .cs1-hidden-error{디스플레이:아무도, 색:#d33}.mw-parser-output .cs1-visible-error{색:#d33}.mw-parser-output .cs1-maint{디스플레이:아무도, 색:#3a3, margin-left:0.3em}.mw-parser-output .cs1-format{:95%font-size}.mw-parser-output .cs1-kern-left{.Padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:상속}Kurose, 제임스 F.;키스 W로스.컴퓨터 네트워킹:Top-Down 접근법이다. ISBN 0-321-49770-8
  2. ^ a b Tanenbaum, Andrew S. 컴퓨터 네트워크 (제4조). ISBN 0-13-066102-3
  3. ^ Marbach, Peter. "ARQ Protocols" (PDF). Retrieved August 24, 2013.

외부 링크