흐름제어는 송신측과 수신측 사이의 전송 문제를 다루며,
혼잡제어는 호스트와 라우터를 포함한 보다 넓은 관점에서의 전송 문제를 다룬다.
<aside> 💡 sender가 receiver의 buffer 눈치를 보면서 데이터를 전송 속도를 조절하는 것이다.
</aside>
sender가 보낸 데이터를 저장하고 있는 receiver의 buffer 크기는 유한하다.
이 때문에 만약 sender가 보내는 데이터의 속도가 receiver의 application이 buffer에 저장된 데이터를 처리하는 속도보다 빠르게 되면,
receiver의 buffer가 가득차는 순간부터 sender의 데이터는 유실되어 데이터 전송에 혼란을 야기할 수 있다.
이를 최대한 해결하기위해 흐름제어가 쓰인다.
Stop and Wait
매번 전송한 패킷에 대해 확인 응답을 받아야만 그 다음 패킷을 전송하는 방법
Sliding Window