Як клієнт PXE знає, на якій мережі працює?


9

У PXE Boot одним з перших кроків є отримання IP-адреси через DHCP.

Для використання DHCP потрібно знати адресу широкомовної мережі вашої мережі.

Як ця мережа спочатку налаштовується для клієнта PXE?


Ви призначаєте фіксований IP в локальній мережі для клієнта PXE.
DavidPostill

5
@DavidPostill: Це суперечить відповіді Даніеля Б і, наскільки я розумію, документам .
Матьє К.

1
Клієнти DHCP надсилають на 255.255.255.255, використовуючи 0.0.0.0 як "джерело" під час ініціювання запиту широкомовної програми DHCP.
іваніван

Відповіді:


29

Як воно навіть спілкуватиметься на рівні IP, якщо у нього немає адреси? Так, не дуже. Натомість він спілкується за допомогою рівня 2.

Адреса мовлення будь-якої мережі Ethernet - FF: FF: FF: FF: FF: FF. На IP-шарі є 255.255.255.255. Ось що є в пакеті DHCPDISCOVER. Таким чином, ви можете мати звичайний сокет для прослуховування UDP замість сирого розетки Ethernet.


6
" Широкомовний адресу будь-якої мережі Ethernet є FF: FF: FF: FF: FF: FF. " Це відноситься до будь-якого протоколу IEEE LAN , який використовує 48-бітний MAC адреси, наприклад , Wi-Fi, Token Ring, FDDI і т.д.
Рон Мопін

it communicates using layer 2це неправильно. 2 рівень не досягає мережевого рівня стеку IP серверів. Шар 2 мовлення передає лише кадр Ethernet всім слухачам одного конкретного домену зіткнення Ethernet. IP-адреса широкомовної передачі - це та, яка відкриває двері стека IP серверів.
Пт

Звичайно. Однак, як я писав, це "не дуже" IP-комунікація. Не може бути. Натомість він використовує обробку IP-пакетів, вставляючи адреси джерела та місця призначення, що призведе до чітко визначеної поведінки. Фактична адресація проводиться лише на шарі 2.
Даніель Б

Ви неправі. IP-адреса широкомовної передачі, безумовно, є IP-комунікацією. Якщо цієї широкомовної адреси немає, IP-рівень Сервера не бачить пакет. Єдине, що стосується широкомовної IP-адреси - це те, що вона не може бути маршрутизована.
Пт

1
Я думаю, що Пат трохи прав і трохи помиляється ... насправді трансляція в IP працює на рівні 3 ... але DHCP обробляє всі перші кроки в L2 / ARP / MAC ... і лише останній крок (повідомляючи DHCP сервер, що обслуговується IP приймається в L3 / Unicast) ... це повинно бути таким чином, оскільки в початковому віці він не має стека IP / L3 ... інші сервіси, які роблять IP-трансляцію, крім DHCP, не мають цієї проблеми (вони вже є мати IP-адресу), щоб вони могли спілкуватися через L3 / L4 -> ...
ZEE

30

Для використання DHCP потрібно знати адресу широкомовної мережі вашої мережі.

Ні. Вам потрібна лише локальна адреса 255.255.255.255 (для IPv4) або група багатоадресної передачі ff02 :: 1: 2 (для IPv6). Вся суть в тому , що DHCP не вимагає якоїсь - або попереднього налаштування на клієнті.


Це невірно. Вам також потрібна адреса широкомовної інформації MAC (рівень 2), оскільки ARP не працює для широкомовної IP-адреси.
Пт

Відображається, що відображення від IP-адреси до MAC-широкомовної адреси завжди відоме, оскільки вона визначена протоколом, тому її все одно не потрібно налаштовувати вручну.
користувач1686,

Ви неправі. на завантажувальному клієнті DHCP пакет DHCPDISCOVERY повинен визначати BOTH рівні 2 та 3 рівня широкомовної передачі, ви не можете просто визначити трансляцію 3-го рівня та вважати, що будь-який інший протокол відкриє цільову MAC-адресу лише з адресою призначення широкомовної IP-адреси
пат

3
  1. Прошивка для завантаження дозволяє виявити встановлені NIC
  2. Прошивка завантажувального програмного забезпечення виявляє кожну MAC-адресу NIC Broadcast з запитом драйвера PXE UNDI (UNDI GET INFORMATION повернення HwType та HwAddrLen), тобто HwType = ETHER_TYPE HwAddrLen = 6 => Трансляція MAC-адреси = FF: FF: FF: FF: FF: FF: FF.
  3. Прошивка для завантаження ініціює послідовність DHCP DORA (DHCPDISCOVERY), оголошуючи себе клієнтом PXE (варіант 60 DHCP) в NIC, що підтримують BIOS / UEFI, використовуючи:
    1. Відповідна раніше відкрита MAC-адреса широкомовної передачі на рівні OSI 2 (рівень посилання даних)
    2. BIOS / UEFI включив IPv4 / IPv6 адресу широкомовної передачі (255.255.255.255/ff02:::2:2) на рівні 3 OSI (мережевий рівень)
  4. Прошивка для завантаження завершує послідовність DHCP DORA, якщо надійде повна пропозиція DHCP-PXE, що визначає:

    1. IP-адреса клієнта / маска
    2. IP-адреса сервера TFTP
    3. NBP (мережева програма завантаження)

    Примітка. Якщо надійшло більше однієї повної пропозиції, діючі стандарти конкретно не визначають, як клієнт повинен вибрати її.

  5. Прошивка для завантаження встановлює NIC IP, передачу TFTP, завантажує пам'ять та виконує NBP.

MAC Broadcast-адреса рівня 2 дозволяє передавати кадр DHCP Ethernet всім слухачам в межах зіткнення домену NIC Ethernet клієнта. IP-адреса 3-го шару IP - це та, яка відкриває двері IP стека сервера DHCP. Обидва L2 / L3 адреси трансляції потрібні .

Коли клієнт PXE і сервер DHCP розташовані в різних підмережах, трансляція DHCP-трафіку зупиняється на маршрутизаторі / s, тоді вони повинні включити їх ретранслятор DHCP (IP Helper у світі Cisco), тобто приймаючи пакет широкомовного DHCPDISCOVERY, перетворити його в одноадресну передачу DHCPDISCOVERY і маршрутизуйте його до IP-адреси визначеного цільового DHCP-сервера.


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