Paid To Popup Hacking Articles: DHCP FAQ

DHCP FAQ

                                   DHCP FAQ

Author
John Wobus, jmwobus@syr.edu (corrections welcome)

Date
3/28/96

This file
http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html

Questions

1. General
1. What is DHCP?
2. What is DHCP's purpose?
3. Who Created It? How Was It Created?
4. How is it different that BOOTP or RARP?
5. Why shouldn't clients assign IP numbers without the use of a
server?
6. Can DHCP support statically defined addresses?
7. Can a BOOTP client boot from a DHCP server?
8. Can a DHCP client boot from a BOOTP server?
9. Is a DHCP server "supposed to" be able to support a BOOTP
client?
10. Is a DHCP client "supposed to" be able to use a BOOTP server?
11. Can a DHCP client update its DNS entry through DHCP?
12. Can a DHCP server back up another DHCP server?
13. When will the server to server protocol be defined?
14. Is there a DHCP mailing list?
15. In a subnetted environment, how does the DHCP server discover
what subnet a request has come from?
16. Where is DHCP defined?
17. What other sources of information are available?
18. Can DHCP support remote access?
19. Can a client have a home address and still float?
20. How can I relay DHCP if my router does not support it?
21. How do I migrate my site from BOOTP to DHCP?
22. Can you limit which MAC addresses are allowed to roam?
23. What are the Gotcha's?
2. Info on Implementations
1. What features or restrictions can a DHCP server have?
2. What freeware DHCP servers are available?
3. What commercial DHCP servers are available?
4. Which vendors of client software currently support DHCP?
5. What are the DHCP plans of major client-software vendors?
6. What Routers forward DHCP requests?
7. What Routers include DHCP servers?
8. What Servers forward DHCP requests?
9. Which implementations support or require the broadcast flag?
10. How can I run Windows 95 without a DHCP server?
11. Do any servers limit the MAC addresses that may roam?
12. What are the Gotcha's specific to various implementations?

Answers

1. General
1. What is DHCP?

DHCP stands for "Dynamic Host Configuration Protocol".
2. What is DHCP's purpose?

DHCP's purpose is to enable individual computers on an IP
network to extract their configurations from a server (the
'DHCP server') or servers, in particular, servers that have
no exact information about the individual computers until
they request the information. The overall purpose of this is
to reduce the work necessary to administer a large IP
network.
3. Who Created It? How Was It Created?

DHCP was created by the Dynamic Host Configuration Working
Group of the Internet Engineering Task Force (IETF; a
volunteer organization which defines protocols for use on the
Internet). As such, it's definition is recorded in an
Internet RFC and the Internet Activities Board (IAB) is
asserting its status as to Internet Standardization. As of
this writing (March 1996), DHCP is an Internet Proposed
Standard Protocl and is Elective. BOOTP is an Internet Draft
Standard Protocol and is Recommended. For more information on
Internet standardization, see RFC1920 (March 1996).
4. How is it different that BOOTP or RARP?

DHCP is based on BOOTP and maintains some backward
compatibility. The main difference is that BOOTP was designed
for manual pre-configuration of the host information in a
server database, while DHCP allows for dynamic allocation of
network addresses and configurations to newly attached hosts.
Additionally, DHCP allows for recovery and reallocation of
network addresses through a leasing mechanism.

RARP is a protocol used by Sun and other vendors that allows
a computer to find out its own IP number, which is one of the
protocol parameters typically passed to the client system by
DHCP or BOOTP. RARP doesn't support other parameters and
using it, a server can only serve a single LAN. DHCP and
BOOTP are designed so they can be routed.
5. Why shouldn't clients assign IP numbers without the use of a
server?

