The Dynamic Host Control Protocol (DHCP) Server for IPv4 module is used to set up DHCP parameters dynamically. These include the range of IP addresses to be issued to connected devices, the lease time, and the network gateway and DNS server addresses.

The DHCP server manages a pool of IP addresses and information about client configuration parameters such as default gateway, domain name, and name servers. When a DHCP client connects to a network, it sends a broadcast query to a DHCP server, requesting the necessary information. If the request is valid, the server assigns the client an IP address, a lease (the length of time the allocation is valid for), and other IP configuration parameters, such as the subnet mask and the default gateway address.

The query is typically sent straight after booting and must complete before the client can initiate IP-based communication with other hosts. Upon disconnection the IP address is returned to the pool for use by another computer. In this way many computers can use the same IP address in a short time.

Note: This is a simple implementation of a DHCP server for use on closed networks of embedded devices where no fully featured DHCP server is available. One common use case is where a virtual network is created on an embedded device to connect to a PC host over USB, using a standard USB protocol such as CDC-ECM where the PC network interface needs to have a network address assigned to it.

This module is part of the HCC MISRA-compliant TCP/IP stack, as shown in the Networking Overview diagram, and designed specifically for use with it.

Features

These apply to both modules:

  • Conforms to the HCC Advanced Embedded Framework.
  • Complies with the HCC MISRA-compliant TCP/IP stack.
  • Designed for integration with both RTOS and non-RTOS based systems.
  • Supports IPv4 addresses only.
  • Compliant with RFC 2131.
  • Number of clients is configurable.
  • Address leasing is configurable.
Integration into your application

Interested in designing-in this software/component into an application? Use our Project Builder to describe your project in an easy way and get an idea whether this software fits your project.