Chapter3.4 오류복구1_Stop-and-Wait ARQ
- 오류 복구 개념
- Stop-and-Wait ARQ(Automatic Repeat Request)
- Stop-and-Wait ARQ with SN(Sequence Number, 순서번호)
전송 오류 복구 개념
- 정보 전송 단위
- 데이터그램(datagram): IP, UDP
- 세그먼트(segment): TCP
- 세그먼트 구조
- 세그먼트 오류
- 1) 세그먼트 훼손: 훼손된 세그먼트 도착(Checksum으로 확인)
- 2) 세그먼트 손실(loss): 세그먼트 미도착(중간 통신장치(라우터/스위치)의 버퍼 오버플로우)
- 세그먼트 수신 확인
- 세그먼트 정상 수신 → 수신확인(ACK) 세그먼트 회신
- 훼손 세그먼트 수신 → 폐기 → 미수신
- 세그먼트 미수신 → 인지 불가
- ACK(acknowledgement)
- 수신자가 데이터 세그먼트의 정상수신을 확인하기 위해 송신자에게 보내는 특수한 세그먼트
# 세그먼트 미수신 확인
- 세그먼트 전송 후 타이머(timer) 개시
- 타이머 종료시까지 ACK 미도착
# 타이머 설정
- RTT(Round Trip Time)와 연계된 함수
# 오류 세그먼트 복구 절차
1) 세그먼트 전송, 타이머 시작
2) 세그먼트 타이머 종료할 때까지 ACK 미도착
3) 세그먼트를 재전송하고 타이머 재시작
Stop-and-Wait ARQ
- ARQ
: Automatic Repeat Request
- 송신자
1) 세그먼트 송신 후 복제본을 버퍼에 유지
2) 재전송 타이머 시작
3) 타이머 종료 전 ACK 수신 시 복제본 폐기, 타이머 종료
4) 타이머 종료 전 ACK 미수신 시 세그먼트 재전송, 타이머 재시작
- 수신자
1) 정상 세그먼트 수신 시 ACK 회신
- 문제점
1) ACK 세그먼트에 오류 발생 시 중복 전송
2) 수신자 중복 세그먼트 구분 불가 (정상수신인지, 중복수신(재전송)인지)
Stop-and-Wait ARQ with SN
- SN(Sequence Number): 순서번호
- 각 세그먼트에 대한 순서 번호: 동일 종류 세그먼트 간 구분
- 송신 SN: 현재 송신 세그먼트 번호
- ACK SN: 다음 송신 세그먼트 번호(송신 SN+1)
- SN 범위: [0, 1]
- SN 필드 크기: 1비트
- Alternating Protocol
*Stop-and-Wait 에서는 SN을 0 또는 1만 사용해도 충분히 정상 전송과 재전송을 구분 가능함!
- 문제점: 낮은 링크 사용 효율성
- ACK가 도착할 떄까지 전송 대기
- 대기 시간 동안 링크 미사용 → 링크 사용률 저하
- 세그먼트 왕복 지연시간(RTT - Round Trip Time)
- 세그먼트 송신 후 ACK 수신까지 걸리는 지연시간
- 링크 효율
- 세그먼트 크기: 1,000비트
- 링크 전송속도: 1Mbps
- RTT: 20ms
- 20ms 동안 송신 가능 비트수: 1,000,000비트/s X 0.02s = 20,000비트
- 20ms 동안 실제 송신 비트수: 1,000qlxm
- 링크 효율: 1,000/20,000 = 0.05(5%)
'CS > 네트워크' 카테고리의 다른 글
[컴퓨터네트워크] Chapter3.4 오류복구3_Selective_Repeat ARQ (1) | 2023.12.03 |
---|---|
[컴퓨터네트워크] Chapter3.4 오류복구2_Go-Back_N ARQ (0) | 2023.12.02 |
[컴퓨터네트워크] Chapter3.3 비연결형 트랜스포트: UDP, 검사합(checksum) (0) | 2023.11.30 |
[컴퓨터네트워크] Chapter3.1~2 트랜스포트 계층 서비스 / 다중화와 역다중화 (0) | 2023.10.25 |
[컴퓨터네트워크] Chapter2.4 DNS(Domain Name System) (0) | 2023.10.25 |