Если бы я дал вам массив байтов, представляющих фрейм типа ссылки, как бы вы 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)?