It is theoretically possible for client-machines to find
addresses to use by picking an address out of the blue and
broadcasting a request of all the other client machines to
see if they are using them. Appletalk is designed around this
idea, and Apple's MacTCP can be configured to do this for IP.
However, this method of IP address assignment has
disadvantages.
1. A computer that needs a permanently-assigned IP number
might be turned off and lose its number to a machine
coming up. This has problems both for finding services
and for security.
2. A network might be temporarily divided into two
non-communicating networks while a network component is
not functioning. During this time, two different
client-machines might end up claiming the same IP
number. When the network comes back, they start
malfunctioning.
3. If such dynamic assignment is to be confined to ranges
of IP addresses, then the ranges are configured in each
desktop machine rather than being centrally
administered. This can lead both to hidden configuration
errors and to difficulty in changing the range. Another
problem with the use of such ranges is keeping it easy
to move a computer from one subnet to another.
6. Can DHCP support statically defined addresses?

Yes. At least there is nothing in the protocol to preclude
this and one expects it to be a feature of any DHCP server.
This is really a server matter and the client should work
either way. The RFC refers to this as manual allocation.
7. Can a BOOTP client boot from a DHCP server?

Only if the DHCP server is specifically written to also
handle BOOTP queries.
8. Can a DHCP client boot from a BOOTP server?

Only if the DHCP client were specifically written to make use
of the answer from a BOOTP server. It would presumeably treat
a BOOTP reply as an unending lease on the IP address.

In particular, the TCP/IP stack included with Windows 95 Does
not have this capability.
9. Is a DHCP server "supposed to" be able to support a BOOTP
client?

The RFC on such interoperability (1541) is clear: "In
summary, a DHCP server: ... MAY support BOOTP clients,"
(section 2). The word "MAY" indicates such support, however
useful, is left as an option.
10. Is a DHCP client "supposed to" be able to use a BOOTP server?


The RFC on such interoperability (1541) is clear: "A DHCP
client MAY use a reply from a BOOTP server if the
configuration returned from the BOOTP server is acceptable to
the DHCP client." (section 3). The word "MAY" indicates such
support, however useful, is left as an option.
11. Can a DHCP client update its DNS entry through DHCP?

No. There has been some discussion about adding this ability
to DHCP.

(Note: as far as I can tell, the DNS needs no protocol update
since the server already tells the clients how long they can
use the information they receive; what is really needed is a
DNS server that can make fuller use of this feature and that
cooperates with a DHCP server, perhaps through the use of
some new "DHCP-server-to-DNS-server" protocol).
12. Can a DHCP server back up another DHCP server?

This is the purpose of the "server to server protocol" (see
next question). I know of no other way that you can keep a
"hot" spare server in synch with your production server.
However, it is possible that some server vendors have
addressed this issue with their own features.
13. When will the server to server protocol be defined?

The DHC WG of the IETF is actively investigating the issues
in inter-server communication. The protocol should be defined
"soon".
14. Is there a DHCP mailing list?

There are several:

List Purpose
---- -------
dhcp-v4@bucknell.edu General discussion: a good list for
server administrators.
dhcp-bake@bucknell.edu DHCP bakeoffs
dhcp-impl@bucknell.edu Implementations
dhcp-serve@bucknell.edu Server to server protocol
dhcp-dns@bucknell.edu DNS-DHCP issues
dhcp-v6@bucknell.edu DHCP for IPv6

The lists are run by listserv@bucknell.edu which can be used to
subscribe and sign off. Archives for the dhcp-v4 list (which
used to be called the host-conf list) are stored at
ftp://ftp.bucknell.edu/pub/dhcp/.
15. In a subnetted environment, how does the DHCP server discover
what subnet a request has come from?

DHCP client messages are sent to off-net servers by DHCP
relay agents, which are often a part of an IP router. The
DHCP relay agent records the subnet from which the message
was received in the DHCP message header for use by the DHCP
server.

Note: a DHCP relay agent is the same thing as a BOOTP relay
agent, and the latter phrase is more commonly used.
16. Where is DHCP defined?

In Internet RFCs.

RFC1541
R. Droms, "Dynamic Host Configuration Protocol",
10/27/1993.

RFC1534
R. Droms, "Interoperation Between DHCP and BOOTP",
10/08/1993.

RFC1533
S. Alexander, R. Droms, "DHCP Options and BOOTP
Vendor Extensions", 10/08/1993.

A web site for RFCs is:
http://ds.internic.net/ds/dspg1intdoc.html
17. What other sources of information are available?

