動態(tài)主機設(shè)置協(xié)議
適用性
DHCP用一臺或一組DHCP服務(wù)器來管理網(wǎng)絡(luò)參數(shù)的分配,這種方案具有容錯性。即使在一個僅擁有少量機器的網(wǎng)絡(luò)中,DHCP仍然是有用的,因為一臺機器可以幾乎不造成任何影響地被增加到本地網(wǎng)絡(luò)中。
甚至對于那些很少改變地址的服務(wù)器來說,DHCP仍然被建議用來設(shè)置它們的地址。如果服務(wù)器需要被重新分配地址(RFC 2071)的時候,就可以在盡可能少的地方去做這些改動。對于一些設(shè)備,如路由器和防火墻,則不應(yīng)使用DHCP。把TFTP或SSH服務(wù)器放在同一臺運行DHCP的機器上也是有用的,目的是為了集中管理。
DHCP也可用于直接為服務(wù)器和桌面計算機分配地址,并且通過一個PPP代理,也可為撥號及寬帶主機,以及住宅NAT網(wǎng)關(guān)和路由器分配地址。DHCP一般不適用于使用在無邊際路由器和DNS服務(wù)器上。
歷史
DHCP于1993年10月成為標(biāo)準(zhǔn)協(xié)議,其前身是BOOTP協(xié)議。當(dāng)前的DHCP定義可以在RFC 2131中找到,而基于IPv6的建議標(biāo)準(zhǔn)(DHCPv6)可以在RFC 3315中找到。
原理
動態(tài)主機設(shè)置協(xié)議(DHCP)是一種使網(wǎng)絡(luò)管理員能夠集中管理和自動分配IP網(wǎng)絡(luò)地址的通信協(xié)議。在IP網(wǎng)絡(luò)中,每個連接Internet的設(shè)備都需要分配唯一的IP地址。DHCP使網(wǎng)絡(luò)管理員能從中心結(jié)點監(jiān)控和分配IP地址。當(dāng)某臺計算機移到網(wǎng)絡(luò)中的其它位置時,能自動收到新的IP地址。
DHCP使用了租約的概念,或稱為計算機IP地址的有效期。租用時間是不定的,主要取決于用戶在某地連接Internet需要多久,這對于教育行業(yè)和其它用戶頻繁改變的環(huán)境是很實用的。通過較短的租期,DHCP能夠在一個計算機比可用IP地址多的環(huán)境中動態(tài)地重新配置網(wǎng)絡(luò)。DHCP支持為計算機分配靜態(tài)地址,如需要永久性IP地址的Web服務(wù)器。
DHCP和另一個網(wǎng)絡(luò)IP管理協(xié)議BOOTP類似。目前兩種配置管理協(xié)議都得到了普遍使用,其中DHCP更為先進(jìn)。某些操作系統(tǒng),如Windows NT/2000,都帶有DHCP服務(wù)器。DHCP或BOOTP客戶端是裝在計算機中的一個程序,這樣就可以對其進(jìn)行配置操作。
協(xié)議結(jié)構(gòu)
Op:消息操作代碼,既可以是引導(dǎo)請求(BOOTREQUEST)也可以是引導(dǎo)答復(fù)(BOOTREPLY)
Htype:硬件地址類型
Hlen:硬件地址長度
Xid:處理ID
Secs:從獲取到IP地址或者續(xù)約過程開始到現(xiàn)在所消耗的時間
Flags:標(biāo)記
Ciaddr:客戶機IP地址
Yiaddr:“你的”(客戶機)IP地址
Siaddr:在bootstrap中使用的下一臺服務(wù)器的IP地址
Giaddr:用于導(dǎo)入的接替代理IP地址
Chaddr:客戶機硬件
Sname:任意服務(wù)器主機名稱,空終止符
File:DHCP發(fā)現(xiàn)協(xié)議中的引導(dǎo)文件名、空終止符、屬名或者空,DHCP供應(yīng)協(xié)議中的受限目錄路徑名
Options:可選參數(shù)字段。參考定義選擇列表中的選擇文件
技術(shù)細(xì)節(jié)
Schema of a typical DHCP session
DHCP統(tǒng)一使用兩個IANA分配的端口作為BOOTP:服務(wù)器端使用67/udp,客戶端使用68/udp。
DHCP運行分為四個基本過程,分別為請求IP租約、提供IP租約、選擇IP租約和確認(rèn)IP租約。
客戶在獲得了一個IP地址以后,就可以發(fā)送一個ARP請求來避免由于DHCP服務(wù)器地址池重疊而引發(fā)的IP沖突。
DHCP釋放
客戶端向DHCP服務(wù)器發(fā)送一個請求以釋放DHCP資源,并注銷其IP地址。鑒于客戶端更多的時候并不清楚何時用戶會將其從網(wǎng)絡(luò)中移除,此協(xié)議不會托管“DHCP釋放的發(fā)送”。
客戶端配置參數(shù)
DHCP服務(wù)器會提供一些選擇性的配置項目供DHCP客戶端設(shè)置。在RFC 2132文件里面有提到這個詳細(xì)的內(nèi)容。你也可以參考Internet Assigned Numbers Authority(IANA)-DHCP and BOOTP PARAMETERS。
設(shè)置選項
DHCP Option 60可以被DHCP客戶端用來做為辨識供應(yīng)商及DHCP客戶端這邊的兼容性識別??梢詤⒖嫉膬?nèi)容。DHCP的協(xié)議里頭有提供默認(rèn)路由的選項,Option 60則是供應(yīng)商的識別ID?;谶@個選項,你可以在CPE方提供給STB方一些特定的選擇。這樣做最大的好處是在使用Option 60的時候你不用去定義橋接或路由的端口號。橋接是基于Option 60的MAC地址,如此一來switch可以連到STB上面,如同在PC及STB上面擁有同一個接口。
Option 60這個消息會是一個長度會變動的字符串也有可能依供應(yīng)商提供的八進(jìn)制數(shù)字的一個集合。DHCP客戶端通常會用來溝通的一個方式是在提交DHCP要求的時候按硬件或固件的類型來設(shè)置這個信息,這個信息會被稱之為供應(yīng)商Class識別(VCI Vendor Class Identifier)/(Option 60)。這個方式可能因DHCP Server之間的不同而會在兩種 CMs或兩種 modems之間進(jìn)行DHCP request時造成差異。有些set-top的Boxes也會設(shè)置VCI去通知DHCP Server有關(guān)硬件和設(shè)備的功能性信息。所以結(jié)論是,這個選項的信息會給予DHCP Server在做DHCP回應(yīng)時必要附加消息上面的提示。
參考文獻(xiàn)
DHCP協(xié)議詳細(xì)資料
DHCP option清單
免責(zé)聲明:以上內(nèi)容版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請告知,我們將盡快刪除相關(guān)內(nèi)容。感謝每一位辛勤著寫的作者,感謝每一位的分享。
- 有價值
- 一般般
- 沒價值
{{item.userName}} 舉報
{{item.time}} {{item.replyListShow ? '收起' : '展開'}}評論 {{curReplyId == item.id ? '取消回復(fù)' : '回復(fù)'}}
{{_reply.userName}} 舉報
{{_reply.time}}