222
фигура 169 Състояния на клиента в процеса на подновяване на IP адрес 1. При изтичане на таймер Т1, клиентът навлиза в период на подновяване (Renewal) като се опитва да поднови
своя договор с оригиналния DHCP сървър.
Клиентът изпраща заявка
(DHCPRequest) към DHCP сървъри за подновяване на договора, с максимум три повторения - на 4,8 и 16 секунди. При успешно подновяване DHCP сървърът отговаря с DHCPAck съобщение, съдържащо
конфигурационните параметри, които клиентът подновява ако са настъпили промени в досегашните настройки.
2. При липса на отговор от оригиналния DHCP сървър, клиентът продължава функционирането до изтичане на Т2 таймера.
Клиентът преминава в състояние Rebind и изпраща DHCPRequest броадкаст-съобщение към съществуващи DHCP сървъри за потвърждаване на наличния договор. Ако DHCP сървър потвърди с
DHCPAck съобщение се подновява договора. При отрицателен отговор DHCPNak или липса на отговор,
клиентът се освобождава 223 от настройките за IP и рестартира процеса за получаване на нови такива.
Структурата на DHCP съобщението [RFC 2131] е показана на фигура
170.
фигура 170 Структура на DHCP съобщение op - 1-байтово поле, идентифициращо типа на DHCP съобщението:
1 = BOOTREQUEST – запитване от клиента;
2 = BOOTREPLY – отговор от сървър. htype – 1-байтово поле, идентифициращо типа на хардуера (например,
Ethernet,
Token-Ring или друг тип мрежа). За Ethernet това поле има стойност 1; hlen – 1-байтово поле, задаващо дължината в байтове на хардуерния адрес; hops - 1-байтово незадължително поле, задаващо броя на скоковете, които трябва да направи съобщението. Първоначалната стойност зададена от клиента е 0.
Шлюзовете увеличават стойността с единица при препращане на DHCP запитването. xid – 4-байтово поле, задаващо ID на транзакцията. Избира се на
случаен принцип от клиента; secs - 2-байтово поле, задаващо часа, в който е изпратено запитването. Попълва се от клиента; flags - 2-байтово поле, задаващо типа на съобщението – броадкаст или мултикаст; ciaddr - 4-байтово поле, съдържащо клиентското
IP ако клиентът е в състояния BOUND, RENEW или REBIND и може да отговори на ARP запитване. В противен случай е 0.0.0.0; yiaddr - 4-байтово поле, съдържащо клиентското IP зададено в DHCP отговора.
При DHCP запитване може да приеме стойност:
0.0.0.0 - при ciaddr=0.0.0.0;
224
IP адресът на клиента, ако има зададен такъв от предишна инициализация. siaddr - 4-байтово поле, съдържащо нулева стойност или IP адреса на DHCP сървъра, познат на клиента от предишна инициализация; giaddr- 4-байтово поле, съдържащо нулева стойност или IP адреса на локален шлюз за препращане
към отдалечен DHCP сървър; chadd - 16-байтово поле, съдържащо хардуерния адрес на DHCP клиент; sname - 64-байтово поле, идентифициращо DHCP сървъра по име. Ако е зададена ненулева стойност може да отговори конкретен DHCP сървър. В противен случай
– могат да отговорят всички DHCP сървъри; file - 128-байтово поле, идентифициращо името на файла за
първоначално зареждане, поискано от DHCP клиента; options – поле с променлива дължина, съдържащо опционални параметри.
Сподели с приятели: