Quadro Ethernet: Preâmbulo, Preenchimento e Checksum
Gabarito: letra C. A associação correta é I-c (Preenchimento), II-b (Check Sum) e III-a (Preâmbulo). O preâmbulo é a sequência inicial de sincronização (8 bytes, com o último byte sendo o SFD), o checksum é o código de detecção de erros (CRC), e o preenchimento (padding) completa o quadro até o tamanho mínimo de 64 bytes quando os dados são menores que 46 bytes.
O quadro Ethernet é a unidade de dados da camada de enlace (camada 2 do modelo OSI). Ele é composto por uma sequência de campos que permitem que o receptor identifique o início da transmissão, saiba para quem o quadro é destinado, verifique se os dados chegaram íntegros e, se necessário, complete o quadro para atender ao tamanho mínimo exigido pelo protocolo. Vamos entender cada um desses componentes em detalhes.
Preâmbulo e SFD (Start Frame Delimiter): O preâmbulo é a primeira parte do quadro a ser lida. Ele tem a função de alertar o receptor sobre a chegada de um quadro e permitir que ele sincronize seu clock com o do transmissor. No padrão Ethernet clássico (10 Mbps), o preâmbulo é composto por 7 bytes com o padrão de bits 10101010, seguido por um 8º byte chamado SFD (Start Frame Delimiter), que tem o padrão 10101011. Os dois últimos bits "11" do SFD indicam ao receptor que o próximo campo será o endereço de destino. A questão simplifica isso ao dizer que o preâmbulo tem 8 bytes, cada um com o padrão 10101010, exceto o último, cujos dois últimos bits são 11 — exatamente a descrição do preâmbulo + SFD.
Checksum (FCS - Frame Check Sequence): O checksum é um código de detecção de erros, geralmente um CRC-32 (Cyclic Redundancy Check de 32 bits), calculado sobre os campos do quadro (endereços, comprimento/tipo e dados). O transmissor calcula esse valor e o anexa ao final do quadro. O receptor recalcula o CRC a partir dos dados recebidos e compara com o valor recebido. Se houver diferença, o quadro é considerado corrompido e é descartado. É importante notar que o checksum detecta erros, mas não os corrige — a correção, quando necessária, é feita por protocolos de camadas superiores (como TCP) ou por retransmissão.
Preenchimento (Padding): O campo de dados do quadro Ethernet tem um tamanho mínimo de 46 bytes. Se o dado a ser transmitido (por exemplo, um datagrama IP) for menor que 46 bytes, o quadro precisa ser "completado" com bytes de preenchimento (padding) para que o quadro inteiro atinja o tamanho mínimo de 64 bytes (18 bytes de cabeçalho + 46 bytes de dados). Esse tamanho mínimo é necessário para garantir o funcionamento correto do CSMA/CD (Carrier Sense Multiple Access with Collision Detection), pois garante que o transmissor ainda esteja enviando o quadro quando uma colisão ocorrer na extremidade mais distante do cabo, permitindo que ele a detecte. O preenchimento é adicionado na camada de enlace e é removido pelo receptor antes de entregar os dados à camada superior.
A pegadinha desta questão está em associar o preâmbulo à descrição que menciona o padrão de bits 10101010 e o último byte com bits 11. Muitos candidatos podem confundir o preâmbulo com o campo de dados ou com o checksum, mas a descrição é inequívoca: é a primeira parte do quadro, com 8 bytes e o padrão de bits específico. A banca também explora a confusão entre "preenchimento" e "preâmbulo", pois ambos são campos que "complementam" o quadro de alguma forma, mas com funções completamente diferentes.
Guarde a distinção central: preâmbulo = sincronização (início), checksum = detecção de erros (fim), preenchimento = completar dados curtos (meio). É exatamente essa tríade que as alternativas tentam embaralhar.
Alternativa A — ❌ Incorreta
Associa I-a (Preenchimento com a descrição do preâmbulo), II-b (Check Sum corretamente) e III-c (Preâmbulo com a descrição do preenchimento). O erro está em inverter as descrições de preenchimento e preâmbulo. O preenchimento não é a primeira parte do quadro nem tem o padrão de bits 10101010; ele é o campo que completa os dados até o tamanho mínimo.
Alternativa B — ❌ Incorreta
Associa I-a (Preenchimento com preâmbulo), II-c (Check Sum com preenchimento) e III-b (Preâmbulo com checksum). Aqui, além de inverter preenchimento e preâmbulo, também troca o checksum pelo preenchimento. O checksum não é usado para completar o quadro; ele é o código de detecção de erros.
Alternativa C — ✅ Correta ⟵ GABARITO
Associa corretamente: I-c (Preenchimento — completa o quadro até 64 bytes se os dados forem menores que 46 bytes), II-b (Check Sum — código de detecção de erros, descartando o quadro se houver erro) e III-a (Preâmbulo — primeira parte, 8 bytes com padrão 10101010, exceto o último com bits 11). A descrição "a" é a única que se encaixa perfeitamente no preâmbulo, e as outras duas descrições são igualmente específicas para preenchimento e checksum.
Alternativa D — ❌ Incorreta
Associa I-c (Preenchimento corretamente), II-a (Check Sum com preâmbulo) e III-b (Preâmbulo com checksum). O erro está em trocar as descrições de checksum e preâmbulo. O checksum não é a primeira parte do quadro, e o preâmbulo não é um código de detecção de erros.
Alternativa E — ❌ Incorreta
Associa I-b (Preenchimento com checksum), II-a (Check Sum com preâmbulo) e III-c (Preâmbulo com preenchimento). Todas as associações estão incorretas, misturando completamente as três funções. O preenchimento não detecta erros, o checksum não é a primeira parte do quadro e o preâmbulo não completa dados curtos.
A regra de ouro para esta questão: decore a função de cada campo do quadro Ethernet — preâmbulo sincroniza, checksum valida, preenchimento completa. Com isso, a associação correta sai direto, sem depender de memorizar a ordem das alternativas.
Gabarito: letra C