動態主機設置協議(Dynamic Host Configuration Protocol,DHCP)是一個局域網的網絡協議,使用UDP協議工作,主要有兩個用途:
- 用于內部網絡或網絡服務供應商自動分配IP地址給用戶
- 用于內部網絡管理員作為對所有電腦作中央管理的手段
DHCP用一臺或一組DHCP服務器來管理網絡參數的分配,這種方案具有容錯性。即使在一個僅擁有少量機器的網絡中,DHCP仍然是有用的,因為一臺機器可以幾乎不造成任何影響地被增加到本地網絡中。
甚至對于那些很少改變地址的服務器來說,DHCP仍然被建議用來設置它們的地址。如果服務器需要被重新分配地址的時候,就可以在盡可能少的地方去做這些改動。對于一些設備,如路由器和防火墻,則不應使用DHCP。把TFTP或 SSH服務器放在同一臺運行DHCP的機器上也是有用的,目的是為了集中管理。
DHCP也可用于直接為服務器和桌面計算機分配地址,并且通過一個PPP代理,也可為撥號及寬帶主機,以及住宅NAT網關和路由器分配地址。DHCP一般不適用于使用在無邊際路由器和服務器上。
DHCP統一使用兩個IANA分配的端口作為BOOTP:服務器端使用67/udp,客戶端使用68/udp。
DHCP運行分為四個基本過程,分別為請求IP租約、提供IP租約、選擇IP租約和確認IP租約。
客戶在獲得了一個IP地址以后,就可以發送一個ARP請求來避免由于DHCP服務器地址池重疊而引發的IP沖突。
DHCP發現(DISCOVER)
客戶在物理子網上發送廣播來尋找可用的服務器。網絡管理員可以配置一個本地路由來轉發DHCP包給另一個子網上的DHCP服務器。該客戶實現生成一個目的地址為255.255.255.255或者一個子網廣播地址的UDP包。
客戶也可以申請它使用的最后一個IP地址(在下面的例子里為192.168.1.100)。如果該客戶所在的網絡中此IP仍然可用,服務器就可以準許該申請。否則,就要看該服務器是授權的還是非授權的。授權服務器會拒絕請求,使得客戶立刻申請一個新的IP。非授權服務器僅僅忽略掉請求,導致一個客戶端請求的超時,于是客戶端就會放棄此請求而去申請一個新的IP地址。
DHCP提供(OFFER)
當DHCP服務器收到一個來自客戶的IP租約請求時,它會提供一個IP租約。DHCP為客戶保留一個IP地址,然后通過網絡單播一個DHCPOFFER消息給客戶。該消息包含客戶的MAC地址、服務器提供的IP地址、子網掩碼、租期以及提供IP的DHCP服務器的IP。
服務器基于在CHADDR字段指定的客戶硬件地址來檢查配置。這里的服務器,192.168.1.1,將IP地址指定于YIADDR字段。
DHCP請求(REQUEST)
當客戶PC收到一個IP租約提供時,它必須告訴所有其他的DHCP服務器它已經接受了一個租約提供。因此,該客戶會發送一個DHCPREQUEST消息,其中包含提供租約的服務器的IP。當其他DHCP服務器收到了該消息后,它們會收回所有可能已提供給客戶的租約。然后它們把曾經給客戶保留的那個地址重新放回到可用地址池中,這樣,它們就可以為其他計算機分配這個地址。任意數量的DHCP服務器都可以響應同一個IP租約請求,但是每一個客戶網卡只能接受一個租約提供。
DHCP確認(Acknowledge,ACK)
當DHCP服務器收到來自客戶的REQUEST消息后,它就開始了配置過程的最后階段。這個響應階段包括發送一個DHCPACK包給客戶。這個包包含租期和客戶可能請求的其他所有配置信息。這時候,TCP/IP配置過程就完成了。
該服務器響應請求并發送響應給客戶。整個系統期望客戶來根據選項來配置其網卡。
原創文章,作者:HGG,如若轉載,請注明出處:http://www.www58058.com/82631