Как я могу определить кадр как IEEE 802.3 или Ethe rnet II? - PullRequest
0 голосов
/ 18 марта 2020

Если бы я дал вам массив байтов, представляющих фрейм типа ссылки, как бы вы go поняли, является ли это Ethe rnet II или IEEE 802.3, не полагаясь на длину шестнадцатеричного дампа, который я предоставляю?

Например, если я предоставлю вам: 18 e7 28 92 6c 01 3c 61 04 ab 26 eb 08 00

Могу ли я посмотреть на длину 2-байтового поля после адресов MA C Source и Destination? Другими словами, будет ли что-нибудь до адресатов MA C и Source, что сделало бы ненадежным использование 2-байтовых 12-байтовых входов?

Я читал в Интернете, что:

Ответ на самом деле довольно прост. Все типы Etherty имеют значение больше, чем 05D C hex или 1500 decimal. Поскольку максимальный размер кадра в Ethe rnet составляет 1518 байт, нет смысла перекрывать между Ethertypes и длинами. Если поле, следующее за адресом источника, больше, чем O5D C hex, фрейм является версией II, в противном случае это будет что-то другое (либо 802.3, 802.3 SNAP или Novell Proprietary).

Итак каковы значения для других типов кадров (802.3, 802.3 SNAP)?

...