[Network/TCP] Go-Back-N / Selective Repeat

TCP 통신에 사용되는 두가지 흐름제어(Flow-Control) 알고리즘

* Go-Back-N [링크]
– Cumulative ACK
– 순서대로 패킷을 주고받되 받아야할 순서의 ACK 이외의것이 들어오면 무조건 버린다.
– 누적ACK이기 때문에 가장 마지막의 ACK만을 받으면 된다.
– 특정 ACK를 받았다면 그 이전의 모든 패킷은 정상적으로 송/수신 된것으로 간주한다.
1032645086.java
* Selective Repeat [링크]
– Selective ACK
– 각각의 패킷에 대한 ACK를 전송한다.
– 개별ACK이며 순차 전송을 한다.
– Window 사이즈만큼 전송이 가능하다.
– Window의 가장 처음의 패킷이 ACK를 받지 못했다면 Window는 Shift되지 않는다.
1078733403.java