It is essential to understand the basic concepts of network protocols such as BOOTP and DHCP. Also, these protocols play a critical role in the field of computer networking. BOOTP and DHCP assign IP addresses to hosts within the network. They also provide boot information.
In this article, I will explain the relationship between BOOTP and DHCP. First, by defining their working mechanisms, you will understand their functions and importance better.
Definition of BOOTP
BOOTP and DHCP protocols are used to obtain the host’s IP address, along with boot information. The operation of both protocols is somewhat different. DHCP is an extended version of the BOOTP.
It is a method of accessing the information of a computer connected to the Internet, such as that stored in a configuration file; this information must be known by a TCP/IP computer connected to the Internet.
Bootstrap Protocol is a client-server protocol designed to receive the above information from a diskless computer or a computer that was first launched. If there is no disk on the computer or workstation, the operating system and network software are stored in read-only memory (ROM).
RARP is the forerunner of BOOTP and has the same purpose, but the limitation of RARP is that it only provides IP information, no additional information about it.
It is an alternative to the rarp command, which has the advantage of allowing the subnet mask and gateway configuration. Network clients use it to obtain IP addresses automatically. Initially, it required the use of a boot disk to establish the first network connections, then began to allow direct booting from the network.
As explained above, bootstrap is a protocol that allows static configuration. The reason behind the static nature of BOOTP is the need to dynamically find routers or replace routers only when a router is connected to the rest of the Internet. However, if there are multiple routers, they are connected to the Internet. Attempting to get the default route on a host startup might cause a loss of connection if a single router fails.
Features
- It was designed before DHCP.
- It automatically assigns an IP address to network clients that are usually booted from computers or the operating system.
- They are used for remote boot over IP networks and by UNIX-based diskless workstations.
- It supports a limited number of client configuration parameters called provider extensions.
Difference Between BOOTP and DHCP
The main difference between BOOTP and DHCP is that BOOTP supports static configuration of IP addresses, while DHCP supports dynamic configuration. It automatically assigns and obtains DHCP’s IP addresses of the computer connected to the Internet and also has some additional features.
The bootstrap server uses a table that maps from a physical address to an IP address when a client requests the IP address. BOOTP is not compatible with mobile machines. It works only when the connection between the physical and IP addresses is static and fixed to the table. It uses a limited broadcast address (255.255.255.255).
BOOTP is a static protocol and supports manual configuration. On the other hand, DHCP is a dynamic protocol that supports the manual, dynamic, and automatic configuration of IP addresses.
Optional IP addressing is provided in DHCP, while BOOTP does not support non-permanent assignment (lease) of IP addresses.
DHCP can manage mobile machines. On the contrary, it cannot configure or access information on mobile machines. It only works well on fixed connections.
While DHCP rarely fails, BOOTP is prone to errors due to the use of manual configuration.
Bootstrap and DHCP are protocols that a host uses to access or configure IP parameters from the server. DHCP is the BOOTP extension. In BOOTP, these processes occur during the startup of the host computer. DHCP is popular among ISPs because it allows a host to obtain a temporary IP address, but this is not the case with BOOTP. DHCP provides more detailed information than BOOTP and is more efficient.
How Does It Work?
- It is the hardware address that the customer can determine in the hardware RAM.
- The client sends a UDP datagram to the server using its hardware address. If it knows it and knows the address of the server, it can use it, but clients usually do not have IP configuration data. The UDP port is numbered 67.
- The server receives the datagram, searches for the client’s hardware address in the configuration file containing the client’s IP address, fills the remaining fields in the UDP datagram, and returns it to the client using UDP port 68.
- Once the response is received, the client will save its IP address and start the boot process.
Bootstrap Format
Bootstrap exchange is in the form of a request sent by a client and a response from the server. It is a standard message format for requests and responses.
- Code: Indicates a request or response.
- TypeWH: Specifies the hardware type, such as Ethernet or IEEE 802 networks.
- Length: The length of the hardware address in bytes.
- Transaction ID: The client sets this to 0. The router transmits this request to another server to increase this value and is used to define loops.
- Seconds: The client sets this data. It is the time in seconds since the client started the initialization process.
- Flags Field: The most crucial bit of the Flags field is used as the broadcast flag. The remaining bits need to be set to zero and reserved for future use.
- IP Address of the Client: Set by the client. It is a known IP address or 0.0.0.0.
- IP Address: If the client’s IP address field is 0.0.0.0, it is set by the server.
- Server IP Address: It is set by the server.
- Router IP Address: If BOOTP forwarding is used, it is set by the sending router.
- Client Hardware Address: It is set by the client and used by the server to identify the boot client registered.
- Server Hostname: Optional server hostname ending in X’00 ‘.
- Name of the Boot File: The client leaves blank or specifies a generic name such as “router,” such as “boot file,” to use.
- Manufacturer-Specific Area: Optional manufacturer-specific field.
Conclusion
In conclusion, it is essential to understand the differences between BOOTP and DHCP. Also, this knowledge provides a solid foundation in computer networks. BOOTP is a static protocol with limited capabilities. In contrast, DHCP offers dynamic configuration and additional features.
Therefore, we use DHCP more efficiently and widely. Both protocols play a vital role in assigning IP addresses. They also provide boot information to hosts. In short, we need to know BOOTP to manage and optimize network resources effectively.