728x90
Selective-Repeat
- 오류 세그먼트만 재전송
송신자
- ACK가 회신되는 RTT동안 링크에 최대로 송신 윈도우 크기인 Ssize개의 세그먼트를 전송한다.
- 누적 ACK(accumulative ACK)를 수신하면 송신 윈도우를 누적 ACK 수만큼 이동한다.
- 비누적 ACK(non-accumulative ACK)를 수신하면 해당 세그먼트의 ACK 수신 사실을 기록한다.
- 세그먼트 재전송 타이머가 종료될 때까지 ACK가 수신되지 않으면 해당 세그먼트를 재전송한다.
송신 윈도우(send window)
- 송신 가능한 순서번호 범위
- 송신 후 버퍼에 유지되어야 할 세그먼트의 범위
누적 ACK(accumulative ACK)
- 송신 윈도우 내에서 누적적으로 순서 번호가 맞는 ACK
비누적 ACK(non-accumulative ACK)
- 송신 윈도우 내에서 누적적으로 순서 번호가 맞지 않는 ACK
수신자 동작 절차
- 송신 윈도우와 동일한 크기의 수신 윈도우 Rsize유지
- 누적 정상 세그먼트를 수신하면 ACK를 회신하고 누적 정상 세그먼트 수만큼 수신 윈도우를 이동한다.
- 비누적 정상 세그먼트를 수신하면 ACK를 회신하고 해당 세그먼트를 버퍼에 유지한다.
수신 윈도우(receive window): Rsize
- 수신 가능한 세그먼트의 범위
- 송신 윈도우 크기와 동일
수신자 버퍼 관리
- 비누적 정상 세그먼트를 수신 버퍼에 유지
- 다음 수신 가능 세그먼트: 수신 버퍼에 유지되고 있지 않은 수신 윈도우 내의 모든 세그먼트
예시) 수신 윈도우 크기: 8
- Go-Back-N에서는 송신 윈도우의 크기가 2m - 1이었다. 하지만 Selective-Repeat는 2m-1의 크기를 갖는다.
Selective-Repeat ARQ 예제
송신 윈도우의 최대 크기
728x90
'Computer Network' 카테고리의 다른 글
[컴퓨터 네트워크] TCP 세그먼트 구조와 재전송 타이머(TCP Segment & Retransmission Timer) (0) | 2022.10.13 |
---|---|
[컴퓨터 네트워크] TCP 연결관리(Connection Management) (0) | 2022.10.12 |
[컴퓨터 네트워크] 오류 복구2: Go-back-N ARQ (0) | 2022.10.09 |
[컴퓨터 네트워크] 오류 복구1: Stop-and-wait ARQ (0) | 2022.10.05 |
[컴퓨터 네트워크] UDP와 검사합(checksum) (1) | 2022.10.05 |
댓글