Скачиваний:
0
Добавлен:
04.02.2026
Размер:
221.68 Кб
Скачать

Процесс dora (Discover-Offer-Request-Acknowledge)

DORA — четырёхэтапный процесс получения IP-адреса клиентом.selectel+3

Этап 1: dhcpdiscover (Обнаружение)

Действие: Новый клиент ищет DHCP-сервер.habr+1

text

Клиент отправляет:

┌─────────────────────────────────────────┐

│ Ethernet Frame: │

│ Dest MAC: FF:FF:FF:FF:FF:FF (broadcast)│

│ Src MAC: XX:XX:XX:XX:XX:XX (клиент) │

│ │

│ IP: │

│ Src IP: 0.0.0.0 (у клиента нет IP) │

│ Dst IP: 255.255.255.255 (broadcast) │

│ │

│ UDP: │

│ Src Port: 68 (клиент) │

│ Dst Port: 67 (сервер) │

│ │

│ DHCP: │

│ Operation: Request (1) │

│ Transaction ID: 0x12345678 (уникален) │

│ Hardware Address: XX:XX:XX:XX:XX:XX │

│ Requested IP: (не указан - 0.0.0.0) │

└─────────────────────────────────────────┘

Пакет отправляется BROADCAST:

"Привет всем! Я новое устройство!

Есть ли здесь DHCP-серверы?"

Получатель: Все узлы в локальной сети получают пакет, но только DHCP-сервер обрабатывает его.

Этап 2: dhcpoffer (Предложение)

Действие: DHCP-сервер предлагает IP-адрес и параметры сети.smart-soft+2

text

Сервер отправляет:

┌─────────────────────────────────────────┐

│ Ethernet Frame: │

│ Dest MAC: XX:XX:XX:XX:XX:XX (клиент) │

│ Src MAC: YY:YY:YY:YY:YY:YY (сервер) │

│ │

│ IP: │

│ Src IP: 192.168.1.1 (сервер) │

│ Dst IP: 255.255.255.255 (broadcast) │

│ │

│ UDP: │

│ Src Port: 67 (сервер) │

│ Dst Port: 68 (клиент) │

│ │

│ DHCP: │

│ Operation: Reply (2) │

│ Transaction ID: 0x12345678 (совпадает!)│

│ Your IP Address: 192.168.1.100 │

│ Server Identifier: 192.168.1.1 │

│ Lease Time: 86400 сек (24 часа) │

│ Subnet Mask: 255.255.255.0 │

│ Router (Gateway): 192.168.1.1 │

│ DNS Server: 8.8.8.8 │

└─────────────────────────────────────────┘

"Привет! Я DHCP-сервер!

Я предлагаю тебе IP 192.168.1.100

на 24 часа"

Получатель: Клиент получает предложение (может быть несколько предложений от разных серверов).

Этап 3: dhcprequest (Запрос)

Действие: Клиент подтверждает выбор одного предложения.selectel+2

text

Клиент отправляет:

┌─────────────────────────────────────────┐

│ Ethernet Frame: │

│ Dest MAC: FF:FF:FF:FF:FF:FF (broadcast)│

│ Src MAC: XX:XX:XX:XX:XX:XX (клиент) │

│ │

│ IP: │

│ Src IP: 0.0.0.0 (по-прежнему!) │

│ Dst IP: 255.255.255.255 (broadcast) │

│ │

│ UDP: │

│ Src Port: 68 (клиент) │

│ Dst Port: 67 (сервер) │

│ │

│ DHCP: │

│ Operation: Request (1) │

│ Transaction ID: 0x12345678 │

│ Requested IP: 192.168.1.100 │

│ Server Identifier: 192.168.1.1 ◄──┐ │

│ (указываем конкретный сервер) │ │

└─────────────────────────────────────────┘

"Спасибо всем за предложения!

Я выбираю сервер 192.168.1.1

и IP 192.168.1.100"

Почему broadcast?

- Сообщают другим серверам: "Я беру этот адрес"

- Другие серверы освобождают свои предложения

Соседние файлы в предмете Открытые информационные системы и сети