DHCP – Dynamic Host Configuration Protocol
DHCP (ang. Dynamic Host Configuration Protocol) jest protokołem sieciowym używanym do automatycznego przydzielania konfiguracji warstwy TCP/IP hostom w sieci IP. Dzięki DHCP administratorzy sieci mogą zredukować ręczną konfigurację adresów IP, masek podsieci, bram domyślnych, serwerów DNS oraz innych parametrów niezbędnych do komunikacji w sieci.
Historia
Protokół został opracowany w latach 90. XX wieku w ramach prac nad standaryzacją RFC 2131 (1997) oraz RFC 2132 (1997). Wcześniej podobne funkcje realizowano przy pomocy protokołu BOOTP (BOOTP), jednak DHCP wprowadził większą elastyczność i skalowalność.
Podstawowe zasady działania
DHCP działa w modelu klient‑serwer, w którym:
- Klient (np. komputer, smartfon, drukarka) wysyła zapytanie DHCPDISCOVER na adres broadcast.
- Serwer DHCP odbiera zapytanie i odpowiada komunikatem DHCPOFFER, proponując dostępny adres IP oraz dodatkowe opcje.
- Klient akceptuje ofertę, wysyłając komunikat DHCPREQUEST.
- Serwer potwierdza przydział, przesyłając DHCPACK. Po jego otrzymaniu klient może używać przydzielonego adresu.
Cały proces odbywa się zwykle w czasie krótkim (kilka sekund) i odbywa się w warstwie modelu warstwy OSI – warstwa aplikacji, korzystając z protokołu UDP (porty 67 i 68).
Kluczowe elementy
- Serwer DHCP – oprogramowanie lub urządzenie (np. router) zarządzające pulą adresów i opcjami.
- Klient DHCP – oprogramowanie wbudowane w system operacyjny, które inicjuje uzyskanie konfiguracyjnych parametrów.
- Pula adresów – zbiór adresów IP, które serwer może przydzielać. Zazwyczaj definiowana jest jako zakres (range).
- Rezerwacje – przypisanie stałego adresu IP do konkretnego adresu MAC klienta.
- Opcje DHCP – dodatkowe informacje (np. serwery NTP, domena wyszukiwania, parametry PXE).
Wersje i rozszerzenia
Podstawowa specyfikacja opisuje DHCP dla protokołu IPv4. Dla IPv6 istnieje odrębny protokół – DHCPv6, określony w RFC 3315. Inne rozszerzenia obejmują:
- DHCP Relay Agent – umożliwia przekazywanie komunikatów DHCP pomiędzy różnymi podsieciami.
- DHCP Options 43, 66, 67 – wykorzystywane w implementacjach PXE i w sieciach VoIP.
- DHCP Failover – mechanizm zapewniający wysoką dostępność serwerów DHCP.
Bezpieczeństwo
Standardowy DHCP nie posiada wbudowanych mechanizmów uwierzytelniania, co może prowadzić do ataków typu DHCP spoofing lub rogue DHCP server. W praktyce stosuje się:
- Filtrację adresów MAC na przełącznikach (port security).
- Wykorzystanie protokołu IEEE 802.1X w połączeniu z serwerem DHCP.
- Rozszerzenia Secure DHCP (RFC 3118) oraz IPsec do szyfrowania wymiany komunikatów.
Implementacje
DHCP jest obsługiwany przez większość systemów operacyjnych:
- Microsoft Windows – usługa DHCP Client i DHCP Server.
- Linux – demony dhcpd (ISC), dnsmasq, systemd-networkd.
- macOS – wbudowany klient DHCP.
- Urządzenia sieciowe (routery, przełączniki) – np. Cisco, MikroTik, Ubiquiti.
Zobacz także
BOOTP • IP • Model warstwy OSI • UDP • RFC 2131 • DHCPv6 • PXE • NTP • IEEE 802.1X