BOOTP - Bootstrap Protocol ============================= .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is BOOTP?** BOOTP stands for Bootstrap Protocol. It is a network protocol used by a device to automatically obtain an IP address and other network configuration settings (like gateway and DNS) from a BOOTP server when it boots up. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is BOOTP useful?** * BOOTP was designed to help diskless workstations and other devices: * Automatically get their IP address, default gateway, and boot file location. * Boot over the network without needing manual configuration. * Simplify network setup in large environments. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How it works?** * **Device boots up** – It doesn’t have an IP address or configuration. * **Sends a BOOTP request** – A broadcast message is sent to find a BOOTP server. * **Server responds** – The BOOTP server replies with the device’s IP address and other settings. * **Optional boot file** – The server can also provide the location of a boot file (e.g., for loading an OS). .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is BOOTP used?** * Diskless workstations – To boot operating systems over the network. * Network devices – Like routers or switches during initial setup. * Embedded systems – That need to auto-configure on startup. * Legacy systems – In environments where DHCP is not used. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI Layer does BOOTP belong to?** * **Application Layer (Layer 7)** * BOOTP defines application-level messaging between clients and servers. * It provides IP configuration and bootstrapping services, which are implemented in software. * While it uses UDP at the Transport Layer (Layer 4), its logic and structure are defined at Layer 7. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`BOOTP Version&RFC Details ` * :ref:`BOOTP Basic Setup on Ubuntu using IPv4 ` * :ref:`BOOTP Basic Setup on Ubuntu using IPv6 ` * :ref:`BOOTP Protocol Packet Details ` * :ref:`BOOTP Usecases ` * :ref:`BOOTP Basic Features ` * :ref:`BOOTP Feature : Static IP Assignment ` * :ref:`BOOTP Feature : Boot File Delivery ` * :ref:`BOOTP Feature : Gateway and Subnet Info ` * :ref:`BOOTP Feature : Relay Agent Support ` * :ref:`BOOTP Feature : No Leasetime ` * :ref:`BOOTP Feature : Simple Configuration ` * :ref:`BOOTP Feature : Compatability with DHCP ` * :ref:`BOOTP Feature : Low Overhead ` * :ref:`Reference links ` .. _BOOTP_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _BOOTP_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _BOOTP_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _BOOTP_step5: .. tab-set:: .. tab-item:: BOOTP Version&RFC Details .. csv-table:: :file: ./BOOTP/bootp_rfc_details.csv :widths: 10,10,10,30 :header-rows: 1 .. _BOOTP_step19: .. tab-set:: .. tab-item:: BOOTP Basic Setup on Ubuntu using IPv4 * setup .. _BOOTP_step20: .. tab-set:: .. tab-item:: BOOTP Basic Setup on Ubuntu using IPv6 * setup .. _BOOTP_step6: .. tab-set:: .. tab-item:: BOOTP Protocol Packet Details **BOOTREQUEST Packet** .. csv-table:: :file: ./BOOTP/bootp_packet_details1.csv :widths: 10,20,30,10 :header-rows: 1 **BOOTREPLY Packet** .. csv-table:: :file: ./BOOTP/bootp_packet_details2.csv :widths: 10,20,30,10 :header-rows: 1 .. _BOOTP_step7: .. tab-set:: .. tab-item:: BOOTP Usecases .. csv-table:: :file: ./BOOTP/bootp_usecases.csv :widths: 10,20,30 :header-rows: 1 .. _BOOTP_step8: .. tab-set:: .. tab-item:: BOOTP Basic Features .. csv-table:: :file: ./BOOTP/bootp_features.csv :widths: 10,10,30 :header-rows: 1 .. _BOOTP_step9: .. tab-set:: .. tab-item:: BOOTP Feature : Static IP Assignment **Static IP Assignment - Testcases** .. csv-table:: :file: ./BOOTP/bootp_feature1_static_ip_assignment_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _BOOTP_step10: .. tab-set:: .. tab-item:: BOOTP Feature : Boot File Delivery **Boot File Delivery - Testcases** .. csv-table:: :file: ./BOOTP/bootp_feature2_boot_file_delivery_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _BOOTP_step11: .. tab-set:: .. tab-item:: BOOTP Feature : Gateway and Subnet Info **Gateway and Subnet Info - Testcases** .. csv-table:: :file: ./BOOTP/bootp_feature3_gateway_and_subnet_info_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _BOOTP_step12: .. tab-set:: .. tab-item:: BOOTP Feature : Relay Agent Support **Relay Agent Support - Testcases** .. csv-table:: :file: ./BOOTP/bootp_feature4_relay_agent_support_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _BOOTP_step13: .. tab-set:: .. tab-item:: BOOTP Feature : No Leasetime **No Leasetime - Testcases** .. csv-table:: :file: ./BOOTP/bootp_feature5_no_leasetime_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _BOOTP_step14: .. tab-set:: .. tab-item:: BOOTP Feature : Simple Configuration **Simple Configuration - Testcases** .. csv-table:: :file: ./BOOTP/bootp_feature6_simple_configuration_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _BOOTP_step15: .. tab-set:: .. tab-item:: BOOTP Feature : Compatability with DHCP **Compatability with DHCP - Testcases** .. csv-table:: :file: ./BOOTP/bootp_feature7_compatability_with_dhcp_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _BOOTP_step16: .. tab-set:: .. tab-item:: BOOTP Feature : Low Overhead **Low Overhead - Testcases** .. csv-table:: :file: ./BOOTP/bootp_feature8_low_overhead_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _BOOTP_step18: .. tab-set:: .. tab-item:: Reference links * Reference links