Zakres informacji przekazywanych przez opcje DHCP
Podstawową funkcją protokołu Dynamic Host Configuration Protocol (DHCP) jest automatyczne dostarczenie urządzeniu klienta parametrów konfiguracji sieciowej: adresu IP, maski podsieci, bramy domyślnej oraz adresu serwera DNS. Ten zestaw pozwala urządzeniu dołączyć do sieci i rozpocząć komunikację. Sieć może jednak wymagać dodatkowych danych, takich jak nazwa domeny, serwery czasu, parametry uruchamiania przez sieć albo adres kontrolera VoIP.
Komputer pracownika może potrzebować nazwy domeny firmy, adresów serwerów czasu, parametrów uruchamiania przez sieć w celu instalacji oprogramowania albo adresu kontrolera VoIP. Ręczne wpisywanie tych ustawień na każdym urządzeniu zwiększa nakład pracy i ryzyko pomyłki. DHCP udostępnia do tego celu .
Pole opcji jest obszarem o zmiennej długości w wiadomości DHCP. Przenosi standaryzowane parametry oraz dane specyficzne dla dostawcy. Kod opcji określa znaczenie danych, a długość pozwala klientowi odczytać wartość bez znajomości całej listy. Mechanizm rozszerza centralną konfigurację sieci o ustawienia wykraczające poza sam adres IP. Serwer umieszcza opcje w odpowiedzi, a klient interpretuje tylko kody, które zna i których potrzebuje.
Struktura opcji DHCP: kod, długość i wartość (TLV)
Pole opcji DHCP nie ma jednego zestawu pól o stałej długości. Zawiera sekwencję opcji. Dla większości z nich zastosowano schemat Kod, Długość, Wartość (TLV). Wyjątki stanowią kody Pad i End, które zajmują po jednym bajcie. Długość obejmuje wyłącznie dane Wartości, więc odbiorca może przejść do następnej opcji po odczytaniu wskazanej liczby bajtów.
- Tag (lub Kod)
- Kod jest pojedynczym bajtem o długości 8 bitów i identyfikuje opcję. Kod Maski Podsieci to , a kod serwerów DNS to . Klient na tej podstawie rozpoznaje znaczenie kolejnych danych.
- Długość
- Długość jest pojedynczym bajtem określającym liczbę bajtów pola Wartość. W ten sposób jedna opcja może zawierać dane o różnym rozmiarze, na przykład listę kilku adresów serwerów.
- Wartość
- Wartość zawiera dane opcji, a jej rozmiar wynika z bajtu Długość. Dla opcji Maski Podsieci długość wynosi , ponieważ maska IPv4 zajmuje cztery bajty. Przykładowa wartość to .
Specjalne Kody Opcji
Dwa specjalne kody nie mają pola Długość ani Wartość. Ich format wynika bezpośrednio z numeru kodu:
- Opcja wypełnienia (Pad, kod 0): Jest pojedynczym bajtem o wartości . Wypełnia miejsce między opcjami i nie zawiera pola długości ani wartości.
- Opcja końca (End, kod 255): Jest pojedynczym bajtem o wartości i oznacza koniec pola opcji. Dane po tym kodzie są ignorowane.
Najczęściej używane opcje DHCP
Internet Assigned Numbers Authority (IANA) prowadzi rejestr kodów opcji DHCP. Rejestr podaje nazwę opcji, format danych i dokument opisujący jej znaczenie. Poniżej opisano kody spotykane w typowej konfiguracji IPv4 oraz przykłady ich zastosowania.
Opcja 53: Typ Wiadomości DHCP
Opcja 53 musi występować w każdej wiadomości DHCP i określa jej typ. Serwer rozpoznaje dzięki niej odkrycie klienta, żądanie, potwierdzenie oraz pozostałe komunikaty. Długość tej opcji wynosi zawsze , a wartość jest kodem typu komunikatu.
- Wartość : DHCPDISCOVER
- Wartość : DHCPOFFER
- Wartość : DHCPREQUEST
- Wartość : DHCPDECLINE (Klient informuje serwer, że oferowany adres jest już w użyciu)
- Wartość : DHCPACK
- Wartość : DHCPNAK (Serwer informuje klienta, że jego dzierżawa jest nieprawidłowa)
- Wartość : DHCPRELEASE
- Wartość : DHCPINFORM
Niezbędne Parametry Sieciowe
- Opcja 1: Maska Podsieci
- Ta opcja dostarcza klientowi maskę podsieci IPv4 o długości 4 bajtów. Urządzenie porównuje maskę z adresem docelowym, aby ustalić, czy może wysłać pakiet bezpośrednio w lokalnym segmencie, czy powinno przekazać go do bramy domyślnej.
- Opcja 3: Router (Brama Domyślna)
- Ta opcja przekazuje adresy routerów używanych jako bramy domyślne. Długość jest wielokrotnością 4 bajtów, więc serwer może przekazać listę routerów. Sposób wyboru routera zależy od klienta, a sama opcja nie opisuje tras do wszystkich sieci.
- Opcja 6: Serwer Nazw Domenowych
- Dostarcza listę adresów IPv4 serwerów DNS używanych przez klienta do rozwiązywania nazw. Długość jest wielokrotnością 4 bajtów. Kilka adresów może zapewnić działanie rozwiązywania nazw po awarii jednego serwera.
# Przykładowy fragment konfiguracji serwera DHCP
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 1.1.1.1; - Opcja 15: Nazwa Domeny
- Ta opcja określa domenę używaną przez klienta przy rozwiązywaniu niekwalifikowanych nazw hostów. Jeżeli serwer przekaże 'firma.example.pl', konfiguracja resolvera może uzupełnić nazwę 'serwer1' do 'serwer1.firma.example.pl'. Zachowanie zależy od ustawień resolvera po stronie klienta.
Opcje Zarządzania Czasem Dzierżawy
- Opcja 51: Czas Dzierżawy Adresu IP
- Ta opcja określa całkowity czas dzierżawy adresu IP w sekundach i ma postać 32-bitowej liczby całkowitej bez znaku. Klient używa tej wartości do wyznaczenia terminów odnowienia, a serwer prowadzi na jej podstawie stan dzierżawy.
- Opcja 58: Czas Odnowienia (T1)
- Ta opcja określa czas w sekundach, po którym klient przechodzi do stanu ODNAWIANIA. RFC 2131 podaje wartość domyślną równą 50% czasu dzierżawy, gdy serwer nie przekazał własnej wartości. Klient wysyła wtedy DHCPREQUEST unicast do serwera wskazanego jako pierwotny. Serwer może ustawić inną wartość odpowiednią dla swojej polityki dzierżaw.
- Opcja 59: Czas Ponownego Powiązania (T2)
- Ta opcja określa czas w sekundach, po którym klient przechodzi do stanu PONOWNEGO POWIĄZANIA. RFC 2131 podaje wartość domyślną równą 87,5% czasu dzierżawy, gdy serwer nie przekazał własnej wartości. Jeżeli odnowienie u pierwotnego serwera się nie powiedzie, klient wysyła DHCPREQUEST jako broadcast lub przez agenta przekazującego, aby znaleźć dostępny serwer. Do końca dzierżawy klient może otrzymać DHCPACK od dowolnego serwera obsługującego tę podsieć.
Lista żądanych parametrów (opcja 55)
Klient DHCP może jawnie wskazać parametry konfiguracyjne, których potrzebuje. Służy do tego opcja 55: lista żądanych parametrów.
W komunikacie DHCPDISCOVER lub DHCPREQUEST klient dołącza opcję 55 z listą kodów. Przykładowa lista oznacza żądanie maski podsieci, routera, serwerów DNS, nazwy domeny i serwerów NTP. Kolejność kodów może wyrażać preferencje klienta.
Serwer DHCP sprawdza listę i może zwrócić wartości obsługiwanych opcji w odpowiedziach DHCPOFFER i DHCPACK. Lista pomaga ograniczyć przekazywanie parametrów, których klient nie zażądał, lecz serwer nie musi zwrócić każdej wskazanej opcji. Klient powinien być przygotowany na brak części wartości albo na otrzymanie opcji w innym układzie.
Opcje uruchamiania sieciowego i dane dostawcy
DHCP zawiera opcje przeznaczone do określonych zastosowań, w tym uruchamiania sieciowego i przekazywania danych zależnych od dostawcy.
Opcje do Uruchamiania Sieciowego (PXE)
pozwala komputerowi uruchomić oprogramowanie i załadować system operacyjny z sieci. DHCP przekazuje wtedy adres klienta oraz parametry potrzebne do znalezienia pliku startowego.
- Opcja 66: nazwa serwera TFTP: Klient PXE pobiera adres IP przez DHCP. Opcja 66 przekazuje nazwę serwera Trivial File Transfer Protocol (TFTP), z którego klient może pobrać plik. Znaczenie tego pola dotyczy nazwy serwera, a pozostałe parametry PXE zależą od klienta i środowiska rozruchowego.
- Opcja 67: nazwa pliku uruchomieniowego: Opcja 67 określa nazwę pliku startowego, na przykład 'pxelinux.0' lub 'bootx64.efi', który klient pobiera z serwera TFTP.
Opcja 43: Informacje Specyficzne dla Dostawcy
Jeden standardowy kod nie opisze każdej konfiguracji urządzeń. Opcja 43 jest kontenerem na informacje specyficzne dla dostawcy. Jej zawartość może mieć własny układ podopcji opisany przez producenta. Opcja nie ma uniwersalnego znaczenia poza przenoszeniem danych zdefiniowanych przez dostawcę.
W sieci firmowej punkt dostępowy Wi-Fi firmy Cisco lub Ubiquiti może otrzymać adres kontrolera bezprzewodowego w podopcji dostawcy umieszczonej w opcji 43. Urządzenie może wtedy znaleźć kontroler i rozpocząć rejestrację zgodnie z dokumentacją danego producenta.