出于好奇,为什么当CPU能够每秒处理数百万次操作,而切换到路由器需要几毫秒时,通过DHCP获得网络配置通常需要几秒钟?
在我有一个WiFi路由器和大约5个设备的家庭环境中,看到5-10秒这样的时间并不少见。
发布于 2010-12-30 14:07:36
除了从DHCP服务器实际获得DHCP租约(通常不需要很长时间)之外,一些服务器首先将它将要分发的IP地址进行平分,然后才会实际分配它来验证它还没有在网络上使用--这需要几秒钟的时间才能超时。客户端有时也会做同样的事情(同样,为了防止IP地址冲突),这会增加一些时间。然后,在此基础上,一些客户端也会注册他们的DNS条目等等。
发布于 2010-12-30 13:54:15
DHCP可能需要更长的时间,因为它涉及一系列事务,不是与单个服务器,而是与网络上的所有设备在初始请求期间,因为它发送广播消息。
如果你检查RFC的DHCP,
http://www.faqs.org/rfcs/rfc2131.html
你可以清楚地看到一系列谈判所涉及的问题。在开始时,客户端向局域网上的所有设备发送DHCPDISCOVER,然后运行dhcp服务的服务器返回DHCPOFFER消息。客户端还可能等待从所有可用dhcp服务器获得响应,然后再选择一个。然后,它发送一个带有标识符的DHCPREQUEST,该标识符指示它选择了哪个服务器作为其ip提供者。最后,用所有的配置参数得到DHCPACK。这只是RFC的"3.1客户机-服务器交互-分配网络地址“的总结。
根据我的经验,dhcp需要很长的时间,主要是在大型局域网环境中,有大量的节点连接。在只有一台dhcp服务器(例如WIFI路由器)和一两台个人电脑的家庭作业中,它是相当快的。
发布于 2013-05-31 09:15:30
当我想要DHCP服务器的快速回复时,我发现了两个原因(和解决方案)。
1)我的DHCP按了它想要分配的地址。这增加了3秒的延迟。我将DHCP配置更改为将MAC地址映射为IP地址,从而消除了这种情况。这基本上是使用DHCP来分配静态地址。这为我消除了3秒的延迟。
2)我有一个孤立的网络,然而,有时你可能会得到这样的信息。有一个DNS查找正在进行,对我来说,这导致从DHCP获得IP地址的延迟了很多秒。在DHCP服务器配置中,有域和DNS服务器的选项。删除DNS选项和以上更改后,我立即收到来自DHCP服务器的答复。(**)
这些问题是我在我的设置中发现的。你的学识可能各不相同。
干杯
磅
(**)如果每次DNS查找失败导致延迟,导致奇怪的撞击情绪,导致我挠头,我就会有很多便士。
https://serverfault.com/questions/217395
复制相似问题