Escreva um pseudocódigo (com as principais variáveis) de um algoritmo que fragmenta um arquivo em pacotes…
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
Escreva um pseudocódigo (com as principais variáveis) de um algoritmo que fragmenta um arquivo em pacotes, anexa sequência e checksum, transmite por nós que podem armazenar temporariamente dados e reconstitui o arquivo no destino; descreva também medidas de segurança para proteger dados em trânsito e em armazenamento temporário.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Variáveis principais: - file, file_size, mtu, total_pkts, pkt_size - seq (índice do pacote), payload, header{seq,total,src,dst,checksum,nonce} - send_buffer, recv_buffer[], timeout, key_session, mac_key Pseudocódigo (resumo): 1) Preparação: key_session = gerar_chave_sessão(); nonce = gerar_nonce(); total_pkts = ceil(file_size / mtu) 2) Fragmentação e proteção por pacote: para seq de 0 até total_pkts-1: payload = ler_chunk(file, seq, mtu) header = {seq, total_pkts, src, dst, nonce} checksum = CRC(payload) mac = HMAC(mac_key, header || payload || checksum) encrypted_payload = AES_CTR_encrypt(key_session, payload) packet = header || checksum || mac || encrypted_payload send_buffer.enqueue(packet) 3) Envio com armazenamento temporário nos nós: enquanto send_buffer não vazio: pkt = send_buffer.dequeue() enviar_para_proximo_no(pkt) nos_intermediarios armazenam temporariamente: store_encrypted(pkt, node_local_key) aplicar política: ttl, logs, limpeza periódica (zeroizar chaves após uso) 4) Recepção e remontagem no destino: ao receber pkt: verificar header.dst == meu_endereco validar mac = HMAC(mac_key, header || payload || checksum) validar checksum == CRC(decrypted_payload) if válidos: recv_buffer[header.seq] = decrypted_payload quando todos os segmentos chegam ou timeout: concatenar recv_buffer[0..total_pkts-1] 5) Retransmissão e tempo limite: usar ACKs por bloco/janela; reenviar seqs não confirmadas após timeout Medidas de segurança explicadas: - Criptografia end-to-end (chave de sessão negociada via chave pública) protege confidencialidade mesmo se nós armazenam cópias temporárias. - HMAC ou assinatura em cada pacote garante integridade e autenticidade; separa-se checksum (detecção de erro) do MAC (proteção contra adulteração). - Nonce/contador previnem replay. - Nós intermediários devem armazenar apenas pacotes cifrados e, se armazenarem, usar chaves locais com políticas de expiração e logs de acesso; dados em memória devem ser zeroizados após uso. - Controle de janela e ACKs evita perda silenciosa e facilita retransmissão de pacotes faltantes. Observações práticas: - Ajustar tamanhos de fragmento ao MTU para evitar fragmentação IP adicional. - Checksum detecta corrupção de bits; não substitui HMAC para segurança. - Prefira não persistir dados sensíveis em dispositivos públicos; quando necessário, exigir armazenamento cifrado e limites de tempo.
Explicação
A resposta aborda de maneira clara e estruturada as etapas necessárias para fragmentar, transmitir e reconstituir um arquivo, incluindo a implementação de medidas de segurança robustas. Ela destaca a importância da criptografia, autenticação e integridade dos dados, além de considerar a proteção dos dados em nós intermediários. A inclusão de políticas de expiração e logs também demonstra uma preocupação com a segurança em armazenamento temporário, essencial em sistemas distribuídos.
Raio-X da questão
fragmentação de arquivos
avaliacao
pseudocódigo e algoritmos · transmissão de dados
Revisar conceitos de algoritmos de transmissão e segurança de dados.
O aluno pode esquecer de incluir medidas de segurança, como criptografia, ao descrever o algoritmo.
ciencia_tecnologia
criatividade
cientifico
Questões parecidas com resolução
- Na escola, Pedro quer anotar no caderno que trouxe uma maçã para o lanche. Como Pedro pode guardar esse recado usando um…
- Na sala de jogos, a professora anotará o nome da criança, a quantidade de peças e a data de devolução de cada jogo…
- Lia tirou uma foto do gato no pátio da escola e quer guardar o arquivo com esse nome. Qual nome de arquivo é adequado…
- Na feira de ciências, a turma fez um robô. No computador, os alunos vão guardar o nome do robô, a quantidade de pilhas e…
- — Preciso saber quais mudas podem ser entregues hoje, mesmo sem olhar o visor — disse a voluntária que organiza a feira…
- — Tia, onde fica o livro do Ziraldo? — perguntou uma criança na biblioteca do bairro. Para ajudar nas buscas…
🔎 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
