GeraProva GeraProva Provas com IA para professores do Brasil
Computação7º anoBNCC EF69CO07Difícil⏱ longo

Projete um algoritmo, em etapas, que um receptor implemente para reconstituir dados fragmentados enviados por…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO07

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 etapas, que um receptor implemente para reconstituir dados fragmentados enviados por múltiplos caminhos. Considere variáveis para número de sequência, checksum, timeout e buffer; inclua verificações de integridade e manejo de pacotes ausentes ou duplicados.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Inicializar estruturas: map<flow_id, reassembly_record>; cada registro contém buffer indexado por seq_num, bitmap de recibos, contador de bytes recebidos, timeout e limite de buffer. 2) Ao receber um pacote: validar identificador de fluxo; verificar checksum/impronta; se inválido, descartar e logar; se válido, checar seq_num. 3) Duplicados: se seq_num já marcado, descartar para evitar reprocessamento. 4) Armazenar fragmento no buffer do registro correspondente; marcar bitmap; atualizar contador de bytes. 5) Verificar contiguidade: se existe sequência completa desde offset inicial até N contíguos, tentar concatenar fragments em ordem crescente. 6) Após concatenar, validar integridade da mensagem completa (checksum/MD5/HMAC); se falhar, solicitar retransmissão ou descartar conforme política. 7) Timeout e ausência: se fragmentos faltantes não chegarem antes do timeout, emitir solicitação de retransmissão para os intervalos faltantes ou liberar buffer e notificar erro. 8) Controle de recursos e segurança: impor limite máximo de buffer por fluxo e global; autenticar origem (assinatura/HMAC) antes de aceitar reassembly; rejeitar fluxos que excedam limites para mitigar DoS. 9) Confirmação e limpeza: após reassembly e verificação, entregar dados ao aplicativo, enviar ACKs cumulativos indicando até qual seq_num foi recebido, e liberar estrutura de reassembly. 10) Registro/monitoramento: registrar eventos de fragmentação anômala (fragmentos fora de ordem extensos, sobrecarga de buffer) para auditoria e ajuste de políticas.

Explicação

A resposta apresenta um algoritmo estruturado que abrange todas as etapas necessárias para reconstituir dados fragmentados, incluindo a validação de integridade e o manejo de pacotes ausentes ou duplicados. As etapas detalham como lidar com diferentes situações, como a verificação de checksum, o controle de timeout e a autenticação, garantindo a segurança e eficiência do processo. Além disso, a inclusão de registros e monitoramento permite a identificação de problemas e a melhoria contínua do sistema.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

algoritmo de reconstituição

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmos de programação · manipulação de dados

📚 Reveja

Revisar conceitos de algoritmos e manejo de pacotes em redes.

⚠️ Erro mais comum

O aluno pode falhar em considerar a verificação de integridade dos dados, não implementando corretamente o checksum ou o manejo de pacotes duplicados.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.