Bootstrap Protocol

Bootstrap Protocol (zkratka BOOTP) je v informatice síťový protokol, který se používal v počítačových sítích pro nastavení parametrů pro stanice používající TCP/IP. BOOTP je definován v RFC 951 z roku 1985. V současné době je nahrazen protokolem DHCP.

Charakteristika

Aby mohly stanice v lokální počítačové síti komunikovat pomocí rodiny protokolů TCP/IP, je na nich nutné nastavit několik základních parametrů (zpravidla IP adresa, maska sítě, brána a adresy DNS serverů). Z hlediska správy počítačové sítě není výhodné, aby tyto údaje byly uchovávány na pevných discích stanic, protože v případě jejich změny by je bylo nutné obcházet a ručně nastavení měnit. Proto se s výhodou používal protokol BOOTP, který všechny potřebné údaje přiděloval stanicím z centrální databáze dle potřeby.

BOOTP server uchovává ve své databázi seznam MAC adres síťových rozhraní stanic (síťové karty klientů). Na žádost stanic pak uložené údaje stanicím odesílá pomocí protokolu UDP.

Protokol BOOTP umožňoval používání bezdiskových stanic (typicky unixových systémů), které všechny potřebné údaje pro svůj start a následný běh mohly získat ze sítě. Počáteční univerzální kód byl uložen buď na disketě nebo v BootROM síťové karty. Po zapnutí počítače tento kód zjistí z BOOTP serveru kromě IP konfigurace také adresu serveru, na kterém je uložen obraz pro zavedení operačního systému. Tento obraz je následně stažen pomocí protokolu TFTP (nebo protokolu SFTP či FTP).

Nástupcem protokolu BOOTP je DHCP (Dynamic Host Configuration Protocol), který přináší doplňující vlastnosti, ale není zpětně kompatibilní.

Princip

Administrátor sítě vytváří konfigurační soubor, kde nastaví parametry pro všechna zařízení zapojená v lokální síti (síťové karty). Musí tedy udržovat databázi na bootp serveru a ručně do ní přidávat zařízení.

Startující stanice (bootp client – port 68) vytvoří dotaz „kdo jsem?“ a pomocí UDP ho odešle na IP adresu 255.255.255.255 (lokální broadcast – je odeslán na všechna zařízení v síti).

BOOTP server (port 67) po přijetí dotazu prohledá tabulku a najde-li v ní odpovídající MAC adresu tazatele, odešle mu z tabulky potřebná data pro nastavení síťové karty (IP adresu, masku podsítě, adresu DNS serveru, cestu k serveru a souboru ze kterého má nabootovat operační systém, atd.). IP adresa přidělená zařízení je přidělená nastálo. To znamená že každé zařízení v síti musí mít jeden profil na BOOTP serveru a zabírá pro sebe jednu konkrétní IP adresu, která nemůže být přidělená jinému zařízení v síti (ani v případě že dané zařízení není zrovna připojeno).

Ke vzájemné komunikaci serverů s klienty používají protokoly BOOTP i DHCP stejné porty. Servery DHCP a BOOTP přijímají požadavky od klientů pomocí portu UDP 67. Síťoví klienti používající protokoly BOOTP a DHCP si pro příjem odpovědí do serverů většinou zamlouvají port UDP 68.

Jelikož oba protokoly komunikují pomocí zpráv s téměř stejnou strukturou paketů, které také většinou posílají přes shodné známé porty, DHCP a BOOTP přenosoví agenti je nerozlišují (považují je za zprávy stejného formátu).

Současně s přidělenou IP adresou se BOOTP klient dozví od serveru také název bootovacího souboru (viz formát paketu). Tento soubor si klient stáhne ze serveru pomocí protokolu TFTP a následně zahájí bootování operačního systému.

Formát paketu

Počet oktetůNázev polePopis
1OperationKód operace (BOOTREQUEST nebo BOOTREPLY)
1Hardware TypTyp hardwarové adresy
1Hardware LengthDélka hardwarové adresy
1Hops
4Transaction IDID transakce
2SecondsDoba (sec.), která uplynula od začátku bootování
2Flags
4Client IP AdressIP adresa klienta – pokud zná klient svou IP
4Your Client IP AddressIP adresa klienta – na toto místo ji doplní server
4Server IP AddressIP adresa serveru
4Gateway IP AddressIP adresa gatewaye
16Clinet Hardware AdressHardwarová adresa klienta
64Server Host NameJméno serveru
128File NameJméno bootovacího souboru
Vendor Specific AreaDalší informace pro klienta (adresa DNS atd.)


Další protokoly

Externí odkazy