Приветствую!
Цитата(b-volkov @ Mar 14 2018, 11:30)

Это означает, что я не планирую использовать поверх Ethernet каких-либо стандартных протоколов типа TCP,UDP и т.д. Компьютер передает Ethernet-пакет, устройство (мое же) его принимает. И наоборот.
Сейчас комп и устройство соединены через LAN-порты роутера DIR-300. Пакеты нормально передаются независимо от значения полей, но вот Wireshark при определенных цифрах в поле type/length помечает кадры как некорректные. А я как раз планировал это поле использовать именно как длину.
Хотелось бы сразу уточнить,я в своем посте под сетевым оборудованием подразумевал коммуникационные устройства: хабы, роутеры, свичи. Если проблемы с этим оборудованием возможны, тогда скажите мне, чайнику, как в моем случае правильно заполнить эти поля?
Вообще то чистый Ethernet это первые 14 байт (естественно без VLAN) - как раз dst, src адреса и 16 bit type.
Значение в этом поле кодирует либо длину данных и она
должна быть в диавазоне 0x0000-0x05DC.
Либо тип последующего заголовка - и при этом длинна пакета будет определятся в зависимости от этого типа.
Естественно если Вы в type что то записали > 0x05DC то Wireshark пытается распарсить все что после type в соответствии со стандартным значением в этом поле.
Если Вы хотите гонять такой траффик через стандартные устройства то что бы не было проблем придется следовать канонам сетевой религии - а иначе результат не гарантирован.
Ну а если и так сойдет то для Wireshark можно создать свой шаблон для парсинга чтобы он не ругался на такое святотатство.
Удачи! Rob.