← 질문 목록
#313깊이 0
TCP는 보낼 양을 어떻게 늘렸다 줄이는가?
작게 시작해 두 배씩 늘리다가, 문턱을 넘으면 하나씩만 늘린다. 손실이 보이면 줄인다.
| 순서 | 보낼 양 | 무슨 일 |
|---|---|---|
| 1 | 1 | 느린 시작 |
| 2 | 2 | 두 배 |
| 3 | 4 | 두 배 |
| 4 | 8 | 문턱 |
| 5 | 9 | 하나씩 |
이름과 달리 느린 시작은 느리지 않다. 시작이 작을 뿐 늘어나는 속도는 왕복마다 두 배다. 문턱(ssthresh)을 넘으면 왕복마다 하나씩만 늘리는 혼잡 회피로 바꾼다.
손실을 어떻게 알았느냐에 따라 대응이 다르다. 같은 ACK가 세 번 겹쳐 오면 길이 완전히 막힌 것은 아니라고 보고 절반으로 줄인다.
타임아웃이면 다르다. 아무 소식이 없다는 뜻이라 보낼 양을 1로 되돌리고 느린 시작부터 다시 한다.
혼잡 제어는 라우터가 아니라 보내는 쪽이 한다. 네트워크는 대개 혼잡하다고 알려 주지 않아서 손실로 짐작한다. ECN을 켠 길에서는 라우터가 손실 없이 알려 주기도 한다.