Я думаю, что минимум 64 байта. Зачем нужен этот минимум?
При быстром чтении выясняется, что это связано с частью CSMA / CD, связанной с обнаружением конфликтов. Если бы кадры на старых вещательных носителях были слишком маленькими, некоторые коллизии не могли бы быть обнаружены. Продолжая мою тему автомобильных аналогий сегодня, это по той же причине, по которой мы не разрешаем ездить на велосипедах по скоростным шоссе - это просто небезопасно для них.
В дополнение к (абсолютно правильному) ответу mfinni, установка минимального размера кадра позволяет вам проводить несколько циклов приема, проверяя контрольные суммы ваших кадров. В Ye Olde Days можно легко представить себе микросхему, которая обрабатывает один бит за цикл, но для вычисления контрольной суммы на выделенном пути, идущем параллельно пути приема, требуется много циклов. Получение большого количества коротких сообщений может привести к искажению этой логики контрольной суммы из-за того, что в ней запущено несколько одновременных операций. Отказ от всего, что ниже определенного порогового значения, позволяет простым способом избежать этой проблемы.
Ethernet предназначен для работы через общую среду (эфир!). Отправители способны определять, когда сигнал, которым они управляют эфиром, отличается от того, что находится в эфире.
К сожалению, все среды имеют задержку распространения (к сожалению, даже свет распространяется с конечной скоростью).
Допустим, вы отправили очень короткий кадр. Чтобы определить, передает ли приемник одновременно с получением вашего кадра, вы должны подождать, пока сигнал, который он отправляет, достигнет вас, поэтому вы должны ждать / прослушивать в течение двойной задержки распространения носителя, прежде чем вы узнаете, была ли столкновение на принимающей стороне.
Теперь, вместо того, чтобы просто слушать (посылать тишину) в это время, вы могли бы также пойти дальше и отправить некоторую полезную информацию в это время.
Таким образом, стандарт устанавливает минимальный размер кадра, равный объему данных, который вы можете отправить в ДВАЖДЫ, в наихудшем случае задержки распространения в общей среде.
Так что, если вы недовольны тем, что большие кадры кажутся «неоптимизированными» для вашего небольшого сообщения, подумайте об этом дополнительном пространстве в пакете как о возможности найти что-то еще для отправки, когда в противном случае вам все равно пришлось бы отправлять нули.
Конечно, есть много других способов борьбы с коллизиями и задержками распространения в локальном сетевом стандарте, но тогда это не будет Ethernet, и я думаю, мы все можем согласиться с тем, что Ethernet - это довольно мило.
Для правильной работы CSMA / CD необходимо постоянное обнаружение конфликтов.
Если получатель видит конфликт, а отправитель - нет, пакет будет потерян. Точно так же, если отправитель видит коллизию, а получатель - нет, вы получите дубликат пакета после повторной передачи отправителя. Ни то, ни другое не желательно.
Поскольку данные передаются с конечной скоростью, требовался минимальный размер пакета, чтобы гарантировать, что в случае возникновения коллизии это произойдет повсюду. Чем больше вы сделаете минимальный размер пакета, тем больше и / или быстрее вы сможете сделать сеть до того, как выйдет из строя CSMA / CD.
Что касается того, почему 64 байта, я не знаю наверняка, но полагаю, что это было просто круглое число, которое «казалось примерно правильным в то время», учитывая скорость, на которой они работали, ожидаемый размер сетей Ethernet и ожидаемый размер. пакетов более высокого уровня.
Минимальная длина пакета 64 байта не является произвольным числом. На физическом уровне 10Base5 (коаксиальный кабель «Fat Ethernet», один из первоначально указанных физических уровней, на котором разрешены самые длинные кабели) это приводит к минимальной длине пакета в микросекундах, что в два раза превышает время прохождения туда и обратно максимальной длины. кабель длиной 2500 метров, состоящий из пяти сегментов по 500 метров с четырьмя повторителями. Это необходимо для того, чтобы пакеты, передаваемые с противоположных сторон кабеля, полностью сталкивались в каждой точке кабеля для надежного обнаружения конфликтов во всех узлах.
Интересный факт: