A regra de pacote Ethernet mínima de 64 bytes é respeitada na prática?

3

Uma varredura rápida do WireShark da minha interface de rede revela vários pacotes Ethernet com menos de 64 bytes de comprimento. Eu sei que o WireShark retira o CRC de 4 bytes, mas ainda vejo alguns pacotes ARP com 42 bytes, algum IGMPv3 com 54 bytes e algum TCP com 54 bytes.

A regra de pacote mínimo de 64 bytes é respeitada? Quais são as consequências de não respeitar a regra?

    
por Randomblue 24.05.2013 / 18:41

3 respostas

9

Se você observar com mais cuidado, perceberá que todos os quadros menores que o tamanho mínimo de quadro (60 bytes sem FCS) são quadros transmitidos pela sua máquina. Os quadros recebidos devem ser preenchidos com 60 bytes sem o FCS; eles contêm o campo "Padding" em "Ethernet II" na janela "Detalhes do pacote" do Wireshark, que corresponde a esses bytes extras.

Pelo menos no Linux, todos os quadros transmitidos com menos de 60 bytes devem ser preenchidos automaticamente pelo driver de rede (ou mesmo hardware NIC) antes da transmissão, mas o Wireshark não mostra isso, porque os quadros são copiados para o soquete do pacote usado pelo Wireshark antes que o preenchimento seja adicionado.

Originalmente, o tamanho mínimo do quadro foi especificado para que o protocolo CSMA / CD usado para o meio Ethernet compartilhado funcione corretamente - a detecção confiável de colisão requer o tempo necessário para transmitir um quadro (proporcional ao seu tamanho junto com todos os cabeçalhos e preâmbulo) deve ser maior que o tempo de propagação do sinal entre duas estações. A Ethernet atual, na maioria dos casos, não é, na verdade, um meio compartilhado (switches com links full-duplex não realizam detecção de colisão). Aplicar tecnicamente um tamanho de quadro mínimo não seria necessário em um link full-duplex, mas isso ainda é feito por motivos de compatibilidade.

Desde Gigabit Ethernet, o tamanho mínimo de quadro de 64 bytes não é mais suficiente para a detecção de colisão ao usar comprimentos de cabo práticos, e simplesmente aumentar o tamanho mínimo do quadro levaria a um desperdício significativo de largura de banda, portanto o Carrier Extension é introduzido para links gigabit half-duplex (veja também here para mais informações). A extensão de operadora é implementada em hardware de rede e não é visível para o software. Em teoria, o uso da extensão de operadora torna obrigatório o tamanho mínimo de quadro opcional para links half-duplex e, com enlaces full-duplex, nem a extensão da operadora nem o tamanho mínimo do quadro são necessários. No entanto, o tamanho mínimo de quadro de 64 bytes ainda é mantido, provavelmente para compatibilidade com o software antigo que poderia esperar.

    
por 24.05.2013 / 21:05
1

Essa é uma daquelas perguntas "depende" que eu tenho

Is the 64-byte minimum Ethernet packet rule respected?

Em quê? um switch, entre NICs etc?

What are the consequences of not respecting the rule?

Mais uma vez sobre o quê e como?

Geralmente, o pior cenário é que os pacotes são descartados, é isso, isso não irá incendiar seu data center (embora não me cite sobre isso, nem em documentos legais, de qualquer maneira :)). Se ele atingir um roteador, ele provavelmente será reenquadrado de qualquer maneira no caminho de saída e em um switch que ele passará ou não - na verdade, binário.

    
por 24.05.2013 / 18:49
0

Também notei que quando o wireshark é executado no sistema que está enviando o pacote, ele pode ser exibido com menos de 60 bytes. Mas, se você capturar esse pacote específico no sistema de recebimento, ele será preenchido com 60 bytes com zeros.

    
por 05.04.2018 / 00:39

Tags