Projete um algoritmo em alto nível para um dispositivo sensor com recursos limitados que fragmenta leituras em…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Codificar a informação de diferentes formas, entendendo a importância desta codificação para o armazenamento, manipulação e transmissão em dispositivos computacionais.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete um algoritmo em alto nível para um dispositivo sensor com recursos limitados que fragmenta leituras em pacotes, garante confidencialidade e integridade com MAC leves e permite reassemblagem tolerante a perdas. Descreva os campos do cabeçalho e os passos principais do algoritmo.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Campos do cabeçalho (sugestão): - seq_num: número de sequência da transmissão completa (32 bits); - frag_id: índice do fragmento (8–16 bits); - total_frags: número total esperado de fragmentos (8–16 bits) ou 0 se desconhecido; - timestamp: hora/nonce curto para evitar replay (32 bits); - payload_len: tamanho do payload deste fragmento; - mac_tag: tag de autenticação truncada (e.g., 32 bits); - flags: bits para indicar último fragmento, compressão ou algoritmo. Passos do algoritmo (alto nível): 1) Fragmentação: dividir a leitura em blocos = MTU_eff (considerando cabeçalho). 2) Para cada fragmento: gerar nonce curto (a partir de seq_num+frag_id+timestamp), cifrar payload com cifra simétrica compartilhada (modo autenticado leve) e calcular MAC truncado sobre cabeçalho+payload cifrado; montar pacote com campos acima. 3) Envio: transmitir fragmentos sequenciais; agrupar confirmações (ACKs cumulativos) para economizar mensagens de retorno. 4) Receptora — verificação e reassemblagem: ao receber fragmento, verificar MAC usando nonce derivado; em caso de verificação OK, armazenar em buffer por seq_num; aceitar fragmentos fora de ordem e marcar lacunas; quando conjunto suficiente de fragmentos chegar (todos ou aceitável parcial), reconstituir payload por ordem de frag_id. 5) Tolerância a perdas: permitir reassemblagem parcial com marcação de dados faltantes, usar timeout por seq_num para liberar buffers, solicitar retransmissão apenas de fragmentos ausentes prioritários (NACK ou bitmap). 6) Limites de recurso: restringir número máximo de seq_num ativos por dispositivo, truncar MAC para reduzir overhead, limitar tentativas de retransmissão e usar compressão se necessário. Justificativas e trade-offs: - Segurança vs overhead: tags mais curtas reduzem segurança; escolha tag mínima aceitável conforme ameaça e taxa de transmissão. - Nonce/seq_num garantem unicidade e previnem replay; cifra autenticada evita necessidade de MAC separado quando possível. - Economia de energia: ACKs agrupados e retransmissões seletivas reduzem consumo. Observação prática: em sensores com hardware muito limitado, usar primitives leves aprovadas (modos autenticados de bloco ou stream com tag truncado) e limitar tamanho de fragmentos para equilibrar número de pacotes e overhead de cabeçalho.
Explicação
A proposta apresentada aborda de forma eficiente a fragmentação e reassemblagem de dados em dispositivos com recursos limitados, garantindo segurança através de MAC leves e cifragem. Os campos do cabeçalho são bem definidos para suportar a integridade e a ordem dos fragmentos, enquanto os passos do algoritmo contemplam a tolerância a perdas e a economia de energia, essenciais em cenários de sensores. A consideração de trade-offs entre segurança e overhead demonstra uma compreensão prática das limitações dos dispositivos.
Raio-X da questão
algoritmo de fragmentação
avaliacao
algoritmo de fragmentação · segurança em redes
Revisar conceitos de algoritmos e segurança em redes.
O aluno pode falhar ao descrever a estrutura do cabeçalho, omitindo campos essenciais para a reassemblagem dos pacotes.
ciencia_tecnologia
criatividade
cientifico
Questões parecidas com resolução
- Projete um algoritmo de alto nível para um dispositivo sensor com armazenamento limitado que colete amostras, processe…
- Descreva em alto nível (passos ou pseudocódigo) um protocolo para transmitir dados fragmentados com cifragem na…
- Desenvolva um procedimento para dispositivos sensores IoT com conectividade intermitente e energia limitada que assegure…
- Descreva, em etapas ordenadas, um algoritmo/protocolo para transmitir dados sensíveis entre dois dispositivos, incluindo…
- Proponha um algoritmo de alto nível que, num nó com buffer limitado, priorize pacotes de controle sobre pacotes de…
- Projete um algoritmo para um sistema distribuído em que pacotes fragmentados viajam por nós potencialmente não…
🔎 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
