Причина як MAC, так і IP-адреси


25

Якщо мій комп'ютер має IP-адресу, навіщо йому потрібна MAC-адреса?


2
Для того, щоб дати найкращу відповідь на вас, чи можете ви розширити своє питання, щоб включити, чому ви думаєте, що вам не знадобиться MAC-адреса, якщо ваш комп'ютер має IP-адресу?
Бретт Лікінс

1
Я б рекомендував підібрати хорошу основну книгу про Мережі та прочитати її; буде того вартий Він відповість на це запитання та багато іншого: amazon.com/Computer-Networking-Top-Down-Approach-Edition/dp/…
Manoj Pandey

4
Це звучить моторошно, але це найпростіший спосіб зменшити плутанину. Чому ви поставили мережу NIC в свій комп’ютер? Дайте відповідь на це запитання, і він відповідає на питання про необхідність адреси mac.
Майк Пеннінгтон

4
@Reprovo, єдине місце, де коментарі / відповіді дійсно говорять про це, це те, коли ОП відповідає на відповідь Теона Вінка бажанням уникати моделей мереж у відповідях. Якщо ви не знаєте, чому і як є мережеві моделі, ви насправді не розумієте свою мережу, і "виконання роботи" буде або набагато болючішим, або створить додаткові проблеми. Є багато речей, які вам насправді не потрібно знати як мережевий професіонал (наприклад, як біти ставляться на дріт тощо), але мережеві моделі - це не те, чого можна уникнути, принаймні, базового розуміння.
YLearn

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

Відповіді:


13

не вдаючись до моделі OSI, шару TCP тощо:

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

