(Tanenbaum, Cap1, #25). When a file is transferred between two computers, two acknowledgement strategies are possible. In the first one, the file is chopped up into packets, which are individually acknowledged by the receiver, but the file transfer as a whole is not acknowledged. In the second one, the packets are not acknowledged individually, but the entire file is acknowledged when it arrives. Discuss these two approaches.
Passo 1
O enunciado fala de duas estratégias de reconhecimento (ACK) numa transferência de arquivo entre dois computadores. O conteúdo é confiabilidade em comunicação de dados. Vamos precisar entender impacto em overhead de controle, latência de entrega e retransmissões em caso de erro.
Passo 2
Na estratégia de ACK por pacote, cada fragmento (packet) enviado pelo remetente recebe um ACK do receptor assim que chega e é validado. Isso garante que cada pedaço foi entregue corretamente. Vantagens:
- Retransmissão apenas dos pacotes perdidos ou corrompidos.
- Granularidade fina de controle de fluxo e de erro.
Desvantagens: - Grande quantidade de mensagens de ACK, aumentando overhead de protocolo.
- Maior latência global se o receptor demorar em enviar vários ACKs.
Passo 3
Na estratégia de ACK único por arquivo, o remetente envia todos os pacotes sem esperar ACKs individuais. Só ao final o receptor manda um ACK geral confirmando a recepção completa do arquivo. Vantagens:
- Pouco overhead de controle (apenas um ACK).
- Menor “chat” entre cliente e servidor, ideal em links de alta confiabilidade.
Desvantagens: - Se um pacote for perdido, precisa retransmitir todo o arquivo ou implementar lógica extra de recuperação de pacotes.
- Maior latência de detecção de erro (só se descobre no fim).
Passo 4
Comparando as duas abordagens:
- Largura de banda de controle: muito maior na versão por pacote.
- Retransmissão seletiva: só na versão por pacote, economizando tempo em links com erros esporádicos.
- Complexidade de implementação: mais alta quando se faz ACK individual e controle de janelas.
- Cenários de aplicação: ACK por pacote serve bem em redes ruidosas (com perdas), já o ACK por arquivo é eficiente em redes confiáveis e quando o arquivo é pequeno ou política de repetição completa for aceitável.
Resposta
A estratégia por pacote otimiza retransmissões e confiabilidade fina, mas paga com muito overhead de ACKs e controle de fluxo. A estratégia por arquivo reduz o overhead de mensagens de controle, mas torna a recuperação de erros menos eficiente, pois exige retransmitir grandes blocos ao menor problema. A escolha depende do perfil de rede (taxa de erro, latência) e restrições de implementação.