Fig. DHCP Packet Format
- Hardware length: This is an 8-bit field defining the length of the physical address in bytes. e.g for Ethernet the value is 6.
- Hop count: This is an 8-bit field defining the maximum number of hops the packet can travel.
- Transaction ID: This is a 4-byte field carrying an integer. The transcation identification is set by the client and is used to match a reply with the request. The server returns the same value in its reply.
- Number of seconds: This is a 16-bit field that indicates the number of seconds elapsed since the time the client started to boot.
- Flag: This is a 16-bit field in which only the leftmost bit is used and the rest of the bit should be set to os. A leftmost bit specifies a forced broadcast reply from the server. If the reply were to be unicast to the client, the destination. IP address of the IP packet is the address assigned to the client.
- Client IP address: This is a 4-byte field that contains the client IP address . If the client does not have this information this field has a value of 0.
- Your IP address: This is a 4-byte field that contains the client IP address. It is filled by the server at the request of the client.
- Server IP address: This is a 4-byte field containing the server IP address. It is filled by the server in a reply message.
- Gateway IP address: This is a 4-byte field containing the IP address of a routers. IT is filled by the server in a reply message.
- Client hardware address: This is the physical address of the client .Although the server can retrieve this address from the frame sent by the client it is more efficient if the address is supplied explicity by the client in the request message.
- Server name: This is a 64-byte field that is optionally filled by the server in a reply packet. It contains a null-terminated string consisting of the domain name of the server. If the server does not want to fill this filed with data, the server must fill it with all 0s.
- Boot filename: This is a 128-byte field that can be optionally filled by the server in a reply packet. It contains a null- terminated string consisting of the full pathname of the boot file. The client can use this path to retrieve other booting information. If the server does not want to fill this field with data, the server must fill it with all 0s.
- Options: This is a 64-byte field with a dual purpose. IT can carry either additional information or some specific vendor information. The field is used only in a reply message. The server uses a number, called a magic cookie, in the format of an IP address with the value of 99.130.83.99. When the client finishes reading the message, it looks for this magic cookie. If present the next 60 bytes are options.
Dynamic Host Configuration Protocol (DHCP)
Dynamic Host Configuration Protocol, is a network protocol used to automate the process of assigning IP addresses and other network configuration parameters to devices (such as computers, smartphones, and printers) on a network.