Чому ми використовуємо MAC-адреси для локального зв'язку (ARP) замість IP-адрес?


0

Я не можу це зрозуміти: Якщо кожен пристрій у локальній мережі має унікальну  локальну IP-адресу, то чому ми все ще використовуємо MAC-адресу (ARP) для обміну даними між пристроями в одній локальній мережі?

Чому ми просто не використовуємо локальну IP-адресу для зв'язку в локальній мережі, а не MAC-адресу?

Наскільки я знаю, маршрутизатор все-таки знає, коли IP-адреса повинна виходити за межі Інтернету через маску підмережі, це правильно?


Це важливо для DHCP / динамічно розподіленого локального IP. Крім того, що відношення MAC та IP зберігається в таблиці ARP маршрутизатора ISP.
Бісвапріо

Я просто написав відповідь, але видалив її знову ... Я неправильно прочитав вашу публікацію. Чому, на вашу думку, IP-адреси не використовуються для місцевого спілкування? Звичайно, вони є! Усі протоколи вищого рівня (TCP, UDP) потребують IP для роботи навіть у локальній мережі.
slhck

Дякую за швидку реплей, хлопці, я не розумію, для чого ARP використовувався, якщо не для цього? чому мій маршрутизатор і комп'ютер повинні мати таблицю ARP з MAC_addr: IP?
xsss

Тому що жодна мережа не буде працювати без цього шару зв’язку. Усі дані повинні фізично пройти через неї в якийсь момент. Дивіться мою оновлену відповідь.
slhck

Відповіді:


1

Як ви можете знати, MAC-адреси та IP-адреси існують на різних рівнях схеми ISO / OSI або набору TCP / IP . Переконайтеся, що ви розумієте поняття, що стоять за цими шарами.

Зауважте, що основна причина, чому ми використовуємо і IP, і шари посилань - це історична. Це в основному тому, що IP-адреси 1) динамічні та 2) набагато зручніше в обробці. Ось цікава нещодавня стаття, яка проливає більше світла на цю історію. Звичайно, це могло бути інакше, але Інтернет розвивався впродовж десятиліть, і він повинен був бути сумісним назад, більшу частину часу, так що це не так, як ми могли придумати найкращий дизайн із самого початку.

Ви запитуєте, чому ми все ще використовуємо MAC-адресу для обміну даними між пристроями в одній локальній мережі? Оскільки:

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

Вам потрібно розуміти, що через шарувату модель зв'язку ви можете адресувати лише кінцеву точку на тому самому шарі, на якому працює ваш протокол. Наприклад, з'єднання TCP може адресувати лише віддалений сервер із певною IP-адресою та номером порту. У той же час TCP не приймає рішень про те, як працює базовий IP-маршрут. Іншими словами, TCP не піклується про те, як IP-протокол обробляє свої дані про з'єднання, і він не може керувати. Те ж саме стосується протоколу IP: він не може вирішити, куди фізично надсилати дані, але цього не потрібно, оскільки є рівень MAC.

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

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


1
Стаття цікава, але деякі висновки щодо IP та MAC відверті.
grawity

@grawity Цікаво було б почути, що саме ви маєте на увазі? Гай, мабуть, інженер з волокон в Google.
slhck

"Сенс у всьому цьому полягає в тому, що Ethernet і IP все більше і більше переплітаються. Вони сьогодні майже нероздільні. [...] Ви пишете свою таблицю маршрутизації IP, використовуючи IP-адреси, але, звичайно, ви знаєте, що брешите, коли називаєте маршрутизатор за IP-адресою; ви просто опосередковано говорите, що хочете здійснювати маршрут через MAC-адресу. " - Автор має на увазі, що вони нерозлучні через цю «брехню», але не тільки перша частина все ще повністю помиляється, остання «брехня» - саме те, що дозволяє їм залишатися незалежними ...
grawity

0

Це тому, що якщо розроблений спосіб Ethernet. Для початку врахуйте, що Ethernet може (і до появи Інтернету часто) користуватися іншими протоколами.

Якби у вас були лише IP-адреси (V4), це зробило б пошук інших систем в локальній мережі дуже важким, оскільки було б дуже важко реалізувати маршрутизацію просто, впорядковано.

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

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