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.
- 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 i docelowego adresu MAC . Źródłowy adres IP to . 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.
- 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.
- 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.
- 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:
- 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.
- 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.
- 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.