Projete um algoritmo em pseudocódigo para reassemblar pacotes numerados que chegam fora de ordem. Inclua…
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 reassemblar pacotes numerados que chegam fora de ordem. Inclua verificação de integridade via checksum, tratamento de pacotes duplicados e ação em caso de pacotes ausentes por timeout.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Modelo de resposta (pseudocódigo e descrição): Inicializar buffer = mapa(numeroSequencia -> pacote) Inicializar esperado = 0 Inicializar temporizadores = mapa(numeroSequencia -> timestamp) Funcao receber(pacote): if verificarChecksum(pacote) == FALSO: descartar pacote return n = pacote.numeroSequencia if n < esperado: // pacote duplicado ou já processado descartar pacote return if n in buffer: // duplicado recebido anteriormente descartar pacote return buffer[n] = pacote temporizadores[n] = tempoAtual() tentarReassemblar() Funcao tentarReassemblar(): enquanto esperado in buffer: anexar buffer[esperado].payload ao arquivoDestino remover buffer[esperado] remover temporizadores[esperado] esperado = esperado + 1 Rotina timeoutHandler(): para cada n em temporizadores: if tempoAtual() - temporizadores[n] > TIMEOUT_PADRAO: solicitarRetransmissao(n) // via protocolo de controle Funcao verificarChecksum(pacote): calcular = checksum(pacote.cabecalho + pacote.payload) retornar calcular == pacote.checksum Observações e justificativas: - O buffer armazena pacotes fora de ordem até que a sequência esperada esteja disponível; isso permite montagem correta do arquivo. - Verificação de checksum elimina pacotes corrompidos antes de ocuparem buffer, preservando integridade. - Pacotes duplicados são detectados se o número de sequência já foi recebido ou processado; são descartados para evitar duplicação no arquivo final. - Um timeout por número de sequência aciona pedido de retransmissão, evitando espera indefinida por pacotes perdidos. - Em implementações reais, o protocolo deve limitar tamanho do buffer e número de retransmissões para evitar esgotamento de recursos; usar ACKs cumulativos e janelas deslizantes melhora eficiência. - Para segurança, antes de aceitar payloads que contenham dados sensíveis, aplicar autenticação (MAC/HMAC) e, se necessário, descriptografar com chaves gerenciadas; rejeitar pacotes com autenticação inválida.
Explicação
O algoritmo apresentado aborda de forma eficaz a reassemblagem de pacotes, garantindo a integridade dos dados por meio da verificação de checksum e evitando duplicações. A implementação de um sistema de temporização para gerenciar pacotes ausentes assegura que retransmissões sejam solicitadas de maneira oportuna, prevenindo perdas de dados. Além disso, as considerações sobre segurança e eficiência em um ambiente real demonstram uma abordagem abrangente e prática para o problema.
Raio-X da questão
algoritmo de reassemblagem
avaliacao
algoritmos e pseudocódigo · verificação de integridade
Revisar conceitos de algoritmos e tratamento de pacotes.
O aluno pode esquecer de incluir a verificação de pacotes duplicados, levando a um algoritmo que não trata corretamente a ordem dos pacotes.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Projete um algoritmo, em etapas, que um receptor de rede deve executar para detectar, armazenar temporariamente e…
- Projete um algoritmo em pseudocódigo que um sistema operacional poderia usar para reordenar e reconstituir um arquivo a…
- Projete em pseudocódigo um algoritmo que reconstrua uma mensagem a partir de pacotes recebidos onde cada pacote contém…
- Escreva, em pseudocódigo, um algoritmo para um receptor que reconstrói um arquivo transmitido em pacotes com campos de…
- Analise e proponha: escreva um algoritmo em passos (pseudocódigo) que receba pacotes fora de ordem e com possíveis…
- Desenvolva um algoritmo em alto nível que descreva como um receptor reconstitui um arquivo a partir de pacotes recebidos…
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
