什么是DHCP?
DHCP,即Dynamic Host Configuration Protocol,動態(tài)主機配置協(xié)議,是一種局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,屬于OSI模型中的第七層,即最高層--應(yīng)用層,它使用UDP協(xié)議工作,其
主要作用是集中的管理、分配IP地址,使網(wǎng)絡(luò)環(huán)境中的主機動態(tài)的獲得IP地址、Gateway地址、DNS服務(wù)器地址等信息,并能夠提升地址的使用率。
DHCP協(xié)議采用客戶端/服務(wù)器模型(也就是常見的C/S模型),主機地址的動態(tài)分配任務(wù)由網(wǎng)絡(luò)主機驅(qū)動。當(dāng)DHCP服務(wù)器接收到來自網(wǎng)絡(luò)主機申請地址的信息時,才會向網(wǎng)絡(luò)主機發(fā)送相關(guān)的地址配置等信息,以實現(xiàn)網(wǎng)絡(luò)主機地址信息的動態(tài)配置。
DHCP支持三種類型的地址分配:
1. 自動分配方式:DHCP給主機指定一個永久的IP地址,一旦DHCP客戶端第一次成功的從DHCP伺服器端租用到IP位址之后﹐就永遠使用這個位址2. 動態(tài)分配方式:DHCP給主機指定一個有"時間限制(租約)"的IP地址,到時間(租約到期)或主機明確表示放棄這個地址(主機主動斷開連接)時,這個地址可以被其他的主機使用,當(dāng)然,客戶端可以比其它主機更優(yōu)先的延續(xù)(renew)租約,或是租用其它的IP位址3. 手工分配方式:主機的IP地址是由網(wǎng)絡(luò)管理員指定的,它可以按照MAC地址來固定的分配IP位址﹐DHCP只是把指定的IP地址告訴主機,相當(dāng)于將某個MAC和IP進行了靜態(tài)綁定。
三種地址分配方式中,只有動態(tài)分配可以重復(fù)使用客戶端不再需要的地址。
生活中哪里會用到DHCP?
最常見的莫過于路由器了,每一個設(shè)置過路由器的人都會進入到下面一個熟悉的界面:

根據(jù)設(shè)置向?qū)渲猛瓿珊蠡揪蜎]有問題了,但如果你想要路由器可以讓多個無線設(shè)備都能聯(lián)網(wǎng),那么必須進入下一個環(huán)節(jié):進入DHCP服務(wù)器啟用DHCP服務(wù)器。啟用之后路由器重啟之后就可以讓無線設(shè)備聯(lián)網(wǎng)了。

此時,為了查看DHCP服務(wù)的效果,可以按下“win+R”快捷鍵進入一下狀態(tài):

輸入cmd并確定,進入下面界面:

輸入ipconfig /all并回車得到如下界面:


你會發(fā)現(xiàn)IPv4地址是192.168.1.100,而這就歸功于上邊提到的啟用了DHCP功能。
現(xiàn)在來區(qū)分一下DHCP和DNS
DHCP是動態(tài)IP地址分配;DNS是域名解析,把本地連接里面的DNS弄錯了?就不能瀏覽網(wǎng)頁了。
以局域網(wǎng)為例,做DNS是為了訪問內(nèi)網(wǎng)網(wǎng)站時方便而做的。因為DNS是起到域名解析作用的,可以把域名解析為IP地址,這樣,我們在訪問網(wǎng)站時不需要輸入難記的IP地址,只要輸入網(wǎng)站地址,就可以訪問。局域網(wǎng)用DHCP服務(wù)器,是為了讓局域網(wǎng)的機器從網(wǎng)內(nèi)DHCP服務(wù)器指定的IP范圍內(nèi)自動獲取IP地址,所獲得的ip都是私網(wǎng)ip。而我們自己用的自動獲取方式,和局域網(wǎng)一樣,只不過是IP和DNS地址是從公網(wǎng)的DHCP服務(wù)器上獲取的動態(tài)公網(wǎng)IP。
使用DHCP時必須在網(wǎng)絡(luò)上有一臺DHCP服務(wù)器,而其他機器執(zhí)行DHCP客戶端。當(dāng)DHCP客戶端程序發(fā)出一個信息,要求一個動態(tài)的IP地址時,DHCP服務(wù)器會根據(jù)目前已經(jīng)配置的地址,提供一個可供使用的IP地址和子網(wǎng)掩碼給客戶端。
DHCP使服務(wù)器能夠動態(tài)地為網(wǎng)絡(luò)中的其他服務(wù)器提供IP地址,通過使用DHCP,就可以不再給Intranet網(wǎng)中除DHCP、DNS和WINS服務(wù)器外的任何服務(wù)器設(shè)置和維護靜態(tài)IP地址,從而大大簡化配置客戶機的TCP/IP的工作,尤其是當(dāng)某些TCP/IP參數(shù)改變時,如網(wǎng)絡(luò)的大規(guī)模重建而引起的IP地址和子網(wǎng)掩碼的更改。
如果想對DHCP協(xié)議有更深的了解,可以學(xué)習(xí)DHCP數(shù)據(jù)報文的格式及內(nèi)容,最好是可以借助Wireshark之類的軟件實踐一下。