Zasada działania DHCP
DCHP - (ang. Dynamic Host Configuration Protocol – protokół dynamicznego konfigurowania węzłów). Jest to protokół, dzięki któremu każde urządzenie w sieci może dostać unikatowy adres IP, maskę sieci, bramę oraz adresy DNS od serwera DHCP.

Wielu z Was na pewno nieraz łączyło się z siecią, gdzie nie mieliście wpisanego w komputerze stałego adresu IP i komputer po włączeniu się pobierał adres IP. Wtedy właśnie działała komunikacja pomiędzy Twoim komputerem a serwerem DHCP. Po kolei, czyli jak to działa w praktyce:

Komputer się włącza i sprawdza swój protokół TCP/IP. Jeżeli ma ustawione, że ma pobrać adres automatycznie zaczyna się rozmowa z serwerem DHCP:

  • Komputer wysyła do wszystkich (komputery, drukarki, wszędzie gdzie tylko może), czyli na adres rozgłoszeniowy: 255.255.255.255 DHCPDISCOVER – odkrywanie DHCP
  • Następnie serwer DHCP, który dostał prośbę o przydzielenie IP wysyła również na adres rozgłoszeniowy DHCPOFFER – pakiet z konfiguracją jaką komputer powinien sobie przydzielić.
  • Klient wciąż jeszcze na adres rozgłoszeniowy wysyła DHCPREQUEST – jest to potwierdzenie klienta, że dany adres mu odpowiada i prośba o przydzielenie mu go.
  • Serwer odpowiada (wciąż na adres rozgłoszeniowy) DHCPACK – potwierdzenie, że transakcja została poprawnie przeprowadzona, że klient od tej pory może używać tego adresu IP, a sam serwer „skreśla” ten adres z puli dostępnych.

Od tej pory nasz komputer może używać tego adresu i komunikować się już bezpośrednio ze swojego adresu IP.

Czemu wciąż komputer z serwerem wysyłają swoje pakiety na adres rozgłoszeniowy? Otóż po włączeniu się komputera ma on adres IP: 0.0.0.0, czyli żadnego. Jedyną drogą na dotarcie do serwera DHCP jest rozesłanie pakietu do wszystkich. I tak samo serwer. Nie wie on dokładnie do którego komputera ma wysłać pakiet z odpowiedzią, więc wysyła do wszystkich. Urządzenia, które nie wysyłały pakietu DHCPDISCOVER odrzucają wszystkie paczki. Jest niestety jeden minus tego: Jeżeli w firmie mamy 1000 komputerów i każdy co chwila się łączy, inny rozłącza itd. powstaje strasznie duży ruch w sieci, który w większości, czyli dla tych 999 urządzeń jest niepotrzebny. Dobrym sposobem na zapobieganie takiego „zapychania” łącza jest ustawienie VLAN'ów. Dzięki nim odseparujemy od siebie urządzenia i nie będą wtedy wszystkie komputery dostawały zapytań na domenę rozgłoszeniową. Wiąże się to jednak z ustawieniem agentów serwera DHCP w każdym VLAN'ie lub skonfigurowanie mostków pomiędzy poszczególnymi VLAN'ami, a  serwerem DHCP.

Drugie pytanie, to skąd serwer DHCP wie jakie IP może, a jakiego nie może przydzielić danemu hostowi? Otóż serwery te mają zdefiniowane pule (zakres) z jakich mogą wydzierżawiać adresy IP. Przypisywanie dzieli się na 2 sposoby:
dynamiczne: Serwer przydziela pierwszy wolny adres IP z puli
ręczne: Serwer sprawdza, czy dany MAC adres klienta posiada wpis i czy do danego MAC adresu jest przypisany jakiś adres IP.

OK, nasz komputer ma już adres IP, sieć ładnie działa, lecz tak naprawdę to nie jest koniec komunikacji pomiędzy naszym komputerem a serwerem. Wraz z adresem IP serwer przydzielił również czas dzierżawy tego adresu. Czas dzierżawy administrator ustawia na serwerze w zależności od ilości komputerów oraz jak często i na jak długo podłączają się one do sieci. Czas dzierżawy jest podzielony na 2 zegary: T1 i T2. T1 to 50% całkowitego czasu dzierżawy. Po upływie czasu T1 klient wysyła DHCPREQUEST z prośbą o przedłużenie czasu dzierżawy. Serwer może odpowiedzieć pakietem DHCPACK potwierdzający przedłużenie czasu i zegar zostaje zresetowany. Może natomiast nastąpić tak, że serwer nie odpowie na pierwsze zapytanie, wtedy klient wysyła po czasie T2, czyli 87,5% czasu trwania dzierżawy ponownie DHCPREQUEST z prośbą o przedłużenie czasu trwanie dzierżawy. I znów serwer może odpowiedzieć lub nie. Jeśli natomiast nie odpowie, to klient musi rozpocząć całą procedurę uzyskania adresu IP od nowa.