заголовок большого кадра Ethernet и супер большого кадра - PullRequest
5 голосов
/ 27 октября 2011

Можно использовать очень большие кадры с некоторыми сетевыми картами.Один случай - это 9 000 кадров или большой кадр, а другой случай - супер большой кадр (насколько я знаю, до 64 000).

Какой формат кадра используется для таких огромных пакетов?Знаете, для обычных кадров широко используются два формата:

Preamble    Start_byte  dest_mac    src_mac     Ethertype/length    Payload     CRC     Interframe gap
10101010x7  10101011    6 bytes     6 bytes     2 bytes         46–1500 bytes   4 bytes 12 bytes

В одном случае ethertype используется для длины, а во втором - для типа пакета.Если это поле <0x0600 (десятичное 1536 байт), это длина;если> = 0x0600 - это тип.

Таким образом, невозможно сохранить 9000 в этом поле как длину.Как сохраняется длина больших и больших кадров?

1 Ответ

5 голосов
/ 28 октября 2011

Формат, используемый для jumbos, такой же. Несмотря на это описание, поле Ethertype обычно не используется для хранения длины. Обычно в поле Ethertype вы не увидите длину; вы увидите тип. Типы указаны IANA здесь:

http://www.iana.org/assignments/ethernet-numbers

Обычно в таблице вы видите один из следующих типов:

Ethertype         Exp. Ethernet   Description           References
----------------  --------------  --------------------  ----------
  2054   0806        -      -     ARP                       [IANA]
  2048   0800        513   1001   Internet IP (IPv4)        [IANA]
         86DD                     IPv6                      [IANA]

Есть две причины, по которым это работает:

  • Аппаратное обеспечение, отправляющее пакет, не зависит от поля длины Layer 2 для определения длины Layer 1 .
  • Некоторые пакеты уровня 3 , такие как ARP , имеют известный размер (по крайней мере, для известной комбинации длины адреса оборудования / протокола, такой как Ethernet / IP, где обычно используемый). Пакеты IPv4 / IPv6 имеют поле длины в своем собственном заголовке.
...