Usługi

Dynamic Host Configuration Protocol (DHCP)

Automatyczne przydzielanie adresów IP i innych parametrów sieciowych hostom.

Wymagane parametry konfiguracji IP

Urządzenie komunikujące się w sieci IP potrzebuje zestawu parametrów konfiguracji. Jednym z nich jest unikalny . W IPv4 urządzenie potrzebuje także 32-bitowej oraz adresu , zwykle routera przekazującego ruch do innych sieci. Potrzebny jest także adres do rozwiązywania nazw domen.

W małej, statycznej sieci administrator może skonfigurować te parametry ręcznie. Jest to statyczne adresowanie IP. W biurze, na kampusie uniwersyteckim albo w publicznej sieci Wi-Fi urządzenia stale dołączają do sieci i ją opuszczają. Ręczne przydzielanie i śledzenie adresów w celu uniknięcia konfliktów wymaga pracy i łatwo prowadzi do błędów. Użytkownik końcowy nie powinien wpisywać tych parametrów przy każdym połączeniu telefonu lub laptopa z nową siecią.

Do automatycznego przekazywania tych parametrów służy . Protokół używa UDP, a komunikaty klienta i serwera korzystają odpowiednio z portów 68 i 67. DHCPv4 przenosi parametry w nagłówku zgodnym z formatem BOOTP oraz w zmiennym polu opcji.

DHCP jako protokół automatycznej konfiguracji

DHCP jest protokołem warstwy aplikacji, który automatyzuje konfigurację urządzeń w sieci IP. Serwer DHCP przydziela adresy IP oraz inne parametry w chwili dołączenia urządzenia do sieci. Klient korzysta z otrzymanej dzierżawy i może odnowić ją przed upływem określonego czasu. Serwer utrzymuje powiązanie adresu z klientem, czas dzierżawy oraz parametry przekazywane w odpowiedzi. Powiązanie łączy adres z identyfikatorem klienta i zakresem sieci, co pomaga serwerowi wybrać właściwą pulę.

Urządzenie żądające konfiguracji nazywa się klientem DHCP. System przydzielający konfigurację to serwer DHCP. W sieci domowej router często pełni rolę bramy domyślnej i serwera DHCP. W większej sieci serwer może działać jako dedykowana usługa, a komunikaty z innych podsieci obsługuje agent przekazujący.

Podstawowe Korzyści z Użycia DHCP

  • Scentralizowane zarządzanie i automatyzacja: DHCP pozwala administratorowi konfigurować pulę adresów i parametry klientów z jednego serwera. Zmiana ustawień może wtedy objąć wiele urządzeń, a serwer rejestruje przydzielone powiązania.
  • Dynamiczne adresowanie IP: Serwer przydziela lub dzierżawi adresy IP z określonej puli. Po zakończeniu dzierżawy adres może wrócić do puli i zostać przydzielony innemu urządzeniu, zgodnie ze stanem serwera. Klient nie powinien używać adresu poza okresem jego ważności.
  • Redukcja błędów: Automatyzacja ogranicza błędy ręcznej konfiguracji, takie jak literówki i konflikty adresów IP. Konflikt występuje, gdy dwa urządzenia używają tego samego adresu w jednej sieci. Serwer może sprawdzać stan puli i reagować na zgłoszenie zajętego adresu.
  • Mobilność i łatwość użycia: Połączenie laptopa lub telefonu z nową siecią może uruchomić automatyczną konfigurację DHCP. Użytkownik otrzymuje parametry bez ręcznego wpisywania adresu, maski i serwerów. Proces działa także wtedy, gdy urządzenie zmienia punkt dostępowy albo podsieć, o ile nowa sieć udostępnia usługę DHCP.

Proces DORA: cztery komunikaty DHCP

Typowa początkowa konfiguracja klienta obejmuje czterostopniową wymianę komunikatów. Jej nazwa DORA pochodzi od słów Discover, Offer, Request i Acknowledge. Wymiana może przebiegać bezpośrednio w podsieci albo za pośrednictwem agenta przekazującego. Komunikaty zawierają identyfikator transakcji, dzięki któremu klient łączy odpowiedź z własnym żądaniem.

  1. D - Discover (odkrycie klienta)

    Gdy klient dołącza do sieci i nie ma jeszcze adresu IP, wysyła komunikat DHCPDISCOVER w celu znalezienia serwera. W bezpośrednio przyłączonej sieci używa docelowego adresu IP 255.255.255.255255.255.255.255 i docelowego adresu MAC FF:FF:FF:FF:FF:FFFF:FF:FF:FF:FF:FF. Źródłowy adres IP to 0.0.0.00.0.0.0. Wiadomość zawiera identyfikator transakcji, adres sprzętowy klienta oraz flagi określające sposób dostarczenia odpowiedzi. Jeżeli w segmencie działa agent przekazujący, broadcast klienta trafia do tego agenta.

  2. O - Offer (oferta serwera)

    Serwer DHCP, który otrzyma DHCPDISCOVER bezpośrednio albo przez agenta, może odpowiedzieć komunikatem DHCPOFFER. Oferta wiąże proponowany adres z identyfikatorem transakcji i zawiera konfigurację, która może obejmować następujące parametry. Serwer może przekazać tylko część wartości, jeżeli pozostałe są znane klientowi lub wynikają z jego konfiguracji:

    • Dostępny adres IP z puli serwera.
    • Maskę podsieci dla tej sieci.
    • Adres bramy domyślnej (routera).
    • Adres serwera DNS.
    • Czas dzierżawy: czas, przez który klient może używać tego adresu IP.

    Sposób dostarczenia oferty zależy od pola flags, adresów w wiadomości i obecności agenta przekazującego. Wartości muszą pasować do podsieci oraz polityki przydziału serwera. W sieci z wieloma serwerami klient może otrzymać kilka ofert i porównuje je przed wskazaniem wybranego serwera w komunikacie DHCPREQUEST.

  3. R - Request (żądanie klienta)

    Klient wybiera ofertę zgodnie z własną polityką i wysyła DHCPREQUEST. W początkowej wymianie komunikat jest rozgłaszany, zawiera identyfikator wybranego serwera oraz żądany adres IP. Może również zawierać identyfikator klienta i listę żądanych parametrów. Pozostałe serwery widzą, że ich oferty nie zostały wybrane i mogą zwolnić proponowane adresy. Ten sam komunikat służy także do odnowienia dzierżawy, lecz wtedy klient może wysłać go unicastem.

  4. A - Acknowledge (potwierdzenie serwera)

    Wybrany serwer odpowiada komunikatem DHCPACK. Potwierdza on adres IP, pozostałe parametry oraz czas dzierżawy. Serwer zapisuje powiązanie klienta z adresem w swoim stanie przydziałów. Klient może wtedy używać konfiguracji, a adres pozostaje niedostępny dla innych przydziałów zgodnie z polityką serwera i czasem dzierżawy. Jeżeli konfiguracja jest nieprawidłowa dla podsieci, serwer może odpowiedzieć DHCPNAK. Klient musi wtedy przestać używać tej konfiguracji i rozpocząć ponowne wyszukiwanie.

Zarządzanie Dzierżawą DHCP

DHCP przydziela adresy IP na określony czas, zwany . Klient musi odnowić dzierżawę przed jej wygaśnięciem, a serwer na tej podstawie zarządza stanem puli adresów. Wartość czasu dzierżawy jest przekazywana w opcji DHCP 51, a opcje 58 i 59 mogą określać czasy T1 i T2.

Proces Odnawiania Dzierżawy

Jeżeli klient ma nadal używać adresu IP, przed wygaśnięciem dzierżawy rozpoczyna jej odnowienie. Typowy klient wykonuje te czynności automatycznie:

  1. Licznik T1 (odnowienie): Gdy klient osiągnie T1, zwykle ustawiony domyślnie na połowę czasu dzierżawy, wysyła DHCPREQUEST unicast do serwera, który udzielił dzierżawy. Prosi w ten sposób o przedłużenie bieżącego powiązania.
  2. Potwierdzenie serwera: Jeżeli serwer odpowie DHCPACK, klient aktualizuje czas dzierżawy i zachowuje konfigurację. Odpowiedź może również zawierać nowe parametry przekazane przez opcje DHCP.
  3. Licznik T2 (ponowne powiązanie): Jeżeli klient nie otrzyma odpowiedzi do T2, domyślnie 87,5% czasu dzierżawy, przechodzi do stanu "ponownego powiązania". Wysyła DHCPREQUEST jako broadcast lub przez agenta, aby uzyskać odpowiedź od dowolnego dostępnego serwera.

Wygaśnięcie i Zwolnienie Dzierżawy

Jeżeli klient nie odnowi dzierżawy przed jej wygaśnięciem, przestaje używać adresu i przechodzi do ponownego uzyskiwania konfiguracji. Może rozpocząć proces DORA, aby otrzymać nowy adres. Serwer odzyskuje wtedy adres zgodnie ze swoim stanem dzierżaw. Komunikacja z poprzednim adresem powinna zostać zakończona przed użyciem nowej konfiguracji. Inne lokalne ustawienia mogą pozostać aktywne podczas oczekiwania na nową dzierżawę.

Klient, który kończy korzystanie z sieci, może wysłać do serwera komunikat DHCPRELEASE. Informuje on serwer, że klient zwalnia adres IP. Serwer może wtedy oznaczyć adres jako dostępny bez oczekiwania na koniec dzierżawy i przydzielić go kolejnemu klientowi.

Zaawansowane Koncepcje DHCP

Proces DORA opisuje początkową konfigurację klienta. DHCP zawiera także funkcje potrzebne w routowanych sieciach, przy rezerwacji adresów i przy przekazywaniu dodatkowych parametrów. Te funkcje wykorzystują te same wiadomości oraz pola nagłówka, lecz zmieniają sposób wyboru serwera i puli.

Agent Przekazujący DHCP (DHCP Relay Agent)
Komunikaty DHCPDISCOVER są rozgłoszeniami ograniczonymi do lokalnego segmentu i router nie przekazuje ich jako zwykłego ruchu IP. Wiele podsieci może jednak korzystać z jednego serwera. Służy do tego .

Router lub dedykowany serwer nasłuchuje żądań klientów i przekazuje komunikat do serwera DHCP na port serwera. Ustawia pole giaddr, a opcjonalnie dodaje opcję Relay Agent Information. Serwer używa informacji o interfejsie lub podsieci do wyboru właściwej puli. Odpowiedź wraca przez agenta do klienta, który otrzymuje ją na porcie klienta.

Rezerwacje Adresów
Administrator może utworzyć rezerwację adresu dla drukarki, serwera albo innego urządzenia. Rezerwacja wiąże identyfikator klienta, często adres MAC lub opcję Client Identifier, z określonym adresem IP w konfiguracji serwera. Gdy klient zgłosi się z tym identyfikatorem, serwer może zaproponować przypisany adres. Rozwiązanie łączy centralne zarządzanie z przewidywalnością adresu, jednak identyfikator musi odpowiadać konfiguracji klienta.
Opcje DHCP
Protokół DHCP można rozszerzać za pomocą opcji. Pole opcji o zmiennej długości przenosi parametry poza adresem IP, maską, bramą i DNS. Administrator może przekazać nazwę domeny, adres serwera NTP (Network Time Protocol), adres serwera TFTP dla rozruchu sieciowego oraz ustawienia specyficzne dla dostawcy. Szczegóły kodów opisuje rejestr IANA i odpowiednie dokumenty. Klient może wskazać oczekiwane opcje przez listę żądanych parametrów. Urządzenie z już skonfigurowanym adresem może użyć DHCPINFORM do pobrania opcji bez żądania dzierżawy.

Powiązane artykuły