DHCP(Dynamic Host Configuration Protocol,動態(tài)主機配置協(xié)議)通常被應(yīng)用在大型的局域網(wǎng)絡(luò)環(huán)境中,主要作用是集中的管理、分配IP地址,使網(wǎng)絡(luò)環(huán)境中的主機動態(tài)的獲得IP地址、Gateway地址、DNS服務(wù)器地址等信息,并能夠提升地址的使用率。
DHCP協(xié)議采用客戶端/服務(wù)器模型,主機地址的動態(tài)分配任務(wù)由網(wǎng)絡(luò)主機驅(qū)動。當DHCP服務(wù)器接收到來自網(wǎng)絡(luò)主機申請地址的信息時,才會向網(wǎng)絡(luò)主機發(fā)送相關(guān)的地址配置等信息,以實現(xiàn)網(wǎng)絡(luò)主機地址信息的動態(tài)配置。
DHCP具有以下功能:
1. 保證任何IP地址在同一時刻只能由一臺DHCP客戶機所使用。
2. DHCP應(yīng)當可以給用戶分配永久固定的IP地址。
3. DHCP應(yīng)當可以同用其他方法獲得IP地址的主機共存(如手工配置IP地址的主機)。
4. DHCP服務(wù)器應(yīng)當向現(xiàn)有的BOOTP客戶端提供服務(wù)。
DHCP有三種機制分配IP地址:
1) 自動分配方式(Automatic Allocation),DHCP服務(wù)器為主機指定一個永久性的IP地址,一旦DHCP客戶端第一次成功從DHCP服務(wù)器端租用到IP地址后,就可以永久性的使用該地址。
2) 動態(tài)分配方式(Dynamic Allocation),DHCP服務(wù)器給主機指定一個具有時間限制的IP地址,時間到期或主機明確表示放棄該地址時,該地址可以被其他主機使用。
3) 手工分配方式(Manual Allocation),客戶端的IP地址是由網(wǎng)絡(luò)管理員指定的,DHCP服務(wù)器只是將指定的IP地址告訴客戶端主機。
三種地址分配方式中,只有動態(tài)分配可以重復(fù)使用客戶端不再需要的地址。
DHCP消息的格式是基于BOOTP(Bootstrap Protocol)消息格式的,這就要求設(shè)備具有BOOTP中繼代理的功能,并能夠與BOOTP客戶端和DHCP服務(wù)器實現(xiàn)交互。BOOTP中繼代理的功能,使得沒有必要在每個物理網(wǎng)絡(luò)都部署一個DHCP服務(wù)器。RFC 951和RFC 1542對BOOTP協(xié)議進行了詳細描述。
字段 | 長度 | 含義 |
---|---|---|
OP | 1字節(jié) | 表示報文的類型:1:客戶端請求報文2:服務(wù)器響應(yīng)報文 |
htype | 1字節(jié) | 表示硬件地址的類型。對于以太網(wǎng),該類型的值為“1”。 |
hlen | 1字節(jié) | 表示硬件地址的長度,單位是字節(jié)。對于以太網(wǎng),該值為6。 |
Hops | 1字節(jié) | 跳數(shù)??蛻舳嗽O(shè)置為0,也能被一個代理服務(wù)器設(shè)置。 |
xid | 4字節(jié) | 事務(wù)ID,由客戶端選擇的一個隨機數(shù),被服務(wù)器和客戶端用來在它們之間交流請求和響應(yīng),客戶端用它對請求和應(yīng)答進行匹配。該ID由客戶端設(shè)置并由服務(wù)器返回,為32位整數(shù)。 |
secs | 2字節(jié) | 由客戶端填充,表示從客戶端開始獲得IP地址或IP地址續(xù)借后所使用了的秒數(shù)。 |
flags | 2字節(jié) | 此字段在BOOTP中保留未用,在DHCP中表示標志字段。 |
ciaddr | 4字節(jié) | 客戶端的IP地址。只有客戶端是Bound、Renew、Rebinding狀態(tài),并且能響應(yīng)ARP請求時,才能被填充 |
yiaddr | 4字節(jié) | "你自己的"或客戶端的IP地址。 |
siaddr | 4字節(jié) | 表明DHCP協(xié)議流程的下一個階段要使用的服務(wù)器的IP地址。 |
giaddr | 4字節(jié) | 該字段表示第一個DHCP中繼的IP地址(注意:不是地址池中定義的網(wǎng)關(guān))。當客戶端發(fā)出DHCP請求時,如果服務(wù)器和客戶端不在同一個網(wǎng)絡(luò)中,那么第一個DHCP中繼在轉(zhuǎn)發(fā)這個DHCP請求報文時會把自己的IP地址填入此字段。服務(wù)器會根據(jù)此字段來判斷出網(wǎng)段地址,從而選擇為用戶分配地址的地址池。服務(wù)器還會根據(jù)此地址將響應(yīng)報文發(fā)送給此DHCP中繼,再由DHCP中繼將此報文轉(zhuǎn)發(fā)給客戶端。若在到達DHCP服務(wù)器前經(jīng)過了不止一個DHCP中繼,那么第一個DHCP中繼后的中繼不會改變此字段,只是把Hops的數(shù)目加1。 |
chaddr | 16字節(jié) | 該字段表示客戶端的MAC地址,此字段與前面的“Hardware Type”和“Hardware Length”保持一致。當客戶端發(fā)出DHCP請求時,將自己的硬件地址填入此字段。對于以太網(wǎng),當“Hardware Type”和“Hardware Length”分別為“1”和“6”時,此字段必須填入6字節(jié)的以太網(wǎng)MAC地址。 |
sname | 64字節(jié) | 該字段表示客戶端獲取配置信息的服務(wù)器名字。此字段由DHCP Server填寫,是可選的。如果填寫,必須是一個以0結(jié)尾的字符串。 |
file | 128字節(jié) | 該字段表示客戶端的啟動配置文件名。此字段由DHCP Server填寫,是可選的,如果填寫,必須是一個以0結(jié)尾的字符串。 |
options | 可變 | 該字段表示DHCP的選項字段,至少為312字節(jié),格式為"代碼+長度+數(shù)據(jù)"。DHCP通過此字段包含了服務(wù)器分配給終端的配置信息,如網(wǎng)關(guān)IP地址,DNS服務(wù)器的IP地址,客戶端可以使用IP地址的有效租期等信息。 |
更多建議: