I really really really wish that Apple would always use DHCP and get an open IP instead of assuming their last one is still good just so they can say they connect to WiFi 100 ms faster than anyone else. It is so infuriating and causes all the devices in my house to fight for their rightful slot.
Why are they fighting? Why is your router aggressively reusing the IPs as soon as the lease expires?
In my house, all of my devices end up with pretty stable IPs (even non-Apple ones) and I haven't done anything special to configure this. I assume my router holds onto previously-assigned IPs in case the device comes back as long as there's still unassigned IPs available to give out to new devices, though I haven't investigated it.
Clients will usually request their previous IP in the request, and servers will often prefer to give clients their previous IP even if they don't request it. It's also pretty common that the client still has a valid lease (as far as the server is concerned), which it makes sense for the server to reissue.
Is this true? I hadn't even noticed, because I assign every device a static DHCP assignment so I can categorize devices numerically. That is really messed up, and akin to what Google does with TCP/HTTP for connections to google.com in order to ensure it gets first byte faster. Companies are doing all sorts of "performance hacks" that just straight our break standards, and therefore break interop. I know for Apple devices I had to disable some standardize WiFi functionality on my access points because these devices cannot handle it despite claiming to support the standard.
The alleged violation is using the IP after the lease expires and before the issuance of a new lease. I don't know if that's true, since most DHCP clients request a new IP long before their lease expires to avoid this.
Perhaps this is more of a problem with some router manufacturers/firmwares than others? I've had a bunch of difference devices running several different OSes (including several Apple devices) connected to a Netgear router running stock firmware for the past year and some change and have had no trouble at all.
Quite likely. Google WiFi notoriously had problems with Apple devices which they never bothered to fix. Switching to Eero completely resolved the random ~45 second hangs we'd see a few times a day.