RDK Documentation (Open Sourced RDK Components)

Description

Overview
Dynamic Host Configuration Protocol version 4 (DHCPv4) allows for the automatic configuration of client systems on an Internet Protocol version 4 (IPv4) network. DHCPv4 eliminates the need to individually configure devices, allowing them to set network properties by connecting to the DHCPv4 server instead.
Function
Prerequisites :
  • DHCPv4 server system
  • DHCPv4 client system
  • Navigable network connection between DHCPv4 server and DHCPv4 client When a new system is brought online (generally at boot) and needs to configure itself for communicating on the network it makes a broadcast looking for a DHCPv4 server. When the DHCPv4 server observes this broadcast it responds to the request with an offer that contains the information necessary to join the network. At its most basic level, this includes an IP address, netmask, the DHCP server's IP address, the default route/gateway, DNS server address(es), and the lease time (how long the offer will be good for). The DHCPv4 client then responds requesting the configuration offered. Finally, the DHCPv4 server responds acknowledging and granting the request. In shorter form, this transaction is as follows:
  • Client requests information (the DHCPDISCOVER)
  • One or more servers respond (the DHCPOFFER)
  • Client selects one response and requests that configuration from the offering server (the DHCPREQUEST)
  • The server which made the offer responds acknowledging the configuration (the DHCPACKNOWLEDGEMENT)

Example container DHCPDISCOVER:

Bit Range Bit Use Nominal Value
0 - 15 Source Port Number 01000011
16 - 31 Destination Port Number 01000100
32 - 47 Packet Length 0000000101001000
48 - 63 Checksum varies
64 - 71 Operation Code (OP) 00000001
72 - 79 Hardware Address Type (HTYPE) 00000001
80 - 87 Hardware Address Length (HLEN) 00000110
88 - 95 Hops (HOPS) 00000000
96 - 127 Transaction ID (XID) varies
128 - 143 Seconds Since Client Started Request (SECS) 0000000000000000
144 - 159 Flags (FLAGS) 0000000000000000
160 - 181 Client IP Address (CIADDR) 00000000000000000000000000000000
182 - 213 Your IP Address (YIADDR) 00000000000000000000000000000000
214 - 245 Server IP Address (SIADDR) 00000000000000000000000000000000
246 - 277 Relay IP Address (GIADDR) 00000000000000000000000000000000

DHCPOFFER

Bit Range Bit Use
a - b Use

DHCPREQUEST

Bit Range Bit Use
a - b Use

DHCPACKNOWLEDGEMENT

Bit Range Bit Use
a - b Use

Modules

 TR-069 Object (Device.DHCPv4.Interface.{i}) Public APIs
 Describe the details about RDK TR069 Device DHCPv4 Client APIs specifications.
 
 TR-069 Object (Device.DHCPv4.Interface.{i}) Public Classes
 Describe the details about classes used in TR069 Device DHCPv4 Client.
 
 TR-069 Object (Device.DHCPv4.Interface.{i}) Public DataStructure
 Describe the details about structure used in TR069 Device DHCPv4 Client.