dhcp的工作原理
作者:佚名 時間:2012-11-17 分享到:
啟用dhcp的客戶機第一次啟動并試圖加入網絡時,它自動執行以下的初始化步驟,以便從dhcp服務器獲得租約。
1.當dhcp客戶端第一次登錄網絡時,假如客機機上沒有任何ip信息設定,它會向網絡發出dhcp dicover數據包。因為客戶端不知道dhcp服務器的位置,為保證服務器能夠接受到請求,數據包源地址設定為0.0.0.0,而目的地址為255.255.255.255,以廣播形式發送dhcp discover的信息。
2.當dhcp服務器****到客戶端發出的dhcp discover廣播后,它會從那些還沒有租出的地址范圍內,選擇可用的ip,連同其他tcp/ip設定,以dhcp offer數據包形式發送給客戶機。
3.如果客戶端收到網絡上多臺dhcp服務器的響應,會挑選響應最快的一個dhcp offer,并且會向網絡發送一個dhcp request廣播封包,告訴所有dhcp服務器它使用哪一臺服務器提供的ip地址。
同時,客戶端還會向網絡發送arp廣播數據包,查詢網絡上面有沒有其他機器使用這個ip地址;如果發現這個ip已經被占用,客戶則會送出一個dhcp decline數據包給dhcp服務器,拒絕接受其dhcp offer,并重新發送dhcp request信息。
4.將地址分配給客戶機,dhcp服務器發送一個dhcp ack消息,以確認ip租約的正式生效,結束完整的dhcp工作過程。
5.dhcp客戶端成功地從服務器取得ip地址之后,一般不需要再發送dhcp discover信息了,除非其租約已經失效或者ip地址也重新設定回0.0.0.0.而會直接使用已經租用到的ip地址向為其發此ip地址的dhcp服務器發出dhcp request信息,dhcp服務器會盡量讓客戶端使用原來的ip地址,如果沒特殊情況,會直接響應dhcp ack,允許客戶端繼續使用這個ip地址,如果這個地址已經失效或已經被其他機器使用了,服務器則會響應一個dhcp nack數據包給客戶端,要求其重新執行dhcp discover.