See the dhcp-v4 mailing list mentioned above as well as its
archives.

DHCP - Dynamic Host Configuration Protocol
http://www.bucknell.edu/~droms/dhcp/

Problems and Solutions of DHCP: Experiences with DHCP
implementation and Operation
A. Tominaga, O. Nakamura, F. Teraoka, J. Murai.
http://info.isoc.org/HMP/PAPER/127/html/paper.htm
l

DHCP Resources
Alan Dobkin.
http://NWS.CC.Emory.Edu/WebStaff/Alan/Net-Man/Com
puting/DHCP/

Internet Drafts
Internet drafts are works in progress intended to
update the current RFCs or specify additional
functionality, and sometimes there is one or more
draft related to DHCP. All Internet Drafts are
available from various sites: the US East Cost site
is ftp://ds.internic.net/internet-drafts/; a web
site is http://ds.internic.net/ds/dsintdrafts.html.
The DHCP-related drafts currently have filenames of
the form "draft-ietf-dhc-SOMETHING". These
DHCP-related drafts are also stored at
ftp://ftp.bucknell.edu/pub/dhcp/, and are
available through
http://www.bucknell.edu/~droms/dhcp/. I cannot be
more specific about the documents because they are
by their nature temporary.

18. Can DHCP support remote access?

PPP has its own non-DHCP way in which communications servers
can hand clients an IP address called IPCP (IP Control
Protocol) but doesn't have the same flexibility as DHCP or
BOOTP in handing out other parameters. Such a communications
server may support the use of DHCP to acquire the IP
addresses it gives out. This is sometimes called doing DHCP
by proxy for the client. I know that Windows NT's remote
access support does this.

A feature of DHCP under development (DHCPinform) is a method
by which a DHCP server can supply parameters to a client that
already has an IP number. With this, a PPP client could get
its IP number using IPCP, then get the rest of its parameters
using this feature of DHCP.

SLIP has no standard way in which a server can hand a client
an IP address, but many communications servers support
non-standard ways of doing this that can be utilized by
scripts, etc. Thus, like communications servers supporting
PPP, such communications servers could also support the use
of DHCP to acquire the IP addressees to give out.

I am not currently aware of any way in which DHCP can support
client-computers served solely by PPP or SLIP. Such a
computer doesn't have the IEEE-style MAC address that DHCP
requires to act as its key to determining which
client-computer is which within the same subnet.
Communications servers that acquire IP numbers for their
clients via DHCP run into the same roadblock in that they
have just one MAC address, but need to acquire more than one
IP address. One way such a communications server can get
around this problem is through the use of a set of unique
pseudo-MAC addresses for the purposes of its communications
with the DHCP server. Another way (used by Shiva) is to use a
different "client ID type" for your hardware address. Client
ID type 1 means you're using MAC addresses. However, client
ID type 0 means an ASCII string.
19. Can a client have a home address and still float?

There is nothing in the protocol to keep a client that
already has a leased or permanent IP number from getting
a(nother) lease on a temporary basis on another subnet (i.e.,
for that laptop which is almost always in one office, but
occiasionally is plugged in in a conference room or class
room). Thus it is left to the server implementation to
support such a feature. I've heard that Microsoft's NT-based
server can do it.
20. How can I relay DHCP if my router does not support it?

A server on a net(subnet) can relay DHCP or BOOTP for that
net and Windows NT is an example of a server with that
capability.
21. How do I migrate my site from BOOTP to DHCP?

I don't have an answer for this, but will offer a little
discussion. The answer depends a lot on what BOOTP server you
are using and how you are maintaining it. If you depend
heavily on BOOTP server software to support your existing
clients, then the demand to support clients that support DHCP
but not BOOTP presents you with problems. In general, you are
faced with the choice:
1. Find a server that is administered like your BOOTP
server only that also serves DHCP. For example, one
popular BOOTP server, the CMU server, has been patched
so that it will answer DHCP queries.
2. Run both a DHCP and a BOOTP server. It would be good if
I could find out the gotcha's of such a setup.
3. Adapt your site's administration to one of the available
DHCP/BOOTP servers.
4. Handle the non-BOOTP clients specially, e.g. turn off
DHCP and configure them statically: not a good solution,
but certainly one that can be done to handle the first
few non-BOOTP clients at your site.
22. Can you limit which MAC addresses are allowed to roam?

