Działanie DHCP

1. Działanie DHCP

Sieci podlegają stałym przemianom – przybywa nowych komputerów, mobilni użytkownicy logują się i wylogowują. Ręczna konfiguracja sieci wymagałaby nieprawdopodobnego nakładu pracy. Protokół DHCP (Dynamic Host Configuration Protocol) rozwiązuje ten problem poprzez dynamiczne przydzielanie adresów IP.

W sieci opartej na protokole TCP/IP każdy komputer ma co najmniej jeden adres IP i jedną maskę podsieci; dzięki temu może się komunikować z innymi urządzeniami w sieci. Centralne przydzielanie adresów za pomocą wydzielonego komputera opłaca się już w małej sieci. Administrator uzyskuje w ten sposób kilka korzyści od razu. Konserwacja sieci wymaga mniej czasu, ponieważ odpadają manipulacje przy poszczególnych klientach. Konflikty adresów należą do przeszłości, ponieważ serwer DHCP steruje centralnie przydzielaniem adresów IP.

Protokół DHCP opiera się na protokole BOOTP (Bootstrap Protocol), jednak w stosunku do niego zawiera wiele ulepszeń. Niewątpliwie najbardziej interesującym jest dynamiczne przydzielanie adresów IP. Serwer DHCP korzysta przy tym z predefiniowanego obszaru adresowego i przydziela kolejnym klientom, które o to występują, adres IP na określony czas (lease). W czasie trwania okresu lease klient DHCP nie występuje do serwera DHCP podczas startu systemu o nowy adres, a jedynie żąda potwierdzenia istniejącego stanu lease. Protokół DHCP minimalizuje również możliwe źródła błędów. Na życzenie podaje, oprócz adresu IP, również inne parametry, jak choćby standardowa brama, czy adresy serwerów nazw. Specyfikacja techniczna protokołu DHCP zawarta jest w RFC 2131.

2. Proces DHCP

Rys.: Proces DHCP

Rys.: Proces DHCP
Źródło: „PC World Komputer PRO”. Nr 3/2003

Już uproszczony opis przydzielania adresów unaocznia cykliczny charakter interakcji między klientem a serwerem. Cały proces uzgadniania i przydzielania jest czteroetapowy.

Ujawnienie DHCP (Discover)
Klient protokołu DHCP emituje pakiet żądania konfiguracji DHCPDISCOVER, dostarczając swój adres MAC oraz nazwę hosta. Jeżeli dany klient miał wcześniej przydzielony adres IP, to wysyła również tę informację w polu opcji żądany adres. W ten sposób klient często utrzymuje ten sam adres, nawet jeżeli został wyłączony na dłużej niż czas trwania jego dzierżawy.
Oferta DHCP
Każdy serwer DHCP otrzymujący żądanie odpowiada pakietem emisji DHCPOFFER, zawierającym oferowany adres IP (jeżeli ma jeden lub więcej nieprzydzielonych) oraz jego własny adres IP. Serwery DHCP na dalekim końcu routera mogą odpowiadać na emisję DHCPDISCOVER pod warunkiem, że router ma włączone przesyłanie ruchu emisji DHCP.
Żądanie DHCP (Request)
To kolejny pakiet również wysyłany przez klienta jako rozgłoszenie. Powodem takiego postępowania jest potrzeba powiadomienia jednego serwera o przyjęciu oferty i, jednocześnie, wszystkich pozostałych o jej odrzuceniu. W przypadku odebrania wielu ofert DCHP, proces podejmowania decyzji przez klienta firmy Microsoft przebiega następująco:

  • klient DHCP przyjmuje ofertę z serwera, który przydzielał adres IP używany ostatnio,
  • jeżeli serwer przydzielający wcześniejszy adres nie odpowiada, przyjmowana jest pierwsza oferta odebrana.
Potwierdzenie DHCP
Serwer DHCP oficjalnie przydziela żądany adres klientowi w pakiecie emisji DHCPACK. Pakiet zawiera również podane w żądaniu parametry opcjonalne, długość całkowitego okresu dzierżawy adresu oraz okresów jego odnawiania. Serwer przechowuje te informacje w swojej bazie danych jako przydzieloną dzierżawę.

3. Odświeżanie (odnawianie) DHCP

Nieodłącznym elementem przydzielenia klientowi adresu IP przez serwer DHCP jest przyznanie dodatkowo tzw. czasu użytkowania (lease). Określa on czas ważności ustawień. W tle pracują dwa zegary – T1 odmierza połowę czasu użytkowania, zaś T2 – 87,5 procent pełnego czasu użytkowania. Obie wartości można zmienić w opcjonalnych ustawieniach serwera DHCP – jeśli takie funkcje zostały zaimplementowane. Po upływie czasu T1 klient wysyła komunikat DHCPREQUEST do serwera i pyta, czy serwer może przedłużyć czas użytkowania. Stan ten określa się jako renewing status. Z reguły serwer odpowiada wiadomością DHCPACK i przydziela nowy czas użytkowania. Serwer resetuje wówczas zegary T1 i T2.

Jeżeli po upływie czasu T2 klient nie otrzyma wiadomości DHCPACK, rozpoczyna się tak zwany rebinding status. Klient musi wysłać komunikat DHCPREQUEST, żeby uzyskać przedłużenie czasu użytkowania. Serwer może odpowiedzieć na to żądanie potwierdzeniem DHCPACK. Jeżeli jednak i to żądanie pozostanie bez odpowiedzi, klient musi zażądać nowego adresu IP. Wkracza wówczas ponownie opisany na początku mechanizm, który rozsyła zapytania do wszystkich serwerów DHCP w sieci.

4. Obszar adresowania a czas użytkownika

Zanim serwer DHCP będzie w ogóle mógł zacząć przydzielać klientom adresy IP, musi zostać wyposażony w informacje na temat przewidzianego do tych celów obszaru adresowego (rangę). Obszar adresowy jest zdefiniowany poprzez adres początkowy i końcowy. W zależności od implementacji mogą też być obszary wykluczone, a więc takie, których serwer nie może przydzielać. Gwarantuje to bezkolizyjne współistnienie w sieci adresów stałych i dynamicznie przydzielanych. Czas użytkowania określany jest zwykle w dniach, godzinach i minutach. Nie ma w tym względzie żadnej złotej reguły. Parametr ten, jeśli w ogóle jest zaimplementowany w poszczególnych produktach, musi uwzględniać obciążenie serwera, zachowanie klientów i stabilność sieci. Decydujące znaczenie ma liczba potencjalnych klientów. Reguła brzmi: czas użytkowania powinien być dwukrotnie dłuższy niż czas potrzebny do przywrócenia pracy serwera w razie jego awarii. W przypadku długiego czasu użytkowania, odpowiednio później uwzględniane są zmiany opcji DHCP po stronie klientów.

Literatura

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.