Como a Ethernet sabe quanto tempo um quadro tem?


17

Olhando para a entrada Ethernet na Wikipedia, não consigo descobrir como é indicado quanto tempo o quadro Ethernet tem. O campo de cabeçalho EtherType / Length aparentemente pode indicar um tipo de quadro ou um comprimento explícito, e suponho que, no caso de um tipo de quadro, ele tenha que fazer alguma outra lógica para descobrir quanto tempo o pacote é. Por exemplo, se o campo EtherType for 0x0800, isso indica uma carga útil IPv4 e, portanto, a NIC receptora precisaria examinar os primeiros 32 bits da carga útil para encontrar o comprimento do pacote IP e, portanto, descobrir o comprimento total de o quadro Ethernet e saiba quando procurar a soma de verificação de fim de quadro e o intervalo entre quadros.

Este som está correto? Eu também olhei para a especificação IEEE 802.3 para Ethernet (parte 1, de qualquer maneira) que parece corroborar isso, mas é bastante opaca.


Respostas:


21

A subcamada de codificação física é responsável por delimitar os quadros e enviá-los para a camada MAC.

Na Gigabit Ethernet, por exemplo, o esquema de codificação 8B / 10B usa um grupo de códigos de 10 bits para codificar um byte de 8 bits. Os dois bits extras informam se um byte é informações ou dados de controle. As informações de controle podem ser Configuração, Start_of_packet, End_of_packet, IDLE, Carrier_extend, Error_propagation.

É assim que uma NIC sabe onde um quadro começa e termina. Isso também significa que o comprimento do quadro não é conhecido antes de ser totalmente decodificado, análogo a uma sequência terminada em NULL em C.


1
Isso é especificado no IEEE Std 802.3-2015 (Seção Três), 36.2.4.2 e 36.2.4.15 (entre outros lugares nessa coisa ilegível que eles chamam de padrão;).
#

1

O artigo que você realmente deseja responder à sua pergunta é http://en.wikipedia.org/wiki/Ethernet_II_framing ; que diz:

Como esse padrão desenvolvido no setor passou por um processo formal de padronização IEEE, o campo EtherType foi alterado para um campo de dados (dados) no novo padrão 802.3. (Os pacotes Ethernet originais definem seu comprimento com o enquadramento que o envolve, em vez de com uma contagem explícita de comprimento.) Como o destinatário do pacote ainda precisa saber como interpretá-lo, o padrão exigiu que um cabeçalho IEEE 802.2 seguisse o comprimento e especifique o tipo de pacote.


Acho que não sei ao certo o que "pacotes Ethernet originais definem seu comprimento com o enquadramento que o rodeia" significa. Os bits do preâmbulo / início do quadro são bastante claros, mas como o cliente sabe que o fim do quadro foi atingido? Como ele distingue entre a CDC e a lacuna entre quadros? O ruído elétrico aleatório do IFG é facilmente distinguível do sinal real?
dirtside 24/11/2009

O fim do quadro na "Ethernet clássica" é sinalizado por uma codificação ilegal.
Vatine 24/10/10

@ womble, o artigo que você vinculou é bom, mas a parte que você citou é muito enganadora e fora de contexto. Atualmente, a maioria dos quadros em uma rede Ethernet não usa um campo de tamanho explícito.
Peter Green,

-3

Logicamente, existem apenas três opções:

  1. Usando um tamanho de quadro estático como em.
  2. Especificando o tamanho do quadro em seu cabeçalho, ou em outro lugar, ou mesmo limitando-o com alguns sinalizadores.
  3. Nenhum envio de quadros

Um desses funciona na Ethernet porque não há outras opções disponíveis atualmente para redes modernas;) 1 e 3 estão errados para a Ethernet, então você está correto!


-3

Demorou um pouco para resolver isso uma vez antes e outra vez agora. Não há muitas informações disponíveis, o que é surpreendente, pois é uma pergunta tão óbvia. Finalmente, decidi pela solução em que os campos de comprimento nos cabeçalhos dos pacotes são usados. Veja o seguinte link

http://www3.rad.com/networks/infrastructure/lans/etherform.htm#_ieee

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.