170 likes | 330 Views
Dynamic Host Configuration Protocol. Nagłówek DHCP. Op (1). Htype (1). Hlen (1). Hops (1). Xid (4). Secs (2). Flags (2). Ciaddr (4). Yiaddr (4). Siaddr (4). Giaddr (4). Chaddr (16). Sname (64). Files (128). Options (variable). Opis pól nagłówka DHCP.
E N D
Nagłówek DHCP Op (1) Htype (1) Hlen (1) Hops (1) Xid (4) Secs (2) Flags (2) Ciaddr (4) Yiaddr (4) Siaddr (4) Giaddr (4) Chaddr (16) Sname (64) Files (128) Options (variable)
Opis pól nagłówka DHCP • Op – typ / kod komunikatu1 = BOOTREQUEST, 2 = BOOTREPLY • Htype – typ adresu sprzętowego1 – 10 Mb ethernet • Hlen – długość adresu sprzętowego6 – dla 10 Mb ethernet • Hops – klient ustawia na zero; używane czasami podczas startowania za pomocą agentów • Xid – identyfikator transakcjiliczba losowa wybrana przez klienta używana przez klienta i serwer do kojarzenia pakietów przesyłanych między nimi. • Secs – wypełniane przez klienta; ilość czasu (sekundy) jaka upłynęła od przyjęcia adresu lub odnowienia go.
Opis pól nagłówka DHCP • Flags – flagi; opisane dalej • Ciaddr – adres IP klienta; wypełniane wyłącznie gdy klient znajduje się w stanie: BOUND, RENEW, REBINDING i odpowiada na zapytania ARP • Yiaddr – „your” adres klienta • Siaddr – adres IP następnego serwera w bootstrap; otrzymywane w DHCPOFFER, DHCPACK przez serwer • Giaddr – adres IP relay agenta; używane podczas startowania z wykorzystaniem agentów relay (pośredniczących) • Chaddr – adres sprzętowy klienta
Opis pól nagłówka DHCP • Sname – nazwa hosta serwera (opcjonalne); null terminated string • File – nazwa pliku boot; null terminated string; puste w przypadku DHCPDISCOVER; pełna ścieżka dostępu z plikiem w DHCPOFFER • Options – pole dodatkowych opcjonalnych parametrów Maksymalny rozmiar nagłówka DHCP to 576 octetów.
Uwagi • DHCP jest używane do inicjacji TCP/IP jeszcze na długo przed tym niż zostanie ono dostatecznie skonfigurowane • Stacja musi akceptować (zgodnie z RFC 1122) i przesyłać dalej do powłoki IP pakiety dostarczane do adresu sprzętowego klienta jeszcze przez skonfigurowaniem IP. • DHCP serwery i BOOT agenci nie mogą dostarczać informacje do klientów nie akceptujących sprzętowych pakietów unikastowych.
Uwagi • Aby dostarczyć informacje do klientów nie akceptujących pakietów unikastowych, DHCP używa flag. B MBZ B – flaga broadcast; MBZ – Musi Być Zero (zarezerwowane do przyszłuch zastosowań)
Klient serwer protokół • DHCP używa formatów BOOTP zdefiniowanych w RFC 951 • Pole „OP” wysyłane od klienta do serwera zawiera BOOTREQUEST; BOOTREPLY używane jest w przeciwnym wypadku • Pierwsze 4 bajty w polu opcji zawierają odpowiednio wartości dziesiętne 99, 130, 83, 99 (taki sam trik jak używany w RFC 1497); w pozostałej części pola znajdują się listy parametrów przesyłanych przez DHCP zdefiniowanych w RFC 1533 • Jedna z opcji musi być zawarta w każdym komunikacie DHCP: „DHCP message type” definiująca typ komunikatu DHCP
Komunikaty DHCP • DHCPDISCOVER Rozgłoszenie klienta do zlokalizowania dostępnych serwerów • DHCPOFFER Serwer do klienta w odpowiedzi na DHCPDISCOVER z ofertą konfiguracyjną • DHCPREQUEST Komunikat klienta do serwera: - prośba o oferowane parametry od jednego serwera i odrzucenie ofert innych serwerów - potwierdzenie parametrów np. po restarcie - rozszerzenie czasu wypożyczenia na konkretny adres
Komunikaty DHCP • DHCPACK Serwer do klienta z parametrami konfiguracyjnymi dodatkowo z obowiązującymi adresami sieciowymi • DHCPNAK Serwer do klienta z ze wskazaniem, że posiada niepoprawny adres np.: został przeniesiony do innej podsieci • DHCPDECLINE Klient do serwera wskazując, że adres sieciowy jest w użyciu • DHCPRELEASE Klient do serwera rezygnując z adresu sieciowego i dalszej rezerwacji
Komunikaty DHCP • DHCPINFORM Klient do serwera; zapytanie wyłącznie o lokalne parametry konfiguracyjne; klient już posiada inne zewnętrzne informacje o adresach sieciowych
Czasowy diagram wymiany informacji DHCP Serwer(nie wybrany) Klient Serwer(wybrany) Początek inicjalizacji DHCPDISCOVER DHCPDISCOVER Określanie konfiguracji Określanie konfiguracji Zbieranie ofert DHCPOFFER DHCPOFFER Wybór konfiguracji DHCPREQUEST DHCPREQUEST Potwierdzenie konfiguracji DHCPACK Inicjalizacja zakończona Zakończenie DHCPRELEASE Zwolnienie konfiguracji
Init/ Reboot INIT DHCPNAK Restart Send DHCPDISCOVER Send DHCPREQUEST DHCPACK (not accept.) Send DHCPDECLINE Rebooting Wybieranie SELECTING DHCPOFFER Collect replies DHCPNAK Discard offer Sellect offer / Send DHCPREQUEST DHCPNAK Lease expired/ Halt network DHCPACK Record lease, set timers T1, T2 Zezwolenie REQUESTING Odnowienie REBINDING DHCPOFFER Discard DHCPACK Record lease, set timers T1, T2 DHCPACK Record lease, set timers T1, T2 T2 expires/ Broadcast DHCPREQUEST Powiązanie BOUND DHCPACK Record lease, set timers T1, T2 DHCPOFFER, DHCPACK, DHCPNAK Discard T1 expires/ Send DHCPREQUEST to leasing server Odświeżenie RENEWING DHCPNAK Halt network Transmisyjno-stanowy algorytm dla klientów DHCP
DHCP - opcje • Zakres 0 – 255 , gdzie: • 0 – podkład (stan początkowy) • 255 – koniec opcji • Subnet Mask (1) RFC 950 Code Len Subnet mask 1 4 m1 m2 m3 m4
Router option (3) • Time Server option (4) RFC 868 Code Len Address 1 Address 2 ... 3 n a1 a2 a3 a4 a1 a2 a3 a4 Code Len Address 1 Address 2 ... 4 n a1 a2 a3 a4 a1 a2 a3 a4
Domain Name Server (6) RFC 1035 • Cooki Server (8) RFC 865 • Domain Name (15) • IP Forwarding Enable/Disable (19) • Default IP TTL (23) • Broadcast Address (28) Code Len Value 19 1 0/1
ARP Cache Timeout (35) • NTP Servers (42) • X Window System Font Server (48) • POP3 Server (70) • Default IRC Server (74) • DHCP Message Type (53) • NDS Server (85) • NDS Tree Name (86)