Як саме відбувається зіткнення Ethernet в кабелі, оскільки вузли використовують різні схеми для Tx і Rx?


13

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

Усі пояснюють зіткнення на верхньому рівні (два кадри стикаються, коли один надсилається, а другий отримується). Однак із наведеного нижче графу видно, що для Rx і Tx існують різні схеми. Як може статися зіткнення, оскільки є виділені схеми для надсилання та прийому кадрів?

Для передачі та прийому використовуються різні схеми

EDIT : Можливо, мітка "Hub MDI-X" викликає певну плутанину щодо питання мого запитання. Я не запитую, як функціональність концентратора може спричинити зіткнення. Моя увага зосереджена на комунікації між двома вузлами з інтерфейсами MDI або MDI-X (концентратор і комутатори мають інтерфейси MDI-X). У будь-якому з цих двох випадків, як може відбутися зіткнення між двома вузлами, коли вони мають дуплексне невідповідність, тоді як у дуплексному невідповідності Rx і Tx все ще є виділені схеми?


Зверніть увагу, що 10Base2 або 10Base5 використовували один і той же носій, наприклад, той самий кабель.
Патрік Терлістен

Все-таки у мене те саме питання щодо 100base-tx, якщо ми маємо дуплексне невідповідність, а вузолA є наполовину дуплексним і nodeB повним дуплексним. Припустимо, nodeA має інтерфейс MDI, а nodeB - MDI-X. NodeB передає від контактів 3 і 4, а nodeB приймає лише від 3 і 4. Як може відбутися зіткнення у nodeA, оскільки він отримує лише від цих штифтів?
Крістос Даламакас

6
Зіткнення відбувається в L1, а не в L2 - це біти / носії, які стикаються. Два відправника стикаються, коли вони намагаються надіслати (поруч) одночасно.
Zac67

Відповіді:


11

Щоб зрозуміти це, потрібно зрозуміти історичний контекст.

Спочатку Ethernet використовував спільний коаксіальний кабель. Одночасно це може успішно передавати лише один пристрій. Якщо два пристрої передавались одночасно, це вважалося зіткненням.

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

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

Кручена пара Ethernet також може підтримувати режим "повного дуплексу". У цьому режимі все обладнання, пов'язане зі зіткненням, вимкнено, і обидва кінці можуть передаватись у будь-який час. Однак цей режим приніс кілька основних недоліків.

  • Це було несумісне з ретрансляторами-маточинами. Без механізмів виявлення зіткнень концентратори не могли б обробляти два пристрої, що передають одночасно.
  • Обидва кінці посилання повинні бути налаштовані для одного і того ж дуплексного режиму, якщо вони не є, то погані речі відбудуться.

Ці питання означали, що на практиці системи 10BASE-T майже завжди працювали в напівдуплексному режимі.

Для 100BASE-TX ситуація різко покращилася. Ethernet-комутатори (технічно швидкі багатопортові мости) подешевшали до того, що тупі хати ретранслятора могли бути усунені. Автоматичне узгодження дозволило мережевим карткам встановити повнодуплексні з'єднання без схильної до помилок ручної конфігурації. Якщо ви підключите два перемикачі 100BASE-TX разом з перехресним кабелем або підключіть 100BASE-TX NIC до комутатора, і не вживайте заходів для ручного перемикання речей, вони майже напевно будуть узгоджувати режим дуплексу.

Теоретично 1000BASE-T має напівдуплексний режим, який деякі NIC заявляють про підтримку, і там була специфікація для гігабітних багатопортових ретрансляторів, але я ніколи не бачив жодних доказів того, що хто-небудь продавав його. На практиці гігабітна ланка майже напевно працює в режимі повнодуплексного режиму.

Більш швидкі швидкості повністю відмовилися від напівдуплексного режиму.


І тоді прийшов Wireless Ethernet, і зіткнення з ЗМІ знову стали справою.
OrangeDog

@OrangeDog, якщо ви маєте на увазі Wi-Fi (IEEE 802.11), це не бездротовий Ethernet (IEEE 802.3). Це зовсім інший протокол, який має різні кадри і використовує CSMA / CA замість CSMA / CD. Два протоколи сильно відрізняються, тоді як Ethernet на різних носіях, які він підтримує, в основному однакові.
Рон

14

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

Подумайте про це таким чином: прийом кожного інтерфейсу концентратора з'єднаний з передачею кожного іншого інтерфейсу. Всередині концентратора передача та прийом підключені, навіть якщо вони розділені на інтерфейсі.

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

Вимикач - міст високої щільності. Оригінальні мости були схожі на ПК з декількома інтерфейсами. Ви б не очікували, що на ПК з декількома інтерфейсами виникнуть зіткнення, якби він отримав одночасні кадри на декількох інтерфейсах.


Редагувати:

Ваші коментарі спонукають мене до того, що ви все ще не розумієте того, що я писав вище про хаби.

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

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


3
Це справжня відповідь. OP ігнорує всі випадки, за винятком лише двох кінцевих точок з перехресним кабелем (або, в сучасних умовах, будь-яким кабелем) між ними.
R .. GitHub СТОП ДОПОМОГАТИ

@R .., малюнок у запитанні показує концентратор, тому я відповів на зв'язок із концентратором.
Рон

Ця відповідь пояснює, як відбувається зіткнення, коли у вас є концентратор в топології. Хоча пізнє зіткнення може статися, коли є два вузли (скажімо, комутатор і ПК), один - напівдуплексний, а другий - повнодуплексний. Чому в цьому випадку відбувається зіткнення, навіть якщо для Tx і Rx є окремі схеми, як показано на графіку мого запитання?
Крістос Даламакас

Здається, що мітка "Hub MDI-X" викликала певну плутанину щодо мого питання. Я відповідно редагував.
Крістос Даламакас

3
Тому що той, хто має напівдуплекс, оголошує зіткнення, коли щось чує під час надсилання. Дивіться відповідь вище. Якщо пристрій, налаштований на напівдуплекс, під час надсилання чує інший сигнал, він повинен припустити, що відбувається зіткнення, оскільки він вважає, що він є напівдуплексним і одночасно може надсилати лише один пристрій.
Рон

8

Чудове запитання.

У повному дуплексі є виділений канал для руху "зліва направо" та виділений канал від трафіку "справа наліво":

Виділений канал

Тому в повному дуплексі зіткнення неможливі - навіть якщо обидва NIC передають одночасно.

Однак у напівдуплексному русі в будь-якому напрямку мається на увазі лише використання дроту, по одному напрямку. Тож як фізично, все ще є виділені канали, логічно, якщо один NIC отримує щось під час передачі, він реєструє це як зіткнення. Біти / сигнал насправді не «стикаються» на дроті - лічильник зіткнення просто збільшується, коли NIC приймає та передає одночасно.


4
Сигнали стикаються на дроті навіть із крученою парою. З трьома кінцевими вузлами два одночасні сигнали зіткнулися б на третьому вузлі.
Zac67

4
" Біти / сигнал насправді не" стикаються "на дроті " У хабі, як на кресленні в питанні, біти насправді стикаються на дроті і видають сигнал сміття. Хости, що надсилають одночасно і чують інший сигнал, потім надсилають сигнал заклинання на всі інші інтерфейси на концентраторі.
Рон

@RonMaupin Ви прав, звичайно, - я мав на увазі те, що буде, коли ретранслятор не виявить / не реагує на зіткнення.
Zac67

1
@ Zac67, я не коментував тебе, ти і я говорили одне і те ж саме в основному в один і той же час.
Рон

@ Zac67 / RonMaupin ОП відредагувало питання, підтвердивши, що вони не запитують про справу концентраторів.
Едді

6

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

Цей повторюваний метод імітує поведінку попередніх загальнодоступних варіантів Ethernet (10BASE5 та 10BASE2), де ретранслятор використовувався лише як фізичні сегментні з'єднання або розширення ліній. Звичайно, ви правильно: кручена пара - це повне дуплексне середовище на рівні дроту, коли зіткнення відбувається лише на верхньому фізичному шарі, а не на самому дроті.

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

При невідповідності дуплексу один кінець каналу знаходиться в режимі напівдуплексного режиму, а інший - у режимі повного дуплексу. Тепер, коли передається напівдуплексна (HDX) сторона, будь-який носій на її приймачі спричиняє виявлення зіткнення. Однак сторона дуплексу (FDX) може радісно відправлятись під час прийому з боку HDX, і вона зовсім не забуває про зіткнення, що створюються на далекій стороні. Сторона HDX повинна припинити передачу і посилає сигнал заклинання. Оскільки сторона FDX не може виявити передбачуване зіткнення, вона виявляє частковий і, отже, пошкоджений кадр.

Низькочастотні та малі кадри мають обґрунтований шанс пройти цю дуплексну невідповідність, тож pingреально може працювати. Однак, як тільки будь-яка серйозна передача намагається розпочати роботу, більш висока частота кадру та більший розмір змусять передачі вийти з ладу дуже надійно.

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

З керованими комутаторами зазвичай у вас є лічильники помилок портів. Зростаючі зіткнення на одній стороні (HDX) та збільшення шарів і FCS помилок з іншого боку (FDX) є дуже сильними показаннями для невідповідності дуплексу.

В основному, покладатися на автоматичні переговори - це дуже хороша практика, щоб уникнути дуплексних невідповідностей. Ручне налаштування швидкості та дуплексного режиму, як правило, схильне до створення невідповідності, особливо при заміні обладнання через кілька років. На щастя, вся напівдуплексна схема пішла з Gigabit Ethernet і швидше.


3

Припустимо, машина A починає надсилати дані на машину B. Коли пакет починає надсилатися, машина C починає надсилати різні дані на машину B. Існує лише один шлях сигналу до машини B, тому передачі від A і C стикаються, і B неможливо отримувати їх обох.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.