BOOTP – protokół ładowania początkowego – powstał w 1985 r. jako alternatywa RARP dla urządzeń bezdyskowych: stacji, X-terminali, ruterów czy koncentratorów, które musiały mieć adres IP i często oprogramowanie operacyjne ładowane przez sieć. BOOTP może także dostarczać wiele innych ważnych informacji, takich jak adres IP rutera, maska podsieci klienta lub adresy IP serwerów DNS, NTP, wydruków albo też adresy komputerów używanych jako zdalne terminale. Umożliwia wygodne gromadzenie adresów IP na serwerze centralnym, a nie na każdej stacji roboczej. Wyposażenie w dysk nie stanowi kryterium stosowania tego protokołu. Systemy bezdyskowe muszą przechowywać w swojej pamięci kilka stałych protokołów: BOOTP, UDP, IP, TFTP, i sterownik karty sieciowej. Takie urządzenia początkowo nie znają adresu serwera, skąd mogłyby pobrać oprogramowanie sieciowe i swój adres IP.
Protokołem transportowym dla BOOTP jest UDP. Dzięki temu zapytania i odpowiedzi BOOTP mogą być przetwarzane, w przeciwieństwie do RARP, przez rutery lub przełączniki z modułem trasowania.
Znaczenia pól pakietu BOOTP są następujące:
Klient BOOTP używa do komunikacji z serwerem numeru portu = 68, a serwer BOOTP numeru portu = 67. Klient rozgłasza początkowo zapytanie, kierując je pod adresem 255.255.255. 255. W pole swojego adresu wpisuje zwykle 0.0.0.0. Serwer nie musi znajdować się w tej samej sieci co klient i wtedy do procesu ładowania włącza się ruter (port 67). Kiedy po wstępnych procedurach ma dojść do ładowania pliku, BOOTP do transmisji tego pliku z serwera używa protokołu TFTP. W tym wypadku klient będzie obsługiwany na numerze portu = 69.
Tworzenie serwera BOOTP jest znacznie prostsze nie serwera RARP, ponieważ zapytania i odpowiedzi BOOTP są przenoszone w datagramach UDP, a nie w specjalnych ramkach, nie przetwarzanych przez rutery. Te ostanie mogą z powodzeniem pełnić dla serwerów rolę agentów i kierować zapytania klientów do odległych serwerów BOOTP.
BOOTP jest opisany w RFC 951 – Bootstrap Protocol i RFC 1497 – BOOTP Vendor Information Extensions. Są również rozszerzenia, które umożliwiają współpracę tego protokołu z DHCP – obydwa protokoły posługują się tą samą ramką.
Zostały one przedstawione w RFC 1542 – Clarifications and Extensions for the Bootstrap Protocol, poszerzającym RFC 951, i w RFC 1533 – DHCP Options and BOOTP Vendor Extensions zastępującym RFC 1497. W RFC 1533 zostało m.in. zwiększone pole Vendor-specific area do 312 bajtów. RFC 2132 DHCP Options and BOOTP Vendor Extensions już zastępuje wspomniane RFC 1533.