Чому не можна використовувати MAC адреси замість IPv4 | 6 для роботи в мережі? [зачинено]


184

Я читаю про TCP / IP та інші пов'язані протоколи та технології. MAC-адреси описуються як (розумно :) унікальні та мають великий простір можливостей (кілька сотень трильйонів), при цьому призначаються всім мережевим інтерфейсам. Які історичні та технічні причини, чому IPv4 або IPv6 адреси використовуються замість MAC-адреси для спілкування в Інтернеті?

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


55
Педантична корекція: досить унікальна; картки з однаковими HW-MAC-адресами були помічені в дикій природі - це "весела" мережева проблема для налагодження.
Пісквор

9
Я особисто був свідком помилкового драйвера, який фактично присвоював однакову MAC-адресу різним мережевим картам на різних машинах (які мали унікальні адреси HW до встановлення цього драйвера). Ну, це було боляче .
Массімо

3
Массімо, я бачив саме те саме. Це не рідкість, щоб водій це робив у розробці, а програмісти забували повернути цей компонент, коли він починає виробництво. @Felix, виробники також часто використовують МАС з часом та в різних куточках світу. На картці, проданій у 2005 році в США, може бути такий самий MAC, як і у Китаї, наприклад, у 2013 році.
Роберт Каучер

30
Звернення до пакету з MAC-адресою було б подібним до адреси листа з номером соціального страхування.
Майкі

14
Як би ви дізналися, де зараз знаходиться певна MAC-адреса? Спереду, не потрібно повідомляти про кожен вузол в Інтернеті, коли ви переходите до іншої мережі?
Thorbjørn Ravn Andersen

Відповіді:


345

MAC-адреса може бути унікальною, але немає нічого особливого в тому числі, яке вказувало б, де вона знаходиться. MAC 00-00-00-00-00-00може бути з іншого боку планети з 00-00-00-00-00-01.

IP - це довільна схема нумерації, накладена ієрархічно на групу комп'ютерів, щоб логічно виділити їх як групу (ось що таке підмережа). Надсилання повідомлень між цими групами здійснюється за допомогою маршрутизації таблиць, розділених на кілька рівнів, щоб нам не потрібно було відслідковувати кожну окрему підмережу. Наприклад, 17.x.x.xзнаходиться в мережі Apple. Звідти Apple дізнається, де знаходиться кожна її тисяча підмереж і як дістатися до них (ніхто більше не повинен знати цю інформацію, їм просто потрібно знати, що 17. все йде в Apple).

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


23
Це чудова відповідь. Я б додав, що MAC адреси в кінцевому рахунку використовуються в IP-комунікаціях, як тільки комп'ютери визначають, що вони перебувають у одній підмережі; ось чому отруєння ARP працює як напад. Те саме, що і шлюз за замовчуванням, комп'ютер адресує пакети, призначені для іншої підмережі, на MAC-адресу, повернуту пошуком ARP для шлюзу IP за замовчуванням. Адресація рівня 3 / IP в основному використовується маршрутизаторами і використовується тільки хостом для визначення, чи є місце призначення в одній підмережі.
Шон К.

7
@SeanC, MAC-адреси в кінцевому рахунку використовуються в IP-комунікаціях понад 802.1 лінійних протоколів (Ethernet, WiFi, Token Ring тощо). Але не над протоколами ATM, такими як PoSDH та IPoATM.
Chris S

