Чому в Ethernet вказаний мінімальний розмір кадру?


12

Я думаю, що мінімум - 64 байти. Чому цей мінімум необхідний?

Відповіді:


16

Швидке читання здається, що це пов'язано з частиною CSMA / CD, що визначає зіткнення. Якби кадрів було занадто мало на старих телерадіомедіа, то деякі зіткнення були б невиявними. Продовжуючи сьогодні мою тему автомобільних аналогій, це з тієї ж причини, що ми не допускаємо велосипедів на швидкісних шосе - це просто не безпечно для них.


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

6
+1 Причина виявлення зіткнення. 64 байти - 0,04 мс при швидкості Ethernet 10 Мб. Будь-які менші розміри та зіткнення залишаться непоміченими (у 1982 р.).
sysadmin1138

Якщо я вас розумію, причина 64-байтного мінімуму - це приділити достатньо часу, щоб інші станції помітили це?
CodyBugstein

1
Чи можете ви, будь ласка, докладно пояснити, чому зіткнення було б не виявити?
problemofficer

1
Я впевнений, що зіткнення велосипеда на швидкісному шосе було б помітним. І як би там не було, велосипеди дозволені на Interstates у більшості західних штатів США, тому я не впевнений, наскільки правильна аналогія. :)
Майкл Хемптон

4

На додаток до (абсолютно правильної) відповіді mfinni, встановлення мінімального розміру кадру дозволяє витратити кілька циклів прийому, перевіряючи контрольні суми ваших кадрів. У Ye Olde Days можна легко уявити чіп, який обробляє один біт за цикл, але потрібно багато циклів для обчислення контрольної суми на виділеному шляху, який проходить паралельно шляху отримання. Отримання багатьох коротких повідомлень може призвести до того, що ця логіка контрольної суми стане здивованою, запустивши в ній кілька одночасних операцій. Відмова від чого-небудь нижче певного порогу розміру дозволяє уникнути цієї проблеми простим способом.


Я вважаю, що ця відповідь неправильна; це стосується затримки розповсюдження в середовищі та виявлення зіткнення.
Ендрю Вагнер

@AndrewWagner, Як я вже говорив у своїй відповіді, відповідь mfinni вище, що стосується виявлення зіткнень, є правильним. Моя думка полягала в тому, що ця «химерність» специфікації також дозволяє дизайнерам апаратних засобів зробити кілька власних ярликів.
BMDan

2

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

На жаль, всі носії мають затримку розповсюдження (на жаль, навіть світло рухається з обмеженою швидкістю).

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

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

Таким чином, стандарт встановлює мінімальний розмір кадру, який є кількістю даних, які ви можете надіслати в два рази найгіршим затримкою поширення у спільному носії.

Тож якщо ви нещасні, тому що великі кадри відчувають себе "неоптимізованими" для вашого маленького повідомлення, подумайте про цей додатковий простір у пакеті як про можливість знайти щось інше для надсилання, коли вам інакше доведеться надіслати нулі в будь-якому разі.

Звичайно, існує багато інших способів вирішити зіткнення та затримки розповсюдження локального стандарту мереж, але тоді це не було б Ethernet, і я думаю, що всі ми можемо погодитись, що ethernet досить милий.


Питання: Тож я розумію, для чого вам потрібен мінімум, 2 x PDале звідки береться 64 байти? Чи не повинно це залежати від довжини / типу кабелю? 64 байти здаються довільними
CodyBugstein

Це повертається до старого компромісу VS щодо складності. Ви можете побудувати якусь систему для автоматичного вимірювання мережі та вибору відповідного мінімального розміру пакету, але це додасть нетривіальну складність для відносно невеликого посилення.
Пітер Грін

0

Щоб CSMA / CD працював правильно, потрібно послідовне виявлення зіткнень.

Якщо одержувач бачить зіткнення, а відправник цього не робить, пакет буде втрачений. Аналогічно, якщо відправник бачить зіткнення, але одержувач цього не отримає, ви отримаєте повторний пакет після повторного відправлення. Не бажано.

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

Що стосується того, чому 64-байтові я не знаю точно, але я думаю, що це було просто кругле число, яке "здавалося приблизно в той час", враховуючи швидкість, на якій вони працювали, очікуваний розмір мереж Ethernet і очікуваний розмір пакетів вищого рівня.


0

Мінімальна довжина пакету - 64 байти - це не довільне число. У фізичному шарі 10Base5 (коаксіальний "Fat Ethernet", один з первісно вказаних фізичних шарів, у якого допускаються найдовші кабелі), це призводить до мінімальної довжини пакета, в мікросекундах, що вдвічі перевищує максимальну довжину часу в зворотному напрямку кабель розміром 2500 метрів, що складається з п'яти 500-метрових сегментів з чотирма ретрансляторами. Це потрібно для того, щоб пакети, що передаються з протилежних сторін кабелю, повністю стикаються в кожній точці кабелю для надійного виявлення зіткнень у всіх вузлах.

Дрібниці:

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