Bootstrap Protocol
Bootstrap Protocol neboli BOOTP je UDP protokol počítačových sítí používaný pro automatické získávání IP adres z BOOTP serveru v lokální síti. To se obvykle získává během bootovacího procesu když se spouští počítač. BOOTP server přidělí každému klientovi IP adresu z databáze adres. BOOTP je definovaný v RFC 951.
BOOTP umožňuje bezdiskovým pracovním stanicím získat adresu, odkud mohou načíst zaváděcí soubor operačního systému. Původně byl používaný pro bezdiskové stanice Unix-like (díky kterému se tento protokol hodně používal k bootování) a také tento protokol začaly používat některé společnosti ve svých sítových klientech k automatickému nastavením sítě (např. Windows) při zapojení nového počítače do sítě.
Původně byl také tento protokol využíván pro první nastavení síťového spojení z diskety, byl též implementován do BIOSu některých sítových karet a také do mnoha základních desek, umožňujících přímé navázání spojení se sítí.
DHCP (Dynamic Host Configuration Protocol) je vyspělejší protokol založený na BOOTP, je také mnohem efektivnější při realizování spojení. Většina DHCP serverů nabízí i podporu BOOTP.
Princip
Administrátor sítě vytváří konfigurační soubor, kde nastaví parametry pro všechny 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šechny 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ě, adresnu 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 jenu 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).
Formát paketu
Počet oktetů | 1 | 1 | 1 | 1 | 4 | 2 | 2 | 4 | 4 | 4 | 4 | 16 | 64 | 128 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Význam pole | Operation | Hardware Typ | Hardware Lenght | Hops | Transaction ID | Seconds | Flags | Client IP Adress | Your Client IP Address | Server IP Address | Gateway IP Address | Clinet Hardware Adress | Server Host Name | File Name | Vendor Specific Area |
Operation - kód operace (BOOTREQUEST nebo BOOTREPLY)
Hardware Typ - typ hardwarové adresy
Hardware Lenght - délka hardwarové adresy
Transaction ID - ID transakce
Seconds - doba (sec.), která uplynula od začátku bootování
Flags - flagy
Client IP Adress - IP adresa klienta – pokud zná klient svou IP
Your Client IP Address - IP adresa klienta – na toto místo ji doplní server
Server IP Address - IP adresa serveru
Gateway IP Address - IP adresa Gate Way
Clinet Hardware Adress - hardwarová adresa klienta
Server Host Name - jméno serveru
File Name- jméno bootovacího souboru
Vendor Specific Area - další informace pro klienta (adresa DNS atd.)
Další protokoly
Externí odkazy
- Protokoly BOOTP a DHCP: http://technet2.microsoft.com/…
- DHCP, BOOTP: http://www.kasan.net/…