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

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

12 голосов | спросил user46749 24 J0000006Europe/Moscow 2010, 22:23:55

5 ответов


16

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

ответил mfinni 24 J0000006Europe/Moscow 2010, 22:41:27
4

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

ответил BMDan 25 J0000006Europe/Moscow 2010, 00:10:52
2

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

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

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

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

Таким образом, стандарт устанавливает минимальный размер кадра как объем данных, которые вы можете отправить в TWICE наихудшей задержке распространения в общем носителе.

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

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

ответил Andrew Wagner 23 Mayam14 2014, 10:34:20
0

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

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

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

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

ответил Peter Green 19 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 19 Sep 2016 15:47:50 +0300 2016, 15:47:50
0

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

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

  • Это вдвое меньшая сумма для служебных обязанностей безопасности
  • Обнаружение столкновений в коаксиальном кабеле может выполняться аналоговым компаратором напряжения (поскольку столкновение пакетов приводит к удвоению напряжения нормального сигнала)
  • Скорость электричества в медных кабелях составляет около 200000 километров в секунду.
  • Каждый бит в Ethernet 10Base5 имеет длину 20 метров в кабеле
ответил PkP 21 Jam1000000amSat, 21 Jan 2017 08:46:00 +030017 2017, 08:46:00

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132