Path: news1.ucsd.edu!ihnp4.ucsd.edu!usc!hookup!news.mathworks.com!news.kei.com!newsstand.cit.cornell.edu!newsfeed.cit.cornell.edu!newstand.syr.edu!gamera.syr.edu!jmwobus
From: jmwobus@gamera.syr.edu (John M. Wobus)
Newsgroups: comp.protocols.tcp-ip,comp.protocols.tcp-ip.ibmpc,comp.dcom.lans.misc,comp.os.ms-windows.networking.tcp-ip,comp.os.os2.networking.tcp-ip,comp.sys.mac.comm
Subject: DHCP FAQ
Date: 2 Nov 1995 16:59:00 GMT
Organization: Syracuse University, Syracuse
Lines: 522
Message-ID: <47atck$svl@newstand.syr.edu>
NNTP-Posting-Host: gamera.syr.edu
Xref: news1.ucsd.edu comp.protocols.tcp-ip:23886 comp.protocols.tcp-ip.ibmpc:28636 comp.dcom.lans.misc:5944 comp.os.ms-windows.networking.tcp-ip:17357 comp.os.os2.networking.tcp-ip:36120 comp.sys.mac.comm:110126


                                   DHCP FAQ
                                       
   Author
          John Wobus, jmwobus@syr.edu (corrections welcome)
          
   Date
          11/2/1995
          
   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. How is it different that BOOTP or RARP?
         4. Why shouldn't clients assign IP numbers without the use of a
            server?
         5. Can DHCP support statically defined addresses?
         6. Can a BOOTP client boot from a DHCP server?
         7. Can a DHCP client boot from a BOOTP server?
         8. Can a DHCP client update its DNS entry through DHCP?
         9. Can a DHCP server back up another DHCP server?
        10. When will the server to server protocol be defined?
        11. Is there a DHCP mailing list?
        12. In a subnetted environment, how does the DHCP server discover
            what subnet a request has come from?
        13. Where is DHCP defined?
        14. Can DHCP support remote access?
        15. Can a client have a home address and still float?
        16. What are the Gotcha's?
    2. Info on Implementations
         1. What freeware DHCP servers are available?
         2. What commercial DHCP servers are available?
         3. Which vendors of client software currently support DHCP?
         4. What are the DHCP plans of major client-software vendors?
         5. What Routers forward DHCP requests?
         6. What Routers include DHCP servers?
         7. Which implementations support or require the broadcast flag?
         8. How can I run Windows 95 without a DHCP server?
            
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. 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.
         4. 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.
         5. 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.
         6. Can a BOOTP client boot from a DHCP server?
            
            A DHCP server can be written this way. Since DHCP was
            developed after BOOTP, it would be logical for most server
            developers to support this.
         7. Can a DHCP client boot from a BOOTP server?
            
            A DHCP client can be written this way, i.e. to treat a BOOTP
            reply as an unending lease on the IP address.
         8. 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).
         9. 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.
        10. 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".
        11. Is there a DHCP mailing list?
            
            There are several:

List                            Purpose
----                            -------
host-conf@sol.eg.bucknell.edu   General discussion
dhcp-bake@bucknell.edu          DHCP bakeoffs
dhcp-impl@bucknell.edu          Implementations
dhcp-serve@bucknell.edu         Server to server protocol

        Admin requests for the host-conf list should go to
            host-conf-request@sol.eg.bucknell.edu; admin requests for
            the other lists should go to listserv@bucknell.edu. Archives
            for the host-conf list are stored at
            ftp.bucknell.edu://pub/dhcp/.
        12. 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.
        13. 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.
                      
        14. 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.
        15. 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.
        16. 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 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 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 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 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 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.'
    2. Info on Implementations
         1. 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 static allocation of IP addresses)
 http://www.sghms.ac.uk/~mpreston/bootp_dhcp.tar.Z
 (within http://www.sghms.ac.uk/~mpreston/tools.htm")
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.
950706 "samba" DHCP patches for bootp server:
 (does static 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

         2. 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 Sun (SolarNet)
       http://www.sun.com/cgi-bin/show?sunsoft/Products/Networking-products/pro
ducts/pcadmin.html
950714 Microsoft Windows NT
       http://www.microsoft.com/NTServer/
       http://www.microsoft.com/BackOffice/techbriefs/tech1000.htm
950714 Hewlett Packard HP-UX
950802 Process Software: server for OpenVMS
       http://www.process.com/
950828 Novell: I heard a rumor that they will deliver a server by the
       end of 1995.
950828 James Drews (drews@engr.wisc.edu)
       of U Wisconsin is working on an NLM which he plans to sell commercially.
       It is available for beta test at http://www.engr.wisc.edu:80/~drews/dhcp
/
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.
951101 Competitive Automation's JOIN (415-321-4006): SunOS4.x,
       Solaris2.x and DECOSF3.x,4.x DHCP/BOOTP servers; HP-UX planned.
       http://www.join.com/

         3. 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(800-929-3054): in SuperTCP for Windows
       http:www.frontiertech.com
       info@frontiertech.com
950712 Beame & Whiteside(800-720-7151): BW-Connect NFS for DOS & Windows
950725 IBM: a future release of AIX
950728 Sun: PCNFS for Windows
950801 FTP Software: for DOS and Windows (included in PC/TCP OnNet and
       PC/TCP networking software; note: the DOS client utilizes DHCP
       queries/responses to get an IP address, but does not track its
       lease and renew when it should; however, the Windows client is
       true DHCP.  FTP has stated that the DHCP client the upcoming
       OnNet 2.0 and PC/TCP 4.0 releases will perform lease renewal
       properly).
       http://www.ftp.com/
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(415-321-4006): 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
951005 Apple: "Open Transport" included with PowerPC PCI Macintoshes.
951010 TGV: will be included in MultiNet for Windows V1.2
951011 Dirk Koeppen EDV-Beratungs-GmbH: TCP/IP DHCP Boot ROMs (TCP/IP
       BOOT-PROM) www.dunkel.de/desoft

         4. What are the DHCP plans of major client-software vendors?
            
              Apple MacOS
                      MacTCP's successor, Open Transport, supports DHCP.
                      As of 7/5/95, Open Transport is included with the
                      Macintosh 9500. Version 1.1 of Open Transport will
                      ship as a separate product for 68030, 68040, and
                      PowerPC Macintoshes before the end of 1995.
                      
              Microsoft Windows95
                      will support it and will not support BOOTP.
                      
              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.
                      
         5. 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).
            
              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
                      Word is that release 5.1 slated for first quarter
                      1996 will support it.
                      
              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.
                      
         6. 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, but no dedicated
            routers.
         7. 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.
                            
         8. 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