Sites may choose to require central pre-configuration for all
computers that will be able to acquire a dynamic address. A
DHCP server could be designed to implement such a
requirement, presumeably as an option to the server
administerator. See section below on servers that implement
this.
23. What are the Gotcha's?
o A malicious user could make trouble by putting up an
unofficial DHCP server.
# The immediate problem would be a server passing out
numbers already belonging to some computer yielding
the potential for two or more "innocent bystander"
nodes ending up with the same IP number. Net result
is problems using the nodes, possibly intermittent
of one or the other is sometimes turned off.
# A lot of problems are possible if a renegade server
manages to get a client to accept its lease
offering, and feeds the client its own version of
other booting parameters. One scenario is a client
that loads its OS over the network via tftp being
directed to a different file (possibly on a
different server), thus allowing the perpetrator to
take over the client. Given that boot parameters
are often made to control many different things
about the computers' operation and communication,
many other scenarios are just as serious.
Note that BOOTP has the same vulnerabilities.
o The "broadcast flag": DHCP includes a way in which
client implementations unable to receive a packet with a
specific IP address can ask the server or relay agent to
use the broadcast IP address in the replies (a "flag"
set by the client in the requests). The definition of
DHCP states that implementations "should" honor this
flag, but it doesn't say they "must". Some Microsoft
TCP/IP implementations used this flag, which meant in
practical terms, relay agents and servers had to
implement it. A number of BOOTP-relay-agent
implementations (e.g. in routers) handled DHCP just fine
except for the need for this feature, thus they
announced new versions stated to handle DHCP.
o Some of the virtual LAN schemes, i.e., those that use
the packet's IP number to decide which "virtual LAN" a
client-computer is on for the purposes of TCP/IP, don't
work when using DHCP to dynamically assign addresses.
DHCP servers and relay agents use their knowledge of
what LAN the client-station is on to select the subnet
number for the client-station's new IP address whereas
such switches use the subnet number sent by the
client-station to decide which (virtual) LAN to put the
station on.
o Routers are sometimes configured so that one LAN on one
port has multiple network (or subnet) numbers. When the
router is relaying requests from such a LAN to the DHCP
server, it must pass along as IP number that is
associated with one of the network (or subnet) numbers.
The only way the DHCP server can allocate addresses on
one of the LAN's other network (or subnet) numbers is if
the DHCP server is specifically written to have a
feature to handle such cases, and it has a configuration
describing the situation.
o The knowledge that a particular IP number is associated
with a particular node is often used for various
functions. Examples are: for security purposes, for
network management, and even for identifying resources.
Furthermore, if the DNS's names are going to identify IP
numbers, the numbers, the IP numbers have to be stable.
Dynamic configuration of the IP numbers undercuts such
methods. For this reason, some sites try to keep the
continued use of dynamically allocatable IP numbers to a
minimum.
o With two or more servers serving a LAN, clients that are
moved around (e.g. mobile clients) can end up with
redundant leases. Consider a home site with two DHCP
servers, a remote site with DHCP services, and a mobile
client. The client first connects to the home site and
receives an address from one of the two serves. He/she
then travels to the remote site (without releasing the
lease at the home site) and attempts to use the acquired
address. It is of course NAK'ed and the client receives
an address appropriate for the remote site. The client
then returns home and tries to use the address from the
remote site. It is NAK'ed but now the client broadcasts
a DHCPDISCOVER to get a address. The server that holds
the previous lease will offer the address back to the
client but there is no guarantee that the client will
accept that address; consequently, it is possible for
the client to acquire an address on the other server and
therefore have two leases within the site. The problem
can be solved by using only one server per subnet/site
and can be mitigated by short lease lengths. But in a
very mobile environment, it is possible for these
transient servers to consume more than their fair share
of addresses.
2. Info on Implementations
1. What features or restrictions can a DHCP server have?