(гаразд, ідентифікуйте кожну мережеву карту, але тоді ви могли подумати одну MAC-адресу для кожного комп'ютера).

Не було унікальної специфікації того, як комп'ютери розмовлятимуть між собою: з'явилося багато протоколів: TCP / IP, IPX / SPX тощо. Кожен протокол визначав би речі, як вони вважали, що це нормально. Наприклад, IPX / SPX звертається до кожного комп'ютера, використовуючи MAC-адресу та додаткову інформацію.

Але протокол TCP / IP був розроблений дещо інакше: вони вирішили, що мати віртуальну адресу, що складається з 4 байтів (0,0.0,0 до 255,255,255,255), є достатньою, а керувати ще простіше: не має значення, чи всі ваші мережеві карти мають аналогічну MAC-адресу чи ні, ми згрупуємо наш комп'ютер так, що вся TCP / IP-адреса, яка почалася з 10.0.xx, входить до інженерної групи, а ті, що мають 10.1.xx, - принтери та. ..

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

Чому б просто не усунути MAC і замість цього використовувати просто TCP / IP?

деякі причини:

  • легко групувати TCP / IP адреси,
  • всі пристрої створені для того, щоб дбати про MAC-адресу відповідно до цієї вимоги низького рівня, і її потрібно було б змінити
  • незважаючи на те, що переважна більшість (я думаю :-P), деякі інші протоколи все ще використовуються, і вони покладаються на MAC-адресу

25

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

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


, велике спасибі за вашу відповідь, але було б краще, якщо хтось міг би дати відповідь, не заглиблюючись у специфікації OSI Layer або TCP Layer
користувач1369975

11
Якщо це занадто важко, це насправді не сайт для вас. Можна стверджувати, що це питання є поза темою, оскільки воно є загальним знанням для мережевих інженерів.
Teun Vink

11
@ user1369975, моделі, на які ви посилаєтесь, - це рамки роботи мереж, створених для роботи (як апаратного, так і програмного забезпечення). Без цього базового розуміння не було б жодної змістовної відповіді на ваше запитання. Це було б схоже на запитання (про громадянина США), "якщо вони мають ім'я, для чого їм потрібен номер соціального страхування", не дозволяючи у відповідь згадувати уряд.
YLearn

5
Подумайте про MAC-адресу як опис будинку на вашій вулиці. Для ваших сусідів всі вони зрозуміють "Зелений будинок" або "Будинок містера Джонсона" або "Дуплекс на розі" - Це порівнянні з MAC-адресою, описовою лише локально. IP-адреса є загальнодоступною маршрутизацією, тож було б як використати повні адреси: 123 Main St, десь, CA 92069. Тоді я думаю, що IP-адреса MAC буде подібно до того, що пошта, що йде на вулицю і кричить "Хто в 123 ГОЛОВНОМ? !?!? " і містер Джонсон його почув і сказав: "Ось, зелений дім!" Я вважаю? Жахлива аналогія.
Девід Хоуд,

3
Це пояснює, чому це потрібно з огляду на поточну архітектуру. Але чому архітектура була спроектована саме так? Я міг би легко уявити собі світ, де є лише локальні IP-адреси та WAN IP-адреси. Це технічно можливо.
Hello World

17

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

IP-заголовок пакета, що залишає вашу робочу станцію, призначену для IP-адреси в іншій підмережі, підтримуватиме вихідний IP-адресу та IP-адресу призначення, на даний момент забувши про NAT. [Пізніше я обговорюю те, що відбувається, коли пункт призначення знаходиться в одній підмережі.] Заголовок Ethernet містить ваш вихідний MAC та MAC призначення вашого шлюзу за замовчуванням. Ви не знаєте про MAC кінцевого призначення з вашої точки зору. Цей перший маршрутизатор перепише джерело MAC до себе та MAC призначення до наступного скаку маршрутизатора тощо, поки пакет не надійде до останнього маршрутизатора, який безпосередньо підключений до підмережі призначення.

Щоб спробувати просту ілюстрацію, розгляньте заголовки L2 / L3, як пакет переміщується від вихідного IP (sIP) до IP-адреса призначення (dIP), а вихідні та призначення MAC переписуються по шляху - fs = first-source та ld = останнє призначення, і r1-r3 - маршрутизатори:

fsMAC-r1MAC / sIP-dIP 
r1MAC-r2MAC / sIP-dIP
r2MAC-r3MAC / sIP-dIP
r3MAC-ldMAC / sIP-dIP

Будь-які включені комутатори L2 не змінюватимуть MAC-адреси.

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


3
Отже, підводячи підсумок, MACце те, що отримує повідомлення від одного переходу до іншого, тоді як IP відстежує вихідне джерело та призначення. Це здається аналогічним поштовому відділенню, де я звертаюсь зі своїм листом до бабусі у Фенікс, але поштальон, який дістає його з поштової скриньки, дбає лише про те, щоб доставити його до поштового відділення, а поштове відділення дбає лише про те, щоб довести його до сортування центр тощо ...
CodyBugstein

3
Однак моє питання: чому мати окремий протокол для MAC? Чому б просто не визначити наступну IP-адресу, на яку слід скакати, та зберігати поточні IP-адреси джерела / призначення поряд із оригінальними IP-адресами джерела / призначення?
CodyBugstein

@Imray: Перша проблема з усуненням протоколу MAC вимагає змінити дизайн / переписати стандарти Ethernet та TCP / IP. По-друге, IP - не єдиний протокол у L3, який використовує MAC-адреси на L2 для зв'язку. По-третє, MAC-адреси зазвичай прив’язані до апаратних (спалених) адрес на NIC, тоді як IP на більш високому рівні дозволяють бути дещо довільними для гнучкості. По-четверте, MAC є лише локально актуальними, тоді як IP-адреси мають глобальне значення (не враховуючи останніх змін із NAT'ing та приватними адресами, які не входили до оригінального дизайну).
generalnetworkerror

14

Фізично нічого не заважає вам створити мережу, яка має лише IP-адреси для L2 та L3. Тоді "комутатор Ethernet" дізнається SIP-адресу вхідних пакетів і потоку або переправиться до DIP-адреси.

Однак ця мережа завжди підтримуватиме IP, коли наступне покоління IPvX прийде, воно не буде працювати, оскільки "комутатор Ethernet" не може підтримувати цей протокол. Ви також не могли запускати різні інші протоколи, наприклад IPX та AppleTalk, або якийсь новий протокол, який ви розробляєте та тестуєте у своєму будинку.

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

Тепер ви могли запустити такі ж комутатори Ethernet і перемістили вашу мережу між IPX та IPv4 до IPv6, не торкаючись вашої локальної мережі.


Фізично нічого не заважає вам створити цю мережу, крім цих компонентів, які існують лише у вашій уяві: A) комутатор Ethernet, який дізнається IP-адреси джерела B) Ethernet NIC без mac-адреси
Майк Пеннінгтон,

3

IP-адреса та MAC-адреса виконують різні (але важливі) цілі:

MAC-адреса отримує кадр від одного NIC до іншого. IP-адреса отримує пакет від одного комп’ютера до сервера

Отже, враховуючи наступне:

