Stop-and-Wait Automatic Repeat Request

Our first protocol, called the Stop-and-Wait Automatic Repeat Request (Stop-and-

Wait ARQ), adds a simple error control mechanism to the Stop-and-Wait Protocol. Let

us see how this protocol detects and corrects errors.

To detect and correct corrupted frames, we need to add redundancy bits to our data

frame (see Chapter 10). When the frame arrives at the receiver site, it is checked and if

it is corrupted, it is silently discarded. The detection of errors in this protocol is mani-

fested by the silence of the receiver.

Lost frames are more difficult to handle than corrupted ones. In our previous proto-

cols, there was no way to identify a frame. The received frame could be the correct one,

or a duplicate, or a frame out of order. The solution is to number the frames. When the

receiver receives a data frame that is out of order, this means that frames were either

lost or duplicated.

The corrupted and lost frames need to be resent in this protocol. If the receiver does

not respond when there is an error, how can the sender know which frame to resend? To

remedy this problem, the sender keeps a copy of the sent frame. At the same time, it starts

a timer. If the timer expires and there is no ACK for the sent frame, the frame is resent, the

copy is held, and the timer is restarted. Since the protocol uses the stop-and-wait mecha-

nism, there is only one specific frame that needs an ACK even though several copies of

the same frame can be in the network.

Error correction in Stop-and-Wait ARQ is done by keeping a copy of the sent frame

and retransmitting of the frame when the timer expires.

Since an ACK frame can also be corrupted and lost, it too needs redundancy bits

and a sequence number. The ACK frame for this protocol has a sequence number field.

In this protocol, the sender simply discards a corrupted ACK frame or ignores an

out-of-order one.


볼드체 처리한 부분이 이해가 안가는데

같은 프레임의 복사본이 여러개 네트워크 상에 있어도 ACK가 필요한(ACK로 응답을 하는 것이 필요한 프레임이) 프레임은 오직 하나 뿐이다. 라고 되어있는데 말이야


이게 대체 무슨 말인지 이해가 안가

만약에

1. A라는 프레임이 전송

2. A라는 프레임이 전송

3. A라는 프레임이 전송


이렇게 A라는 프레임이 3번 연속해서 전송이 된 경우에 응답 측에서 ACK로 응답하는 횟수가 1번밖에 없다 그런 말인가?

3번 모두 ACK로 응답해야되는거 아냐?