Що ж саме для цього використовується MAC-адреса?
Кожен апаратний пристрій у вашій локальній мережі має MAC-адресу на додаток до IP-адреси, призначеної йому місцевим маршрутизатором або сервером. Що таке саме MAC-адреса?
Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно SuperUser - підрозділ Stack Exchange, групування веб-сайтів із запитаннями та відповідями на рівні спільноти..
Питання
Читач SuperUser Вішну Вівек цікавиться MAC-адресами та їх функціями:
Я розумію, що IP-адреси є ієрархічними, так що маршрутизатори по всьому Інтернету знають, в якому напрямку пересилати пакет. З MAC-адресами не існує ієрархії, і, отже, пересилка пакетів неможлива. Таким чином, MAC-адреси не використовуються для передачі пакетів.
Я не думаю, що він там сидить без причини. Тому моє питання полягає в тому, де саме MAC-адреса входить в гру під час передачі пакетів?
Де дійсно? Яка конкретна функція MAC-адреси?
Відповідь
Співробітник SuperUser Werner Henze пропонує деяке розуміння функції MAC-адреси:
Для чого використовуються MAC-адреси?
MAC-адреси - це основи низького рівня, які роблять вашу мережеву мережеву мережу.
Кожна мережна карта має унікальну MAC-адресу. Пакети, які відправляються на Ethernet, завжди надходять з MAC-адреси і надсилаються на MAC-адресу. Якщо мережевий адаптер приймає пакет, він порівнює MAC-адресу призначення пакета з MAC-адресою адаптера. Якщо адреси відповідають, пакет обробляється, інакше він відкидається.
Є спеціальні MAC-адреси, наприклад ff: ff: ff: ff: ff: ff, який є адресою широкомовної передачі і адресою кожного мережного адаптера в мережі.
Як спільно працюють IP-адреси та MAC-адреси?
IP - це протокол, який використовується на шарі над ethernet. Іншим протоколом, наприклад, буде IPX.
Коли ваш комп'ютер хоче відправити пакет до певної IP-адреси x.x.x.x, то перша перевірка - якщо адреса призначення знаходиться в тій самій мережі IP, що й сам комп'ютер. Якщо x.x.x.x знаходиться в одній мережі, то IP-адреса призначення може бути досягнуто безпосередньо, інакше пакет повинен бути надісланий налаштованому маршрутизатору.
До цих пір все гірше, оскільки зараз у нас є два IP-адреси: один - це цільова адреса оригінального IP-пакета, інша - IP-пристрій, на який ми повинні відправити пакет (наступний хміль, або кінцевий) або маршрутизатор).
Оскільки Ethernet використовує MAC-адреси, відправник повинен отримати MAC-адресу наступного переходу. Для цього використовується спеціальний протокол ARP (протокол розв'язання адреси). Після того, як відправник отримав MAC-адресу наступного переходу, він записує цільову MAC-адресу в пакет і посилає пакет.
Як працює ARP?
Сам ARP є протоколом над Ethernet, як IP або IPX. Коли пристрій хоче знати MAC-адресу для даної IP-адреси, він надсилає пакет до MAC-адреси трансляції, запитуючи: «Хто має IP-адресу yyyy?» Всі пристрої отримують цей пакет, але тільки той, який має IP-адресу yyyy, відповість з пакетом «Це я». Запитуючий пристрій отримує відповідь і тепер знає, що MAC-адреса джерела є правильною MAC-адресою для використання. Звичайно, результат буде кешований, отже, пристрій не потребує вирішення MAC-адреси кожного разу.
Маршрутизація
Я майже забув згадати: немає маршрутизації на основі MAC-адрес. Низький рівень Ethernet і MAC-адреси можуть досягати тільки кожного пристрою на те ж саме мережа (кабельна або бездротова). Якщо у вас є дві мережі з маршрутизатором, між якими неможливо мати пристрій в мережі А, відправте пакет на MAC-адресу пристрою в мережі B. Пристрій в мережі А не має MAC-адреси пристрою в мережі B, тому пакет на цю MAC-адресу буде відкинуто всіма пристроями в мережі A (також маршрутизатором).
Маршрутизація виконується на рівні IP. Просто бачив, що роутер просто робить те, що я описав вище в розділі «Як IP-адреси і MAC-адреси працюють разом?». Маршрутизатор буде отримувати пакети для власного MAC-адреси, але для іншої IP-адреси. Потім він перевірить, чи може він безпосередньо досягти цільової IP-адреси. Якщо це так, він посилає пакет до цілі. В іншому випадку сам маршрутизатор також має настроєний маршрутизатор і посилає пакет на цей маршрутизатор.
Звичайно, ви можете налаштувати кілька маршрутизаторів. У вашому домашньому маршрутизаторі буде налаштовано лише один маршрутизатор, але в інтернет-магістралі великі маршрутизатори мають великі таблиці маршрутизації, тому вони знають найкращі способи для всіх пакетів.
Інші випадки використання для MAC-адрес
- Мережеві комутатори зберігають список MAC-адрес, що видно на кожному порту, і пересилають пакети лише до портів, які повинні бачити пакет.
- Бездротові точки доступу часто використовують MAC-адреси для контролю доступу. Вони дозволяють доступ лише для відомих пристроїв (MAC-адреса є унікальним і ідентифікує пристрої) з правильною паролем.
- DHCP-сервери використовують MAC-адресу для ідентифікації пристроїв і надають деяким пристроям фіксовані IP-адреси.
Маєте щось додати до пояснення? Звучить в коментарях. Хочете прочитати більше відповідей від інших технологічних користувачів Stack Exchange? Перегляньте повний потік обговорення тут.