DHCP-адрес 255.255.255.255 - PullRequest
       7

DHCP-адрес 255.255.255.255

1 голос
/ 08 ноября 2011

Я использую следующий код для получения адреса DHCP-сервера от одного из моих сетевых интерфейсов:

System.Net.NetworkInformation.NetworkInterface networkInterface;

// ... get one of the network interfaces

var properties = networkInterface.GetIPProperties();
var addresses = properties.DhcpServerAddresses;

Мой сетевой интерфейс настроен на фиксированный адрес (не назначенный DHCP), и яполучить один адрес из этого кода, это 255.255.255.255.Кто-нибудь может сказать мне, почему?И как я могу проверить, использует ли сетевой интерфейс DHCP или фиксированный адрес.

Ответы [ 2 ]

3 голосов
/ 08 ноября 2011

Адрес 255.255.255.255 является широковещательным адресом, который используется протоколом DHCP для широковещательной рассылки пакетов доступности. Когда вы не используете DHCP, этот адрес назначается DHCP-сервером, поскольку он позволяет сети автоматически обнаруживать любые DHCP-серверы (обычно маршрутизаторы) в сети.

Вы можете использовать это для проверки DHCP:

bool isDhcp = networkInterface.GetIPProperties()
                              .GetIPv4Properties()
                              .IsDhcpEnabled;
2 голосов
/ 08 ноября 2011

Это не «реальный» IP-адрес, так как он не может быть назначен хосту.Это просто означает «трансляция везде».

Я думаю, можно с уверенностью предположить, что когда вы обнаружите 255.255.255.255 в качестве адреса DHCP-сервера, запрашиваемый адаптер имеет фиксированный IP-адрес или APIPA (что происходит, когда адаптерустанавливается как DHCP-клиент, но ни один DHCP-сервер не отвечает в течение заданного периода времени).

Но свойство IsDhcpEnabled, о котором упоминает @Polynomial, безопаснее.

...