Source Computer  <--->  RouterA  <--->  RouterB  <--->  Destination Server

IP-адреса спрямовує пакет від "Джерела" до "Призначення". Але те, що отримує пакет від вихідного комп’ютера до RouterA, а потім від RouterA до RouterB, а потім від RouterB до пункту призначення, є MAC-адресами.

Ви можете побачити відносини на цій ілюстрації:

Пакети подорожей - як пакети рухаються через Інтернет - pracnet.net/pt


Звичайно, дуже часто в посиланнях маршрутизатора на маршрутизатор використовується протокол, який не має MAC-адрес.
Рон Моупін

@RonMaupin Так. Звичайно. Але ... наскільки це актуально з огляду на запитання, конкретно про MAC-адреси =)?
Едді

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

1

Протокол IP забезпечує основу для підтримки поняття підмереж та маршрутизації . Це означає, що IP не передбачає, що ваш пункт призначення знаходиться в одній мережі - якщо його немає, ваш трафік потрібно переадресовувати через посередницький пристрій, наприклад маршрутизатор. IP має поля TTL / Hop Limit та такі, що підтримують це.

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

Я думаю, ви могли б "зламати" Ethernet для того, щоб робити підмережі та маршрутизацію, але ви можете також спроектувати протокол, який не покладається на деталі та припущення Ethernet низького рівня, і саме тому у нас є IP.


0

Щоб бути максимально простим:

Mac Address є фізичний або віртуальний адресу вашої мережевої карти або мережевого інтерфейсу. З комп'ютера, що відповідає мережі, це фізична адреса NIC-картки цього комп'ютера. Він використовується для передачі інформації на цей комп’ютер на рівні 2 на основі моделі OSI.

IP - адреса потрібна на рівні 3. Ви вимагаєте , щоб взаємодіяти з комп'ютерами в різних подсетях і devices.The IP Address перевіряє «де» пристрій знаходиться в мережі.

У IP - адреса і MAC - адреса використовуються в тандемі. Протокол роздільної здатності адреси використовується для з'єднання обох разом шляхом вирішення IP-адрес до Mac-адрес у межах рівня зв'язку в одній мережі.

Ви можете також перевірити тут для більш глибокого пояснення.


1
Просте просто: Якщо у вас є ім’я, ви ідентифікуєте себе в населеному пункті. Вам потрібно мати SSN, щоб ідентифікувати себе на глобальному рівні
pulsarjune

-2

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


-2

Для початку це дуже хороше питання, яке стосується основних мережевих основ. Суть у вашому питанні полягає в тому, що нам дійсно не потрібна MAC-адреса для того, щоб досягти зв’язку. Теоретично мережа може бути побудована, реалізуючи самостійно IP-адреси! Однак деякі практичні труднощі можуть виникнути через використання такої схеми. Якщо ви розраховуєте вручну призначити IP-адресу кожному мережевому пристрою, то ви можете уникнути основних підводних каменів. Однак, якщо вам потрібно автоматично призначити IP-адреси, як, коли занадто багато мережевих вузлів для управління вручну, тоді немає можливості переконатися, що кожному вузлу присвоєно саме одну IP-адресу або заздалегідь задану їх кількість, тому що ви не може розпізнати одне від іншого, якщо тільки суб'єкт розповсюдження адреси не може однозначно та однозначно ідентифікувати запитуючий пристрій, наприклад за його MAC-адресою, яка вважається унікальною для будь-якого пристрою в локальній мережі. Такий непізнавальний пристрій може неодноразово просити додаткові IP-адреси та, врешті-решт, пошкодити життєздатність мережі. Назад до теми, все, що вам потрібно для створення мережі лише для IP-адрес, - це дозволити шару передачі даних адаптера мережевого інтерфейсу пройти через будь-який кадр даних, який він отримує, безпосередньо до мережевого шару, незалежно від будь-якого типу MAC, порівнянного типу, де він може фільтрувати відповідно до його цільової IP-адреси, а не фільтрувати на рівні даних. Для ілюстрації концепції, припустимо, що мережа створена за допомогою з'єднання портів UART RS-232: пристрої UART не мають MAC-адреси або будь-якого іншого унікального ідентифікатора, але в цьому випадку ви можете побудувати локальну мережу за допомогою UART та IP-адреси поодинці, забезпечуючи встановлення належних драйверів UART. Сподіваюсь, цей уривок дав вам деяку думку про цю тему.

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