Projete um algoritmo em pseudocódigo para o receptor que implemente uma janela deslizante: reordena pacotes…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Entender o processo de transmissão de dados, como a informação é quebrada em pedaços, transmitida em pacotes através de múltiplos equipamentos, e reconstruída no destino.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete um algoritmo em pseudocódigo para o receptor que implemente uma janela deslizante: reordena pacotes usando campo 'seq', detecta pacotes corrompidos com checksum e solicita retransmissão quando necessário. Explique variáveis e condições.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Variáveis: - window_size: inteiro (tamanho da janela) - expected_seq: inteiro (próximo seq a entregar) - buffer: mapa seq ? payload - last_ack: inteiro (último seq cumulativo confirmado) Procedimento (pseudocódigo): Inicializar window_size, expected_seq=0, buffer vazio, last_ack=-1 Função receive(packet): if not verifica_checksum(packet): enviar_NACK(packet.seq) return if packet.seq < expected_seq: enviar_ACK(packet.seq) // já entregue antes return if packet.seq >= expected_seq and packet.seq < expected_seq + window_size: if packet.seq não em buffer: buffer[packet.seq] = packet.payload enviar_ACK(packet.seq) else: // fora da janela atual: descartar ou enviar ACK do último entregue enviar_ACK(last_ack) // tentar entregar em ordem a partir de expected_seq while expected_seq em buffer: entregar_a_aplicacao(buffer[expected_seq]) remover buffer[expected_seq] last_ack = expected_seq expected_seq = expected_seq + 1 Explicação das decisões: - Verificação de checksum rejeita pacotes corrompidos e solicita retransmissão (NACK) para eficiência. - Buffer permite armazenar pacotes fora de ordem até completar a sequência contínua. - ACKs confirmam recepção; ACK cumulativo (last_ack) informa ao emissor até onde já foi entregue. - Janela limita quantos pacotes podem estar pendentes, controlando fluxo e evitando estouro de memória. Notas de implementação: - Em redes reais pode-se usar apenas ACKs cumulativos e retransmissão por timeout em vez de NACKs. - Deve-se definir política para seq overflow (modularidade) e temporizadores para limpar entradas muito antigas.
Explicação
A solução apresentada aborda de forma eficaz a reordenação de pacotes e a detecção de erros, utilizando um buffer para armazenar pacotes fora de ordem e um mecanismo de verificação de checksum para garantir a integridade dos dados. O uso de ACKs e NACKs permite uma comunicação eficiente entre emissor e receptor, garantindo que pacotes corrompidos sejam retransmitidos e que a entrega ocorra na ordem correta. Além disso, a implementação de uma janela deslizante ajuda a controlar o fluxo de pacotes, evitando sobrecarga de memória e melhorando a eficiência da transmissão.
Raio-X da questão
algoritmo de janela deslizante
avaliacao
algoritmos e pseudocódigo · verificação de integridade de dados
Revisar conceitos de algoritmos e verificação de integridade de dados.
O aluno pode confundir a lógica de reordenação de pacotes com a simples verificação de integridade, não implementando corretamente a retransmissão.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Escreva, em pseudocódigo, um algoritmo para um receptor que reconstrói um arquivo transmitido em pacotes com campos de…
- Projete um algoritmo, em etapas, que um receptor de rede deve executar para detectar, armazenar temporariamente e…
- Analise e proponha: escreva um algoritmo em passos (pseudocódigo) que receba pacotes fora de ordem e com possíveis…
- Descreva, em pseudocódigo e em texto, um algoritmo para um dispositivo receptor que reconstrói um arquivo transmitido em…
- Projete um algoritmo em pseudocódigo para reassemblar pacotes numerados que chegam fora de ordem. Inclua verificação de…
- Projete um algoritmo, em etapas, que um receptor implemente para reconstituir dados fragmentados enviados por múltiplos…
Todas as questões de Armazenamento e Transmissão de dados - Fundamentos de transmissão de dados
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