While the DHCP server protocol is designed to support dynamic
management of IP addresses, there is nothing to stop someone
from implementing a server that uses the DHCP protocol, but
does not provide that kind of support. In particular, the
maintainer of a BOOTP server-implementation might find it
helpful to enhance their BOOTP server to allow DHCP clients
that cannot speak "BOOTP" to retrieve statically defined
addresses via DHCP. The following terminology has become
common to describe three kinds of IP address
allocation/management. These are independent "features": a
particular server can offer or not offer any of them:
o Manual allocation: the server's administrator creates a
configuration for the server that includes the MAC
address and IP address of each DHCP client that will be
able to get an address: functionally equivalent to BOOTP
though the protocol is incompatible.
o Automatic allocation: the server's administrator creates
a configuration for the server that includes only IP
addresses, which it gives out to clients. An IP address,
once associated with a MAC address, is permanently
associated with it until the server's administrator
intervenes.
o Dynamic allocation: like automatic allocation except
that the server will track leases and give IP addresses
whose lease has expired to other DHCP clients.


Other features which a DHCP server may or may not have:
o Support for BOOTP clients.
o Support for the broadcast bit.
o Administrator-setable lease times.
o Administrator-setable lease times on manually allocated
addresses.
o Ability to limit what MAC addresses will be served with
dynamic addresses.
o Allows administrator to configure additional DHCP
option-types.
o Interaction with a DNS server. Note that there are a
number of interactions that one might support and that a
standard set & method is in the works.
o Interaction with some other type of name server, e.g.
NIS.
o Allows manual allocation of two or more alternative IP
numbers to a single MAC address, whose use depends upon
the gateway address through which the request is
relayed.
o Ability to associate two or more dynamic address pools
on separate IP networks (or subnets) with a single
gateway address. This is the basic support for
"secondary nets", e.g. a router that is acting as a
BOOTP relay for an interface which has addresses for
more than one IP network or subnet.
o Support for User Class Information option.
o Support for Vendor Class Information option.
o Administrator-setable T1/T2 lengths.
o Interaction with another DHCP server. Note that there
are a number of interactions that one might support and
that a standard set & method is in the works.
o Use of PING (ICMP Echo Request) to check an address
prior to dynamically allocating it.
o Server grace period on lease times.


Following are some features related not to the functions that
the server is capable of carrying out, but to the way that it
is administered.
o Ability to import files listing manually allocated
addresses (as opposed to a system which requires you to
type the entire configuration into its own input
utility). Even better is the ability to make the server
do this via a command that can be used in a script,
rdist, rsh, etc.
o Graphical administration.
o Central administration of multiple servers.
2. What freeware DHCP servers are available?

(This is not necessarily a complete list)


950415 Bootp server:
Bootp 2.4.3 (not DHCP, but with the "DHCP patches" mentioned
below, can handle DHCP requests)
ftp://ftp.mc.com/pub/bootp-2.4.3.tar.Z
950425 Bootp server version 2.4.3 with "samba" DHCP patches
(does manual allocation of IP addresses)
http://www.sghms.ac.uk/~mpreston/bootp_dhcp.tar.Z
(within http://www.sghms.ac.uk/~mpreston/tools.htm")
950706 "samba" DHCP patches for bootp server:
(does manual allocation of IP addresses)
ftp://nimbus.anu.edu.au:/pub/tridge/samba/contributed/DHCP.patch
(note: I've heard that the patched server will crash if it receives
one particular optional packet, the DHCP Release packet)
950711 Patched bootp server supporting DHCP-based "automatic" allocation:
(gives addresses dynamically, but never takes them away)
ftp://ftp.ntplx.net/pub/networking/bootp/bootp-DD2.4.3.tar.gz
951219 BOOTP server and patches for DHCP
ftp://africa.geomic.uni-oldenburg.de/pub/people/joey/dhcp/bootpd/
960112 OS/2 port of BOOTP server with patches for manual DHCP support
ftp://ftp.leo.org/pub/comp/os/os2/tcpip/systools/bootpd-243-dhcp.zip
960130 Rose-Hulman Institute of Technology "Mondo-DB" LAN administration
project: modified DHCP server planned
http://www.rose-hulman.edu/~allard/Mondo-DB/index.html
950630 WIDE Project:
Akihiro Tominaga (tomy@sfc.wide.ad.jp)
WIDE Project
Keio Univ.
Japan
ftp://sh.wide.ad.jp/WIDE/free-ware/dhcp/dhcp-1.2.1.tar.gz
Check Archie for dhcp-1.2.1 because lots of sites distribute it.
Beta version:
ftp://sh.wide.ad.jp/WIDE/free-ware/dhcp/dhcp-1.3beta.tar.gz
960308 Internet Software Consortium DHCP/BOOTP Server (ISC dhcpd beta 0)
ftp://www.isc.org/pub/dhcp/DHCPD-BETA-0.tar.gz
http://www.isc.org/isc
960308 Carnegie Mellon University DHCP/BOOTP server (SunOS, dhcp-3.3.6)
ftp://ftp.net.cmu.edu/pub/dhcp/dhcp-3.3.6.tar.gz

3. What commercial DHCP servers are available?

(This is not necessarily a complete list)


950425 Silicon Graphics
950613 NetWare/IP 2.1 will NOT support DHCP but support for enhanced
bootp will be provided. I'm guessing this means DHCP-format
packets, but no address leasing.
950714 FTP Software (Services OnNet Product)
http://www.ftp.com/mkt_info/services.html
950714 Microsoft Windows NT
http://www.microsoft.com/NTServer/
http://www.microsoft.com/BackOffice/techbriefs/tech1000.htm
950714 Hewlett Packard HP-UX
950906 IBM: included in Warp Server which is in beta
951010 Wollongong: included in next release of PathWay for OpenVMS which is in
beta
951010 TGV: DHCP/BOOTP server will be included in Multinet for VMS v3.5.
http://www.tgv.com/
951121 TGV: MultiNet 3.5 for OpenVMS includes DHCP server.
mailto:sales@tgv.com
http://www.tgv.com/
951207 IBM: DHCP server included in AIX 4.1.4 server packages.
Also includes custom DNS server that is "DHCP knowledgeable".
http://www.ibmlink.ibm.com/(search for DHCP in SalesManual)
951219 Puzzle Systems: WEBserv (NLM(s) that do DHCP, BOOTP, HTTP, and FTP)
mailto:info@puzzle.com
http://www.puzzle.com/
951220 ON Technology: IPTrack is a Novell Server-based DHCP/BOOTP server (NLM)
http://www.on.com/on/onprods/iptrack.html/
951220 Process Software: server for OpenVMS included in TCPware for OpenVMS
http://www.process.com/
960108 Sun Solstice LAN Management Package (SolarNet)
http://www.sun.com/cgi-bin/show?sunsoft/Products/Networking-products/pro
ducts/pcadmin.html
http://www.sun.com/cgi-bin/show?products-n-solutions/sw/solstice/network
/prod_spec_solstice_solarnet.html
960110 Quadritek Systems, Inc. (DHCP server included in next release)
http://www.qtek.com/qsi-qip.html
960130 Network TeleSystems: Shadow (PC-based)
http://www.ntsi.com/nts_shadow.html
960130 Digital: RoamAbout Mobile IP Client/Server Network Software V2.0
http://www.digital.com/info/Customer-Update/940620001.txt.html
960208 Competitive Automation's : SunOS4.x, Solaris2.x,
DECOSF3.x,4.x, HP-UX 9 & 10 DHCP/BOOTP servers.
http://www.join.com/
960209 Microsoft Windows NT Server
http://www.microsoft.com/NTServer/
http://www.microsoft.com/BackOffice/techbriefs/tech1000.htm
ftp://ftp.microsoft.com/bussys/winnt/winnt-docs/papers/tcpipimp.doc
960312 Nevod Inc. Proxy IP/DHCP Server (PIP) Beta-1.0
http://www.nevod.com/pip/index.html
960327 Xedia: IP/Assist 1.0 feature for their switches includes DHCP service.
http://www.xedia.com
960328 Novell: Netware IP 2.2 includes a DHCP server.
ftp://ftp.novell.com/updates/unixconn/nwip22/nips22.exe

4. Which vendors of client software currently support DHCP?

(This is not necessarily a complete list)


950417 Shiva: proxy client for remote users (in Lanrovers and Netmodems)
950421 Microsoft: Windows for Workgroups
950425 Sun
950425 Silicon Graphics
950425 Hewlett-Packard
950502 NetManage: Chameleon 4.5
950630 Beame & Whiteside Software: resells Dirk Koeppen EDV-Beratungs-GmbH's
TCP/IP BOOT-PROM
950705 Microsoft: MS-TCP/IP 3.11a & MS-TCP/IP 3.11b
950711 Microsoft: Windows NT 3.5
950711 Microsoft: Windows for Workgroups 3.11a
950711 Frontier Technologies: in SuperTCP for Windows
http:www.frontiertech.com
info@frontiertech.com
950712 Beame & Whiteside: BW-Connect NFS for DOS & Windows
950725 IBM: a future release of AIX
950728 Sun: PCNFS for Windows
950802 Wollongong: PathWay Access ver 3.2 (Windows)
http://www.twg.com/
950802 WRQ: Reflection Network Series products (version 5) for Windows
http://www.wrq.com/
950814 Competitive Automation: SunOS4.x, Solaris2.x and
DECOSF3.x,4.x clients
950906 IBM: included in Warp Server which is in beta
950915 Stampede: included in Remote Office Gold
951113 Persoft: TCP Addition and Portable TCP
http://www.persoft.com
951207 Dirk Koeppen EDV-Beratungs-GmbH: TCP/IP DHCP Boot ROMs (TCP/IP
BOOT-PROM) www.dunkel.de/dksoft
951207 IBM: AIX 4.1.4 client and server packages include a DHCP client.
http://www.ibmlink.ibm.com/(search for DHCP in SalesManual)
951220 Attachmate: IRMA TCP Suite Version 3.1
960130 Digital: RoamAbout Mobile IP Client/Server Network Software V2.0
http://www.digital.com/info/Customer-Update/940620001.txt.html
960209 FTP Software: OnNet 2.0 (Windows)
http://www.ftp.com/
960209 FTP Software: PC/TCP 4.0 (DOS)
http://www.ftp.com/
960305 TGV: will be included in MultiNet for Windows V1.2
http://www.tgv.com/
960312 Core Systems: Internet-Connect for Windows 95 Version 2.1 has DHCP
proxy client.
http://ns1.win.net/~core/Coresys/homepage.html
960312 Novell: I heard a report that they offer a client.
960313 Apple: Open Transport 1.1 included with System 7.5.3 & runs on
68030, 68040, and PowerPC Macintoshes.
960314 Apple: Open Transport 1.1 shrink wrap version will be offered.

5. What are the DHCP plans of major client-software vendors?

Apple MacOS
MacTCP's successor, Open Transport, supports DHCP.
Open Transport 1.1 ships with System 7.5 Update 2.0
(which updates MacOS to version 7.5.3, released
March 11, 1996) and supports any 68030, 68040, or
PowerPC Macintosh. A shrink wrap version of Open
Transport is planned.

Microsoft Windows95
supports it and does not support BOOTP. I heard a
rumor that BOOTP support will be added.

Novell LAN Workplace for DOS
has plans for client support later in 1995.

IBM OS/2
will support it; I have no news on when or what
version.

6. What Routers forward DHCP requests?

(This is not necessarily a complete list).

Note that in general, these routers probably already had
BOOTP forwarding, but lacked the support for the BOOTP
broadcast flag (see "broadcast flag" under What are the
Gotcha's? above). It is likely that many other routers also
support BOOTP forwarding.

Cisco
(from Cisco FAQ) Routers running GSYS version
9.21(4) and 10.0(3) as well as later releases.

Wellfleet/Bay
(from Wellfleet FAQ) DHCP is supported by enabling
BOOTP support (with transmission and/or reception
as needed).

3Com Netbuilder
Version 7.2 software can support DHCP relaying
through the use of its generic UDP Helper service.
Version 8.0 and later officially supports DHCP.

Xyplex
Version 5.5 of their routing software supports
DHCP.

ALANTEC
The switches' "router" function has have been
handling BOOTP forwarding since around 1993.
Support for the broadcast flag introduced in a
maintenance release of 2.5 of their software and is
in version 2.6 and later.

IBM 2210
I've confirmed that Version 1 Release 2 has a BOOTP
relay agent. I haven't found out anything about
support for the broadcast flag.

7. What Routers include DHCP servers?

DHCP requires disk storage (or some other form of reliable
non-volatile storage), making the task of DHCP service
compatible with servers but incompatible with dedicated
routers. There are a number of server types that can be
configured to both route and serve DHCP (especially
all-in-one "Internet Gateways" designed to be web servers,
firewalls, etc.), but no dedicated routers.
8. What Servers forward DHCP requests?
o DHCP Relay Agent supplied with Windows NT Resource Kit
(version 3.51).
o For Novell servers, there are NLMs that forward BOOTP
requests, thus DHCP requests. The "forward BOOTP NLM" is
included in Netware 4.1. You can get this support in
Netware 3.11 and 3.12 also, but you must apply the
TCP31A.EXE patch which is located on Netwire. Here are
two such NLMs that are available online:
# ftp://netlab2.usu.edu/misc/bootpfd.zip(unsupported
Novell software, 1993)
# ftp://netlab2.usu.edu/misc/bootp311.zip(unsupported
Novell software, 1991)
9. Which implementations support or require the broadcast flag?

