기출 arq 종류

agnusdei·2024년 11월 23일
0

Network

목록 보기
32/419

문제: 에러 제어 ARQ(Automatic Repeat reQuest)의 종류에 대해 설명하시오.


답:

ARQ (Automatic Repeat reQuest)란?

ARQ는 데이터 전송 중 오류가 발생했을 때 송신 측에 재전송을 요청하는 방식입니다. 데이터의 무결성을 보장하기 위해 수신 측에서 오류를 검출하고, 오류가 발생한 경우 송신 측에 패킷을 재전송하도록 요청하는 방식입니다. ARQ는 주로 송수신 사이의 확인 응답(ACK)과 부정 응답(NACK)을 통해 이루어집니다.

ARQ의 주요 종류는 Stop-and-Wait ARQ, Go-Back-N ARQ, Selective Repeat ARQ입니다.


1. Stop-and-Wait ARQ

Stop-and-Wait ARQ는 가장 기본적인 형태의 ARQ로, 송신 측에서 한 번에 하나의 데이터 패킷을 전송하고, 수신 측에서 이를 확인하는 응답(ACK)을 받을 때까지 대기하는 방식입니다.

특징:

  • 송신 측: 한 패킷을 전송한 후, 수신 측으로부터 ACK를 받기 전까지 다음 패킷을 전송하지 않습니다.
  • 수신 측: 데이터를 받고 ACK를 송신 측에 보내며, 오류가 발견되면 NACK을 보냅니다.
  • 장점: 구현이 간단하고 이해하기 쉽습니다.
  • 단점: ACK를 기다리는 동안 송신 측은 아무 작업도 하지 않기 때문에 대기 시간이 길어지며, 전송 효율이 낮습니다.

예시:

  1. 송신 측이 데이터 패킷 1을 전송
  2. 수신 측이 ACK 1을 송신 측에 전송
  3. 송신 측은 ACK를 받고 다음 패킷 2를 전송
  4. 만약 패킷 1에 오류가 있으면, 수신 측은 NACK을 전송하고 송신 측은 패킷 1을 재전송

2. Go-Back-N ARQ

Go-Back-N ARQ는 여러 패킷을 연속적으로 송신하면서, 수신 측에서 오류가 발생한 패킷만을 다시 요청하는 방식입니다. 송신 측은 연속적으로 패킷을 전송하며, 수신 측에서 오류가 발생한 경우 해당 패킷과 그 이후의 모든 패킷을 재전송하도록 요청합니다.

특징:

  • 송신 측: 여러 패킷을 전송하고, 각 패킷에 대해 ACK를 기다리지 않습니다. 대신 하나의 윈도우 크기를 지정하고 그 안에서 여러 패킷을 전송합니다.
  • 수신 측: 순서대로 수신한 패킷을 ACK로 응답하며, 오류가 발생한 패킷이 있으면 그 이후 모든 패킷을 재전송 요청합니다.
  • 장점: 데이터 전송 속도가 빨라집니다. 송신 측이 여러 패킷을 연속적으로 보낼 수 있기 때문입니다.
  • 단점: 오류가 발생한 후 그 이후의 모든 패킷을 재전송해야 하므로, 효율성에서 손해를 볼 수 있습니다.

예시:

  1. 송신 측이 패킷 1, 2, 3을 연속적으로 전송
  2. 수신 측이 패킷 1, 2는 정상 수신하고, 패킷 3에 오류가 발생한 경우, 송신 측에 패킷 3과 그 이후 패킷을 재전송 요청
  3. 송신 측은 패킷 3부터 다시 전송

3. Selective Repeat ARQ

Selective Repeat ARQ는 Go-Back-N ARQ의 개선된 방식으로, 오류가 발생한 패킷만 재전송합니다. 수신 측은 오류가 발생한 패킷만을 요청하고, 송신 측은 해당 패킷만 다시 전송합니다. 이 방식은 전송 효율이 높고, 불필요한 재전송을 줄일 수 있습니다.

특징:

  • 송신 측: 여러 패킷을 전송하며, 각 패킷에 대해 개별적으로 ACK를 기다립니다. 오류가 발생한 패킷만 재전송합니다.
  • 수신 측: 수신한 패킷에 대해 ACK를 송신하며, 오류가 발생한 패킷만 재전송을 요청합니다.
  • 장점: 오류가 발생한 패킷만 재전송하므로 전송 효율이 높습니다. 네트워크 대역폭을 절약할 수 있습니다.
  • 단점: 송신 측과 수신 측 모두에서 패킷의 순서나 상태를 추적해야 하므로 구현이 더 복잡합니다.

예시:

  1. 송신 측이 패킷 1, 2, 3을 전송
  2. 수신 측이 패킷 1, 3을 정상 수신하고, 패킷 2에 오류가 발생한 경우
  3. 수신 측은 패킷 2만 재전송 요청
  4. 송신 측은 패킷 2만 재전송하고, 나머지 패킷은 그대로 유지

결론

ARQ는 데이터 전송의 신뢰성을 보장하는 중요한 메커니즘입니다. 각 ARQ 방식은 특정 상황에서 장단점이 존재하며, 적절한 방식 선택은 전송 효율과 오류 처리의 균형을 맞추는 데 중요한 역할을 합니다.

  • Stop-and-Wait ARQ는 간단하지만 효율성이 낮습니다.
  • Go-Back-N ARQ는 빠른 전송을 제공하지만 오류가 발생하면 그 이후의 모든 패킷을 재전송해야 합니다.
  • Selective Repeat ARQ는 오류가 발생한 패킷만 재전송하여 효율성을 높이지만 구현이 복잡합니다.

0개의 댓글