다섯 살도 알 수 있게 · 네트워크
TCP 오류·흐름·혼잡 제어가 뭐예요?
TCP의 오류·흐름·혼잡 제어를, 등기 배송이 끝까지 안전하도록 지켜주는 세 장치 이야기로 풀어봤어요.
집배원이 쉬지 않고 등기봉투를 계속 보내요.봉투가 찢어지고, 우편함도 넘치고, 길도 막혀요.
세 사고가 동시에 터지면 하나씩 터질 때보다 훨씬 나빠요.훼손·분실, 우편함 넘침, 길 전체 막힘이 한꺼번에 와요.
TCP의 오류·흐름·혼잡 제어는 등기 배송을 끝까지 지키는 세 장치예요.TCP는 봉투를 잃어버리면 다시 보내고, 우편함이 넘치면 늦추고, 길이 막히면 보내는 봉투 수를 줄여요.
오류 제어확인이 없으면 다시 보내요(재전송)
흐름 제어받는 우편함 크기만큼만 보내요(윈도)
혼잡 제어길이 막히면 보내는 수를 줄여요
타임아웃일정 시간 답이 없으면 다시 보내요
혼잡 윈도는 늘렸다 줄이기를 반복해요.보내는 쪽은 트럭 수를 천천히 늘리다가, 길이 막히면 뚝 줄여요.
세 장치의 확인·재전송 때문에 실시간 영상은 오히려 늦어져요.손실 좀 봐도 되는 건 일반봉투(UDP)가 더 맞을 수 있어요.
한 줄로
TCP는 오류 제어(잃어버리면 재전송), 흐름 제어(받는 쪽 속도에 맞추기), 혼잡 제어(길 막히면 속도 줄이기) 세 장치로 등기 배송을 끝까지 지켜요.
오류 제어는 체크섬·ACK·재전송(timeout, 빠른 재전송)으로 손실·훼손을 복구하고, 흐름 제어는 수신 윈도(receive window)로 수신 측 버퍼가 넘치지 않게 송신 속도를 조절해요. 혼잡 제어는 네트워크 혼잡 자체를 추정해 혼잡 윈도(congestion window)를 slow start·congestion avoidance로 늘리고, 손실이 감지되면 줄이는 방식으로(전통적인 AIMD) 전체 경로의 과부하를 막아요.
어른들은 이렇게 불러요
- 오류 제어
Error control - 잃어버리거나 훼손되면 다시 보내는 장치. 체크섬과 확인응답(ACK)으로 알아차려요.
- 흐름 제어
Flow control - 받는 우편함 크기만큼만 보내는 장치. 수신 윈도 크기로 속도를 맞춰요.
- 혼잡 제어
Congestion control - 길이 막히면 보내는 수를 줄이는 장치. 혼잡 윈도를 늘렸다 줄여요(AIMD).
- ACK
ACK - 잘 받았다는 확인 쪽지. 없으면 재전송이 시작돼요.
- 타임아웃·재전송
Timeout/retransmission - 일정 시간 답이 없으면 다시 보내는 규칙. 오류 제어의 핵심 수단이에요.
- 3-way 핸드셰이크
3-way handshake - 보내기 전 나누는 인사 세 번. TCP가 제어 전에 먼저 거치는 절차예요. → 등기봉투와 일반봉투
- TCP/UDP
TCP/UDP - 등기봉투와 일반봉투. 일반봉투(UDP)에는 이 세 장치가 없어요. → 등기봉투와 일반봉투
- 5G 네트워크 슬라이싱
5G Network slicing - 한 도로를 전용 차선으로 나누는 것. 도로 전체가 막히면 차선 보장도 같이 흔들려요. → 도로를 차선으로 나누기
다음 이야기
스스로 고쳐 그리는 배송 지도 →