Protokół BOOTP (Bootstrap Protocol) działa w środowisku typu
klient — serwer i wymaga tylko pojedynczej wymiany pakietów do pobrania
informacji o adresie IP.
W przeciwieństwie do protokołu RARP pakiety BOOTP mogą zawierać nie
tylko adres IP, ale i adres routera, adres serwera oraz informacje zależne od
producenta sprzętu.
Z protokołem BOOTP związany jest problem polegający
na tym, że nie został on zaprojektowany do dynamicznego przypisywania adresów.
Aby użyć tego protokołu, administrator sieci tworzy plik konfiguracyjny
zawierający parametry dla każdego urządzenia. Administrator musi dodawać do
niego hosty i zarządzać bazą danych BOOTP. Chociaż adresy są przypisywane
dynamicznie, nadal istnieje relacja jeden do jednego pomiędzy liczbą adresów IP
a liczbą hostów. Oznacza to, że dla każdego hosta IP w sieci musi istnieć
profil BOOTP zawierający przypisany mu adres IP. Żadne dwa profile nie mogą
zawierać takich samych adresów IP. Profile te mogłyby być użyte w tym samym
czasie, co oznaczałoby przypisanie dwóm hostom tego samego adresu IP.
Urządzenie przy starcie używa protokołu BOOTP do pobrania adresu IP.
Protokół BOOTP do przesyłania komunikatów używa protokołu UDP. Komunikat UDP
jest enkapsulowany w pakiecie IP. Komputer używa protokołu BOOTP do wysłania
pakietu rozgłoszeniowego na adres IP składający się z samych jedynek, czyli
255.255.255.255 w notacji dziesiętnej. Serwer BOOTP otrzymuje ten pakiet i w
odpowiedzi wysyła również pakiet rozgłoszeniowy. Klient otrzymuję ramkę i
sprawdza jej adres MAC. Jeżeli w polu adresu docelowego klient znajdzie swój
adres MAC, a w polu adresu docelowego IP adres rozgłoszeniowy, pobierze adres
IP i inne informacje zawarte w komunikacie odpowiedzi BOOTP. Proces ten jest
przedstawiony krok po kroku na rysunkach od
do
.