Почему в ethernet указан минимальный размер кадра?


12

Я думаю, что минимум составляет 64 байта. Почему этот минимум необходим?

Ответы:


16

Делая небольшое чтение, кажется, это связано с частью обнаружения столкновений CSMA / CD. Если бы на старых вещательных носителях были слишком маленькие кадры, то некоторые коллизии были бы необнаружимы. Продолжая мою тему автомобильных аналогий сегодня, по той же причине, по которой мы не допускаем велосипеды на скоростных автомагистралях - это просто небезопасно для них.


3
+1, я не знал, что о велосипедах ...
Кайл Брандт

6
+1 Обнаружение столкновения является причиной. 64 байта - это 0,04 мс при скорости Ethernet 10 Мб. Любые поменьше и столкновения останутся незамеченными (в 1982 году).
sysadmin1138

Если я вас понимаю, причина минимума в 64 байта в том, чтобы дать достаточно времени другим станциям, чтобы заметить это?
CodyBugstein

1
Не могли бы вы пояснить, почему столкновения были бы необнаружимы?
проблемщик

1
Я уверен, что столкновение велосипеда на скоростной трассе будет обнаружено. И в любом случае, велосипеды разрешены в штатах в большинстве западных штатов США, поэтому я не уверен, насколько уместна аналогия. :)
Майкл Хэмптон

4

В дополнение к (абсолютно правильному) ответу mfinni, установка минимального размера кадра позволяет вам проводить несколько циклов приема, проверяя контрольные суммы ваших кадров. В старые времена можно легко представить чип, который обрабатывает один бит за цикл, но для вычисления контрольной суммы на выделенном пути, который проходит параллельно пути приема, требуется много циклов. Получение множества коротких сообщений может привести к искажению этой логики контрольной суммы из-за одновременного запуска нескольких одновременных операций. Отказ от чего-либо ниже определенного порога размера позволяет вам избежать этой проблемы простым способом.


Я считаю, что этот ответ неверен; это связано с задержкой распространения в среде и обнаружением столкновений.
Эндрю Вагнер

@AndrewWagner, как я уже сказал в своем ответе, ответ mfinni выше, касающийся обнаружения столкновений, является правильным. Моя точка зрения заключалась в том, что эта «причудливость» спецификации также позволяет разработчикам оборудования делать несколько собственных сокращений.
BMDan

2

Ethernet предназначен для работы через общую среду (эфир!). Отправители способны воспринимать, когда сигнал, которым они управляют эфиром, отличается от того, что находится на эфире.

К сожалению, все средства массовой информации имеют задержку распространения (к сожалению, даже свет распространяется с конечной скоростью).

Предположим, вы отправили очень короткий кадр. Чтобы определить, передает ли получатель прямо в то же самое время, когда они получали ваш кадр, вы должны дождаться, пока сигнал, который они отправят, дойдут до вас, поэтому вы должны ждать / прослушивать двойную задержку распространения носителя, прежде чем вы узнаете, была ли столкновение на приемном конце.

Теперь вместо того, чтобы просто слушать (посылать молчание) в течение этого времени, вы могли бы также пойти дальше и отправить некоторую полезную информацию в течение этого времени.

Таким образом, стандарт устанавливает минимальный размер кадра, равный объему данных, которые вы можете отправить в ДВАЖДЫ, в худшем случае для задержки распространения на совместно используемой среде.

Поэтому, если вы недовольны тем, что большие кадры выглядят «неоптимизированными» для вашего маленького сообщения, подумайте о том, что дополнительное пространство в пакете представляет собой возможность найти что-то еще для отправки, в противном случае вам все равно придется отправлять нули.

Конечно, есть много других способов справиться с коллизиями и задержками распространения в локальном сетевом стандарте, но тогда это не будет Ethernet, и я думаю, что мы все можем согласиться с тем, что Ethernet довольно приятен.


Вопрос: Итак, я понимаю, почему вам нужен минимум или 2 x PDоткуда 64 байта? Разве это не должно зависеть от длины / типа кабеля? 64 байта кажутся произвольными
CodyBugstein

Это возвращается к старому компромиссу эффективности против сложности. Вы могли бы построить какую-нибудь систему для автоматического измерения сети и выбора подходящего минимального размера пакета, но это добавило бы нетривиальную сложность для относительно небольшого усиления.
Питер Грин,

0

Для правильной работы CSMA / CD необходимо постоянное обнаружение столкновений.

Если получатель видит коллизию, а отправитель - нет, тогда пакет будет потерян. Точно так же, если отправитель видит коллизию, но получатель не видит, вы получите повторный пакет после повторной отправки отправителя. Ни то, ни другое не желательно.

Поскольку данные перемещаются с конечной скоростью, требуется минимальный размер пакета, чтобы гарантировать, что в случае коллизии это происходит везде. Чем больше вы делаете минимальный размер пакета, тем больше и / или быстрее вы можете создать сеть до выхода из строя CSMA / CD.

Что касается 64-байтовых данных, я не знаю точно, но я ожидаю, что это было просто круглое число, которое «казалось примерно правильным в то время», учитывая скорость, с которой они работали, ожидаемый размер сетей Ethernet и ожидаемый размер пакетов более высокого уровня.


0

Минимальная длина пакета 64 байта не является произвольным числом. На физическом уровне 10Base5 (коаксиальный «Fat Ethernet», один из первоначально указанных физических уровней, на котором разрешено использовать самые длинные кабели) это приводит к минимальной длине пакета в микросекундах, что в два раза больше времени прохождения сигнала туда и обратно максимальной длины кабель длиной 2500 метров, состоящий из пяти сегментов по 500 метров с четырьмя повторителями. Это необходимо для того, чтобы пакеты, передаваемые с противоположных сторон кабеля, полностью сталкивались в каждой точке кабеля для надежного обнаружения коллизий во всех узлах.

Общая информация:

  • Это вдвое меньше минимальной суммы для накладных расходов на безопасность
  • Обнаружение столкновения в коаксиальном кабеле может быть выполнено с помощью аналогового компаратора напряжения (поскольку столкнувшиеся пакеты приводят к удвоенному напряжению сигнала по сравнению с нормальным)
  • Скорость электричества в медном кабеле составляет около 200000 километров в секунду
  • Каждый бит в 10Base5 Ethernet имеет длину 20 метров в кабеле
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.