Глядя на запись Ethernet в Википедии, я не могу понять, как указано, какова длина кадра Ethernet. Поле заголовка EtherType / Length, очевидно, может указывать либо тип фрейма, либо явную длину, и я предполагаю, что в случае с типом фрейма, он должен сделать какую-то другую логику, чтобы выяснить, как долго пакет. Например, если поле EtherType равно 0x0800, это указывает на полезную нагрузку IPv4, и поэтому принимающая сетевая карта должна будет проверить первые 32 бита полезной нагрузки, чтобы найти длину IP-пакета и, следовательно, выяснить общую длину кадр Ethernet, и знать, когда искать контрольную сумму конца кадра и промежуток между кадрами.
Это звучит правильно? Я также рассмотрел спецификацию IEEE 802.3 для Ethernet (часть 1, во всяком случае), которая, кажется, подтверждает это, но она довольно непрозрачна.