我的路由器使用DHCP,每当我重新格式化树莓派时,即使使用其他microSD卡,它也始终具有相同的LAN ip。我不太确定如何分配IP,但我假设设备在路由器可以识别的网络上具有唯一ID?
我的路由器使用DHCP,每当我重新格式化树莓派时,即使使用其他microSD卡,它也始终具有相同的LAN ip。我不太确定如何分配IP,但我假设设备在路由器可以识别的网络上具有唯一ID?
Answers:
您的Raspberry Pi具有一个唯一的ID,称为MAC地址,确切地说是两个。每个网络适配器都有其中之一。因此,Wi-Fi适配器具有一个唯一的ID,而以太网适配器则具有。
这就是为什么您的Raspberry Pi获得相同IP的原因。对于您的路由器,确切地使用设备做什么并不重要。它仅识别MAC并提供与以前相同的IP。
编辑:正如Beege所指出的,由于DHCP中的“ D”代表动态,因此IP仍然可以更改。但是,如果您的设备通过DHCP获得与以前相同的IP,则是由于可以识别出MAC。
actually two to be precise
-假设pi3b或3b +
除了已经给出的答案外,我还将提供一些其他背景信息。
通常,使用DHCP协议以尽可能减少动态变化。这是稳定性的一个方面。在小型家庭网络中,这无关紧要,但是具有交换机和路由器的大型网络需要一些时间才能进入优化状态。交换机必须了解其邻居,而路由器必须了解路由。IP地址的大量更改不适用于此状态。
大多数人可能认为DHCP服务器只是将IP地址提供给客户端,仅此而已。但这只是事实的一半。这是典型的DHCP握手:
(client) DHCPREQUEST for 192.168.10.75 from b8:27:eb:0e:3c:6f (raspi3) via wlan0
(server) DHCPACK on 192.168.10.75 to b8:27:eb:0e:3c:6f (raspi3) via wlan0
如您所见,以其Mac地址b8:27:eb:0e:3c:6f标识的客户端请求了它偏爱的特定IP地址。它知道在新启动之前和之前拥有的IP地址。DHCP服务器仅确认它。它给客户的东西称为租赁。它包含一个超时(以及许多其他重要选项),客户端可以使用IP地址多长时间而无需再次请求。超时时间取决于设置,并且通常设置为几个小时。DHCP服务器将租约存储在其缓存中,并且即使关闭了该租约,它也会为同一客户端尽可能长时间地保留。因此,它将在再次启动时确认客户端的租约。只有当服务器没有其他未使用的租约要提供给客户端时,它才会使用已使用的租约。握手将如下所示:
(client) DHCPREQUEST for 192.168.10.75 from b8:27:eb:0e:3c:6f (raspi3) via wlan0
(server) DHCPNAK on 192.168.10.75 to b8:27:eb:0e:3c:6f via wlan0
(client) DHCPDISCOVER from b8:27:eb:0e:3c:6f via wlan0
(server) DHCPOFFER on 192.168.10.99 to b8:27:eb:0e:3c:6f via wlan0
(client) DHCPREQUEST for 192.168.10.99 from b8:27:eb:0e:3c:6f (raspi3) via wlan0
(server) DHCPACK on 192.168.10.99 to b8:27:eb:0e:3c:6f (raspi3) via wlan0
如您所见,DHCP服务器拒绝(DHCPNAK)请求,并提供一个新的IP地址,客户端随后将在下一步中进行请求。进行此附加步骤是为了使客户端可以不接受提供的IP地址...