728x90
정보 전송 단위
- IP, UDP -> 데이터그램(datagram)
- TCP -> 세그먼트(segment)
IP, UDP는 오류 복구 지원을 하지 않는다.
세그먼트 구조
세그먼트 오류
- 세그먼트 훼손: 훼손된 세그먼트 도착(Checksum으로 확인)
- 세그먼트 손실: 라우터 / 스위치에 세그먼트 미도착(중간 통신장치의 버퍼 오버플로우)
세그먼트 수신 확인
- 세그먼트 정상 수신 -> 수신확인(ACK) 세그먼트 회신
- 훼손 세그먼트 수신 -> 폐기 -> 미수신
- 세그먼트 미수신 -> 인지 불가
ACK(acknowledgement)
- 수신자가 데이터 세그먼트의 정상 수신을 확인하기 위해 송신자에게 보내는 특수한 세그먼트
세그먼트 미수신 확인
- 세그먼트 전송 후 타이머(timer) 개시
- 타이머 종료까지 ACK 미도착하면 오류
타이머 설정
- RTT(Round Trip Time)와 연계된 함수
- RTT보다 Timer를 좀 더 크게 잡는 것이 좋다.
오류 세그먼트 복구 절차
- 세그먼트 전송, 타이머 시작
- 세그먼트 타이머 종료할 때까지 ACK 미도착
- 세그먼트를 재전송하고 타이머 재시작
Stop-and-Wait ARQ
ARQ
- Automatic Repeat Request
송신자
- 세그먼트 송신 후 복제본을 버퍼에 유지
- 재전송 타이머 시작
- 타이머 종료 전 ACK 수신 시 복제본 폐기, 타이머 종료
- 타이머 종료 전 ACK 미수신 시 세그먼트 재전송, 타이머 재시작
수신자
- 정상 세그먼트 수신 시 ACK 회신
문제점
- ACK 세그먼트에 오류 발생 시 중복 전송
- 수신자 중복 세그먼트 구분 불가
SN(Sequence Number): 순서 번호
- 각 세그먼트에 대한 순서 번호: 동일 종류 세그먼트 간 구분
- 송신 SN: 현재 송신 세그먼트 번호
- ACK SN: 다음 송신 세그먼트 번호(송신 SN + 1)
송신 SN과 ACK SN
SN 범위: [0, 1]
- SN 필드 크기: 1비트
- Alternating Protocol
문제점
- ACK가 도착할 때까지 전송 대기
- 대기 시간동안 링크 미사용 -> 링크 사용률 저하
세그먼트 왕복 지연시간(RTT - Round Trip Time)
- 세그먼트 송신 후 ACK 수신까지 걸리는 지연시간
링크 효율
- 세그먼트 크기: 1000비트
- 링크 전송속도: 1Mbps
- RTT: 20ms
- 20ms 동안 송신 가능 비트 수: 1,000,000비트/s * 0.02s = 20,000비트
- 20ms 동안 실제 송신 비트 수: 1,000 비트
- 링크 효율: 1000/20000 = 0.05(5%) -> 링크 효율 낮음
728x90
'Computer Network' 카테고리의 다른 글
[컴퓨터 네트워크] 오류 복구3: Selective_Repeat ARQ (0) | 2022.10.09 |
---|---|
[컴퓨터 네트워크] 오류 복구2: Go-back-N ARQ (0) | 2022.10.09 |
[컴퓨터 네트워크] UDP와 검사합(checksum) (1) | 2022.10.05 |
[컴퓨터 네트워크] 트랜스포트 계층(Transport Layer) 서비스 (0) | 2022.10.05 |
[컴퓨터 네트워크] DNS(Domain Name System) (0) | 2022.09.27 |
댓글