25
Крім того, ви можете зберігати ту саму IP-адресу, коли ваша мережна карта (або весь комп'ютер) потребує заміни. Уявіть, як це буде прикро без абстракції IP.
OrangeDog

3
@ChrisS У мене є друг, який як системний адміністратор отримав партію карток від одного постачальника, і картки мали лише одну MAC-адресу у всій палітрі. Постачальник заявив, що картки не змішуються правильно до роздрібної дистрибуції, щоб там були дублікати, оскільки замовлення було прямим випадом із заводу. Перш ніж картки перейшли до роздрібної дистрибуції, вони повинні були змішатись, щоб розповсюдити мандри навколо. Тож для даного постачальника адресати MAC не є унікальними, а тим більше для постачальників.

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

73

Тому що таблиці маршрутизації стали б неможливо великими.

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

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


Чи можете ви детальніше зупинитися на цьому? Навіщо їм? Чому це не так з IPv *?
Фелікс Сапареллі

2
Немає жодної суттєвої причини, що таблиці маршрутизаторів, що використовують MAC-адресу, була б "неможливо великою" порівняно з форматами IPv4 / 6. Проблема полягає в тому, що розподіл IP-адрес пов'язаний з ієрархією, яка робить маршрутизацію WAN здійсненною. MAC-адреси виробникам Ethernet призначаються виробниками (і їх можна змінювати в програмному забезпеченні), і коли апаратні пристрої рухаються, перетворення цих спеціальних змін у таблиці маршрутизації WAN було б "неможливо великим" завданням.
hardmath

34

Світ працює не виключно по ethernet (принаймні історично). IP-рівень не залежить від апаратного рівня під ним.

PPP-вузли не мають Mac-адрес. Ні arcnet, token ring, fddi, hppi. Ці інші стандарти можуть бути не настільки актуальними сьогодні, але в майбутньому мережа Ethernet може бути замінена іншими технологіями, і це буде прозорим для рівня IP.

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


5
У Token Ring є MAC-адреси.
Кріс С

Ви маєте на увазі, що вони також не можуть переключитися на ipv6, оскільки у вузла PPP немає адреси v6? (Або принаймні такого не було 5-10 років тому). Наскільки я можу сказати, що ніколи не зупиняв розгортання ipv6 сьогодні. Це також не має значення для MAC.
Дорус

6
@Dorus: Ваш коментар не має сенсу. PPP-вузли можуть мати як IPv4, так і IPv6 адреси, що саме спричиняє побудову IP на базових протоколах, таких як Ethernet або PPP. Однак у вузлах PPP немає MAC-адреси (оскільки стандарт PPP їх не має).
sleske

Через 3 роки (і трохи більше обізнаних) я хотів би прочитати це "довше обговорення того, як ми продовжуємо вигадувати нові апаратні протоколи та називати їх ethernet". ; P
Фелікс Сапареллі


30

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

Ця абстракція дозволяє зробити набагато більш гнучкими та бездоганними мережі.


22

Погляньте на модель OSI : http://en.wikipedia.org/wiki/OSI_model

Це пояснює, чому не має сенсу приймати маршрутизацію, концепцію рівня 3, рішення, засновані на фізичному, шарі 2, механізмі.

Сучасна мережа розбита на багато різних шарів, щоб досягти вашої комунікації. Ваша мережна карта (те, на що адресується mac-адреса [фізична адреса]), повинна відповідати лише за спілкування з однолітками у її фізичній мережі.

Спілкування, яке вам дозволяється здійснювати зі своєю MAC-адресою, обмежується лише іншими пристроями, які знаходяться у фізичному контакті з вашою машиною. Наприклад, в Інтернеті ви фізично не підключені до кожної машини. Ось чому ми використовуємо механізм TCP / IP (шар 3, логічна адреса), коли нам потрібно спілкуватися з машиною, до якої фізично ми не пов'язані.


6
+1 для згадування моделі OSI.
Массімо

7

b0fh вірно - але також тому, що MAC адреси не завжди є унікальними.

Дивіться, наприклад, сценарії віртуалізації. Тут кілька хостів можуть обслуговувати віртуальні машини з однаковими MAC-адресами.


4

Таблиці маршрутизації для MAC-адрес знадобиться майже кожному пристрою із переліченою MAC-адресою. Маршрутизація до Інтернету для IP - це один запис 0.0.0.0/0. Для мережевих класів вони розбиваються на 10.0.0.0/8 172.16.0.0/16 та 192.168.0.0/24. Багато з них можна об'єднати, наприклад, 172.16.0.0/12 та 192.168.0.0/16, що ще більше зменшує розмір таблиці маршрутизації.

Шляхи шукають у зворотному порядку до кількості бітів у масці. Це змушує маршрутизацію до 192.168.100.0/24 працювати, коли є маршрут для 192.168.0.0/16 та інший для 0.0.0.0/0 (маршрут за замовчуванням).

EDIT: Спочатку діапазон IP був розбитий на кілька класів; A, B і C є найбільш значущими. Клас A склав першу половину адресного діапазону, B - наступну чверть, а C - наступну вісім діапазону. Ці класи мали маски відповідно 8, 16 та 24 біт. Пізніше суворе використання цих масок було відмінено, і виділення адреси було здійснено в різних розмірах.

Розмір виділення завжди є потужністю 2, а найнижча та найвища адреса в кожному виділенні зарезервована. Кожен розподіл також матиме адресу для маршрутизатора. Це часто найнижча або найвища незарезервована адреса. Найменший практичний розподіл - це адреса / 30.

IPv6 використовує ту саму форму розподілу з / 64 найменшим розміщенням, яке може з’явитися в Інтернеті. Як правило, і провайдеру надаватимуться значно більші розміри, про що потрібно знати про Інтернет-маршрутизатори. Очікувані асигнування вказані в RFC. Інтернет-провайдер повинен знати, як маршрутизувати власну підмережу та які адреси для маршрутизації до яких маршрутизаторів, що з'єднують між собою. Це значно простіше, ніж знати, як маршрутизувати кожен mac-адресу.


7
Там немає класів в мережі більше , і не було з 1994 року = [
Chris S

Пошук @ChrisS IPv4 PTR все ще здійснюється класом, хоча делегування можливо. Агрегації все ще застосовуються з класами або без них, а B і C агрегації все ще застосовуються навіть до безкласових мереж.
BillThor

2
Шукання PTR проводиться Octet, класів немає. Див. RFC 1517 до 1520.
Кріс S,

2
@ChrisS Серед людей, з якими я працюю, класи використовуються для позначення кількості октетів у мережній масці A = 1, B = 2 та C = 3. Ми не пов'язуємо їх з історичними діапазонами, і будемо розбивати клас A 10.0.0.0 на шматки B і C. Заняття живуть традицією, якщо не їх початковим значенням.
BillThor

2

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

MAC-адреси використовуються, коли адреса призначення знаходиться в локальній підмережі (наприклад, 192.168.0.x). Коли трафік не відповідає локальній підмережі, комп'ютер посилається на таблицю маршрутизації. Як правило, таблиця маршрутизації повідомляє про будь-який трафік, який не відповідає локальній підмережі (0.0.0.0), щоб перейти до локального шлюзу, і в цей момент будь-яка приналежність до MAC-адрес повністю позбавлена. Єдиним способом використання MAC-адрес у глобальному масштабі було б мати одну, величезну плоску підмережу, яка була б абсолютно непрацездатною.


2

MAC-адреса може бути однаковою для різних адаптерів Ethernet на одній машині. У кожної машини SUN була одна MAC-адреса uniqe. Отже, картки Ethernet для комп'ютерів SUN не мали жодної унікальної MAC-адреси, як це робила машина.

Отже, коли ви підключили апарат до двох різних мереж, він мав однакову MAC-адресу в обох мережах.


2

MAC-адреси - це адреси шару зв'язку (2n) в моделі ISO / OSI та моделі TCP / IP . Це означає, що MAC-адреси використовуються для підключення вузлів всередині локальної мережі (точка-точка). IP-адреси - це адреси мережевого рівня (3-го) всередині Інтернету (від кінця до кінця).

Обидві адреси використовуються лише у своєму шарі і не призначені для використання поза ним.


1

MAC-адреса цільової IP-адреси корисна лише для доставки пакетів у межах одного локального широкомовного домену.


1

Люди тут заявляли, що проблема використання MAC-адреси замість IPv4-адрес полягає в маршрутизації, оскільки таблиці маршрутизації зростатимуть великими - однак це передбачає маршрутизатори IPv4. Можливо, є невеликі таблиці маршрутизації, і якщо вас цікавить як, шукайте плоскі маршрутизації простору імен. Один з робіт, що описують цю техніку, є цей: http://www.cs.uiuc.edu/~caesar/papers/rofl.pdf


2
ROFL пропонує кожному маршрутизатору в межах AS як слідкувати за кожним хостом всередині цієї AS ... І використовувати криптографічні хеші для ідентифікаторів хостів ... Тож не тільки буде мільйони записів у таблицях маршрутизації та жахливі вимоги передачі / обслуговування, але для інтерпретації таблиці необхідні криптографічні алгоритми. Автор поза розумом. У IP можуть бути недоліки, але принаймні в базовій конструкції немає божевільних припущень.
Chris S

У ROFL лише перші маршрутизатори хопу повинні зберігати набір підключених вузлів, а не всіх вузлів AS. У розділі №2 згадується кешування, але це оптимізація. Криптовалюта необхідна лише тоді, коли вузли приєднуються до маршрутизатора, а не для інтерпретації таблиці маршрутизації. Маршрутизація проводиться на DHT, який набагато більш стійкий, ніж ієрархічна маршрутизація.
Микола Кнежевич

1

Я пам'ятаю, що MAC-адреси - це дійсно Ethernet-адреси. Адреси Ethernet поділяються на дві частини: частина постачальника - яка ідентифікує постачальника картки Ethernet та адресу, яку присвоює постачальник. Саме постачальник повинен зробити їх унікальними - чи ні.

Таким чином, 48-бітний MAC-адрес не використовується ефективно, а також - як було сказано кілька разів вище - ієрархічно.

Адреса призначена для унікальних адрес у локальній мережі CSMA.

Принаймні, до найкращого, що я пам'ятаю.

IP-адреси призначені для масштабування в більш загальному масштабі та вирішення іншої проблеми.


Адреси MAC повинні бути унікальними - це не завжди відбувається так, як відзначили інші, але це обов'язково. Виробники можуть отримати більше одного ідентифікатора постачальника. Існує близько 4 мільйонів можливих ідентифікаторів постачальника (у адресному просторі MAC48, також є майбутній адресний простір MAC64) і присвоєно менше десятої частини. У межах кожного ідентифікатора постачальника є 16 мільйонів ідентифікаторів пристроїв, для того, щоб навіть великих крупних постачальників вичерпатися, потрібно час.
Chris S
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.