Як маршрутизатор знаходить MAC-адресу наступного хоп-роутера?


4

Я знаю, що в Ethernet LAN протокол ARP використовується для отримання MAC-адреси з IP-адреси. Як мій маршрутизатор отримує MAC-адресу іншого маршрутизатора у зовнішній мережі, якщо ARP неможливий?


1
якщо ви не можете скопіювати, ви не можете використовувати протокол layer3, наприклад IP, у більшості поширених типів сучасних мереж (тих, що принаймні частково базуються на ETHERNET_II / 802.3). подумайте про це так, так як arp працює у вашій локальній мережі, між вашим маршрутизатором і наступною фізичною машиною, до якої він підключений, є локальна мережа, і ваш маршрутизатор може витягнути його.
Френк Томас

Основне запитання задає MAC-адресу "наступного маршрутизатора хопу", але орган запитань запитує про MAC-адресу "іншого маршрутизатора у зовнішній мережі". Ви конкретно запитуєте про крайовий маршрутизатор, тобто той, у якого є наступний скачок у зовнішній мережі?
Девід Шварц

Відповіді:


8

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

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


2

Під "зовнішньою мережею" я припускаю, що вона безпосередньо не підключена до вашого маршрутизатора.

Це не ARP. Маршрутизатор шукає цільову адресу в таблиці маршрутизації. У таблиці відображається наступна адреса переходу, яка є адресою наступного маршрутизатора для наближення до цілі. тоді ваш маршрутизатор буде ARP для адреси маршрутизатора, оскільки він знаходиться в тій самій мережі, що і ваш маршрутизатор (або, інакше кажучи, вони мають спільну мережу).

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

У дійсно химерному випадку, коли NH2 також не є локальним, ваш маршрутизатор продовжуватиме шукати у своїй таблиці маршрутизації, поки не знайде локальну підмережу, або не скине пакет.


1

Коротка відповідь:

Технології рівня передачі даних (рівень 2), які використовують MAC-адреси, використовують ARP, навіть для "зовнішніх" (WAN) посилань.

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

Технологіям рівня шарів даних, які є багатоточковими до багатоточкових на спільному носії, знадобляться певні адреси рівня зв’язку та протокол роздільної здатності адреси, навіть якщо вони не називають їх "MAC-адресами" та " ARP "відповідно. Але вони часто називають ARP-еквівалентом "<ім'я цієї технології передачі даних> ARP"

Довга відповідь:

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

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

Тож як щодо багатопотужних (він же багатоточкових до багатоточкових) загальнодоступних шарів зв'язку середніх даних, які не схожі на Ethernet, і не використовують Ethernet-подібні 48-бітні MAC-адреси? Ну, ці посилання даних, ймовірно, мають якісь адреси шару посилань, навіть якщо це не 48-бітна MAC-адреса, і їм знадобиться якийсь спосіб зіставити IPv4-адресу на їхні адреси рівня шару передачі даних, навіть якщо це не традиційно Ethernet ARP. Загалом, люди, які розробляють, як змусити IPv4 працювати над цими іншими посиланнями даних, в основному слідують моделі Ethernet і створюють протокол ARP для їх зв'язку. Ці протоколи зазвичай диференціюються від традиційних ARP Ethernet, називаючись "<вставте ім'я протоколу рівня каналу зв'язку тут> ARP".

Отже, якщо ви робите IP через Fiber Channel, є " IP через Fibre Channel ARP " (простіша назва "ARP Fiber Channel ARP" або "FARP" вже використовувалася для одного з власних протоколів Fiber Channel).

Якщо ви робите IP через SONET / SDH (технічно через "MAPOS", що є способом зробити багатоточкову мережу через SONET / SDH), у вас є " MAPOS ARP ".

Якщо ви робите IP через FireWire (послідовна шина IEEE 1394), у вас є " 1394 ARP "

Якщо ви перекосили час на початку 90-х і хотіли зробити IP через AppleTalk / LocalTalk, ви зробите " NBP ARP " (простіша назва "AppleTalk ARP" або "AARP" вже використовувалася для протоколу, який відображає мережевий рівень AppleTalk адреси до адрес рівня шарів даних).


0

Як мій маршрутизатор отримує MAC-адресу іншого маршрутизатора у зовнішній мережі, якщо ARP неможливий?

Трохи спростити, це неможливо і не потрібно.

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

Виходячи з цього, якщо він хоче направити трафік на щось у тій самій підмережі, він може просто викинути трафік із цієї NIC, і він досяг усе, що в цій підмережі.

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

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

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

MAC не потрібен для маршрутизації, лише шлюз за замовчуванням.

MAC-адреси не можуть допомогти в маршрутизації, оскільки не існує такого поняття, як "підмережа" для MAC-адрес. "Рівень адреси MAC" передбачає, що коли він надсилає щось іншому MAC, він може це зробити, просто кинувши трафік на дріт. У ньому немає поняття "посередник". Тож отримання MAC-адреси будь-якого з вашої мережі не є корисним, якщо отримати трафік до неї. Ось чому IP-рівень існує, і не все є лише MAC-адресами.


Ви правильно описали, що відбувається на рівні 3, але повністю проігнорували все, що відбувається нижче рівня 3. NIC не може просто "викинути трафік" на інтерфейс, він повинен мати MAC-адресу наступного NIC для того, щоб направити трафік вправо "наступний скачок".
важкий

Дуже правда ... йому справді потрібний MAC призначення (здогадуйтесь, що трансляція MAC була б більш буквально "викиданням його з NIC" lol). Але другий шар передбачає, що він може дістатися до MAC до місця призначення без посередника - це було моє значення.
LawrenceC

0

Як мій маршрутизатор отримує MAC-адресу іншого маршрутизатора у зовнішній мережі, якщо ARP неможливий?

Або наступний скачок досягається Ethernet чи ні. Якщо Ethernet, то ARP працює. Якщо не Ethernet, то MAC не потрібен.


Ви кажете, що жоден кадр Ethernet не будується, коли маршрутизатор щось надсилає?
Градієнт

@Gradient Якщо маршрутизатор використовує Ethernet для наступного переходу, то йому потрібно створити кадр Ethernet до наступного перехідного пристрою. Тому маршрутизаторам, які використовують Ethernet, потрібно знаходити MAC адреси своїх наступних стрибків через Ethernet, для чого ARP. (Див. Оновлену відповідь.)
Девід Шварц

0

Не має значення посилання Ethernet або Wan, кадр, але не IP-пакет, передається в мережу лише шаром 1. На послідовних посиланнях використовується кадр HDLC. Різниця полягає в тому, що маршрутизатор не ARP на послідовному посиланні, насправді послідовні посилання не мають MAC-адреси, він використовує SLARP, послідовну лінію ARP для визначення стану зв'язку посилань. Послідовне посилання має лише дві кінцеві точки, ARP або MAC не потрібні. Зараз постачальники послуг часто використовують Ethernet Wan, де король ARP :)

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