Як маршрутизатори обробляють обмежені та спрямовані трансляції
Перше, що потрібно зрозуміти, щоб відповісти на ваші запитання, це те, що обмежені кадри широкомовної передачі не маршрутизовані. За замовчуванням, коли маршрутизатор отримує кадр з адресою призначення, який транслюється на рівні 2 або 3, маршрутизатор просто скидає кадр. Ось чому, як кажуть, маршрутизатори є межею доменів широкомовної інформації.
Деякі приклади цього:
ff-ff-ff-ff-ff-ff
(трансляція рівня 2)
255.255.255.255
(рівень 3 з обмеженою трансляцією)
Думаючи про це, це має сенс. Якщо маршрутизатори пересилають трансляцію, один запит arp досягає кожного доступного хоста в Інтернеті, що було б жахливо неефективно і досить нерозумно.
З іншого боку, прямі передачі інколи рухаються. (IE 192.168.1.255/24
) Зазвичай за замовчуванням ця функція відключається, але її можна вмикати, видаючи ip directed-broadcast
команду на маршрутизаторі. Це дозволить йому передавати спрямовані трансляції відповідно до таблиці маршрутизації, як якщо б вони були звичайними пакетами. Однак це не дозволяє маршрутизатору передавати обмежені передачі, вони все ще заблоковані за замовчуванням. Це також трохи поза темою, що стосується вашого початкового запитання, див. На цій сторінці із формами cisco, щоб дізнатися більше про це.
3 рівень мовлення, але не 2 рівень?
Щоб відповісти на ваше друге запитання, не було б сенсу мати фрейм із адресою 3 широкомовної радіостанції без широкомовної адреси шару 2. Це призведе до поразки всієї мети - бути кадром широкомовної передачі, і просто не працюватиме прямо. Маючи адреса призначення одноадресного рівня 2, це взагалі не змінить поведінку маршрутизатора, оскільки маршрутизатор приймає рішення на рівні 3. Все, про що маршрутизатор піклується, - це 255.255.255.255
адреса призначення та скидає пакет.
Де це має значення, це перемикачі, які взагалі не переймаються адресою рівня 3. Комутатори бачили б лише адресу одноадресного рівня 2. Замість того, щоб відправляти пакет з усіх інтерфейсів на один і той же vlan, він би використовував таблицю адрес джерела (SAT), як це було б з будь-яким іншим адресою єдиного повідомлення Насправді, призначаючи адресу одноадресного рівня 2, кадр взагалі більше не є широкомовному кадрі, хоча він має 255.255.255.255
адресу на рівні 3.
Як на практиці працює реле DHCP
Що стосується вашого останнього питання, DHCP-ретранслятор - це спосіб "обману" маршрутизатора навколо правила про непересилання трансляцій пакетів. Давайте розглянемо пакет DHCP Discover:
- Джерело MAC: [unicast mac джерела]
- Кінцевий MAC:
ff-ff-ff-ff-ff-ff
- Джерело IP:
0.0.0.0
- Ціль IP:
255.255.255.255
- Порт джерела: UDP 68
- Порт призначення: UDP 67
Коли маршрутизатор бачить, що пакет надходить на інтерфейс із ip helper-address
налаштованою командою, він перевіряє, чи відповідає він будь-якому з протоколів, які "допомагають" за замовчуванням або налаштовуються за допомогою глобальної ip forward-protocol
команди. У цьому випадку, оскільки це DHCP, маршрутизатор бачить, що порт призначення відповідає UDP 67 і дозволяє пакету "допомогти". Потім маршрутизатор змінює IP-адресу призначення з 255.255.255.255
IP-адреси, налаштованої ip helper-address
командою, а також змінює вихідну адресу на адресу інтерфейсу маршрутизатора, на який прийшов пакет, і передає пакет разом з іншою логікою маршрутизації.
Тепер, коли пакет має єдину адресу призначення, маршрутизатор розглядає його як і будь-який інший пакет. Він збирається для отримання IP-адреси призначення (яка зараз є адресою-помічником), а потім замінює адреси 2-го рівня перед тим, як відправити пакет з відповідного інтерфейсу.
Повернення знову
Маршрутизатор використовує, по суті, той самий процес у зворотному порядку для пропозиції DHCP, що надсилається назад клієнту. Сервери DHCP надсилають пропозицію на IP-адресу, яка була вказана в якості вихідної адреси в пакеті DHCP Discover. Отже, пакет, що залишає DHCP-сервер, виглядає так:
- Джерело MAC: одноадресний mac сервера DHCP
- Dest MAC: mac-адреса маршрутизатора або шлюзу сервера DHCP за замовчуванням
- Джерело IP: одноадресна IP-адреса сервера DHCP
- IP-адреса призначення: ip-адреса першого інтерфейсу маршрутизатора, до якого досяг пакет DHCP Discover
- Порт джерела: UDP 67
- Порт призначення: UDP 68
Оскільки цей пакет має одношаровий рівень, 3 маршрутизатори адреси призначення будуть пересилати пакет нормально, поки він не дійде до маршрутизатора з інтерфейсом, який має IP-адресу, що відповідає IP-адресові пакета. Згадайте раніше, що цей маршрутизатор все ще має ip helper-address
конфігурацію цього інтерфейсу. Маршрутизатор перевіряє, чи є пакет DHCP Пропозиція, а потім переписує пакет, щоб він став широкомовними пакетами, і відправляє його назад із цього інтерфейсу, знаючи, що клієнт DHCP знаходиться десь у цьому мережевому сегменті. Пакет, який залишає маршрутизатор, зараз виглядає приблизно так.
- Джерело MAC: одноадресний мак інтерфейсу маршрутизатора
- Кінцевий MAC:
ff-ff-ff-ff-ff-ff
- Джерело IP: одноадресна IP-адреса сервера DHCP
- Ціль IP:
255.255.255.255
- Порт джерела: UDP 67
- Порт призначення: UDP 68
TL: DR; DHCP-ретранслятор, використовуючи ip helper-address
підкоманду інтерфейсу, "обманює" навколо правила, що маршрутизатори не можуть пересилати обмежені трансляції, змінюючи IP-адресу пакета на одноадресову IP-адресу сервера DHCP перед його маршрутизацією. Це дозволяє всім маршрутизаторам вниз по лінії належним чином направляти пакет до DHCP-сервера. При відповіді DHCP-сервер повертає пакет назад на одноадресову IP-адресу інтерфейсу маршрутизатора, який першим отримав пакет DHCP Discover (той із ip helper-interface
командою). Коли маршрутизатор отримує пропозицію назад, він перетворює його назад у широкомовному пакеті і надсилає йому інтерфейс із клієнтом у його широкомовному домені.