I'm not convinced that this etiology is totally correct, (although is
on the right track.)

Smith didn't indicate whether it was an NT server offering the DHCP.
For argument's sake, I'll assume it is.  The NT server keeps a hash
with your mac and assigned address.  Even if you request a new lease,
you should still get the same address unless you declined the old for
some reason.

It's been a while since I sniffed one of these, so I cannot say for
sure whether Linux DCHP client allways leases on startup, but I think
you supposition is correct none the less.

However, there is another issue at work here.  There are two RFCs for
DHCP, 1541 and 2131 which obsoletes the previous.  However, the two
RFCs are not COMPLETELY interoperable, but about 90% compatible.  One
side effect that this has is that a client/server version mismatch
can lead to a client never being able to renew an existing lease, but
this is more or less ok, because when time runs out in retry attempts,
it cycles back to the new lease request which does work, and may result
in assignment of a new address for other reasons.

I cannot offer much more detail because it's been almost a year and a
half since I studied one of these compliance issues.  What I found
amusing at the time though was how helpful M$ documentation was.  It
claimed the NT DHCP server was based on both RFCs, which of course
are mutually exclusive....

On Fri, Jan 07, 2000 at 03:03:50PM +1100, Hossein S. Zadeh wrote:
> On Thu, 6 Jan 2000, M. Smith wrote:
> 
> > Over the past two months or so, I've been experimenting with Linux RH
> > 6.0 as a gateway/firewall machine. I permanently switched to the Linux
> > firewall about a week ago. One thing I've noticed during
> > experimentation and since the switch is that the Linux machine gets a
> > different IP address everytime it boots.
> 
> I have noticed this too. Here's the explanation I can provide:
> 
> OK, first the easy one. Linux asks for a "lease" everytime eth0 (or
> whatever) is brought up. DHCP server assigns the next available IP address
> (which is very likely different from the last one your machine's got).
> 
> 
> Windows machines however, "remember" their last IP address. Upon startup
> they send a "renewal" request to the DHCP server (rather than initiating a
> new lease).
> 
> If the IP is available, it is re-assigned to the machine with a DHCP "ACK"
> packet. 
> 
> If the IP is not available, a "NACK" is sent. Then the windows machine
> asks for a new lease, and the server provides an IP.
> 
> Using the above method has a couple of distinct advantages:
> 1) the machine gets the same IP address every time (provided the IP is not
>    assigned to somebody else).
> 2) if the server is not available, the Windows machine keeps the IP
>    (until expiry of course).
> 
> The second point above is very improtant for mobile users, because if you
> are on the road, services (like web servers) do not hang waiting for their
> IP address. I know this because if my laptop is not connected, I don't
> even bother booting Linux. RedHat 6.1 startup scripts seems to address
> this startup problem.
> In addition, if someone reboots his workstation while a DHCP server is
> temporarily unavailable, he won't get stuck.
> 
> 
> cheers,
> Hossein
> 
> 
> 
> -- 
> To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe"
> as the Subject.
> 

-- 
J. Scott Kasten

jsk AT tetracon-eng DOT net

"That wasn't an attack.  It was preemptive retaliation!"


-- 
To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe"
as the Subject.

Reply via email to