Windows 95 and ISC dhcp beta 5.14 server problem

Windows 95 and ISC dhcp beta 5.14 server problem

Post by Bela Lubki » Fri, 28 Mar 1997 04:00:00




> I am running SCO Unix r3.2v4.2 and last night I downloaded the dhcpd
> sources from ISC (DHCPD-BETA-5.14).

> After a little tweaking of source code and the make file I got it to
> compile, seemingly.

> It is working very well to answer bootp requests from our DOS based PCs
> running PC/TCP 2.31 and also answers bootp requests from our Macintosh
> clients.  My feeling is that it's answering these requests even faster
> than the bootp requests from SCO's bootpd.

> What ISN'T working is DHCP requests from a Windows 95 client (possibly
> Macintosh clients as well).  When I boot up a Windows 95 client that is
> configured to gain it's IP address automatically using DHCP I get the
> following messages on the SCO system from the DHCP server:

> DHCPDISCOVER from 0:0:c0:21:e1:80 via wdn0
> DHCPOFFER on 192.206.50.34 to 0:0:c0:21:e1:80 via wdn0

> and then immediately on the Windows 95 client I get an error window which
> says "This DHCP client was unable to obtain an IP network address from a
> DHCP server.  Do you want to see future DHCP messages?"

> 192.206.50.34 is the first in a range of addresses I set up in the
> dhcpd.conf file for dynamic assignment.

> Has anyone gone through setting up this server already?

> My suspicion is either the dhcpd daemon is broadcasting the reply to the
> wrong address and the Windows 95 client isn't receiving it OR that I've
> got something mis-configured in the dhcpd.conf file which a DHCP client is
> expecting.

> What I'm hoping is that someone else has this software running on a SCO
> box and is willing to share their configuration file and/or insights based
> on the above.

The problem you are experiencing is discussed in the DHCPD
documentation.  Windows 95 insists that the DHCPOFFER response be sent
to the all-1s IP broadcast address, 255.255.255.255.  The TCP/IP stack
in your SCO Unix 3.2v4.2 system refuses to send to that address;
attempts to send to all-1s are translated to the broadcast address of
the interface to which the packet is being sent: in your case, perhaps
the Unix server is on 192.206.50.10 and the network is not subnetted, so
the DHCPOFFER packet is being sent to that network's broadcast address,
192.206.50.255.

I have seen a workaround for this under OpenServer Release 5.  It
involves adding an IP interface whose real, legitimate broadcast is the
all-1s address.  This was done by making an IP alias for the existing
interface, with a goofy netmask, something like:

  ifconfig alias net0 10.1.1.1 netmask 10.0.0.0

Since TCP/IP 1.2.1 (the version for Unix 3.2v4.2) does not support IP
aliases, I don't think you can even use this workaround.  I have seen
kludges to weakly support IP aliases by adding extra non-connected PPP
interfaces or extra loopback interfaces, but they are reputed to be
unstable.  Plus, I still have never seen an adequate description of how
to implement either of those kludges.

So, in sum, you can get this to work under OpenServer Release 5 with a
medium amount of effort.  Under older releases, there are too many
things going against you; I doubt you will get it to work.

- Show quoted text -

Quote:>Bela<

 
 
 

Windows 95 and ISC dhcp beta 5.14 server problem

Post by Kees Hendrik » Sat, 29 Mar 1997 04:00:00




(..)
> > What ISN'T working is DHCP requests from a Windows 95 client (possibly
> > Macintosh clients as well).  When I boot up a Windows 95 client that is
> > configured to gain it's IP address automatically using DHCP I get the
> > following messages on the SCO system from the DHCP server:

> > DHCPDISCOVER from 0:0:c0:21:e1:80 via wdn0
> > DHCPOFFER on 192.206.50.34 to 0:0:c0:21:e1:80 via wdn0

> > and then immediately on the Windows 95 client I get an error window which
> > says "This DHCP client was unable to obtain an IP network address from a
> > DHCP server.  Do you want to see future DHCP messages?"
(..)
> The problem you are experiencing is discussed in the DHCPD
> documentation.  Windows 95 insists that the DHCPOFFER response be sent
> to the all-1s IP broadcast address, 255.255.255.255.  The TCP/IP stack
> in your SCO Unix 3.2v4.2 system refuses to send to that address;
(..)
> So, in sum, you can get this to work under OpenServer Release 5 with a
> medium amount of effort.  Under older releases, there are too many
> things going against you; I doubt you will get it to work.

The *problem* is with the W95 implementation, not with SCO. According
to RFC1531:

| The server unicasts the DHCPOFFER message to the client (using the
| DHCP/BOOTP relay agent if necessary) if possible, or may broadcast the
| message to a broadcast address (preferably 255.255.255.255) on the
| client's subnet.

Although using 255.255.255.255 is preferred, *insisting* on it is
clearly wrong.

--

                                             |
ECHELON consultancy and software development | phone: +31 (0)53 48 36 585
PO Box 545, 7500AM Enschede, The Netherlands | fax:   +31 (0)53 43 37 415

 
 
 

Windows 95 and ISC dhcp beta 5.14 server problem

Post by Bela Lubki » Sun, 30 Mar 1997 04:00:00





> (..)
> > > What ISN'T working is DHCP requests from a Windows 95 client (possibly
> > > Macintosh clients as well).  When I boot up a Windows 95 client that is
> > > configured to gain it's IP address automatically using DHCP I get the
> > > following messages on the SCO system from the DHCP server:

> > > DHCPDISCOVER from 0:0:c0:21:e1:80 via wdn0
> > > DHCPOFFER on 192.206.50.34 to 0:0:c0:21:e1:80 via wdn0

> > > and then immediately on the Windows 95 client I get an error window which
> > > says "This DHCP client was unable to obtain an IP network address from a
> > > DHCP server.  Do you want to see future DHCP messages?"
> (..)
> > The problem you are experiencing is discussed in the DHCPD
> > documentation.  Windows 95 insists that the DHCPOFFER response be sent
> > to the all-1s IP broadcast address, 255.255.255.255.  The TCP/IP stack
> > in your SCO Unix 3.2v4.2 system refuses to send to that address;
> (..)
> > So, in sum, you can get this to work under OpenServer Release 5 with a
> > medium amount of effort.  Under older releases, there are too many
> > things going against you; I doubt you will get it to work.

> The *problem* is with the W95 implementation, not with SCO. According
> to RFC1531:

> | The server unicasts the DHCPOFFER message to the client (using the
> | DHCP/BOOTP relay agent if necessary) if possible, or may broadcast the
> | message to a broadcast address (preferably 255.255.255.255) on the
> | client's subnet.

> Although using 255.255.255.255 is preferred, *insisting* on it is
> clearly wrong.

Yeah, but I'm sure NT has no problem sending to that address, and look
how much trouble it has made for all the Unix vendors.  I'm sure it's
working perfectly, from the perspective of the Win95 developers.

- Show quoted text -

Quote:>Bela<

 
 
 

Windows 95 and ISC dhcp beta 5.14 server problem

Post by Kees Hendrik » Sun, 30 Mar 1997 04:00:00





> > (..)
> > > The problem you are experiencing is discussed in the DHCPD
> > > documentation.  Windows 95 insists that the DHCPOFFER response be sent
> > > to the all-1s IP broadcast address, 255.255.255.255.  The TCP/IP stack
> > > in your SCO Unix 3.2v4.2 system refuses to send to that address;
> > (..)

> > The *problem* is with the W95 implementation, not with SCO. According
> > to RFC1531:

Note: This should read RFC1541

Quote:> > | The server unicasts the DHCPOFFER message to the client (using the
> > | DHCP/BOOTP relay agent if necessary) if possible, or may broadcast the
> > | message to a broadcast address (preferably 255.255.255.255) on the
> > | client's subnet.

> > Although using 255.255.255.255 is preferred, *insisting* on it is
> > clearly wrong.

> Yeah, but I'm sure NT has no problem sending to that address, and look
> how much trouble it has made for all the Unix vendors.  I'm sure it's
> working perfectly, from the perspective of the Win95 developers.

DHCP servers implemented by Microsoft use 255.255.255.255 by design. "DHCP
Basics" (MS KnowledgeBase Q12082) states:

| The following events take place the first time the network is started:
|
| Source     Dest        Source     Dest              Packet
| MAC addr   MAC addr    IP addr    IP addr           Description
| -----------------------------------------------------------------
| Client     Broadcast   0.0.0.0    255.255.255.255   DHCP Discover
| DHCPsrvr   Broadcast   DHCPsrvr   255.255.255.255   DHCP Offer
| Client     Broadcast   0.0.0.0    255.255.255.255   DHCP Request
| DHCPsrvr   Broadcast   DHCPsrvr   255.255.255.255   DHCP ACK

This is an acceptable implementation, although not optimal with regard to
routers, bootp-forwarders and the amount of traffic generated. And yes, the
scheme works flawlessly with the current -questionable- Win/95 DHCP-client
implementation.

But then, it fits the Redmond-logic: It's compliant to our interpretation
of RFC1541/RFC1542, so it's compliant to RFC1541/RFC1542 :-(.

--

                                             |
ECHELON consultancy and software development | phone: +31 (0)53 48 36 585
PO Box 545, 7500AM Enschede, The Netherlands | fax:   +31 (0)53 43 37 415