PromleeBlog
sitemapaboutMe

posting thumbnail
TCP 혼잡 제어
TCP Congestion Control

📅

🚀

TCP 혼잡 제어 핵심 질문 (TCP's Congestion Control Key Questions)🔗

혼잡 제어를 하고자 한다.
참고: 우리는 TCP의 한 버전인
TCP Reno
의 주요 특징만을 살펴볼 것이다.

🚀

TCP 혼잡 제어의 핵심 용어 (TCP's Congestion Control Keywords)🔗

주요 상태 및 메커니즘

주요 파라미터

주요 이벤트

🚀

TCP 혼잡 윈도우: cwnd (TCP Congestion Window: cwnd)🔗

네트워크의 혼잡 상태를 기반으로 조절되는 중요한 파라미터이다.
이 윈도우는 발신자가 네트워크를 통해 "in-flight" 상태, 즉 아직 확인되지 않은 상태로 전송할 수 있는 데이터의 최대 양을 결정한다.
cwnd
는 동적이며, 네트워크 혼잡을 감지한다.
마지막으로 보낸 바이트 - 마지막으로 확인된 바이트 < = cwnd
TCP 전송률
:

🚀

TCP 슬로우 스타트🔗

연결이 시작될 때, 첫 번째 손실 이벤트까지 전송률을 지수적으로 증가시킨다:
초기 전송률은 느리지만, 매우 빠르게 증가
모든
타임아웃
이벤트 이후에
슬로우 스타트
로 돌아감
모든
3중 중복 ACK
이벤트 이후에
혼잡 회피
로 이동

🚀

TCP: 혼잡 감지 및 손실 반응 (TCP: Congestion Detection and reacting to Loss)🔗

추론된 패킷 손실을 기반으로 혼잡을 감지 -
타임아웃
또는
3개의 중복 ACKs
에 의해 손실을 추론함
타임아웃
에 의한 손실:
3중 중복 ACKs
에 의한 손실:

🚀

TCP 혼잡 회피: AIMD (TCP Congestion Avoidance: AIMD)🔗

송신자는 전송 속도(윈도우 크기)를 증가시키면서 사용 가능한 대역폭을 탐색하며, 손실이 발생할 때까지 지속함
가산적 증가
(Additive Increase):
곱셈적 감소
(Multiplicative Decrease):
image
AIMD 톱니형 행동: 대역폭을 탐색하는 과정

🚀

TCP: Slow Start에서 혼잡 회피로 전환 (Transition from Slow Start to Congestion Avoidance)🔗

image
지수 증가에서 선형 증가로 전환: