Для чого потрібні Ethernet / MAC адреси?


16

Я не розумію, навіщо потрібні MAC адреси Ethernet. Чи не можуть усі комп'ютери просто підключитись до єдиної мережі та використовувати IP-адреси для спілкування?

Наприклад, в Ethernet є такий механізм:

  1. Комп'ютер з IP 192.168.1.1( X.1) хоче надіслати пакет до 192.168.1.2( X.2)
  2. X.1 використовує ARP для отримання MAC X.2
  3. Для цього X.1потрібно надіслати пакет на всі комп'ютери в мережі; відповість лише один
  4. X.1 отримує MAC і відправляє пакет

Чи не було б простіше зробити лише один крок:

  1. X.1посилає пакет на всі комп'ютери в мережі; тільки X.2оброблятиме його, інші ігнорують його

Додатковим питанням було б: навіщо потрібні IP-адреси, якщо всі пристрої мають унікальні MAC-адреси?


Як комп'ютери знають, що вони повинні ігнорувати дані? Без MAC-адреси вони не можуть сказати, який з мереж повинен обробити це ...
Бакуріу

1
вони могли використовувати IP-адресу замість MAC-адреси
user2449761

erm ... комп'ютер <-> IP-адреса не є ін'єктивним відображенням. Я переформулюю своє запитання: як комп'ютери знають, що вони повинні ігнорувати дані? Без MAC-адреси вони не можуть сказати, який з мереж повинен обробити його ... оскільки більшість з них може мати той самий IP ?
Бакуріу

4
вони не повинні мати однакову IP-адресу в одній підмережі ... це конфлікт
user2449761

1
Додаткове запитання - сервер default.com/q/410626/102768
OrangeDog

Відповіді:


31

Ці різні шари мережі є , щоб вони могли бути обмінені на різні технології.

Два шари, про які ви тут говорите, - це шари 2 та 3. Шар 2 у цьому сценарії - це Ethernet - з нього виникають MAC адреси, а рівень 3 - IP.

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

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

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

У реальному світі існують різні протоколи datalink, які ви вже використовуєте два різних (хоча схеми їх адресації однакові): 802.3 - Ethernet і 802.11 - wifi.

IP не байдуже, що є базовим шаром.

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

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


2
Для внутрішньої мережі ви повинні були використовувати RFC1149 . (Менш технічний опис )
Скотт Чемберлен


1
@ScottChamberlain: Я люблю мистецтво ASCII в руці сигнальних прапорів один!
Фред Ларсон

5
IPoAC - це поганий вибір для внутрішніх комунікацій; голуби працюють краще на відкритому повітрі, ніж у приміщенні
cpast

2
@ user2449761 люди перерахували лише дурні. Замість Ethernet можна використовувати Bluetooth, комутований
комутатор

8

Де буде прийняте це рішення про обробку чи ігнорування пакету? Жодна відповідь справді задовільна:

1) У вимикачі? Ну, це означає, що комутатори повинні розуміти кожен протокол, який визначає, які комп’ютери зацікавлені в яких пакетах. Це не тільки збільшить вартість комутаторів і знизить їх швидкість, але і зробить зміни в протоколі IP набагато складнішими.

2) У апаратному забезпеченні інтерфейсу Ethernet? Ну, це зробить мережу набагато повільнішою, оскільки кожен пакет даних повинен переходити на кожну машину. Такі технології, як WiFi та з'єднання мереж із повільнішими мостами, були б неможливі. Взаимодіяти Ethernet з різною швидкістю було б неможливо. Такі технології, як IPv6 або IP багатоадресна передача, потребують апаратних змін для впровадження у всіх кінцевих станціях Ethernet.

3) У програмному забезпеченні? Ну, це зробило б комп'ютери набагато повільніше, оскільки їм доводиться мати справу зі значно більшою кількістю переривань мережевого інтерфейсу. Усі вищезгадані проблеми, пов'язані з мостом, VPN та Wi-Fi, також будуть проблемами.

Все це зробить Ethernet непридатним для використання без IP-адреси, і це означає, що зміни в Ethernet потрібні для внесення змін у IP. Гидота.

Розмежування проблем непогані.


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

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

2
@ user2449761 Усі пакети йдуть на всі комп’ютери, лише якщо ви використовуєте старовинне мережеве обладнання, яке має концентратори замість комутаторів. Хаби спочатку були варіантом з міркувань витрат; але тепер, коли комутатори дешеві, ніхто їх більше не використовує.
Ден піднімається Firelight

@Dan це те, про що я говорю ...
user2449761

2
Варіант 1 вже відбувається. Це не замінює використання MAC-адрес, принаймні, поки що. Але деякі апаратні засоби комутації можуть бути налаштовані або використовувати MAC-адресу призначення або використовувати IP-адресу призначення для обраного вихідного інтерфейсу. Цілком можливо, що через 10 або 20 років MAC-адреса залишиться лише для історичних цілей, і вся маршрутизація пакетів буде здійснюватися тільки на основі IP-адреси. Частина про зміни IP-адреси, які важче розгортати, ні в якому разі не уникнула, оскільки маршрутизатори магістральних маршрутів роками маршрутизуються на основі IP-адреси призначення.
kasperd

3

IP-адреса та MAC-адреси працюють на різних шарах набору Інтернет-протоколів . MAC-адреси використовуються для ідентифікації машин в одній мережі широкомовної передачі на рівні 2, тоді як IP-адреси використовуються на рівні 3 для ідентифікації машин у різних мережах.

Навіть якщо ваш комп'ютер має IP-адресу, він все ще потребує MAC-адресу, щоб знайти інші машини в тій же мережі, оскільки кожен шар використовує базові шари. На згаданій раніше сторінці ви можете знайти кілька приємних діаграм, що детально пояснюють набір протоколів.


2

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

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

Зауважте, що всі механізми зв'язку не використовують MAC-адресу для зв'язку. PPP і HDLC не використовують MAC-адресу для ідентифікації.

Також зауважте, що деякі мережі не використовують Ethernet. Мережам кільцевих токенів потрібен інший рівень зв'язку даних.

Якщо ви надішліть пакет з мережі A на пристрій в мережі B, звернувшись через mac-адресу пристрою в мережі B, він потрапить у саму мережу A. Зауважте, що навіть якщо між мережею А та мережею В є маршрутизатор, маршрутизатор скидає пакет, як маршрутизатор працює, отримуючи пакети, адресовані на його mac-адресу, але для різних ip-адрес.

З вищенаведених сценаріїв дуже ясно, що Інтернет не є плоскою мережею через різні локальні / приватні мережі. Існують також різні мережеві об'єкти між джерелом та пунктом призначення.

Оскільки Інтернет не є плоскою мережею, MAC-адреса використовується не для всіх типів зв'язку, а для деяких мереж потрібен інший рівень зв'язку даних, крім ethernet, нам потрібна IP-адреса для маршрутизації її до потрібного вузла незалежно від місця розташування вузла, і це досягається мережевим шаром.

Також зверніться до подібної дискусії на /programming/26290069/arp-vs-ip-why-do-we-need-both


У доповненні до «пташиним носіям», «ручних сигналів» і «папір і олівець» прикладів альтернативного рівня 2, є деякі , які є безглуздими ще іноді корисно . IP через SMS, або через Facebook, або навіть по електронній пошті. Потім є старі очікування SLIP, PPP та PPPoE. Ці троє НЕ мають такого типу обличчя, як Ethernet або WIFI-з'єднання - все ж вони отримують IP-адресу і є повністю маршрутизованими.
Росс Прессер

2

Як пояснили інші, вам потрібні протоколи рівня 2 для контролю заторів у вашій локальній мережі. Шар 3 використовується для маршрутизації та адреси між мережами.

Сказавши це, вагомим питанням може бути: Чому обидва шари не можуть використовувати одну і ту ж схему адресації?

Перша відповідь: Як уже згадували інші, це дозволяє перемикати технології L2 та / або L3, і все працює.

Друга відповідь: Навіть якщо всі погодилися з тим, щоб протоколи 2 рівня використовували IP-адреси, то вам все одно доведеться використовувати дві IP-адреси, одну для 2-го рівня та одну для 3-го рівня. Чому? НАТИНГ. Якщо ваш комп'ютер має загальнодоступну IP-адресу, то адреси L2 та L3 можуть бути однаковими. Однак якщо ви використовуєте NATting, то ваші адреси L2 та L3 були б різними.

Останній коментар: Коли ви говорите, що всі отримують повідомлення, а не отримувачі їх ігнорують, ви говорите про WiFi. Провідний Ethernet вже не працює так. Це було так, коли ми використовували коаксіальні кабелі, а пізніше, коли ми використовували маточини. Комутатори лише відправляють повідомлення / пакети у відповідний порт (якщо ви не здійснюєте напад на них і насичуєте їх таблиці).


Я дуже радий, що ви додали останній коментар. Як ви вже зазначали: перевантажувачами можна керувати заторами. Перемикачі можуть використовувати тільки схему IP-адреси. Я також не розумію аргумент NATING: нам завжди потрібні дві IP-адреси по обидва боки NAT. Думаю, правильним питанням було б: навіщо нам потрібні окремі шари DataLink та Network в сучасних мережах? Я розумію, що розлука потрібна була в 70-х, коли використовувались жетонові кільця, голуби та папери.
користувач2449761

0

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

Скажімо, у мене є древнє обладнання (скажімо, токарний верстат з ЧПУ на мільйон доларів), яке говорить лише про IPX . Як у вашій мережі, що працює лише за IP-адресою, як би хто-небудь говорив з нею? Або скажіть, я підключаю неконфігурований комп'ютер до нової мережі. Якщо MAC-адреси відсутні, як сервер DHCP може сказати моєму комп'ютеру, яку IP-адресу використовувати?

Скажімо, у мене є сервер з чотирма гігабітними підключеннями до магістрального перемикача, об’єднаний у єдине віртуальне з'єднання. Яка адреса мого сервера у вашій мережі лише для MAC? Або скажіть, у мене підключений комп'ютер через PPPoA-модем і не маю MAC-адреси. Як хтось може до нього підключитися?


0

Гммм, я думаю, це могло б зробити так, щоб я працював (я фактично / зробив / вручив призначення MAC-адреси); однак якби це було зроблено, вам потрібно було б придбати нове обладнання для IPv6, і, швидше за все, не було б перекриття. Так що в цілому я не люблю наслідків.


0

Я в Ісахая означає міжмережевий протокол.

Значить, IP повинен бути унікальним серед ВСІХ мереж у всьому світі.

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

(Це дещо порушено через NAT. Коли був створений TCP / IP, NAT не був частиною початкового плану, і це "хак", поки IPv6 не стане більш поширеним там, де він не потрібен. Прикидайтесь, що NAT не існує, щоб зрозуміти ця відповідь.)

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

TCP / IP заснований на понятті, що:

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

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

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


0

У мене просто були подібні думки. Але я прийшов до усвідомлення того, що вам потрібен шар MAC. Навіть не для комутації!

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


-2

Ви застрягаєте, думаючи лише про один шар OSI. IP працює лише тому, що Ethernet (та інші) існують так само, як Ethernet існує лише тому, що є фізичні дроти для перевезення трафіку. Це не "IP або MAC" - маршрутизація трафіку вимагає, щоб MAC-адреси працювали: IP-технологія (як і інші, пов'язані та не пов'язані між собою технології) знаходиться над цим. Ви не можете просто обміняти одне на інше.


-6

Динамічні IP-адреси мій друг! У вашому місцевому середовищі (ваш будинок, ваш коледж, робоче місце) у вас є налаштування мережі. Це не підключено безпосередньо до Інтернету (з великим «Я»), а через маршрутизатор. Цей маршрутизатор отримує динамічний IP (у більшості випадків, якщо у вас немає статичного) від свого провайдера і призначає всім підключеним комп'ютерам динамічні (ті ж ", але", що вище). Чому це робиться так? У рядку, щоб надавати послугу більшості користувачів, ніж у вас є IP-адреси. Річ у тому, що вам потрібно мати можливість ідентифікувати ваш MacBook Pro (: D) серед усіх інших комп'ютерів, тому вам потрібна УНІКАЛЬНА адреса, а не динамічна / спільна. Це твій мак. І саме тому вам це потрібно.

Ви можете прочитати далі тут


2
Це насправді немає причин використовувати MAC адреси.
Даніель Б

1
Справа в тому, що не всі комп’ютери мають унікальну IP-адресу, іноді навіть цього не хочеться, тому це хороший аргумент для них, що вони мають окрему локальну адресу, що таке MAC-адреса.
reinierpost

1
Так вони роблять. Все, що використовується в Інтернеті, за визначенням однозначно адресовано. Інакше Інтернет не працює. Є такі речі, як NAT, які порушують цей так званий принцип "від кінця до кінця". У випадку NAT у вас також є окрема локальна адреса.
Даніель Б

@DanielB Я майже впевнений, що це неправда, але, можливо, я неправильно тебе зрозумів. Наприклад: чи можете ви сказати мені, як ви однозначно зверталися до цього ПК, на якому я набираю текст, який знаходиться в локальній приватній мережі, звідки ви перебуваєте, без попереднього зв’язку? А як бути, якщо ви хочете замість цього звернутися до комп'ютера?
SevenSidedDie

@DanielB Звичайно, це не причина. Питання ОП: Чи не можуть усі комп'ютери просто підключитись до єдиної мережі та використовувати IP-адреси для спілкування? У моїй відповіді є інформація про це питання, а не ви гіпотетичне запитання, яке могло б відповідати: "Чому ми використовуємо MAC-адреси в Ethernet-моделі?". Оскільки він / вона запитує, чому ми не можемо просто використовувати IP-адреси, є моя відповідь. Будь ласка, наступного разу уважно прочитайте, перш ніж звертати увагу :)
tfrascaroli
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.