Як комп'ютер отримує IP-адресу через DHCP?


27

Як комп’ютер знає, до якого пристрою в мережі слід здійснити запит? Як впливає на це коефіцієнт шлюзу за замовчуванням? Насправді, яка ланцюжок подій, яка відбувається, коли комп'ютер намагається отримати IP-адресу за допомогою DHCP ?

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

Відповіді:


41

Він не знає, який пристрій запитувати. Таким чином, він передає свій запит всій підмережі. Сервер DHCP прослуховує певний тип зв'язку, і коли він чує певну трансляцію, він починає розмову DHCP з пристроєм, який транслював його запит. Перегляньте процес DORA для отримання додаткової інформації.

DORA розшифровується як:

Що стосується шлюзу, він може вступати в гру лише в тому випадку, якщо він явно пересилає трафік DHCP в іншу підмережу. Ця функція зазвичай називається DHCP Relay . В іншому випадку шлюз ігнорує широкомовне повідомлення DHCP так само, як він ігнорує будь-яке інше широкомовне повідомлення.

Що стосується надлишкових серверів DHCP, ви хочете зберегти їх як в одній підмережі, і, ймовірно, використовувати правило 80/20 . Ви можете налаштувати відмову, якщо ви використовуєте CentOS як свій DHCP-сервер .


17
+1 DORA dhcp explorer? Я здогадуюсь, це було б більше DORA відкриваючого
Nixphoe

3
@Nixphoe Me gusta.
Веслі

Ось питання, як правило, існує адреса широкомовного зв'язку, пов'язана з кожною підмережею, нічого не знаючи про мережу, як мережева карта формулює повідомлення, щоб сервер DHCP (і будь-які комутатори між ними) отримував його?
катастрофа

2
@crasic - правильно, у такому разі він транслює 255.255.255.255
Марк Хендерсон

1
@Mark D'oh, більшість цього пояснюється за посиланням у відповіді, наступного разу я повинен RTFA
катастрофічно

3

DHCP - це (як правило) широкомовний протокол, тому клієнту нічого не потрібно знати про мережу, він просто передає запит.

Потім сервери DHCP в мережі бачать цей запит і відповідають на нього.

Звичайно, це набагато складніше, ніж це, завдяки маршрутизації та інших мережевих пристроїв. Сторінка Вікіпедії - чудове джерело .

І відповідна RFC висвітлює деталі.


3

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

По-перше, я хвалюю вашу зацікавленість дізнатися більше про протокол. Це хороший план.

По-друге, я дякую вам за пояснення вашої мети; Я думаю, що це допоможе вам отримати хорошу відповідь.

Нарешті, моя відповідь:

Для того, який сервер DHCP ви вирішите перейти, існує ймовірність конфігурації відмови / надмірності, яка дозволяє вам налаштувати надлишковий сервер DHCP, який може переходити автоматично (я вважаю, що Windows має таке, і я знаю, що DHCP-сервер ISC може). Це був би мій перший вибір, оскільки він зазвичай вирішує проблеми з орендами, виданими первинним сервером DHCP до його відмови, і тому, що він відновлюється автоматично та швидко.

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


Я бачу сенс правила 80/20 ... якщо сервер 80 виходить з ладу, все ще є сервер 20, щоб видавати IP-адреси. Але це не забезпечує будь-якої підтримки для тривалого простою, оскільки врешті-решт всі клієнти захочуть поновити свою оренду, але лише 20% наявного попереднього діапазону адрес. Мені подобається ваша пропозиція про "справжнє" надмірність, але використання другої машини Windows не було б варіантом у моєму сценарії (апаратний брандмауер був би іншим сервером DHCP). Я думаю, я міг би вручну переналаштувати сервер 20 на сервер 100? ;)
Bigbio2002

2

Кілька кроків передбачає отримання IP-адреси від dhcp-сервера.

  1. Повідомлення Discovery, це повідомлення транслюється для пошуку dchp-сервера

  2. Сервери DHCP у мережі відповідають на повідомлення пропозиції.

  3. Повідомлення DHCP-запиту надсилається клієнтом шляхом трансляції. Це повідомлення інформує всі сервери DHCP в мережі, про що пропозиція була прийнята клієнтом.

  4. Повідомлення про підтвердження DHCP надсилається для підтвердження сервером.


1
Обновлення для простоти. Було б чудово, якби ви могли взяти участь у прийнятій відповіді
Bigbio2002,

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