예시
11개의 데이터 패킷이 있다.
window size는 4이다.
0~3 패킷이 보내지고 나면 0의 ack를 다시 받는다.
버퍼의 다음 index가 4이기에 4가 보내진다.
그러면 윈도우가 넘어간다.
다시 1의 ack를 받는다.
그러면 다음 번호인 5를 보내고 sliding된다.
원래 그 다음엔 2의 ack를 받아야 하는데 무언가 문제가 생겨 2의 ack가 오지 않았다.
그러면 sender는 2의 ack가 안 왔으니 2부터 다시 보내야 한다고 생각을 한다.
그래서 현재 윈도우의 프레임인 2,3,4,5를 다시 보낸다.
그럼 4,5는 중복 송신 아닌가? -> 다시 보내온 프레임들에 대해 기존 프레임들은 receiver에서 무시(discard)한다.
연습문제
풀이
https://www.youtube.com/watch?v=cqPWjo2iLgk