Stop and Wait, Congestion Window(CWND)+Received Window(RWND)
Selective ACK
1) TCP 오류 복구 기능
- TCP Retransmission (test_000031.pcap)
Retransmission Timer : Retransmission Timeout(RTO) = RTT(Round Trip Time)의 평균 시간
패킷 전송 후 ACK를 RTO 시간 이내에 받지 못하면 재전송
RTO은 2배 증가
재전송 시도 횟수는 운영체제에 따라 상이함(Windows 5회, Linux 15회)
- TCP Duplicate ACK & TCP Fast Retransmission & Selective ACK (test_000032.pcap)
Sequence Number, Acknowledge Number(=Sequence Number+수신 데이터 바이트 수)
패킷 손실 탐지
2) TCP 흐름 제어
- Receive Window, Sliding Window
- Zero Window Notification : 메모리 부족, 처리 능력 부족 등의 이유로 클라이언트에서 보내온 패킷을 처리할 수 없을 때
- Keep Alive (test_000033.pcap, test_000034.pcap)
3) 통신 지연 원인 찾기
- 정상 상태 (test_000035.pcap)
- 지연 상태(유선 지연, 클라이언트 지연, 서버 지연) (test_000036.pcap, test_000037.pcap, test_000038.pcap)
Slow Start : 망의 전송 능력을 판단하는 과정, CWND는 1부터 시작하여 2배씩 증가
Additive increas : CWND가 1씩 증가
TCP Congrestion Control
- Slow start
- Congestion avoidance
- Fast retransmit /Fast Recovery
* TCP 초기 통신 또는 재전송 타이머 안에 ACK를 받지 못하는 경우 (송신 장치가 어떤 ACK도 못받은 경우)
ssthresh(Slow Start Threshold)=재전송 발생 전 CWND/2
처음 Slow Start(CWND=1부터 2배씩 증가) - Slow Start
CWND=ssthresh이면, Additive Increase(1씩 증가) - Congestion Avoidance
* 특정 패킷이 유실되어 이에 해당되는 ACK를 수신한 경우 - Fast Recovery
Fast Retransmit : 3개의 동일한 ACK를 수신했을 때 재전송 타이머를 기다리지 않고 재전송
Fast Start(CWND'=ssthresh=CWND/2부터 시작, Additive Increase(1씩 증가)) = Fast Recovery
Fast Retransmit --> Fast Recovery
'나의 서재 > 04. 와이어샤크를 활용한 실전 패킷 분석' 카테고리의 다른 글
Wireshark 활용하기 #27 (5) | 2021.04.29 |
---|---|
Wireshark 활용하기 #26 (1) | 2021.04.29 |
Wireshark 활용하기 #24 (1) | 2021.04.29 |
Wireshark 활용하기 #23 (1) | 2021.04.29 |
Wireshark 활용하기 #22 (2) | 2021.04.29 |
댓글