0xdeadbeef wrote:
Unfortunately, in my case the DHCP server is running on my DSL
modem/router and there's nothing to configure there. Though it should
give the SQ the same IP every time due to MAC caching, I have the
feeling it doesn't. Indeed, I observed at least 3 different IP
addresses in the few days since I obtained my SQ.
Then again, all devices whith a DHCP name get the same IP all the time.

You really need to trace the packets to know what's really going on, as I know of at least two different ways that a given host might keep a stable IP address.

First, the client might cache leases in nonvolatile memory across power cycles or reboots and simply request the previous IP address when rebooted. A DHCP server will almost always grant a request for a specific IP address as long as it's in that server's pool and no other client has a lease for it.

Second, the server might cache client MAC addresses and previous leases (expired or still valid) and reassign the previous IP address even when the client doesn't ask for it.

It's helpful to know the DHCP protocol exchange. A "cold start" looks like this:

Client: DHCPDISCOVER [who can give me an IP address?]
Server: DHCPOFFER a.b.c.d [I'm a DHCP server, and I can offer you this address]
Client: DHCPREQUEST a.b.c.d [I'd like to use this address]
Server: DHCPACK a.b.c.d [Okay, you've been officially granted this address]

A booting client that wants to use a previously assigned address will jump directly to the DHCPREQUEST message. The server can respond with a DHCPACK as before, or it can respond with a DHCPNAK (negative acknowledgement), rejecting the request. At this point the client will fall back to the DHCPDISCOVER step.

Ideally the Squeezebox would save DHCP leases across reboots, and your DHCP server would hand out very long leases to minimize the chances of that address being given to another client. But there are other ways to ensure that a Squeezebox always gets the same IP address, including bypassing DHCP altogether and assigning a static IP address.

That might be your best bet assuming your Squeezebox doesn't move often. Just make sure that you set up separate blocks of addresses for static use and dynamic assignment, so your DHCP server doesn't hand out the address already in use by your Squeezebox. DHCP clients are supposed to detect this by ARPing for an assigned address before actually using it, but it can fail if the conflicting host with the static assignment happens to be offline at the time.

--Phil



Phil
_______________________________________________
Discuss mailing list
[email protected]
http://lists.slimdevices.com/lists/listinfo/discuss

Reply via email to