Como a Ethernet sabe quanto tempo um quadro é?

14

Olhando para a entrada Ethernet na Wikipedia, não consigo descobrir como é indicado quanto tempo o quadro Ethernet é . O campo de cabeçalho EtherType / Length aparentemente pode indicar um tipo de frame ou um comprimento explícito, e eu estou supondo que no caso de um tipo de frame, ele tem 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 teria que examinar os primeiros 32 bits da carga útil para localizar o comprimento do pacote IP e, portanto, descobrir o comprimento total de o quadro Ethernet e saiba quando procurar a soma de verificação do final do quadro e a lacuna entre quadros.

Isso soa correto? Eu também olhei para a especificação IEEE 802.3 para Ethernet (parte 1, de qualquer forma) que parece corroborar isso, mas é muito opaco.

    
por dirtside 24.11.2009 / 20:55

4 respostas

19

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

No 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 é uma informação ou dados de controle. As informações de controle podem ser Configuration, 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, de forma análoga a uma string terminada em NULL em C.

    
por 27.08.2011 / 02:51
0

O artigo que você realmente quer responder à sua pergunta é link ; que diz:

As this industry-developed standard went through a formal IEEE standardization process, the EtherType field was changed to a (data) length field in the new 802.3 standard. (Original Ethernet packets define their length with the framing that surrounds it, rather than with an explicit length count.) Since the packet recipient still needs to know how to interpret the packet, the standard required an IEEE 802.2 header to follow the length and specify the packet type.

    
por 24.11.2009 / 21:28
-3

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

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

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

    
por 24.11.2009 / 21:00
-3

Demorou um pouco para resolver isso uma vez antes e novamente agora. Não há muita informação disponível, o que é surpreendente, pois é uma questão tão óbvia. Eu finalmente resolvi a solução que os campos de comprimento nos cabeçalhos de pacote são usados. Veja o seguinte link

link

    
por 24.10.2010 / 14:36