Чому ipv6 вказує 128-бітну адресу, коли в MAC-адресах є лише 48 біт?


37

Отже, я читаю на мережевому іспиті, і мені просто цікаво, чи я пропустив щось базове. Чи потрібно більше IP-адрес, ніж MAC-адреси, і яким чином вузлу з одним мережевим адаптером буде призначено багато ip-адрес у цьому випадку?


2
+1, незважаючи на те, що очевидно, що MAC повинен бути унікальним лише для пристроїв в межах однієї локальної мережі (підключених до однієї шини), тоді як Інтернет-шар консолідує всі локальні мережі в одну глобальну мережу, завдяки чому основний принцип дизайну розділяє підкорення, точно призначає, що локальна мережі не знають про локальні адреси в інших локальних мережах для успішного спілкування за допомогою глобальної схеми ІР, і, крім того, ви можете підключати до Інтернету локальні мережі, що не базуються на Ethernet. Отже, мені цікаво знати, що було б відповіддю, якби IP вимагав лише Ethernet на нижньому рівні.
Val Val

1
Перехід від IPv4 до IPv6 був - і є - настільки повільним і дорогим, що ми не хочемо знову стикатися з іншим переходом. 128 біт мають розумний шанс їх вистачити "назавжди". tools.ietf.org/html/rfc1606 - це велике жартівливе сприйняття цього питання ("Оскільки протокол версії 9 версії IP закінчується термін корисного використання, знову ж таки через виснаження адресного простору, ...")
Бені Чернявський- Паскін

@ БеніЧернявський-Паскін, перехід повільний, оскільки НАТ пом'якшує потребу. Знову ж таки, це показує нам, що нам не потрібен локальний адресний простір для покриття глобального адресного простору.
Val Val

Відповіді:


40

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

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


8
Також через агрегацію. 48 біт було б більш ніж достатньо IP-адрес (40 кб на людину), але це означало б, що кожному маршрутизатору потрібно дивитись на плоску таблицю розміром понад 2ПБ, що технології не існує.
ytti

1
@ytti: Принаймні , поки ми всі не маємо IP з підтримкою нанороботів в наших кровотоку
BlueRaja - Денні Pflughoeft

1
Вони, ймовірно, можуть використовувати linklocal, оскільки лише деякі з них інтерфейсують поза локальною мережею.
ytti

1
На папері вони повинні бути унікальними у всьому світі. Однак, як відомо, реальність відрізняється.
Ricky Beam

4
Це може бути ще одним питанням. Але MAC-адреса робиться з 24b або 36b OUI-номера, який ви купуєте в IEEE, який повинен бути унікальним, але на практиці для економії 1300USD деякі користуються OUI інших народів, або деякі виробляють NIC з унікальним MAC. Незважаючи на те, що MAC-адреса становить 48b, це насправді 46b, оскільки 1 біт визначає, чи вона одноадресна / багатоадресна, і 1 бітова, якщо вона глобальна / локальна, якщо локальний біт масштабу ввімкнено, то всі ставки вимикаються на унікальність.
ytti

16

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

Зауважимо також, що MAC-адреса може бути перетворена на частину хоста IPv6 за допомогою перетворення EUI-64 (в основному використовується для автоматичної конфігурації без стану), вставляючи шістнадцяткові значення FFFE між крайнім лівим і правим 24-бітним 48-бітним MAC-адресою, і сьомий біт перевертається.

Так, наприклад, 0c: 3a: bb: 2a: cd: 23 можна перетворити на хост-частину IPv6 адреси автоконфігурації без стану. 0c у вказаних вище MAC-адресах, представлених як 0000 1100 у двійковій формі, стане 0000 1110 у двійковій або 0e у шістнадцятковій. Отже, кінцева частина вузла EUI-64 адреси IPv6, перетворена з MAC-адреси, буде 0e: 3a: bb: ff: fe: 2a: cd: 23.


1
Вам також потрібно перегорнути MAC-адресу "локальний біт"
ytti

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

Дурний скрипт робити це автоматично: ruby ​​-e'EUI = (ARGV [1]); k = ARGV [0] .delete (":."). Scan (/. {6} /). Join ("fffe" ) .scan (/../); k [0] = "% 02x"% (k [0] .hex ^ 0b10); p EUI + ":" + k.join.scan (/..../) .join (":") "74: 66: 30: 42: 42: 42 2001: 67c: 17a0: 0
ytti

Переклад MAC-адреси на EUI-64 для використання у розподілі IP-адрес здається пізнішою справою; оригінальний стандарт IPv6 через Ethernet (RFC 2464) вказав нульові префікси MAC-адреси.
Пітер Грін

6

Крім того, є декілька протоколів шару 2 з більш ніж 48 бітами у своєму MAC, наприклад Fiber Channel має 64-розрядні (або 128-бітні, мабуть, згідно Вікіпедії), як і FireWire (добре, начебто), тому вони можуть вміщуватися в / 64 без потенціалу перекриття.


4

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

[Під досить унікальним я маю на увазі ймовірність зіткнення нульової. І якщо це станеться, у вас буде спочатку проблема рівня 2! (дві машини на одному сегменті з тим же MAC)]


Розширення конфіденційності Afaict були думкою, коли люди зрозуміли, що автоконфігурація на основі MAC - це кошмар конфіденційності. Не одна із рушійних сил у дизайні IPv6
Пітер Грін

Більшість IPv6 - це думка… Ті, хто не вчиться історії, приречені повторювати це.
Рікі Бім

2

Я думаю, що це принципово зводиться до двох ключових моментів.

  1. Інтернет-адреси не просто повинні бути унікальними у всьому світі, вони повинні бути глобально маршрутизованими. Маршрутизація адреси кожної машини окремо призведе до надмірно великих таблиць маршрутизації. Дизайнери IPv6 мали мрію про ієрархічну систему маршрутизації *, щоб тримати таблиці маршрутизації малими.
  2. Дизайнери IPv6 бажали автоматичної конфігурації без стану. Автоматична конфігурація без стану вимагає, щоб частина адреси "хоста" була великою, або для розміщення наявної адреси посилання, або для розміщення випадкового числа, досить великого, що зіткнення малоймовірні.

Поставте ці точки разом, і вам потрібно мати велику кількість "хосту" та "мережевої" частини адреси. Звичайно більше 32 біт. 64-бітовий кожен був, ймовірно, надмірним, але краще зайвим, ніж вичерпаним.

* Мрія насправді не виправдалася, оскільки Інтернет не є фіксованою ієрархією, але мова йде не про те, що насправді трапилося за 20 років або з моменту введення IPv6, а про те, що спричинило дизайн.

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