DKU/데이터 통신

Error Control 3

marvel_hyeon 2024. 11. 14. 18:54
728x90

Selective Repeat ARQ

큐에 패킷이 있고 전송할 준비가 되었다면, 맨 앞에 있는 패킷을 전송한다. 그리고 이 패킷에 대한 ACK timer를 시작한다.

큐에서 아직 전송된 적이 없는 후속 패킷들도 전송하는데, 각 패킷에 대한 ACK timer를 시작한다.

타임아웃 기간 내에 ACK을 수신했는지 확인한다. ACK을 수신한 경우, 인증된 패킷을 큐에서 제거하고, 후속 패킷들을 전송하며 ACK 타이머 또한 작동시킨다. 만약 ACK을 수신하지 못한 경우, 큐에서 ACK을 받지 못한 패킷을 재전송하며 이 패킷에 대한 ACK timer를 다시 시작한다. 이후에 후속 패킷들을 전송하며 ACK 타이머 또한 작동시킨다.

 

Stop and Wait ARQ나, Go and Back ARQ 같은 경우에는 타이머를 하나씩 사용하는데, Selective Repeat ARQ에서는 각 패킷마다 타이머를 사용한다. 이는 패킷들이 정렬되지 않기 때문에, 이후에 재정렬이 필요해진다.

 

Selective Repeat ARQ

 

위 그림에서는 각 패킷마다 ACK타이머가 작동하므로, 타임아웃 기간이 매우 많은 것을 확인할 수 있다.

수신자가 7번째 패킷을 수신하는 구간에서는, 오로지 7번째 패킷만을 수신한다.

따라서 수신자가 7번째 패킷을 수신하는 전체 시간은 $S_1^{(7)} + S_2^{(7)} + S_3^{(7)}$으로 표현할 수 있다.

그림을 보면 알 수 있다싶이, 수신자가 패킷을 올바른 순서로 수신하지 않을 수가 있다.


Performance

 

성능 분석을 위한 매개 변수와 조건들과, 재전송 패킷의 수는 Stop and Wait ARQ글에 작성되어있다.

Selective Repeat ARQ의 총 전송 시간은 송신자가 특정 패킷을 전송하는데 소요된 전체 시간을 의미한다.

$S(k)$를 k번째 패킷의 총 전송 시간이라고 정의하면, 다음과 같이 표현된다.

 

$S(k)$ 의 기대값은 다음과 같다.

 

Throughput

처리량을 나타내는 식은 Stop and Wait ARQ글에 작성되어 있다.

포화 상태의 처리량은 다음과 같이 표현된다.

 

위 식을 매개변수를 사용해서 나타내면 다음과 같다. (bits/sec)

 

따라서 정규화된 포화 상태의 처리량은 다음과 같다.


수치 예상

  • 정규화된 포화 상태의 처리량 vs 비트 오류율

 

정규화된 포화 상태의 처리량은 비트 오류율이 증가함에 따라 감소한다.

비트 오류율이 증가하면 패킷 오류율이 증가하고, 평균 재전송 횟수가 증가함에 따라 전체 처리량이 감소한다.

 

  • 정규화된 포화 상태의 처리량 vs 거리

 

정규화된 포화 상태의 처리량은 거리에 의해 영향을 받지 않는다.

Selective Repeat ARQ에서, 전파 지연은 정규화된 포화 상태의 처리량에 영향을 미치지 않는다. 

 

  • 정규화된 포화 상태의 처리량 vs 데이터 전송 속도

 

정규화된 포화 상태의 처리량은 데이터 전송 속도에 의해 영향을 받지 않는다.

그러나 포화 상태의 처리량은 데이터 전송속도가 증가함에 따라 선형적으로 증가한다.

따라서, Selective Repeat ARQ는 고속 네트워크에서 사용하기에 효율적이다.

 

  • 정규화된 포화 상태의 처리량 vs 페이로드의 길이

 

정규화된 포화 상태의 처리량을 최대화할 수 있는 최적의 페이로드 길이가 존재한다.


ARQ 기법들의 비교

  • 정규화된 포화 상태의 처리량 vs 비트 오류율

 

  • 정규화된 포화 상태의 처리량 vs 페이로드의 길이

 


시험 공부할 때 진짜 꼼꼼히 공부하렴. 복습을 너무 대충했다.

 

** 대학교 수업을 듣고 이해한 부분을 최대한 풀어서 작성한 글입니다.

틀린 정보가 존재할 수 있으며, 언제나 피드백은 환영입니다. **

'DKU > 데이터 통신' 카테고리의 다른 글

ARQ for Deep Space Communications 과제 분석  (2) 2024.11.16
Error Control 4  (1) 2024.11.15
Error Control 2  (7) 2024.11.13
Error Control  (2) 2024.11.12
Multiple Access 2  (0) 2024.10.22