The broadcast flag is an optional element of DHCP, but a
client which sets it works only with a server or relay that
supports it.
o Clients

Microsoft Windows NT
DHCP client support added with version 3.5
sets the broadcast flag. Version 3.51 and
later no longer set it. The exception is in
the remote access support: it sets the flag
when it uses DHCP to acquire addresses to
hand out to its PPP clients.

tcp/ip-32 for Microsoft Windows for Workgroups (WFW)
Version 3.11a sets it, but version 3.11B
doesn't.

Microsoft Windows 95
Does not set the broadcast flag.

10. How can I run Windows 95 without a DHCP server?

Not really a DHCP question, but it has been asked a lot,
particularly by sites for which changing from BOOTP
represents a lot of work. Some choices:
o Use no server at all for the Windows 95 clients: set the
addresses in each client's setup.
o Install a non-Microsoft TCP/IP stack for Windows 95 that
supports BOOTP.
o Switch from your current BOOTP server to one that
supports both BOOTP and DHCP.


A Document that addresses this question is the Windows 95tm
Networking FAQ,
http://www-leland.stanford.edu/~llurch/win95netbugs/faq.htm
l
11. Do any servers limit the MAC addresses that may roam?
o IBM's AIX and OS/2 WARP DHCP servers.
12. What are the Gotcha's specific to various implementations?

