Protokół dynamicznej konfiguracji hosta to protokół sieciowy używany do automatyzacji procesu przypisywania adresów IP i innych parametrów konfiguracji sieci do urządzeń (takich jak komputery, smartfony i drukarki) w sieci.
Co to jest DHCP?
DHCP oznacza protokół dynamicznej konfiguracji hosta. Jest to najważniejsza funkcja, za pomocą której komunikują się użytkownicy sieci korporacyjnej. DHCP pomaga przedsiębiorstwom sprawnie zarządzać alokacją Adresy IP do urządzeń klientów końcowych, takich jak komputery stacjonarne, laptopy, telefony komórkowe itp. to protokół warstwy aplikacji, który służy do zapewnienia:
Subnet Mask (Option 1 - e.g., 255.255.255.0) Router Address (Option 3 - e.g., 192.168.1.1) DNS Address (Option 6 - e.g., 8.8.8.8) Vendor Class Identifier (Option 43 - e.g., 'unifi' = 192.168.1.9 ##where unifi = controller)>
DHCP opiera się na modelu klient-serwer i na podstawie odkrycia, oferty, żądania i potwierdzenia.
Dlaczego warto używać DHCP?
DHCP pomaga w automatycznym i centralnym zarządzaniu całym procesem. DHCP pomaga w utrzymaniu unikalnego adresu IP hosta korzystającego z serwera. Serwery DHCP przechowują informacje o konfiguracji protokołu TCP/IP i udostępniają konfigurację adresów klientom obsługującym DHCP w formie oferty dzierżawy.
programy w Pythonie
Składniki DHCP
Do głównych komponentów protokołu DHCP zaliczają się:
- DHCP serwer: Serwer DHCP to serwer przechowujący adresy IP i inne informacje związane z konfiguracją.
- Klient DHCP: Jest to urządzenie odbierające informacje konfiguracyjne z serwera. Może to być telefon komórkowy, laptop, komputer lub inne urządzenie elektroniczne wymagające połączenia.
- Przekaźnik DHCP: Przekaźniki DHCP zasadniczo działają jako kanał komunikacyjny pomiędzy klientem DHCP a serwerem.
- Pula adresów IP: Jest to pula lub kontener adresów IP posiadanych przez serwer DHCP. Posiada zakres adresów, które można przypisać urządzeniom.
- Podsieci: Podsieci to mniejsze części sieci IP podzielone na partycje w celu utrzymania sieci pod kontrolą.
- Wynajem: Jest to po prostu czas, przez który ważna jest informacja otrzymana z serwera, w przypadku wygaśnięcia umowy najmu najemca będzie musiał ponownie przypisać umowę najmu.
- Serwery DNS: Serwery DHCP mogą również zapewniać DNS (system nazw domenowych) informacje o serwerze klientom DHCP, umożliwiając im tłumaczenie nazw domen na adresy IP.
- Brama domyślna: Serwery DHCP mogą również udostępniać informacje o bramie domyślnej, czyli urządzeniu, do którego wysyłane są pakiety, gdy miejsce docelowe znajduje się poza siecią lokalną.
- Opcje: Serwery DHCP mogą udostępniać klientom dodatkowe opcje konfiguracyjne, takie jak maska podsieci, nazwa domeny i informacje o serwerze czasu.
- Odnowienie: Klienci DHCP mogą zażądać odnowienia dzierżawy przed jej wygaśnięciem, aby mieć pewność, że nadal mają ważny adres IP i informacje konfiguracyjne.
- Przełączanie awaryjne: Serwery DHCP można skonfigurować do przełączania awaryjnego, gdzie dwa serwery współpracują ze sobą, aby zapewnić redundancję i zapewnić, że klienci zawsze będą mogli uzyskać adres IP i informacje konfiguracyjne, nawet jeśli jeden z serwerów ulegnie awarii.
- Aktualizacje dynamiczne: Serwery DHCP można także skonfigurować tak, aby dynamicznie aktualizowały rekordy DNS o adresy IP klientów DHCP, co pozwala na łatwiejsze zarządzanie zasobami sieciowymi.
- Rejestrowanie audytu: Serwery DHCP mogą prowadzić dzienniki audytu wszystkich transakcji DHCP, zapewniając administratorom wgląd w to, które urządzenia używają jakich adresów IP oraz kiedy przypisywane lub odnawiane są umowy dzierżawy.
| Kod operacji Typ sprzętu Długość sprzętu Liczba przeskoków |
| Identyfikator przejścia |
| Liczba sekund Flagi |
| Adres IP klienta |
| Twój adres IP |
| Adres IP serwera |
| Adres IP bramy |
| Adres sprzętowy klienta (16 bajtów) |
| Nazwa serwera (64 bajty) |
| Nazwa pliku rozruchowego (128 bajtów) |
| Opcje ( Zmienna długość) |
Rys. Format pakietu DHCP
- Długość sprzętu: Jest to 8-bitowe pole określające długość adresu fizycznego w bajtach. np. dla Ethernetu wartość wynosi 6.
- Licznik skoków: Jest to 8-bitowe pole określające maksymalną liczbę przeskoków, jakie może pokonać pakiet.
- Identyfikator transakcji: Jest to 4-bajtowe pole zawierające liczbę całkowitą. Identyfikator transakcji jest ustalany przez klienta i służy do dopasowania odpowiedzi do żądania. Serwer zwraca tę samą wartość w swojej odpowiedzi.
- Liczba sekund: Jest to 16-bitowe pole wskazujące liczbę sekund, które upłynęły od chwili rozpoczęcia uruchamiania klienta.
- Flaga: Jest to pole 16-bitowe, w którym używany jest tylko lewy bit, a reszta bitu powinna być ustawiona na os. Bit skrajnie lewy określa wymuszoną odpowiedź rozgłoszeniową z serwera. Jeśli odpowiedź miałaby zostać wysłana pojedynczo do klienta, miejsce docelowe. Adres IP pakietu IP to adres przypisany klientowi.
- Adres IP klienta: Jest to 4-bajtowe pole zawierające adres IP klienta. Jeśli klient nie posiada tych informacji, pole to ma wartość 0.
- Twój adres IP: Jest to 4-bajtowe pole zawierające adres IP klienta. Wypełniany jest przez serwer na żądanie klienta.
- Adres IP serwera: Jest to 4-bajtowe pole zawierające adres IP serwera. Jest on wypełniany przez serwer w wiadomości zwrotnej.
- Adres IP bramy: Jest to 4-bajtowe pole zawierające adres IP routera. IT jest wypełniany przez serwer w wiadomości zwrotnej.
- Adres sprzętowy klienta: To jest adres fizyczny klienta. Chociaż serwer może pobrać ten adres z ramki wysłanej przez klienta, bardziej wydajne jest, jeśli adres zostanie podany jawnie przez klienta w komunikacie żądania.
- Nazwa serwera: Jest to 64-bajtowe pole, które opcjonalnie wypełnia serwer w pakiecie odpowiedzi. Zawiera ciąg znaków zakończony znakiem null, składający się z nazwy domeny serwera. Jeżeli serwer nie chce zapełniać tego pola danymi, serwer musi wypełnić je samymi zerami.
- Nazwa pliku rozruchowego: Jest to 128-bajtowe pole, które opcjonalnie może zostać wypełnione przez serwer w pakiecie odpowiedzi. Zawiera ciąg znaków zakończony znakiem null, składający się z pełnej nazwy ścieżki pliku startowego. Klient może użyć tej ścieżki do pobrania innych informacji rozruchowych. Jeśli serwer nie chce wypełniać tego pola danymi, serwer musi wypełnić je samymi zerami.
- Opcje: Jest to 64-bajtowe pole o podwójnym przeznaczeniu. Dział IT może przenosić dodatkowe informacje lub określone informacje o dostawcy. Pole wykorzystywane jest wyłącznie w odpowiedzi na wiadomość. Serwer wykorzystuje liczbę zwaną magicznym plikiem cookie w formacie adresu IP o wartości 99.130.83.99. Kiedy klient kończy czytać wiadomość, szuka tego magicznego pliku cookie. Jeśli są obecne, następne 60 bajtów to opcje.
Działanie DHCP
DHCP działa w warstwie aplikacji protokołu TCP/IP. Głównym zadaniem DHCP jest dynamiczne przydzielanie adresów IP Klientom oraz przydzielanie Klientom informacji o konfiguracji protokołu TCP/IP. Więcej informacji można znaleźć w artykule Działanie DHCP .
DHCP numer portu dla serwera wynosi 67, a dla klienta 68. Jest to protokół klient-serwer, którego używa usługi UDP . Adres IP przypisywany jest z puli adresów. W DHCP klient i serwer wymieniają głównie 4 komunikaty DHCP w celu nawiązania połączenia, tzw DORA proces, ale w procesie znajduje się 8 komunikatów DHCP.
sortowanie przez wybór w Javie

Działanie DHCP
8 komunikatów DHCP
1. Komunikat o wykryciu DHCP: Jest to pierwszy komunikat generowany w procesie komunikacji pomiędzy serwerem a klientem. Ta wiadomość jest generowana przez hosta Klienta w celu sprawdzenia, czy w sieci jest jakiś serwer/serwery DHCP. Ta wiadomość jest rozsyłana do wszystkich urządzeń znajdujących się w sieci w celu znalezienia serwera DHCP. Ta wiadomość ma długość 342 lub 576 bajtów

Komunikat o wykryciu DHCP
Jak pokazano na rysunku, źródło Adres MAC (komputer kliencki) to 08002B2EAF2A, docelowy adres MAC (serwer) to FFFFFFFFFFFF, źródłowy adres IP to 0.0.0.0 (ponieważ komputer nie miał do tej pory adresu IP), a docelowy adres IP to 255.255.255.255 (używany adres IP do nadawania). Gdy odkryją, że wiadomość jest rozgłaszana w celu znalezienia serwera lub serwerów DHCP w sieci, używany jest rozgłoszeniowy adres IP i adres MAC.
2. DHCP wyświetla komunikat: Serwer odpowie hostowi w tej wiadomości, podając niewydzierżawiony adres IP i inne informacje o konfiguracji protokołu TCP. Ta wiadomość jest nadawana przez serwer. Rozmiar wiadomości wynosi 342 bajty. Jeśli w sieci znajduje się więcej niż jeden serwer DHCP, host klienta zaakceptuje pierwszy otrzymany komunikat DHCP OFERTA. Ponadto w pakiecie podany jest identyfikator serwera w celu identyfikacji serwera.

Komunikat oferty DHCP
Teraz w przypadku wiadomości z ofertą źródłowy adres IP to 172.16.32.12 (w tym przykładzie adres IP serwera), docelowy adres IP to 255.255.255.255 (rozgłoszeniowy adres IP), źródłowy adres MAC to 00AA00123456, docelowy adres MAC to FFFFFFFFFF. W tym przypadku wiadomość z ofertą jest nadawana przez serwer DHCP, dlatego docelowy adres IP to rozgłoszeniowy adres IP, docelowy adres MAC to FFFFFFFFFFFF, a źródłowy adres IP to adres IP serwera, a adres MAC to adres MAC serwera.
Ponadto serwer udostępnił oferowany adres IP 192.16.32.51 i czas dzierżawy wynoszący 72 godziny (po tym czasie wpis hosta zostanie automatycznie usunięty z serwera). Ponadto identyfikatorem klienta jest adres MAC komputera PC (08002B2EAF2A) dla wszystkich wiadomości.
3. Komunikat żądania DHCP: Kiedy klient otrzymuje wiadomość z ofertą, odpowiada, wysyłając wiadomość żądania DHCP. Klient wygeneruje bezpłatny protokół ARP, aby sprawdzić, czy w sieci znajduje się inny host o tym samym adresie IP. Jeżeli nie ma odpowiedzi od innego hosta, oznacza to, że w sieci nie ma hosta o takiej samej konfiguracji TCP i do serwera wysyłana jest wiadomość pokazująca akceptację adresu IP. Do tej wiadomości dodawany jest także identyfikator klienta.

Komunikat żądania DHCP
Teraz komunikat żądania jest wysyłany przez komputer kliencki, dlatego źródłowy adres IP to 0.0.0.0 (ponieważ klient nie ma teraz adresu IP), docelowy adres IP to 255.255.255.255 (rozgłoszeniowy adres IP), a źródłowy adres MAC to 08002B2EAF2A (adres MAC komputera), a docelowy adres MAC to FFFFFFFFFFFF.
Notatka - Komunikat ten jest wysyłany po wysłaniu żądania ARP przez komputer PC w celu sprawdzenia, czy inny host nie korzysta z oferowanego adresu IP. Jeśli nie ma odpowiedzi, host klienta wysyła do serwera komunikat żądania DHCP, pokazujący akceptację adresu IP i innej konfiguracji protokołu TCP/IP.
równość obiektów Java
4. Komunikat potwierdzający DHCP: W odpowiedzi na otrzymany komunikat żądania serwer dokona wpisu z podanym identyfikatorem klienta i powiąże oferowany adres IP z czasem dzierżawy. Teraz klient będzie miał adres IP dostarczony przez serwer.

Komunikat potwierdzający DHCP
Teraz serwer dokona wpisu hosta klienta z oferowanym adresem IP i czasem dzierżawy. Ten adres IP nie będzie udostępniany przez serwer żadnemu innemu hostowi. Docelowy adres MAC to FFFFFFFFFFFF, docelowy adres IP to 255.255.255.255, źródłowy adres IP to 172.16.32.12, a źródłowy adres MAC to 00AA00123456 (adres MAC serwera).
5. Komunikat negatywnego potwierdzenia DHCP: Za każdym razem, gdy serwer DHCP odbierze żądanie adresu IP, który jest nieprawidłowy zgodnie ze skonfigurowanymi zakresami, wysyła do klienta komunikat DHCP Nak. Np. - gdy na serwerze nie ma wolnego adresu IP lub pula jest pusta, wówczas serwer wysyła taką wiadomość do klienta.
6. Spadek DHCP: Jeśli klient DHCP stwierdzi, że oferowane parametry konfiguracyjne są inne lub nieprawidłowe, wysyła do serwera komunikat o odrzuceniu protokołu DHCP. Kiedy jest odpowiedź na nieuzasadnione ARP przez dowolny host do klienta, klient wysyła do serwera komunikat o odrzuceniu protokołu DHCP, pokazujący, że oferowany adres IP jest już używany.
Shreya Ghoshal, pierwszy mąż
7. Wersja DHCP: Klient DHCP wysyła do serwera pakiet zwalniający DHCP w celu zwolnienia adresu IP i anulowania pozostałego czasu dzierżawy.
8. DHCP informuje: Jeśli adres klienta uzyskał adres IP ręcznie, klient wykorzystuje informacje DHCP w celu uzyskania innych lokalnych parametrów konfiguracyjnych, takich jak nazwa domeny. W odpowiedzi na komunikat informacyjny DHCP serwer DHCP generuje komunikat potwierdzający DHCP z lokalną konfiguracją odpowiednią dla klienta bez przydzielania nowego adresu IP. Ten komunikat potwierdzający DHCP jest przesyłany pojedynczo do klienta.
Notatka - Wszystkie wiadomości mogą być wysyłane pojedynczo również przez agenta przekazującego DHCP, jeśli serwer znajduje się w innej sieci.
Zalety DHCP
- Scentralizowane zarządzanie adresami IP.
- Scentralizowane i zautomatyzowane Konfiguracja protokołu TCP/IP .
- Łatwość dodawania nowych klientów do sieci.
- Ponowne użycie adresów IP zmniejsza całkowitą liczbę wymaganych adresów IP.
- Efektywna obsługa zmian adresów IP w przypadku klientów, którzy muszą być często aktualizowani, na przykład w przypadku urządzeń przenośnych przemieszczających się do różnych lokalizacji w sieci bezprzewodowej.
- Prosta rekonfiguracja przestrzeni adresowej IP na serwerze DHCP bez konieczności ponownej konfiguracji każdego klienta.
- Protokół DHCP zapewnia administratorowi sieci metodę konfiguracji sieci z poziomu centralnego.
- Za pomocą DHCP można osiągnąć łatwą obsługę nowych użytkowników i ponowne wykorzystanie adresów IP.
Wady DHCP
- Może wystąpić konflikt adresów IP.
- Problem z DHCP polega na tym, że klienci akceptują dowolny serwer. W związku z tym, gdy w pobliżu znajduje się inny serwer, klient może połączyć się z tym serwerem, a serwer ten może ewentualnie wysłać do klienta nieprawidłowe dane.
- Klient nie może uzyskać dostępu do sieci w przypadku braku serwera DHCP.
- Nazwa urządzenia nie ulegnie zmianie w przypadku nadania nowego adresu IP.
Często zadawane pytania dotyczące DHCP – często zadawane pytania
Jakie są typowe problemy z DHCP?
Jeśli serwer DHCP nie jest prawidłowo ustawiony, może to powodować trudności, takie jak konflikty adresów IP, nieprawidłowe maski podsieci , nieprawidłowe ustawienie domyślne bramy lub niewystarczające pule adresów IP.
Który port jest używany w DHCP?
DHCP używa portu UDP 67 na serwerze i portu UDP 68 na kliencie.
Którym protokołem warstwy jest DHCP?
DHCP jest protokół warstwy aplikacji.
Dlaczego preferowany jest protokół DHCP?
Jest to bardziej wydajna metoda zarządzania adresami IP niż statyczna alokacja adresów. DHCP wykorzystuje stabilny protokół warstwy transportowej.