728x90
TCP 개념 요약
TCP Tahoe, Reno, New Reno
- Tahoe: 손실 발생 시 slow start로 초기화. Fast retransmit만 사용.
- Reno: Fast retransmit + fast recovery 도입. 혼잡 창(cwnd)을 절반으로 줄인 후 증가 유지.
- New Reno: 여러 패킷 손실 상황에서도 빠르게 회복 가능.
혼잡 제어 핵심 요소
Congestion Window (cwnd)
- 송신자가 전송할 수 있는 데이터의 최대량.
- 네트워크 혼잡 상태에 따라 동적으로 조절됨.
Slow Start & Congestion Avoidance
- Slow Start: 혼잡 창을 지수적으로 증가시켜 네트워크 상태를 빠르게 탐색.
- Congestion Avoidance: 임계점 도달 후 선형 증가 방식으로 혼잡 방지.
RTT Estimation
- 패킷이 전송되고 ACK가 돌아오기까지의 시간.
- 타임아웃 설정 및 재전송 판단에 사용됨.
Self-Clocking
- ACK의 도착 속도에 맞춰 패킷 전송 속도가 자동 조절됨.
TCP 성능 향상 메커니즘
Fast Retransmit
- 동일한 ACK이 3번 연속 수신되면 타임아웃 없이 손실된 패킷을 즉시 재전송.
Fast Recovery
- 패킷 재전송 후 slow start로 돌아가지 않고, 혼잡 창을 절반으로 줄인 뒤 선형 증가.
Congestion Window Inflation
- 중복 ACK 수신 시 혼잡 창이 실제보다 커지는 현상. 과도한 전송으로 혼잡을 유발할 수 있음.
수식과 이론
AIMD (Additive Increase, Multiplicative Decrease)
- Additive Increase: 패킷 손실이 없으면 혼잡 창을 선형적으로 증가.
- Multiplicative Decrease: 손실 발생 시 혼잡 창을 승수적으로 감소 (일반적으로 절반으로).
TCP Throughput 근사 공식
- RTT: 왕복 시간
- p: 패킷 손실률
- 손실률이 높을수록 처리량이 낮아짐.
RTT worth of transmission loss
- 패킷 손실 후 타임아웃을 기다리면 1 RTT 동안 전송 기회를 잃게 됨.
- Fast retransmit로 이 비효율을 줄일 수 있음.
자주 등장하는 단어와 표현
| 단어/표현 | 뜻 | 예문 |
|---|---|---|
| sawtooth process | 서서히 증가 후 급감하는 패턴 | TCP window size shows a sawtooth pattern. |
| AIMD | 가산적 증가, 승수적 감소 | TCP uses AIMD for congestion control. |
| halve | 절반으로 줄이다 | TCP halves the window size after loss. |
| merrily | 즐겁게, 신나게 | They sailed merrily down the stream. |
| occupancy of the queue | 큐의 점유율 | High queue occupancy may indicate congestion. |
| RTT | 왕복 시간 | High RTT increases latency. |
| Throughput | 처리량 | System throughput reached 1Gbps. |
| Packets | 패킷들 | TCP divides data into packets. |
| fluctuations | 변동 | Latency fluctuations affect performance. |
| lock-step | 보조를 맞춘 상태 | The systems moved in lock-step. |
| geometric | 기하학적인 | The pattern was geometric in design. |
| staircase | 계단식 패턴 | The graph showed a staircase pattern. |
| ratchet it down | 점차 줄이다 | The system ratcheted down traffic. |
| absorb | 흡수하다 | The network absorbed the spike. |
| max-min fairness | 최소 사용자부터 최대화하는 공정성 | TCP tries to achieve max-min fairness. |
| three duplicated ACKs | 동일 ACK 3회 수신 시 패킷 손실 판단 | Triggers fast retransmit. |
| window inflation | 혼잡 창이 실제보다 커지는 현상 | May cause too many packets in flight. |
| nitty-gritty | 핵심적인 부분 | Let’s get to the nitty-gritty. |
| RTT worth of transmission loss | RTT 동안 전송 기회 손실 | Fast retransmit prevents this. |
728x90
'프로그래밍공부(Programming Study) > CS-네트워크(Network)' 카테고리의 다른 글
| ①편. AWS 네트워크와 OSI 7계층 기초 (0) | 2025.10.12 |
|---|---|
| Network - 라우팅(Routing) (13) | 2025.08.25 |
| 네트워크 트러블슈팅 필수 명령어 총집합 - 2탄 (feat. 실무 사례) (0) | 2025.03.25 |
| 📌 네트워크 기본 개념: TCP/UDP, 핸드셰이크, 소켓 상태, 라우팅, 서브넷 (0) | 2025.02.23 |
| 서버와 클라이언트 통신 프로토콜의 모든 것: 모바일 푸시알림, 롱폴링, 웹소켓, 서버 전송 이벤트 비교 (2) | 2024.12.05 |
댓글