In many cases, new releases have solved the problems that
have been identified with various DHCP implementations.
o There have been servers that are inflexible as to the
list of configuration parameters they were able to
serve. If your client requires certain parameters, you
could find such a server unusable.
o I hate to cast wide suspicions, but I've heard
occasional word on client DHCP implementations that do
not implement the entire protocol. Doing so requires
that the software module be able to wake up again after
a specified period of time and "renew the lease", i.e.,
ask to continue using the IP number. This is at least
one feature of DHCP that is very hard to implement in
some simpler systems.
o There are a number of issues regarding the patched bootp
servers. These have been reported to re DD2.4.3:
# 'When run from inetd, I had problems with "Could
not bind port" and DHCP request failure. I don't
know why, and the problem went away when bootpd is
run as a daemon.'
# 'Unless you set "dl" to some value in the bootptab
file, the DHCP lease time, renewal time and
prebinding time will be rubbish, which will cause
occasional renewal problems.'
o Early Microsoft DHCP client implementations required the
broadcast bit. Current ones do not.
o Early Apple Open Transport implementations did not
always fill out packets to BOOTP's 300-byte minimum,
thus BOOTP forwarding agents that follow the BOOTP RFC
and discard such packets end up discarding such DHCP
packets, causing some of the functions to fail. Open
Transport 1.1 fixes this.