O quadro ethernet mínimo é de 64 bytes. Por que a carga útil deve ser aumentada para pelo menos 46 bytes?


Respostas:


16

O quadro inteiro deve ter pelo menos 64 bytes. Isso não é apenas a carga, inclui os cabeçalhos e a sequência de verificação de quadros. O FCS ocupa 4 bytes no final. Um cabeçalho Ethernet consiste em dois endereços MAC de 6 bytes mais um campo do tipo 2 bytes, 14 bytes no total. 64-4-14 = 46. Os pacotes IPv4 possuem um cabeçalho adicional de pelo menos 20 bytes no topo do cabeçalho Ethernet, tornando o tamanho mínimo da carga útil de 26 bytes. TCP e UDP adicionam mais cabeçalhos.

Outra coisa a se notar é que o tamanho de um quadro de comprimento mínimo no fio é realmente maior que 64 bytes - há um preâmbulo de 8 bytes / início do delimitador de quadros e um intervalo entre quadros de 12 bytes que é anexado a cada pacote, criando um 64 o pacote de bytes ocupa 64 + 8 + 12 = 84 bytes no fio.

A resposta de 41 bytes na outra pergunta está considerando apenas os cabeçalhos TCP e IP. Se você enviar um pacote TCP com 0 bytes de dados, ele terá 40 bytes de cabeçalhos; não é possível tornar um pacote TCP válido menor que isso. Mas se você tentar enviar esse pacote, ele será zero preenchido para 46 bytes antes do Ethernet FCS ser anexado.

A razão pela qual isso foi feito originalmente com a Ethernet foi garantir um comprimento mínimo de quadro no fio, para que colisões pudessem ser detectadas de maneira confiável por todos os dispositivos no comprimento máximo especificado do cabo. Isso é necessário porque as primeiras encarnações da 10M Ethernet usavam um meio coaxial compartilhado e os dispositivos conectados tinham que ser capazes de detectar quando dois deles tentavam transmitir no meio compartilhado ao mesmo tempo. Redes Ethernet 10M e 100M um pouco menos antigas sobre par trançado que foram construídas com hubs em vez de comutadores também precisavam ser capazes de detectar colisões. No entanto, a maioria das redes Ethernet modernas são comutadas e não usam uma mídia compartilhada; portanto, isso não é mais estritamente necessário, mas ainda faz parte das especificações por motivos de compatibilidade. Os quadros menores que 64 bytes são chamados quadros runt,


4

A questão é que não especificar o meio de transporte . O IPv4 pode ser usado com praticamente qualquer coisa, incluindo portas seriais, por exemplo.

Os quadros Ethernet têm um tamanho mínimo, que também depende da velocidade: 10/100 MBit possui um mínimo de 64 bytes, enquanto o gigabit possui um mínimo de 512 bytes. Essa camada de transporte não pode enviar pacotes menores e, portanto, precisa de preenchimento.


2
Errado. A Ethernet Gigabit também possui um comprimento mínimo de quadro de 64 bytes.
alex.forencich

3
Eu acho que essa é a fonte da confusão, o tamanho mínimo do quadro ainda é de 64 bytes, mas o tamanho do slot é de 512 bytes: o tamanho mínimo do quadro não é aumentado, mas o "evento portador" é estendido. Se o quadro for menor que 512 bytes, será preenchido com símbolos de extensão. Estes são símbolos especiais, que não podem ocorrer na carga útil. Esse processo é chamado de extensão de operadora.
Johnny

11
É verdade, mas a extensão de operadora não é comumente usada em links de gigabit, pois a maioria dos links de gigabit será ponto a ponto onde não há motivo para verificar colisões.
alex.forencich

11
Na verdade, eu não acho que a Ethernet gigabit half duplex já tenha sido usada. Então, sim, na especificação, o gigabit half duplex precisa transportar pacotes para 512 bytes após o SFC ... mas ninguém nunca criou um hub de gigabit, portanto é praticamente irrelevante.
alex.forencich

11
@juhist nope. O PHY remetente pode interromper a extensão da operadora e enviar outro quadro. Assim, mesmo com a extensão de operadora ativada, você pode atingir a taxa de linha completa com quadros de comprimento mínimo. Os comutadores têm PHYs em todas as portas, para que eles possam encaminhar quadros de comprimento mínimo a uma taxa de linha completa sem problemas, mesmo se vierem de fontes diferentes. Somente os hubs mostrariam alguma diferença, mas até onde eu sei, nenhum hub de gigabit foi feito; portanto, não há como detectar se a extensão de operadora é usada ou não, a menos que você veja o que o PHY está realmente enviando.
21919 alex_forencich

3

Na especificação ethernet original, 64 bytes preenchiam o cabo de ponta a ponta, permitindo que colisões fossem detectadas por todos os hosts. O padrão ethernet original também especificou 14 bytes para o cabeçalho e 4 bytes para a sequência de verificação de quadros. Isso é 18 bytes. subtraia 18 de 64 e você obtém 46 como a carga útil mínima. Desde então, você pode adicionar uma tag VLAN de quatro bytes. Portanto, com a tag VLAN, o tamanho mínimo da carga útil é 42. Sem a tag VLAN, o tamanho mínimo da carga útil permanece 46.


Você também pode aninhar tags VLAN. Porém, não tenho certeza se existe um número máximo para o número que você pode aninhar.
alex.forencich

0

O tamanho mínimo do quadro Ethernet foi definido para as variantes half-duplex originais. Com o half duplex, você precisa detectar e propagar com segurança as colisões enquanto elas ocorrem. Um sinal precisa se propagar pela maior distância entre duas estações em um segmento, permitir a detecção de colisão e propagar o sinal de interferência para o remetente enquanto ele ainda está transmitindo. Juntando tudo, você acaba com 512 bits ou 64 bytes em um quadro.

Para Fast Ethernet (100 Mbit / s), o cabo coaxial inerentemente half-duplex foi abandonado e apenas a mídia com capacidade full-duplex é usada (= mídia com caminhos de sinal dedicados por direção). Isso acelera consideravelmente a detecção de colisões e permite usar o mesmo tamanho mínimo de quadro, mesmo que um quadro na Fast Ethernet seja muito mais curto no tempo.

A Gigabit Ethernet inicialmente incluiu um modo half-duplex, exigindo preenchimento para aumentar o tamanho mínimo do pacote Ethernet (não o tamanho do quadro ). O GbE half-duplex não era realmente usado em nenhum lugar e agora está obsoleto.

A Ethernet full-duplex comutada torna essas considerações obsoletas. No entanto, a Ethernet se baseia na compatibilidade - todas as variantes da camada física podem coexistir e interagir entre si. Portanto, o tamanho mínimo de quadro nunca foi alterado e um antigo nó half-duplex de 10 Mbit / s ainda pode funcionar em uma rede moderna de vários gigabits sem muito barulho.

No entanto, há muita confusão sobre esses detalhes e muita coisa é citada incorretamente. A referência é IEEE 802.3 Cláusula 4.4.2 parâmetros MAC .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.