<N부터 반복(GBN)>
GBN 프로토콜에서는 송신자는 확인응답을 기다리지 않고 여러 패킷을 전송 할 수 있다.
상위로부터의 호출 : RDT_SEND()가 위로부터 호출되면, 송신자는 첫째로 윈도우가 가득 찼는지 N개의 아직 확인응답 되지 않은 패킷이 있는지를 확인한다.
ACK의 수신 : GBN프로토콜에서 순서번호 n을 가진 패킷에 대한 확인응답은 누적확인응답으로 인식된다.
타임아웃 이벤트 : 타이머는 손실된 데이터 또는 손실된 확인응답 패킷으로 회복하는 데 사용한다. 만약 타임아웃이 발생한다면, 송신자는 이전에 전송 되었지만 아직 확인응답 되지 않은 모든 패킷을 다시 송신한다.
만약 패킷에 오류가 있다면 수신자는 그 패킷을 버리고 가장 최근에 제대로 수신된 순서의 패킷에 대한 ack을 재전송한다. gbn프로토콜에서 수신자는 순서가 잘못된 패킷들은 버린다.
[참조] Computer Networking: A Top Down Approach - J.F Kurose and K.W. Ross