DHCP地址255.255.255.255

时间:2011-11-08 11:31:49

标签: c# networking dhcp

我正在使用以下代码从我的一个网络接口获取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 个答案:

答案 0 :(得分:3)

地址255.255.255.255是广播地址,DHCP协议使用该地址来广播可用性数据包。当您不使用DHCP时,这是指定为DHCP服务器的地址,因为它将允许网络自动发现网络上的任何DHCP服务器(通常是路由器)。

您可以使用它来检查DHCP:

bool isDhcp = networkInterface.GetIPProperties()
                              .GetIPv4Properties()
                              .IsDhcpEnabled;

答案 1 :(得分:2)

它不是“真正的”IP地址,因为它无法分配给主机。它只是意味着“无处不在”。

我认为可以安全地假设当您找到255.255.255.255作为DHCP服务器地址时,您要查询的适配器具有固定的IP地址,或APIPA(当适配器设置为DHCP客户端时会发生这种情况) ,但没有DHCP服务器在预设的时间段内响应。)

但@Polynomial提到的IsDhcpEnabled属性更安全。