6. Go-Back-N¶
6.1 Ideia geral¶
No Go-Back-N (GBN), o emissor pode enviar várias unidades antes de receber confirmações. Quando ocorre uma perda, a recuperação volta ao ponto da falha e retransmite a unidade perdida e as unidades posteriores que precisam ser recuperadas.
Considere:
Se o quadro 2 for perdido, o receptor não dispõe do quadro esperado para continuar a sequência normalmente.
6.2 Exemplo de perda¶
sequenceDiagram
participant E as Emissor
participant R as Receptor
E->>R: Quadro 0
R-->>E: ACK 0
E->>R: Quadro 1
R-->>E: ACK 1
E-x R: Quadro 2
Note over E,R: Quadro 2 perdido
E->>R: Quadro 3
Note over R: Esperava o quadro 2
R-->>E: ACK cumulativo / próximo esperado: 2
Note over E: Timeout / detecção da perda
E->>R: Retransmissão do quadro 2
E->>R: Retransmissão do quadro 3
O ponto essencial é que o GBN pode retransmitir dados que chegaram ao receptor depois da perda, mas que precisam ser reenviados para recuperar a sequência.
6.3 ACK cumulativo¶
Um ACK cumulativo pode confirmar, de uma só vez, que todas as unidades anteriores a determinado ponto foram recebidas corretamente.
Por exemplo, se o próximo quadro esperado é 5:
Uma confirmação indicando 5 pode representar o recebimento correto de 0 a 4, conforme a convenção de numeração adotada pelo protocolo.